git (1:1.7.10.4-1+wheezy3) wheezy-security; urgency=high
authorSalvatore Bonaccorso <carnil@debian.org>
Thu, 17 Mar 2016 20:48:34 +0000 (20:48 +0000)
committerSalvatore Bonaccorso <carnil@debian.org>
Thu, 17 Mar 2016 20:48:34 +0000 (20:48 +0000)
  * Non-maintainer upload by the Security Team.
  * Fix remote code execution via buffer overflows (CVE-2016-2315,
    CVE-2016-2324) (Closes: #818318)

[dgit import package git 1:1.7.10.4-1+wheezy3]

87 files changed:
debian/changelog [new file with mode: 0644]
debian/changelog.upstream [new file with mode: 0644]
debian/changelog.upstream.sh [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/diff/0001-hooks-post-receive-email-set-encoding-to-utf-8.diff [new file with mode: 0644]
debian/diff/0002-post-receive-email-defend-against-non-utf8-i18n.logou.diff [new file with mode: 0644]
debian/diff/0003-remove-interpreter-line-from-shell-libraries.diff [new file with mode: 0644]
debian/diff/0004-pre-rebase-hook-capture-documentation-in-a-here-docum.diff [new file with mode: 0644]
debian/diff/0005-transport-expose-git_tcp_connect-and-friends-in-new-t.diff [new file with mode: 0644]
debian/diff/0006-daemon-make-host-resolution-into-a-separate-function.diff [new file with mode: 0644]
debian/diff/0007-daemon-move-locate_host-to-tcp.c.diff [new file with mode: 0644]
debian/diff/0008-tcp-unify-ipv4-and-ipv6-code-paths.diff [new file with mode: 0644]
debian/diff/0009-daemon-check-for-errors-retrieving-IP-address.diff [new file with mode: 0644]
debian/diff/0010-transport-optionally-honor-DNS-SRV-records.diff [new file with mode: 0644]
debian/diff/0011-srv-be-more-tolerant-of-broken-DNS-replies.diff [new file with mode: 0644]
debian/diff/0012-Makefile-add-a-knob-to-turn-off-hardlinks-within-same.diff [new file with mode: 0644]
debian/diff/0013-git-svn-use-YAML-format-for-mergeinfo-cache-when-poss.diff [new file with mode: 0644]
debian/diff/0016-CVE-2015-7545-backport1.patch [new file with mode: 0644]
debian/diff/0017-CVE-2015-7545-backport2.patch [new file with mode: 0644]
debian/diff/0018-CVE-2015-7545-1.patch [new file with mode: 0644]
debian/diff/0019-CVE-2015-7545-2.patch [new file with mode: 0644]
debian/diff/0020-CVE-2015-7545-3.patch [new file with mode: 0644]
debian/diff/0021-CVE-2015-7545-4.patch [new file with mode: 0644]
debian/diff/0022-CVE-2015-7545-5.patch [new file with mode: 0644]
debian/diff/0023-CVE-2016-2315.patch [new file with mode: 0644]
debian/diff/0024-CVE-2016-2324.patch [new file with mode: 0644]
debian/examples/index.aux-generation [new file with mode: 0644]
debian/git-core.postinst [new file with mode: 0644]
debian/git-core.preinst [new file with mode: 0644]
debian/git-daemon-run.README.Debian [new file with mode: 0644]
debian/git-daemon-run.conffiles [new file with mode: 0644]
debian/git-daemon-run.postinst [new file with mode: 0644]
debian/git-daemon-run.postrm [new file with mode: 0644]
debian/git-daemon-run.prerm [new file with mode: 0644]
debian/git-daemon-sysvinit.README.Debian [new file with mode: 0644]
debian/git-daemon-sysvinit.conffiles [new file with mode: 0644]
debian/git-daemon-sysvinit.postinst [new file with mode: 0644]
debian/git-daemon-sysvinit.postrm [new file with mode: 0644]
debian/git-daemon-sysvinit.prerm [new file with mode: 0644]
debian/git-daemon.default [new file with mode: 0644]
debian/git-daemon.init [new file with mode: 0644]
debian/git-daemon/log/run [new file with mode: 0644]
debian/git-daemon/run [new file with mode: 0644]
debian/git-doc.doc-base.everyday-git [new file with mode: 0644]
debian/git-doc.doc-base.git-bisect-lk2009 [new file with mode: 0644]
debian/git-doc.doc-base.git-howtos [new file with mode: 0644]
debian/git-doc.doc-base.git-index-format [new file with mode: 0644]
debian/git-doc.doc-base.git-pack-format [new file with mode: 0644]
debian/git-doc.doc-base.git-protocol [new file with mode: 0644]
debian/git-doc.doc-base.git-reference-manual [new file with mode: 0644]
debian/git-doc.doc-base.git-shallow-clone-design [new file with mode: 0644]
debian/git-doc.doc-base.git-technical [new file with mode: 0644]
debian/git-doc.doc-base.git-tools [new file with mode: 0644]
debian/git-doc.doc-base.git-trivial-merge-rules [new file with mode: 0644]
debian/git-doc.doc-base.git-user-manual [new file with mode: 0644]
debian/git-doc.doc-base.the-racy-git-problem [new file with mode: 0644]
debian/git-doc.docs [new file with mode: 0644]
debian/git-el.conffiles [new file with mode: 0644]
debian/git-el.emacsen-install [new file with mode: 0644]
debian/git-el.emacsen-remove [new file with mode: 0644]
debian/git-el.emacsen-startup [new file with mode: 0644]
debian/git-el.postinst [new file with mode: 0644]
debian/git-el.prerm [new file with mode: 0644]
debian/git.NEWS.Debian [new file with mode: 0644]
debian/git.README.Debian [new file with mode: 0644]
debian/git.README.emacs [new file with mode: 0644]
debian/git.README.source [new file with mode: 0644]
debian/git.conffiles [new file with mode: 0644]
debian/git.docs [new file with mode: 0644]
debian/git.lintian-overrides [new file with mode: 0644]
debian/git.postinst [new file with mode: 0644]
debian/git.postrm [new file with mode: 0644]
debian/git.preinst [new file with mode: 0644]
debian/git.prerm [new file with mode: 0644]
debian/gitweb.NEWS.Debian [new file with mode: 0644]
debian/gitweb.README.Debian [new file with mode: 0644]
debian/gitweb.apache2.conf [new file with mode: 0644]
debian/gitweb.conf [new file with mode: 0644]
debian/gitweb.conffiles [new file with mode: 0644]
debian/gitweb.docs [new file with mode: 0644]
debian/gitweb.examples [new file with mode: 0644]
debian/gitweb.postinst [new file with mode: 0644]
debian/implicit [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/versions.upstream [new file with mode: 0644]
debian/watch [new file with mode: 0644]

diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..bbe7d45
--- /dev/null
@@ -0,0 +1,2720 @@
+git (1:1.7.10.4-1+wheezy3) wheezy-security; urgency=high
+
+  * Non-maintainer upload by the Security Team.
+  * Fix remote code execution via buffer overflows (CVE-2016-2315,
+    CVE-2016-2324) (Closes: #818318)
+
+ -- Salvatore Bonaccorso <carnil@debian.org>  Thu, 17 Mar 2016 21:48:34 +0100
+
+git (1:1.7.10.4-1+wheezy2) wheezy-security; urgency=high
+
+  * Non-maintainer upload by the Security Team.
+  * Fix CVE-2015-7545, arbitrary code execution issues via URLs with:
+    - 0016-CVE-2015-7545-backport1.patch: add function
+      string_list_append_nodup()
+    - 0017-CVE-2015-7545-backport2.patch: add two new functions for splitting
+      strings
+    - 0018-CVE-2015-7545-1.patch: add a protocol-whitelist environment
+      variable
+    - 0019-CVE-2015-7545-2.patch: allow only certain protocols for submodule
+      fetches
+    - 0020-CVE-2015-7545-3.patch: refactor protocol whitelist code
+    - 0021-CVE-2015-7545-4.patch: limit redirection to protocol-whitelist
+    - 0022-CVE-2015-7545-5.patch: limit redirection depth
+  * Make new tests executable.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 17 Dec 2015 20:19:24 +0100
+
+git (1:1.7.10.4-1+wheezy1) testing; urgency=low
+
+  * debian/diff/0013-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>  Sun, 18 Nov 2012 11:45:41 -0800
+
+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 (file)
index 0000000..162257b
--- /dev/null
@@ -0,0 +1,34096 @@
+Version v1.7.10.4; changes since v1.7.10.3:
+-------------------------------------------
+
+Avery Pennarun (1):
+      checkout: no progress messages if !isatty(2).
+
+Erik Faye-Lund (2):
+      rebase: report invalid commit correctly
+      Makefile: add missing GIT-VERSION-FILE dependency
+
+Jeff King (3):
+      fix off-by-one error in split_ident_line
+      pretty: avoid buffer overflow in format_person_part
+      avoid segfault when reading header of malformed commits
+
+Junio C Hamano (2):
+      Start preparing for 1.7.10.4
+      Git 1.7.10.4
+
+Peter Krefting (1):
+      Update Swedish translation (728t0f0u)
+
+René Scharfe (4):
+      grep: factor out create_grep_pat()
+      grep: factor out do_append_grep_pat()
+      grep: support newline separated pattern list
+      grep: stop leaking line strings with -f
+
+
+Version v1.7.10.3; changes since v1.7.10.2:
+-------------------------------------------
+
+Bobby Powers (2):
+      diff --no-index: reset temporary buffer lengths on directory iteration
+      diff --no-index: don't leak buffers in queue_diff
+
+Carlos Martín Nieto (1):
+      pack-protocol: fix first-want separator in the examples
+
+Erik Faye-Lund (2):
+      clone: fix progress-regression
+      checkout: do not corrupt HEAD on empty repo
+
+Heiko Voigt (2):
+      link to gitmodules page at the beginning of git-submodule documentation
+      teach add_submodule_odb() to look for alternates
+
+Jan Krüger (1):
+      log-tree: use custom line terminator in line termination mode
+
+Jeff King (10):
+      docs: stop using asciidoc no-inline-literal
+      t1411: add more selector index/date tests
+      log: respect date_mode_explicit with --format:%gd
+      reflog-walk: clean up "flag" field of commit_reflog struct
+      reflog-walk: always make HEAD@{0} show indexed selectors
+      commit: refactor option parsing
+      status: refactor null_termination option
+      status: fix null termination with "-b"
+      status: respect "-b" for porcelain format
+      osxkeychain: pull make config from top-level directory
+
+Jens Lehmann (1):
+      Consistently use "superproject" instead of "supermodule"
+
+Jiang Xin (4):
+      l10n: Update git.pot (1 new messages)
+      l10n: zh_CN.po: translate 1 new message
+      l10n: Update git.pot (3 new, 2 removed messages)
+      l10n: zh_CN.po: translate 3 new messages
+
+Johannes Sixt (3):
+      t2020-checkout-detach: check for the number of orphaned commits
+      checkout (detached): truncate list of orphaned commits at the new HEAD
+      t3404: begin "exchange commits with -p" test with correct preconditions
+
+Jonathan Nieder (1):
+      config doc: remove confusion about relative GIT_DIR from FILES section
+
+Junio C Hamano (5):
+      log-tree: the previous one is still not quite right
+      reflog-walk: tell explicit --date=default from not having --date at all
+      Start preparing for 1.7.10.3
+      Update draft release notes to 1.7.10.3
+      Git 1.7.10.3
+
+Linus Torvalds (1):
+      fmt-merge-message: add empty line between tag and signature verification
+
+Ralf Thielow (7):
+      l10n: add new members to German translation team
+      l10n: de.po: translate "track" as "beobachten"
+      l10n: de.po: translate "remote" as "extern"
+      l10n: de.po: collection of improvements
+      l10n: de.po: unify translation of "ahead" and "behind"
+      l10n: de.po: translate one new message
+      l10n: de.po: translate 3 new messages
+
+Thomas Rast (4):
+      l10n: de.po: translate "bare" as "bloß"
+      l10n: de.po: hopefully uncontroversial fixes
+      l10n: de.po: translate "bad" as "ungültig" ("invalid")
+      l10n: de.po: collection of suggestions
+
+
+Version v1.7.10.2; changes since v1.7.10.1:
+-------------------------------------------
+
+Angus Hammond (1):
+      grep.c: remove redundant line of code
+
+Ben Walton (1):
+      Avoid bug in Solaris xpg4/sed as used in submodule
+
+Christian Couder (1):
+      revert: add missing va_end
+
+Christopher Tiwald (2):
+      push: Provide situational hints for non-fast-forward errors
+      Fix httpd tests that broke when non-ff push advice changed
+
+Clemens Buchacher (3):
+      http auth fails with multiple curl handles
+      properly keep track of current working directory
+      cherry-pick: do not expect file arguments
+
+Florian Achleitner (1):
+      Documentation/git-config: describe and clarify "--local <file>" option
+
+Heiko Voigt (1):
+      document submdule.$name.update=none option for gitmodules
+
+Jeff King (15):
+      clean up struct ref's nonfastforward field
+      http-backend: respect existing GIT_COMMITTER_* variables
+      fix http auth with multiple curl handles
+      gc: do not explode objects which will be immediately pruned
+      http: clean up leak in init_curl_http_auth
+      http: use newer curl options for setting credentials
+      argv-array: refactor empty_argv initialization
+      argv-array: add a new "pushl" method
+      gc: use argv-array for sub-commands
+      config: reject bogus section names for --rename-section
+      config: expand tildes in include.path variable
+      send-pack: show progress when isatty(2)
+      teach send-pack about --[no-]progress
+      t5541: test more combinations of --progress
+      t/gitweb-lib: use $PERL_PATH to run gitweb
+
+Jim Meyering (1):
+      diff: avoid stack-buffer-read-overrun for very long name
+
+Johannes Sixt (2):
+      t9300-fast-import: avoid 'exit' in test_expect_success snippets
+      t5570: fix forwarding of git-daemon messages via cat
+
+Junio C Hamano (13):
+      xdiff: remove XDL_PATCH_* macros
+      xdiff: PATIENCE/HISTOGRAM are not independent option bits
+      rebase -i: remind that the lines are top-to-bottom
+      builtin/merge.c: remove "remoteheads" global variable
+      builtin/merge.c: collect other parents early
+      builtin/merge.c: reduce parents early
+      fmt-merge-msg: discard needless merge parents
+      t9400: fix gnuism in grep
+      diff --no-index: use strbuf for temporary pathnames
+      contrib/rerere-train: use installed git-sh-setup
+      Start preparing for 1.7.10.2
+      Update draft release notes to 1.7.10.2
+      Git 1.7.10.2
+
+Lucian Poston (5):
+      Add output_prefix_length to diff_options
+      Adjust stat width calculations to take --graph output into account
+      t4052: Adjust --graph --stat output for prefixes
+      t4052: Test diff-stat output with minimum columns
+      Prevent graph_width of stat width from falling below min
+
+Marc Branchaud (2):
+      fetch: Give remote_ref to update_local_ref() as well
+      fetch: describe new refs based on where it came from
+
+Michał Kiedrowicz (1):
+      merge tests: octopus with redundant parents
+
+Pete Wyckoff (2):
+      git-remote-testgit: fix race when spawning fast-import
+      git p4 doc: fix formatting
+
+Ralf Thielow (1):
+      sequencer: remove additional blank line
+
+René Scharfe (2):
+      unpack-trees: don't perform any index operation if we're not merging
+      unpack-trees: plug minor memory leak
+
+Ross Lagerwall (2):
+      rev-parse --show-prefix: add in trailing newline
+      stash: use eval_gettextln correctly
+
+Stefano Lattarini (1):
+      tests: modernise style: more uses of test_line_count
+
+Zbigniew Jędrzejewski-Szmek (4):
+      t4052: test --stat output with --graph
+      test-lib: skip test with COLUMNS=1 under mksh
+      t4052: work around shells unable to set COLUMNS to 1
+      Consistently use perl from /usr/bin/ for scripts
+
+
+Version v1.7.10.1; changes since v1.7.10:
+-----------------------------------------
+
+Adam Monsen (1):
+      git-commit.txt: clarify -t requires editing message
+
+Byrial Jensen (2):
+      l10n: New da.po file with 0 translations
+      l10n: Add Danish team (da) to list of teams
+
+Ivan Todoroski (4):
+      fetch-pack: new --stdin option to read refs from stdin
+      remote-curl: send the refs to fetch-pack on stdin
+      fetch-pack: test cases for the new --stdin option
+      remote-curl: main test case for the OS command line overflow
+
+Jeff King (6):
+      drop casts from users EMPTY_TREE_SHA1_BIN
+      make is_empty_blob_sha1 available everywhere
+      teach diffcore-rename to optionally ignore empty content
+      merge-recursive: don't detect renames of empty files
+      add--interactive: ignore unmerged entries in patch mode
+      run-command: treat inaccessible directories as ENOENT
+
+Jens Lehmann (1):
+      submodules: recursive fetch also checks new tags for submodule commits
+
+Jiang Xin (2):
+      l10n: Update git.pot (2 new messages)
+      l10n: Update Simplified Chinese translation
+
+Johan Herland (3):
+      t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/
+      notes-merge: use opendir/readdir instead of using read_directory()
+      notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd
+
+Johannes Sixt (1):
+      t4034: diff.*.wordregex should not be "sticky" in --word-diff
+
+John Keeping (1):
+      rebase -i continue: don't skip commits that only change submodules
+
+Jonathan Nieder (1):
+      bundle: remove stray single-quote from error message
+
+Junio C Hamano (16):
+      ident.c: add split_ident_line() to parse formatted ident line
+      t7503: does pre-commit-hook learn authorship?
+      commit: pass author/committer info to hooks
+      remove_dir_recursively(): Add flag for skipping removal of toplevel dir
+      clean: preserve nested git worktree in subdirectories
+      t7501: test the right kind of breakage
+      commit: do not trigger bogus "has templated message edited" check
+      commit: rephrase the error when user did not touch templated log message
+      Documentation/git-commit: rephrase the "initial-ness" of templates
+      push: error out when the "upstream" semantics does not make sense
+      blame: accept --need-minimal
+      Git 1.7.7.7
+      Git 1.7.8.6
+      Git 1.7.9.7
+      Start preparing for 1.7.10.1
+      Git 1.7.10.1
+
+Lucian Poston (3):
+      log --graph --stat: three-dash separator should come after graph lines
+      log --graph: fix break in graph lines
+      t4202: add test for "log --graph --stat -p" separator lines
+
+Marco Sousa (1):
+      l10n: Updated pt_PT language
+
+Pete Wyckoff (1):
+      fast-import: tighten parsing of datarefs
+
+Ralf Thielow (2):
+      l10n: Add the German translation team and initialize de.po
+      l10n: Initial German translation
+
+Ramsay Allan Jones (1):
+      compat/mingw.[ch]: Change return type of exec functions to int
+
+René Scharfe (3):
+      combine-diff: fix loop index underflow
+      submodule: fix prototype of gitmodules_config
+      test-subprocess: fix segfault without arguments
+
+Thomas Rast (2):
+      diff: refactor the word-diff setup from builtin_diff_cmd
+      diff: tweak a _copy_ of diff_options with word-diff
+
+
+Version v1.7.10; changes since v1.7.10-rc4:
+-------------------------------------------
+
+Felipe Contreras (1):
+      spec: add missing build dependency
+
+Junio C Hamano (1):
+      Git 1.7.10
+
+
+Version v1.7.10-rc4; changes since v1.7.10-rc3:
+-----------------------------------------------
+
+Heiko Voigt (1):
+      string-list: document that string_list_insert() inserts unique strings
+
+Jiang Xin (1):
+      l10n: Improve zh_CN translation for Git 1.7.10-rc3
+
+Junio C Hamano (3):
+      merge: backport GIT_MERGE_AUTOEDIT support
+      Git 1.7.9.6
+      Git 1.7.10-rc4
+
+Marco Sousa (1):
+      l10n: Inital Portuguese Portugal language (pt_PT)
+
+Pat Thoyts (2):
+      gitk: fix tabbed preferences construction when using tcl 8.4
+      gitk: fix setting font display with new tabbed dialog layout.
+
+René Scharfe (1):
+      config: remove useless assignment
+
+Vincent van Ravesteijn (1):
+      l10n: Add the Dutch translation team and initialize nl.po
+
+
+Version v1.7.10-rc3; changes since v1.7.10-rc2:
+-----------------------------------------------
+
+Frédéric Brière (1):
+      gitk: Skip over AUTHOR/COMMIT_DATE when searching all fields
+
+Jiang Xin (4):
+      l10n: Update git.pot (1 new message)
+      l10n: Update zh_CN translation for Git 1.7.10-rc1
+      l10n: Review zh_CN translation for Git 1.7.10-rc1
+      Add url of Swedish l10n team in TEAMS file
+
+Jim Meyering (3):
+      gitk: Make "git describe" output clickable, too
+      correct spelling: an URL -> a URL
+      correct a few doubled-word nits in comments and documentation
+
+Jonathan Nieder (1):
+      gitk: Use symbolic font names "sans" and "monospace" when available
+
+Junio C Hamano (3):
+      Git 1.7.9.5
+      Update draft release notes to 1.7.10
+      Git 1.7.10-rc3
+
+Marcus Karlsson (1):
+      gitk: Teach gitk to respect log.showroot
+
+Mark Lodato (1):
+      grep doc: add --break / --heading / -W to synopsis
+
+Nelson Benitez Leon (1):
+      documentation: fix alphabetic ordered list for git-rebase man page
+
+Pat Thoyts (2):
+      gitk: Use a tabbed dialog to edit preferences
+      gitk: Fix the display of files when filtered by path
+
+Paul Mackerras (2):
+      gitk: Speed up resolution of short SHA1 ids
+      gitk: Add menu items for comparing a commit with the marked commit
+
+Peter Krefting (1):
+      Update Swedish translation (724t0f0u).
+
+Rodrigo Silva (MestreLion) (1):
+      Documentation: improve description of GIT_EDITOR and preference order
+
+Zbigniew Jędrzejewski-Szmek (2):
+      gitk: Use "gitk: repo-top-level-dir" as window title
+      tests: unset COLUMNS inherited from environment
+
+
+Version v1.7.10-rc2; changes since v1.7.10-rc1:
+-----------------------------------------------
+
+Alex Merry (1):
+      contrib/completion: "local var=()" is misinterpreted as func-decl by zsh
+
+D Waitzman (1):
+      Documentation/gitweb: trivial English fixes
+
+Jonathan Nieder (2):
+      fast-import: leakfix for 'ls' of dirty trees
+      fast-import: don't allow 'ls' of path with empty components
+
+Junio C Hamano (4):
+      fetch/receive: remove over-pessimistic connectivity check
+      Update draft release notes to 1.7.10
+      .mailmap: unify various old mail addresses of gitster
+      Git 1.7.10-rc2
+
+Stefano Lattarini (1):
+      configure: allow user to prevent $PATH "sanitization" on Solaris
+
+Tim Henigan (7):
+      Documentation/diff-options: reword description of --submodule option
+      contrib/diffall: comment actual reason for 'cdup'
+      contrib/diffall: create tmp dirs without mktemp
+      contrib/diffall: eliminate use of tar
+      contrib/diffall: eliminate duplicate while loops
+      contrib/diffall: fix cleanup trap on Windows
+      Documentation/difftool: add deltawalker to list of valid diff tools
+
+Ævar Arnfjörð Bjarmason (2):
+      Git::I18N: compatibility with perl <5.8.3
+      perl/Makefile: install Git::I18N under NO_PERL_MAKEMAKER
+
+
+Version v1.7.10-rc1; changes since v1.7.10-rc0:
+-----------------------------------------------
+
+Alex Zepeda (1):
+      verify-tag: Parse GPG configuration options.
+
+Jakub Narebski (1):
+      gitweb: Fix fixed string (non-regexp) project search
+
+Jens Lehmann (3):
+      submodules: always use a relative path to gitdir
+      submodules: always use a relative path from gitdir to work tree
+      submodules: refactor computation of relative gitdir path
+
+Jiang Xin (3):
+      l10n: Update zh_CN translation for 1.7.9.2
+      l10n: Update git.pot (1 new message)
+      l10n: Update zh_CN translation for 1.7.10-rc0
+
+Johannes Sixt (1):
+      submodules: fix ambiguous absolute paths under Windows
+
+Junio C Hamano (7):
+      Update draft release notes to 1.7.10
+      t0204: clarify the "observe undefined behaviour" test
+      i18n: fix auto detection of gettext scheme for shell scripts
+      Git 1.7.9.4
+      Update draft release notes to 1.7.10 before -rc1
+      am: officially deprecate -b/--binary option
+      Git 1.7.10-rc1
+
+Karsten Blees (1):
+      fix deletion of .git/objects sub-directories in git-prune/repack
+
+Martin Stenberg (1):
+      config: report errors at the EOL with correct line number
+
+Peter Krefting (2):
+      po/sv.po: add Swedish translation
+      Update Swedish translation (732t0f0u).
+
+Phil Hord (1):
+      rerere: Document 'rerere remaining'
+
+Thomas Rast (4):
+      perf: load test-lib-functions from the correct directory
+      perf: export some important test-lib variables
+      p4000: use -3000 when promising -3000
+      git-am: error out when seeing -b/--binary
+
+Thynson (7):
+      l10n: Improve zh_CN translation for lines insertion and deletion.
+      l10n: Improve zh_CN translation for msg about branch deletion deny
+      l10n: Improve zh_CN translation for empty cherry-pick msg.
+      l10n: Improve zh_CN translation for msg that make empty commit when amend.
+      l10n: Improve commit msg for zh_CN translation
+      l10n: Improve zh_CN trans for msg that cannot fast-forward
+      l10n: Improve zh_CN translation for msg "not something we can merge"
+
+Vincent van Ravesteijn (3):
+      Documentation/git-branch: cleanups
+      Documentation/git-branch: fix a typo
+      Documentation/git-branch: add default for --contains
+
+
+Version v1.7.10-rc0; changes since v1.7.9.7:
+--------------------------------------------
+
+Adrian Weimann (1):
+      completion: --edit and --no-edit for git-merge
+
+Alex Riesen (1):
+      add a Makefile switch to avoid gettext translation in shell scripts
+
+Bernhard R. Link (6):
+      gitweb: move hard coded .git suffix out of git_get_projects_list
+      gitweb: prepare git_get_projects_list for use outside 'forks'.
+      gitweb: add project_filter to limit project list to a subdirectory
+      gitweb: limit links to alternate forms of project_list to active project_filter
+      gitweb: show active project_filter in project_list page header
+      gitweb: place links to parent directories in page header
+
+Carlos Martín Nieto (1):
+      Make git-{pull,rebase} message without tracking information friendlier
+
+Clemens Buchacher (3):
+      git-daemon: add tests
+      git-daemon: produce output when ready
+      git-daemon tests: wait until daemon is ready
+
+David Barr (9):
+      vcs-svn: set up channel to read fast-import cat-blob response
+      vcs-svn: quote paths correctly for ls command
+      vcs-svn: use mark from previous import for parent commit
+      vcs-svn: pass paths through to fast-import
+      vcs-svn: drop string_pool
+      vcs-svn: drop treap
+      vcs-svn: drop obj_pool
+      vcs-svn: avoid using ls command twice
+      vcs-svn: implement text-delta handling
+
+Dmitry Ivankov (2):
+      vcs-svn: do not initialize report_buffer twice
+      vcs-svn: reset first_commit_done in fast_export_init
+
+Felipe Contreras (4):
+      remote: use a local variable in match_push_refs()
+      remote: reorganize check_pattern_match()
+      remote: refactor code into alloc_delete_ref()
+      push: add '--prune' option
+
+Frederic Heitzmann (1):
+      completion: add --interactive option to git svn dcommit
+
+Jakub Narebski (11):
+      gitweb: improve usability of projects search form
+      gitweb: Make project search respect project_filter
+      gitweb: Harden and improve $project_filter page title
+      gitweb: Refactor checking if part of project info need filling
+      gitweb: Option for filling only specified info in fill_project_list_info
+      gitweb: Faster project search
+      gitweb: Introduce esc_html_match_hl and esc_html_hl_regions
+      gitweb: Highlight matched part of project name when searching projects
+      gitweb: Highlight matched part of project description when searching projects
+      gitweb: Highlight matched part of shortened project description
+      gitweb: Fix passing parameters to git_project_search_form
+
+Jan Krüger (1):
+      symbolic-ref --short: abbreviate the output unambiguously
+
+Jared Hance (1):
+      Add threaded versions of functions in symlinks.c.
+
+Jeff King (20):
+      parse_object: try internal cache before reading object db
+      upload-pack: avoid parsing objects during ref advertisement
+      upload-pack: avoid parsing tag destinations
+      t0300: use write_script helper
+      docs: add a basic description of the config API
+      drop odd return value semantics from userdiff_config
+      diff-highlight: make perl strict and warnings fatal
+      diff-highlight: don't highlight whole lines
+      diff-highlight: refactor to prepare for multi-line hunks
+      diff-highlight: match multi-line hunks
+      diff-highlight: document some non-optimal cases
+      docs/api-config: minor clarifications
+      t1300: add missing &&-chaining
+      config: copy the return value of prefix_filename
+      config: teach git_config_set_multivar_in_file a default path
+      config: teach git_config_rename_section a file argument
+      config: provide a version of git_config with more options
+      config: stop using config_exclusive_filename
+      config: eliminate config_exclusive_filename
+      config: add include directive
+
+Jehan Bing (1):
+      Add a setting to require a filter to be successful
+
+Jens Lehmann (1):
+      test-lib: add the test_pause convenience function
+
+Jiang Xin (5):
+      l10n: initial git.pot for 1.7.10 upcoming release
+      l10n: po for zh_CN
+      l10n: Update git.pot (12 new messages)
+      l10n: update Chinese translation to the new git.po
+      Update l10n guide: change the repository URL, etc
+
+Jonathan Nieder (23):
+      vcs-svn: use higher mark numbers for blobs
+      vcs-svn: save marks for imported commits
+      vcs-svn: add a comment before each commit
+      vcs-svn: eliminate repo_tree structure
+      vcs-svn: handle filenames with dq correctly
+      Makefile: list one vcs-svn/xdiff object or header per line
+      vcs-svn: learn to maintain a sliding view of a file
+      vcs-svn: make buffer_read_binary API more convenient
+      vcs-svn: skeleton of an svn delta parser
+      vcs-svn: parse svndiff0 window header
+      vcs-svn: read the preimage when applying deltas
+      vcs-svn: read inline data from deltas
+      vcs-svn: read instructions from deltas
+      vcs-svn: implement copyfrom_data delta instruction
+      vcs-svn: verify that deltas consume all inline data
+      vcs-svn: let deltas use data from postimage
+      vcs-svn: let deltas use data from preimage
+      test-svn-fe: split off "test-svn-fe -d" into a separate function
+      vcs-svn: cap number of bytes read from sliding view
+      vcs-svn: guard against overflow when computing preimage length
+      vcs-svn: avoid hangs from corrupt deltas
+      vcs-svn: allow import of > 4GiB files
+      vcs-svn: suppress a -Wtype-limits warning
+
+Junio C Hamano (28):
+      git-sh-i18n: restructure the logic to compute gettext.sh scheme
+      i18n: Make NO_GETTEXT imply fallthrough scheme in shell l10n
+      merge: use editor by default in interactive sessions
+      push: do not let configured foreign-vcs permanently clobbered
+      t9801: do not overuse test_must_fail
+      i18n: Do not force USE_GETTEXT_SCHEME=fallthrough on NO_GETTEXT
+      vcs-svn/svndiff.c: squelch false "unused" warning from gcc
+      Kick off the post 1.7.9 cycle
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      t9100: remove bogus " || test" after each test scriptlet
+      merge: do not trust fstat(2) too much when checking interactiveness
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      grep: use static trans-case table
+      fsck: --no-dangling omits "dangling object" information
+      pickaxe: allow -i to search in patch case-insensitively
+      Update l10n guide
+      diff --stat: tests for long filenames and big change counts
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      fsck doc: a minor typofix
+      Git 1.7.10-rc0
+
+Linus Torvalds (1):
+      "git pull" doesn't know "--edit"
+
+Luke Diamand (6):
+      git-p4: handle p4 branches and labels containing shell chars
+      git-p4: cope with labels with empty descriptions
+      git-p4: importing labels should cope with missing owner
+      git-p4: add test for p4 labels
+      git-p4: label import fails with multiple labels at the same changelist
+      git-p4: add initial support for RCS keywords
+
+Michael Haggerty (11):
+      pack_refs(): remove redundant check
+      ref_array: keep track of whether references are sorted
+      add_packed_ref(): new function in the refs API.
+      write_remote_refs(): create packed (rather than extra) refs
+      t5700: document a failure of alternates to affect fetch
+      clone.c: move more code into the "if (refs)" conditional
+      fetch-pack.c: rename some parameters from "path" to "refname"
+      fetch-pack.c: inline insert_alternate_refs()
+      everything_local(): mark alternate refs as complete
+      clone: do not add alternate references to extra_refs
+      refs: remove the extra_refs API
+
+Michał Kiedrowicz (2):
+      pack-objects: Fix compilation with NO_PTHREDS
+      grep -P: add tests for matching ^ and $
+
+Nelson Benitez Leon (1):
+      http: support proxies that require authentication
+
+Nguyễn Thái Ngọc Duy (20):
+      clone: add --single-branch to fetch only one branch
+      Fix incorrect ref namespace check
+      Eliminate recursion in setting/clearing marks in commit list
+      index-pack: eliminate recursion in find_unresolved_deltas
+      index-pack: eliminate unlimited recursion in get_base_data()
+      t5601: add missing && cascade
+      clone: write detached HEAD in bare repositories
+      clone: factor out checkout code
+      clone: factor out HEAD update code
+      clone: factor out remote ref writing
+      clone: delay cloning until after remote HEAD checking
+      clone: --branch=<branch> always means refs/heads/<branch>
+      clone: refuse to clone if --branch points to bogus ref
+      clone: allow --branch to take a tag
+      clone: print advice on checking out detached HEAD
+      clone: fix up delay cloning conditions
+      pack-objects: do not accept "--index-version=version,"
+      pack-objects: remove bogus comment
+      pack-objects: convert to use parse_options()
+      cache-tree: update API to take abitrary flags
+
+Pete Wyckoff (6):
+      git-p4: only a single ... wildcard is supported
+      git-p4: fix verbose comment typo
+      git-p4: clarify comment
+      git-p4: adjust test to adhere to stricter useClientSpec
+      git-p4: add tests demonstrating spec overlay ambiguities
+      git-p4: Change p4 command invocation
+
+Phil Hord (1):
+      cherry-pick: No advice to commit if --no-commit
+
+Philip Jägenstedt (2):
+      completion: remote set-* <name> and <branch>
+      completion: normalize increment/decrement style
+
+Ramkumar Ramachandra (2):
+      revert: prepare to move replay_action to header
+      sequencer: factor code out of revert builtin
+
+Ramsay Allan Jones (3):
+      vcs-svn: rename check_overflow arguments for clarity
+      builtin/tag.c: Fix a sparse warning
+      ctype.c: Fix a sparse warning
+
+René Scharfe (5):
+      xdiff: print post-image for common records instead of pre-image
+      test-parse-options: convert to OPT_BOOL()
+      parse-options: allow positivation of options starting, with no-
+      parse-options: remove PARSE_OPT_NEGHELP
+      parse-options: typo check for unknown switches
+
+Riku (1):
+      l10n: update zh_CN translation for "Fetching %s"
+
+Russell Myers (1):
+      git-p4: the option to specify 'host' is -H, not -h
+
+Stefano Lattarini (1):
+      t0000: modernise style
+
+Steven Walter (2):
+      git-svn.perl: perform deletions before anything else
+      git-svn.perl: fix a false-positive in the "already exists" test
+
+Thomas Rast (6):
+      am: learn passing -b to mailinfo
+      mailinfo: with -b, keep space after [foo]
+      Move the user-facing test library to test-lib-functions.sh
+      Introduce a performance testing framework
+      Add a performance test for git-grep
+      perf: compare diff algorithms
+
+Tim Henigan (2):
+      contrib: add git-diffall script
+      mergetools: add a plug-in to support DeltaWalker
+
+Tom Grennan (1):
+      tag: add --points-at list option
+
+Vitor Antunes (2):
+      git-p4: Search for parent commit on branch creation
+      git-p4: Add test case for complex branch import
+
+Wei-Yin Chen (陳威尹) (1):
+      git-svn: Fix time zone in --localtime
+
+Yichao Yu (1):
+      l10n: fast-forward here is ff-only merge, not push
+
+Zbigniew Jędrzejewski-Szmek (11):
+      make lineno_width() from blame reusable for others
+      send-email: document the --smtp-debug option
+      git-p4: missing she-bang line in t9804 confuses prove
+      diff --stat: use the full terminal width
+      show --stat: use the full terminal width
+      log --stat: use the full terminal width
+      merge --stat: use the full terminal width
+      diff --stat: use a maximum of 5/8 for the filename part
+      diff --stat: add a test for output with COLUMNS=40
+      diff --stat: enable limiting of the graph part
+      diff --stat: add config option to limit graph width
+
+ws3389 (1):
+      l10n: leave leading space unchanged for zh_CN.po
+
+Ævar Arnfjörð Bjarmason (2):
+      git-svn: remove redundant porcelain option to rev-list
+      git-svn: un-break "git svn rebase" when log.abbrevCommit=true
+
+
+Version v1.7.9.7; changes since v1.7.9.6:
+-----------------------------------------
+
+D Waitzman (1):
+      Documentation/gitweb: trivial English fixes
+
+Jonathan Nieder (1):
+      bundle: remove stray single-quote from error message
+
+Junio C Hamano (4):
+      fetch/receive: remove over-pessimistic connectivity check
+      Git 1.7.7.7
+      Git 1.7.8.6
+      Git 1.7.9.7
+
+
+Version v1.7.9.6; changes since v1.7.9.5:
+-----------------------------------------
+
+Heiko Voigt (1):
+      string-list: document that string_list_insert() inserts unique strings
+
+Junio C Hamano (2):
+      merge: backport GIT_MERGE_AUTOEDIT support
+      Git 1.7.9.6
+
+
+Version v1.7.9.5; changes since v1.7.9.4:
+-----------------------------------------
+
+Jakub Narebski (1):
+      gitweb: Fix actionless dispatch for non-existent objects
+
+Jonathan Nieder (2):
+      fast-import: leakfix for 'ls' of dirty trees
+      fast-import: don't allow 'ls' of path with empty components
+
+Junio C Hamano (2):
+      i18n of multi-line advice messages
+      Git 1.7.9.5
+
+Kirill Smelkov (1):
+      t/Makefile: Use $(sort ...) explicitly where needed
+
+Mark Lodato (1):
+      grep doc: add --break / --heading / -W to synopsis
+
+Martin Stenberg (1):
+      config: report errors at the EOL with correct line number
+
+Nelson Benitez Leon (1):
+      documentation: fix alphabetic ordered list for git-rebase man page
+
+Phil Hord (1):
+      rerere: Document 'rerere remaining'
+
+Rodrigo Silva (MestreLion) (1):
+      Documentation: improve description of GIT_EDITOR and preference order
+
+
+Version v1.7.9.4; changes since v1.7.9.3:
+-----------------------------------------
+
+Jakub Narebski (1):
+      gitweb: Fix fixed string (non-regexp) project search
+
+Junio C Hamano (6):
+      am -3: allow nonstandard -p<num> option
+      test: "am -3" can accept non-standard -p<num>
+      t4011: modernise style
+      t4011: illustrate "diff-index -p" on stat-dirty paths
+      diff -p: squelch "diff --git" header for stat-dirty paths
+      Git 1.7.9.4
+
+Thomas Rast (5):
+      t5510: refactor bundle->pack conversion
+      t5510: ensure we stay in the toplevel test dir
+      bundle: keep around names passed to add_pending_object()
+      Document the --histogram diff option
+      t5704: fix nonportable sed/grep usages
+
+
+Version v1.7.9.3; changes since v1.7.9.2:
+-----------------------------------------
+
+Andrew Wong (1):
+      rebase -m: only call "notes copy" when rewritten exists and is non-empty
+
+Carlos Martín Nieto (2):
+      branch: don't assume the merge filter ref exists
+      Documentation: use {asterisk} in rev-list-options.txt when needed
+
+Clemens Buchacher (1):
+      http.proxy: also mention https_proxy and all_proxy
+
+Dmitry V. Levin (1):
+      Makefile: add thread-utils.h to LIB_H
+
+Jakub Narebski (2):
+      gitweb: Fix "heads" view when there is no current branch
+      gitweb: Handle invalid regexp in regexp search
+
+Jeff King (4):
+      disconnect from remote helpers more gently
+      teach convert_to_git a "dry run" mode
+      teach dry-run convert_to_git not to require a src buffer
+      do not stream large files to pack when filters are in use
+
+Jehan Bing (1):
+      Ignore SIGPIPE when running a filter driver
+
+Jim Meyering (1):
+      am: don't infloop for an empty input file
+
+John Szakmeister (1):
+      configure: don't use -lintl when there is no gettext support
+
+Jonathan Nieder (1):
+      mergetools/meld: Use --help output to detect --output support
+
+Junio C Hamano (9):
+      refresh_index: do not show unmerged path that is outside pathspec
+      Documentation/merge-options.txt: group "ff" related options together
+      Document merge.branchdesc configuration variable
+      Git 1.7.8.5
+      Document accumulated fixes since 1.7.9.2
+      Update draft release notes to 1.7.9.3
+      Documentation: do not assume that n > 1 in <rev>~$n
+      Update draft release notes to 1.7.9.3 for the last time
+      Git 1.7.9.3
+
+Libor Pechacek (1):
+      Documentation fixes in git-config
+
+Matthieu Moy (1):
+      README: point to Documentation/SubmittingPatches
+
+Michael Haggerty (2):
+      post-receive-email: remove unused variable
+      post-receive-email: match up $LOGBEGIN..$LOGEND pairs correctly
+
+Michael J Gruber (1):
+      t0300: work around bug in dash 0.5.6
+
+Michał Kiedrowicz (1):
+      grep -P: Fix matching ^ and $
+
+Nguyễn Thái Ngọc Duy (2):
+      rev-list: remove BISECT_SHOW_TRIED flag
+      rev-list: fix --verify-objects --quiet becoming --objects
+
+Pete Wyckoff (4):
+      git-p4: set useClientSpec variable on initial clone
+      git-p4: fix submit regression with clientSpec and subdir clone
+      git-p4: remove bash-ism in t9809
+      git-p4: remove bash-ism in t9800
+
+Philip Jägenstedt (1):
+      remote: fix set-branches usage and documentation
+
+Stefano Lattarini (1):
+      tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh
+
+Thomas Rast (6):
+      merge: add instructions to the commit message when editing
+      bundle: put strbuf_readline_fd in strbuf.c with adjustments
+      bundle: use a strbuf to scan the log for boundary commits
+      strbuf: improve strbuf_get*line documentation
+      t5704: match tests to modern style
+      fast-import: zero all of 'struct tag' to silence valgrind
+
+Tim Henigan (2):
+      CodingGuidelines: Add a note about spaces after redirection
+      CodingGuidelines: do not use 'which' in shell scripts
+
+Tom Grennan (1):
+      t5512 (ls-remote): modernize style
+
+
+Version v1.7.9.2; changes since v1.7.9.1:
+-----------------------------------------
+
+Christian Hammerl (1):
+      completion: Allow dash as the first character for __git_ps1
+
+Clemens Buchacher (4):
+      git rev-list: fix invalid typecast
+      push/fetch/clone --no-progress suppresses progress output
+      t5541: check error message against the real port number used
+      do not override receive-pack errors
+
+Felipe Contreras (3):
+      completion: work around zsh option propagation bug
+      completion: use ls -1 instead of rolling a loop to do that ourselves
+      completion: simplify __gitcomp and __gitcomp_nl implementations
+
+Jakub Narebski (2):
+      gitweb: Allow UTF-8 encoded CGI query parameters and path_info
+      gitweb: Fix 'grep' search for multiple matches in file
+
+Jeff King (12):
+      grep: make locking flag global
+      grep: move sha1-reading mutex into low-level code
+      grep: refactor the concept of "grep source" into an object
+      convert git-grep to use grep_source interface
+      grep: drop grep_buffer's "name" parameter
+      grep: cache userdiff_driver in grep_source
+      grep: respect diff attributes for binary-ness
+      grep: load file data after checking binary-ness
+      grep: pre-load userdiff drivers when threaded
+      standardize and improve lookup rules for external local repos
+      prompt: clean up strbuf usage
+      prompt: fall back to terminal if askpass fails
+
+Jiang Xin (2):
+      i18n: git-commit whence_s "merge/cherry-pick" message
+      i18n: format_tracking_info "Your branch is behind" message
+
+Johannes Sixt (1):
+      Makefile: fix syntax for older make
+
+Junio C Hamano (8):
+      mailmap: always return a plain mail address from map_user()
+      git checkout -b: allow switching out of an unborn branch
+      commit: ignore intent-to-add entries instead of refusing
+      diff --stat: show bars of same length for paths with same amount of changes
+      Update draft release notes to 1.7.9.2
+      Update draft release notes to 1.7.9.2
+      Update draft release notes to 1.7.9.2
+      Git 1.7.9.2
+
+Matthieu Moy (1):
+      fsck: give accurate error message on empty loose object files
+
+Namhyung Kim (2):
+      ctype.c only wants git-compat-util.h
+      ctype: implement islower/isupper macro
+
+Nguyễn Thái Ngọc Duy (3):
+      sha1_file.c: move the core logic of find_pack_entry() into fill_pack_entry()
+      find_pack_entry(): do not keep packed_git pointer locally
+      Use correct grammar in diffstat summary line
+
+Philip Jägenstedt (2):
+      completion: remove stale "to submit patches" documentation
+      completion: use tabs for indentation
+
+Ralf Thielow (2):
+      completion: --edit-description option for git-branch
+      completion: --list option for git-branch
+
+Theodore Ts'o (1):
+      Fix build problems related to profile-directed optimization
+
+Zbigniew Jędrzejewski-Szmek (2):
+      pager: find out the terminal width before spawning the pager
+      man: rearrange git synopsis to fit in 80 lines
+
+Дилян Палаузов (1):
+      Makefile: introduce CHARSET_LIB to link with -lcharset
+
+
+Version v1.7.9.1; changes since v1.7.9:
+---------------------------------------
+
+Adrian Weimann (1):
+      completion: --edit and --no-edit for git-merge
+
+Albert Yale (1):
+      grep: fix -l/-L interaction with decoration lines
+
+Ben Walton (1):
+      Drop system includes from inet_pton/inet_ntop compatibility wrappers
+
+Clemens Buchacher (2):
+      fix push --quiet: add 'quiet' capability to receive-pack
+      dashed externals: kill children on exit
+
+David Aguilar (1):
+      mergetool: Provide an empty file when needed
+
+Jakub Narebski (1):
+      git.spec: Workaround localized messages not put in any RPM
+
+Jeff King (4):
+      run-command: optionally kill children on exit
+      imap-send: remove dead code
+      tag: fix output of "tag -n" when errors occur
+      tag: die when listing missing or corrupt objects
+
+Jens Lehmann (1):
+      submodule add: fix breakage when re-adding a deep submodule
+
+Johannes Schindelin (1):
+      add -e: do not show difference in a submodule that is merely dirty
+
+Junio C Hamano (15):
+      server_supports(): parse feature list more carefully
+      Making pathspec limited log play nicer with --first-parent
+      request-pull: explicitly ask tags/$name to be pulled
+      tests: add write_script helper function
+      parse_date(): allow ancient git-timestamp
+      parse_date(): '@' prefix forces git-timestamp
+      merge: do not create a signed tag merge under --ff-only option
+      branch --edit-description: protect against mistyped branch name
+      Git 1.7.6.6
+      Prepare for 1.7.9.1
+      tag: do not show non-tag contents with "-n"
+      merge: do not launch an editor on "--no-edit $tag"
+      Update draft release notes to 1.7.9.1
+      Update draft release notes to 1.7.9.1
+      Git 1.7.9.1
+
+Michael J Gruber (1):
+      t5541: avoid TAP test miscounting
+
+Michael Palimaka (1):
+      Explicitly set X to avoid potential build breakage
+
+Shawn O. Pearce (1):
+      remote-curl: Fix push status report when all branches fail
+
+Ævar Arnfjörð Bjarmason (3):
+      Makefile: Change the default compiler from "gcc" to "cc"
+      Remove Git's support for smoke testing
+      t: use sane_unset instead of unset
+
+
+Version v1.7.9; changes since v1.7.9-rc2:
+-----------------------------------------
+
+Felipe Contreras (1):
+      git-completion: workaround zsh COMPREPLY bug
+
+Jeff King (1):
+      docs: minor grammar fixes for v1.7.9 release notes
+
+Junio C Hamano (2):
+      INSTALL: warn about recent Fedora breakage
+      Git 1.7.9
+
+Michael Haggerty (1):
+      Fix typo in 1.7.9 release notes
+
+
+Version v1.7.9-rc2; changes since v1.7.9-rc1:
+---------------------------------------------
+
+Jakub Narebski (2):
+      gitweb: Fix file links in "grep" search
+      gitweb: Harden "grep" search against filenames with ':'
+
+Jeff King (3):
+      unix-socket: handle long socket pathnames
+      credential-cache: report more daemon connection errors
+      credential-cache: ignore "connection refused" errors
+
+Jonathan Nieder (1):
+      unix-socket: do not let close() or chdir() clobber errno during cleanup
+
+Junio C Hamano (4):
+      pulling signed tag: add howto document
+      Git 1.7.7.6
+      Git 1.7.8.4
+      Git 1.7.9-rc2
+
+Michael Haggerty (2):
+      git-show-ref: fix escaping in asciidoc source
+      git-show-ref doc: typeset regexp in fixed width font
+
+Nguyễn Thái Ngọc Duy (3):
+      Document limited recursion pathspec matching with wildcards
+      diff-index: enable recursive pathspec matching in unpack_trees
+      diff-index: enable recursive pathspec matching in unpack_trees
+
+Thomas Rast (1):
+      word-diff: ignore '\ No newline at eof' marker
+
+
+Version v1.7.9-rc1; changes since v1.7.9-rc0:
+---------------------------------------------
+
+Ben Walton (1):
+      Use perl instead of sed for t8006-blame-textconv test
+
+Carlos Martín Nieto (1):
+      archive: re-allow HEAD:Documentation on a remote invocation
+
+Clemens Buchacher (1):
+      credentials: unable to connect to cache daemon
+
+Jeff King (5):
+      send-email: multiedit is a boolean config option
+      attr: don't confuse prefixes with leading directories
+      attr: drop misguided defensive coding
+      attr: fix leak in free_attr_elem
+      thin-pack: try harder to use preferred base objects as base
+
+Junio C Hamano (11):
+      attr.c: make bootstrap_attr_stack() leave early
+      attr.c: clarify the logic to pop attr_stack
+      Documentation: rerere's rr-cache auto-creation and rerere.enabled
+      Prepare for 1.7.6.6
+      Prepare for 1.7.7.6
+      Prepare for 1.7.8.4
+      request-pull: use the real fork point when preparing the message
+      Update draft release notes to 1.7.6.6
+      Update draft release notes to 1.7.7.6
+      Update draft release notes to 1.7.8.4
+      Git 1.7.9-rc1
+
+Matthieu Moy (1):
+      gitweb: accept trailing "/" in $project_list
+
+Michael Haggerty (3):
+      receive-pack: move more work into write_head_info()
+      show_ref(): remove unused "flag" and "cb_data" arguments
+      write_head_info(): handle "extra refs" locally
+
+Nguyễn Thái Ngọc Duy (1):
+      t2203: fix wrong commit command
+
+Sebastian Schuberth (2):
+      t9200: On MSYS, do not pass Windows-style paths to CVS
+      git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS
+
+Thomas Rast (1):
+      mailinfo documentation: accurately describe non -k case
+
+
+Version v1.7.9-rc0; changes since v1.7.8.6:
+-------------------------------------------
+
+Anders Kaseorg (2):
+      gitk: Remove unused $cdate array
+      gitk: Remember time zones from author and commit timestamps
+
+Bert Wesarg (14):
+      git-gui: fix multi selected file operation
+      git-gui: handle config booleans without value
+      git-gui: add smart case search mode in searchbar
+      git-gui: add regexp search mode to the searchbar
+      git-gui: add search history to searchbar
+      git-gui: fix unintended line break in message string
+      git-gui: use "untracked" for files which are not known to git
+      git-gui: new config to control staging of untracked files
+      git-gui: fix display of path in browser title
+      git-gui: use a tristate to control the case mode in the searchbar
+      git-gui: span widgets over the full file output area in the blame view
+      git-gui: include the file path in guitools confirmation dialog
+      git-gui: make config gui.warndetachedcommit a boolean
+      git-gui: don't warn for detached head when rebasing
+
+Dejan Ribič (1):
+      git-gui: fix spelling error in sshkey.tcl
+
+Gary Gibbons (5):
+      git-p4: ensure submit clientPath exists before chdir
+      git-p4: use absolute directory for PWD env var
+      git-p4: fix test for unsupported P4 Client Views
+      git-p4: sort client views by reverse View number
+      git-p4: support single file p4 client view maps
+
+Gustaf Hendeby (1):
+      Add built-in diff patterns for MATLAB code
+
+Jakub Narebski (6):
+      gitweb: Refactor diff body line classification
+      gitweb: Extract formatting of diff chunk header
+      gitweb: Give side-by-side diff extra CSS styling
+      t9500: Add test for handling incomplete lines in diff by gitweb
+      t9500: Add basic sanity tests for side-by-side diff in gitweb
+      gitweb: Use href(-replay=>1,...) for formats links in "commitdiff"
+
+Jeff King (28):
+      prune: handle --progress/no-progress
+      reachable: per-object progress
+      upload-archive: use start_command instead of fork
+      test-lib: add test_config_global variant
+      t5550: fix typo
+      introduce credentials API
+      credential: add function for parsing url components
+      http: use credential API to get passwords
+      credential: apply helper config
+      credential: add credential.*.username
+      credential: make relevance of http path configurable
+      docs: end-user documentation for the credential subsystem
+      credentials: add "cache" helper
+      strbuf: add strbuf_add*_urlencode
+      imap-send: avoid buffer overflow
+      imap-send: don't check return value of git_getpass
+      move git_getpass to its own source file
+      refactor git_getpass into generic prompt function
+      add generic terminal prompt function
+      credentials: add "store" helper
+      prompt: use git_terminal_prompt
+      t: add test harness for external credential helpers
+      credential: use git_prompt instead of git_getpass
+      Makefile: linux has /dev/tty
+      Makefile: OS X has /dev/tty
+      contrib: add credential helper for OS X Keychain
+      test-lib: redirect stdin of tests
+      pretty: give placeholders to reflog identity
+
+Joey Hess (1):
+      write first for-merge ref to FETCH_HEAD first
+
+Johannes Sixt (1):
+      Makefile: unix sockets may not available on some platforms
+
+Jonathan Nieder (6):
+      gitk: Make vi-style keybindings more vi-like
+      test: add missing "&&" after echo command
+      test: remove a porcelain test that hard-codes commit names
+      t7501 (commit): modernize style
+      test: commit --amend should honor --no-edit
+      test: errors preparing for a test are not special
+
+Jonathon Mah (1):
+      stash: Don't fail if work dir contains file named 'HEAD'
+
+Junio C Hamano (50):
+      branch: add read_branch_desc() helper function
+      format-patch: use branch description in cover letter
+      branch: teach --edit-description option
+      request-pull: modernize style
+      request-pull: state what commit to expect
+      request-pull: use the branch description
+      fmt-merge-msg: use branch.$name.description
+      write_pack_header(): a helper function
+      create_tmp_packfile(): a helper function
+      finish_tmp_packfile(): a helper function
+      Split GPG interface into its own helper library
+      merge: notice local merging of tags and keep it unwrapped
+      fetch: allow "git fetch $there v1.0" to fetch a tag
+      refs DWIMmery: use the same rule for both "git fetch" and others
+      fmt-merge-msg: avoid early returns
+      fmt-merge-msg: package options into a structure
+      fmt-merge-msg: Add contents of merged tag in the merge message
+      merge: make usage of commit->util more extensible
+      merge: record tag objects without peeling in MERGE_HEAD
+      request-pull: use the annotated tag contents
+      commit: copy merged signed tags to headers of merge commit
+      merge: force edit and no-ff mode when merging a tag object
+      commit: teach --amend to carry forward extra headers
+      commit-tree: update the command line parsing
+      commit-tree: teach -m/-F options to read logs from elsewhere
+      commit: teach --gpg-sign option
+      log: --show-signature
+      test "commit -S" and "log --show-signature"
+      pretty: %G[?GS] placeholders
+      gpg-interface: allow use of a custom GPG binary
+      csum-file: introduce sha1file_checkpoint
+      bulk-checkin: replace fast-import based implementation
+      Kick-off the 1.7.9 cycle
+      commit: honour --no-edit
+      Update draft release notes for 1.7.9
+      Update draft release notes to 1.7.9
+      request-pull: update the "pull" command generation logic
+      Update draft release notes to 1.7.9
+      request-pull: do not emit "tag" before the tagname
+      Update draft release notes to 1.7.9
+      commit: do not lose mergetag header when not amending
+      Update draft release notes to 1.7.9
+      Update draft release notes in preparation for 1.7.9-rc0
+      Update draft release notes to 1.7.9
+      verify_signed_buffer: fix stale comment
+      commit --amend -S: strip existing gpgsig headers
+      log-tree.c: small refactor in show_signature()
+      log-tree: show mergetag in log --show-signature output
+      log --show-signature: reword the common two-head merge case
+      Git 1.7.9-rc0
+
+Kato Kazuyoshi (2):
+      gitweb: Add a feature to show side-by-side diff
+      gitweb: Add navigation to select side-by-side diff
+
+Kirill A. Shutemov (1):
+      git-tag: introduce --cleanup option
+
+Linus Torvalds (1):
+      fetch: do not store peeled tag object names in FETCH_HEAD
+
+Martin von Zweigbergk (10):
+      gitk: Fix file highlight when run in subdirectory
+      gitk: Fix "show origin of this line" with separate work tree
+      gitk: Fix "blame parent commit" with separate work tree
+      gitk: Fix "External diff" with separate work tree
+      gitk: Put temporary directory inside .git
+      gitk: Run 'git rev-parse --git-dir' only once
+      gitk: Simplify calculation of gitdir
+      gitk: Show modified files with separate work tree
+      t3401: modernize style
+      t3401: use test_commit in setup
+
+Michael Haggerty (16):
+      struct ref_entry: document name member
+      refs: rename "refname" variables
+      refs: rename parameters result -> sha1
+      clear_ref_array(): rename from free_ref_array()
+      is_refname_available(): remove the "quiet" argument
+      parse_ref_line(): add docstring
+      add_ref(): add docstring
+      is_dup_ref(): extract function from sort_ref_array()
+      refs: change signatures of get_packed_refs() and get_loose_refs()
+      get_ref_dir(): change signature
+      resolve_gitlink_ref(): improve docstring
+      Pass a (ref_cache *) to the resolve_gitlink_*() helper functions
+      resolve_gitlink_ref_recursive(): change to work with struct ref_cache
+      repack_without_ref(): remove temporary
+      create_ref_entry(): extract function from add_ref()
+      add_ref(): take a (struct ref_entry *) parameter
+
+Nguyễn Thái Ngọc Duy (14):
+      fsck: return error code when verify_pack() goes wrong
+      verify_packfile(): check as many object as possible in a pack
+      fsck: avoid reading every object twice
+      fsck: print progress
+      prune: show progress while marking reachable objects
+      Convert many resolve_ref() calls to read_ref*() and ref_exists()
+      checkout,merge: disallow overwriting ignored files with --no-overwrite-ignore
+      Copy resolve_ref() return value for longer use
+      revert: convert resolve_ref() to read_ref_full()
+      Convert resolve_ref+xstrdup to new resolve_refdup function
+      Rename resolve_ref() to resolve_ref_unsafe()
+      merge: abort if fails to commit
+      Convert commit_tree() to take strbuf as message
+      commit_tree(): refuse commit messages that contain NULs
+
+Pat Thoyts (11):
+      git-gui: include the number of untracked files to stage when asking the user
+      git-gui: theme the search and line-number entry fields on blame screen
+      git-gui: catch invalid or complete regular expressions and treat as no match.
+      git-gui: enable the smart case sensitive search only if gui.search.smartcase is true
+      git-gui: set suitable extended window manager hints.
+      git-gui: support underline style when parsing diff output
+      git-gui: sort the numeric ansi codes
+      git-gui: set whitespace warnings appropriate to this project
+      git-gui: added config gui.gcwarning to disable the gc hint message
+      git-gui: handle shell script text filters when loading for blame.
+      git-gui 0.16
+
+Paul Mackerras (1):
+      gitk: Update copyright
+
+Pete Wyckoff (18):
+      git-p4: introduce skipSubmitEdit
+      git-p4: submit test for auto-creating clientPath
+      git-p4: test for absolute PWD problem
+      git-p4: fix skipSubmitEdit regression
+      rename git-p4 tests
+      git-p4: introduce asciidoc documentation
+      git-p4: clone does not use --git-dir
+      git-p4: test cloning with two dirs, clarify doc
+      git-p4: document and test clone --branch
+      git-p4: honor --changesfile option and test
+      git-p4: document and test --import-local
+      git-p4: test --max-changes
+      git-p4: test --keep-path
+      git-p4: test and document --use-client-spec
+      git-p4: document and test submit options
+      git-p4: test client view handling
+      git-p4: rewrite view handling
+      git-p4: view spec documentation
+
+Ramkumar Ramachandra (11):
+      t3200 (branch): fix '&&' chaining
+      test: fix '&&' chaining
+      t3030 (merge-recursive): use test_expect_code
+      t1510 (worktree): fix '&&' chaining
+      t3040 (subprojects-basic): fix '&&' chaining, modernize style
+      revert: free msg in format_todo()
+      revert: make commit subjects in insn sheet optional
+      revert: tolerate extra spaces, tabs in insn sheet
+      revert: simplify getting commit subject in format_todo()
+      t3510 (cherry-pick-sequencer): use exit status
+      t3502, t3510: clarify cherry-pick -m failure
+
+Ramsay Allan Jones (3):
+      builtin/log.c: Fix an "Using plain integer as NULL pointer" warning
+      environment.c: Fix an sparse "symbol not declared" warning
+      fmt-merge-msg.c: Fix an "dubious one-bit signed bitfield" sparse error
+
+Raphael Zimmerer (1):
+      gitk: When a commit contains a note, mark it with a yellow box
+
+René Scharfe (5):
+      read-cache.c: allocate index entries individually
+      cache.h: put single NUL at end of struct cache_entry
+      use struct sha1_array in diff_tree_combined()
+      pass struct commit to diff_tree_combined_merge()
+      submodule: use diff_tree_combined_merge() instead of diff_tree_combined()
+
+SZEDER Gábor (9):
+      completion: document __gitcomp()
+      completion: optimize refs completion
+      completion: make refs completion consistent for local and remote repos
+      completion: improve ls-remote output filtering in __git_refs()
+      completion: support full refs from remote repositories
+      completion: query only refs/heads/ in __git_refs_remotes()
+      completion: improve ls-remote output filtering in __git_refs_remotes()
+      completion: fast initial completion for config 'remote.*.fetch' value
+      completion: remove broken dead code from __git_heads() and __git_tags()
+
+Samuel Bronson (1):
+      git-gui: Set both 16x16 and 32x32 icons on X to pacify Xming.
+
+Steven Walter (1):
+      git-svn.perl: close the edit for propedits even with no mods
+
+Thomas Rast (5):
+      grep: load funcname patterns for -W
+      grep: enable threading with -p and -W using lazy attribute lookup
+      grep: disable threading in non-worktree case
+      test-terminal: set output terminals to raw mode
+      bash completion: use read -r everywhere
+
+Tilman Vogel (1):
+      git-gui: add config value gui.diffopts for passing additional diff options
+
+Vincent van Ravesteijn (4):
+      Compile fix for MSVC: Do not include sys/resources.h
+      Compile fix for MSVC: Include <io.h>
+      MSVC: Remove unneeded header stubs
+      Show error for 'git merge' with unset merge.defaultToUpstream
+
+Yggy King (1):
+      gitk: Make "touching paths" search support backslashes
+
+Ævar Arnfjörð Bjarmason (5):
+      pull: introduce a pull.rebase option to enable --rebase
+      i18n: add infrastructure for translating Git with gettext
+      Fix an enum assignment issue spotted by Sun Studio
+      Fix a bitwise negation assignment issue spotted by Sun Studio
+      Appease Sun Studio by renaming "tmpfile"
+
+
+Version v1.7.8.6; changes since v1.7.8.5:
+-----------------------------------------
+
+Carlos Martín Nieto (1):
+      Documentation: use {asterisk} in rev-list-options.txt when needed
+
+Clemens Buchacher (1):
+      t5541: check error message against the real port number used
+
+D Waitzman (1):
+      Documentation/gitweb: trivial English fixes
+
+Jakub Narebski (1):
+      gitweb: Fix actionless dispatch for non-existent objects
+
+Johannes Sixt (1):
+      t0090: be prepared that 'wc -l' writes leading blanks
+
+Jonathan Nieder (1):
+      bundle: remove stray single-quote from error message
+
+Junio C Hamano (4):
+      i18n of multi-line advice messages
+      fetch/receive: remove over-pessimistic connectivity check
+      Git 1.7.7.7
+      Git 1.7.8.6
+
+Kirill Smelkov (1):
+      t/Makefile: Use $(sort ...) explicitly where needed
+
+Phil Hord (1):
+      rerere: Document 'rerere remaining'
+
+Shawn O. Pearce (1):
+      remote-curl: Fix push status report when all branches fail
+
+Thomas Rast (13):
+      Add test-scrap-cache-tree
+      Test the current state of the cache-tree optimization
+      Refactor cache_tree_update idiom from commit
+      commit: write cache-tree data when writing index anyway
+      reset: update cache-tree data when appropriate
+      bundle: put strbuf_readline_fd in strbuf.c with adjustments
+      bundle: use a strbuf to scan the log for boundary commits
+      strbuf: improve strbuf_get*line documentation
+      t5704: match tests to modern style
+      t5510: refactor bundle->pack conversion
+      t5510: ensure we stay in the toplevel test dir
+      bundle: keep around names passed to add_pending_object()
+      Document the --histogram diff option
+
+
+Version v1.7.8.5; changes since v1.7.8.4:
+-----------------------------------------
+
+Andrew Wong (1):
+      rebase -m: only call "notes copy" when rewritten exists and is non-empty
+
+Dmitry V. Levin (1):
+      Makefile: add thread-utils.h to LIB_H
+
+Jeff King (1):
+      imap-send: remove dead code
+
+Jim Meyering (1):
+      am: don't infloop for an empty input file
+
+Junio C Hamano (2):
+      Git 1.7.6.6
+      Git 1.7.8.5
+
+Michał Kiedrowicz (1):
+      grep -P: Fix matching ^ and $
+
+
+Version v1.7.8.4; changes since v1.7.8.3:
+-----------------------------------------
+
+Jeff King (5):
+      send-email: multiedit is a boolean config option
+      attr: don't confuse prefixes with leading directories
+      attr: drop misguided defensive coding
+      attr: fix leak in free_attr_elem
+      thin-pack: try harder to use preferred base objects as base
+
+Junio C Hamano (11):
+      attr.c: make bootstrap_attr_stack() leave early
+      attr.c: clarify the logic to pop attr_stack
+      Documentation: rerere's rr-cache auto-creation and rerere.enabled
+      Prepare for 1.7.6.6
+      Prepare for 1.7.7.6
+      Prepare for 1.7.8.4
+      Update draft release notes to 1.7.6.6
+      Update draft release notes to 1.7.7.6
+      Update draft release notes to 1.7.8.4
+      Git 1.7.7.6
+      Git 1.7.8.4
+
+Nguyễn Thái Ngọc Duy (2):
+      t2203: fix wrong commit command
+      diff-index: enable recursive pathspec matching in unpack_trees
+
+
+Version v1.7.8.3; changes since v1.7.8.2:
+-----------------------------------------
+
+Brian Harring (1):
+      fix hang in git fetch if pointed at a 0 length bundle
+
+Clemens Buchacher (2):
+      Documentation: read-tree --prefix works with existing subtrees
+      t5550: repack everything into one file
+
+Jack Nagel (1):
+      Add MYMETA.json to perl/.gitignore
+
+Jakub Narebski (1):
+      gitweb: Fix fallback mode of to_utf8 subroutine
+
+Jens Lehmann (1):
+      docs: describe behavior of relative submodule URLs
+
+Junio C Hamano (1):
+      Git 1.7.8.3
+
+Jürgen Kreileder (3):
+      gitweb: Call to_utf8() on input string in chop_and_escape_str()
+      gitweb: esc_html() site name for title in OPML
+      gitweb: Output valid utf8 in git_blame_common('data')
+
+Nguyễn Thái Ngọc Duy (1):
+      Catch invalid --depth option passed to clone or fetch
+
+Thomas Rast (1):
+      Documentation: rerere.enabled is the primary way to configure rerere
+
+
+Version v1.7.8.2; changes since v1.7.8.1:
+-----------------------------------------
+
+Andrew Wong (1):
+      rebase -i: interrupt rebase when "commit --amend" failed during "reword"
+
+Conrad Irwin (1):
+      Update documentation for stripspace
+
+Eric Wong (1):
+      enable SO_KEEPALIVE for connected TCP sockets
+
+Erik Faye-Lund (2):
+      compat/setenv.c: update errno when erroring out
+      compat/setenv.c: error if name contains '='
+
+Jeff King (20):
+      read-cache: let refresh_cache_ent pass up changed flags
+      refresh_index: rename format variables
+      refresh_index: make porcelain output more specific
+      compat/snprintf: don't look at va_list twice
+      docs: mention "-k" for both forms of "git mv"
+      mv: honor --verbose flag
+      mv: make non-directory destination error more clear
+      mv: improve overwrite warning
+      mv: be quiet about overwriting
+      drop "match" parameter from get_remote_heads
+      t5500: give fully-qualified refs to fetch-pack
+      fetch-pack: match refs exactly
+      connect.c: drop path_match function
+      t5540: test DAV push with authentication
+      http-push: enable "proactive auth"
+      use custom rename score during --follow
+      docs: brush up obsolete bits of git-fsck manpage
+      make "git push -v" actually verbose
+      commit, merge: initialize static strbuf
+      remote-curl: don't pass back fake refs
+
+Jelmer Vernooij (1):
+      Fix an incorrect reference to --set-all.
+
+Johan Herland (3):
+      t9301: Fix testcase covering up a bug in fast-import's notes fanout handling
+      t9301: Add 2nd testcase exposing bugs in fast-import's notes fanout handling
+      fast-import: Fix incorrect fanout level when modifying existing notes refs
+
+Johannes Sixt (1):
+      Compatibility: declare strtoimax() under NO_STRTOUMAX
+
+Jonathan Nieder (9):
+      branch: allow a no-op "branch -M <current-branch> HEAD"
+      Allow checkout -B <current-branch> to update the current branch
+      revert: give --continue handling its own function
+      revert: allow cherry-pick --continue to commit before resuming
+      revert: pass around rev-list args in already-parsed form
+      revert: allow single-pick in the middle of cherry-pick sequence
+      revert: do not remove state until sequence is finished
+      Revert "reset: Make reset remove the sequencer state"
+      revert: stop creating and removing sequencer-old directory
+
+Junio C Hamano (5):
+      checkout -m: no need to insist on having all 3 stages
+      checkout_merged(): squelch false warning from some gcc
+      lf_to_crlf_filter(): resurrect CRLF->CRLF hack
+      advice: Document that they all default to true
+      Git 1.7.8.2
+
+Nick Alcock (2):
+      Add strtoimax() compatibility function.
+      Support sizes >=2G in various config options accepting 'g' sizes.
+
+Pete Harlan (1):
+      Test 'checkout -m -- path'
+
+Thomas Jarosch (1):
+      imap-send: Remove unused 'use_namespace' variable
+
+Thomas Rast (1):
+      git-sh-setup: make require_clean_work_tree part of the interface
+
+Ævar Arnfjörð Bjarmason (1):
+      t/t2023-checkout-m.sh: fix use of test_must_fail
+
+
+Version v1.7.8.1; changes since v1.7.8:
+---------------------------------------
+
+Brandon Casey (2):
+      t/t4131-apply-fake-ancestor.sh: fix broken test
+      builtin/apply.c: report error on failure to recognize input
+
+Carlos Martín Nieto (2):
+      convert: track state in LF-to-CRLF filter
+      clone: the -o option has nothing to do with <branch>
+
+Erik Faye-Lund (1):
+      mingw: give waitpid the correct signature
+
+Jack Nagel (1):
+      Documentation: fix formatting error in merge-options.txt
+
+Jeff King (5):
+      http: drop "local" member from request struct
+      archive: don't let remote clients get unreachable commits
+      stripspace: fix outdated comment
+      fetch: create status table using strbuf
+      blame: don't overflow time buffer
+
+Jens Lehmann (1):
+      diff/status: print submodule path when looking for changes fails
+
+Junio C Hamano (9):
+      get_tree_entry(): do not call find_tree_entry() on an empty tree
+      unpack_object_header_buffer(): clear the size field upon error
+      receive-pack, fetch-pack: reject bogus pack that records objects twice
+      pack-object: tolerate broken packs that have duplicated objects
+      Git 1.7.6.5
+      Git 1.7.7.5
+      Update draft release notes for 1.7.8.1
+      lf_to_crlf_filter(): tell the caller we added "\n" when draining
+      Git 1.7.8.1
+
+Martin von Zweigbergk (1):
+      am: don't persist keepcr flag
+
+Michael Haggerty (1):
+      git symbolic-ref: documentation fix
+
+Michael Schubert (2):
+      builtin/commit: add missing '/' in help message
+      builtin/log: remove redundant initialization
+
+Mika Fischer (3):
+      http.c: Use curl_multi_fdset to select on curl fds instead of just sleeping
+      http.c: Use timeout suggested by curl instead of fixed 50ms timeout
+      http.c: Rely on select instead of tracking whether data was received
+
+Nguyễn Thái Ngọc Duy (5):
+      tree-walk.c: do not leak internal structure in tree_entry_len()
+      read_directory_recursive: reduce one indentation level
+      tree_entry_interesting(): give meaningful names to return values
+      tree_entry_interesting: make use of local pointer "item"
+      checkout,merge: loosen overwriting untracked file check based on info/exclude
+
+Sebastian Morr (1):
+      Add MYMETA.yml to perl/.gitignore
+
+Thomas Rast (1):
+      userdiff: allow * between cpp funcname words
+
+Ævar Arnfjörð Bjarmason (3):
+      apply: get rid of useless x < 0 comparison on a size_t type
+      cast variable in call to free() in builtin/diff.c and submodule.c
+      builtin/init-db.c: eliminate -Wformat warning on Solaris
+
+
+Version v1.7.8; changes since v1.7.8-rc4:
+-----------------------------------------
+
+Junio C Hamano (1):
+      Git 1.7.8
+
+
+Version v1.7.8-rc4; changes since v1.7.8-rc3:
+---------------------------------------------
+
+Johannes Sixt (1):
+      Fix revert --abort on Windows
+
+Jonathan Nieder (11):
+      do not let git_path clobber errno when reporting errors
+      notes merge: eliminate OUTPUT macro
+      Makefile: add missing header file dependencies
+      Makefile: add option to disable automatic dependency generation
+      revert: rename --reset option to --quit
+      revert: rearrange pick_revisions() for clarity
+      revert: improve error message for cherry-pick during cherry-pick
+      revert: write REVERT_HEAD pseudoref during conflicted revert
+      revert: introduce --abort to cancel a failed cherry-pick
+      revert: remove --reset compatibility option
+      revert --abort: do not leave behind useless sequencer-old directory
+
+Junio C Hamano (5):
+      name-rev --all: do not even attempt to describe non-commit object
+      Git 1.7.7.4
+      Hopefully final update of release notes before 1.7.8 final
+      Update 1.7.8 draft release notes in preparation for rc4
+      Git 1.7.8-rc4
+
+Marc-André Lureau (1):
+      mailmap: xcalloc mailmap_info
+
+Nguyễn Thái Ngọc Duy (1):
+      revert: do not pass non-literal string as format to git_path()
+
+Ramkumar Ramachandra (4):
+      http: remove unused function hex()
+      convert: don't mix enum with int
+      sha1_file: don't mix enum with int
+      git-compat-util: don't assume value for undefined variable
+
+Ramsay Allan Jones (3):
+      t5501-*.sh: Fix url passed to clone in setup test
+      config.c: Fix a static buffer overwrite bug by avoiding mkpath()
+      convert.c: Fix return type of git_path_check_eol()
+
+Thomas Hochstein (1):
+      documentation fix: git difftool uses diff tools, not merge tools.
+
+Vincent van Ravesteijn (2):
+      builtin-branch: Fix crash on invalid use of --force
+      builtin-reset: Documentation update
+
+
+Version v1.7.8-rc3; changes since v1.7.8-rc2:
+---------------------------------------------
+
+Junio C Hamano (3):
+      Revert "upload-archive: use start_command instead of fork"
+      refs: loosen over-strict "format" check
+      Git 1.7.8-rc3
+
+Ramkumar Ramachandra (1):
+      revert: prettify fatal messages
+
+
+Version v1.7.8-rc2; changes since v1.7.8-rc1:
+---------------------------------------------
+
+Felipe Contreras (1):
+      remote: fix remote set-url usage
+
+Jeff King (1):
+      docs: don't mention --quiet or --exit-code in git-log(1)
+
+Junio C Hamano (5):
+      remote: fix set-branches usage
+      docs: Update install-doc-quick
+      Git 1.7.7.3
+      Update draft release notes to 1.7.8
+      Git 1.7.8-rc2
+
+Liu Yuan (1):
+      mktree: fix a memory leak in write_tree()
+
+SZEDER Gábor (1):
+      completion: don't leak variable from the prompt into environment
+
+
+Version v1.7.8-rc1; changes since v1.7.8-rc0:
+---------------------------------------------
+
+Dan McGee (4):
+      pack-objects: mark add_to_write_order() as inline
+      pack-objects: use unsigned int for counter and offset values
+      pack-objects: rewrite add_descendants_to_write_order() iteratively
+      pack-objects: don't traverse objects unnecessarily
+
+Erik Faye-Lund (4):
+      mingw: move poll out of sys-folder
+      compat/win32/poll.c: upgrade from upstream
+      upload-archive: use start_command instead of fork
+      mingw: poll.h is no longer in sys/
+
+Johannes Sixt (1):
+      name-hash.c: always initialize dir_next pointer
+
+Junio C Hamano (5):
+      (squash) test for previous
+      Git 1.7.7.2
+      Update draft release notes to 1.7.8
+      receive-pack: do not expect object 0{40} to exist
+      Git 1.7.8-rc1
+
+Nguyễn Thái Ngọc Duy (2):
+      pretty.c: free get_header() return value
+      pretty.c: use original commit message if reencoding fails
+
+Pat Thoyts (1):
+      t7511: avoid use of reserved filename on Windows.
+
+Pete Wyckoff (1):
+      git-p4: ignore apple filetype
+
+Sebastian Schuberth (2):
+      blame.c: Properly initialize strbuf after calling, textconv_object()
+      blame.c: Properly initialize strbuf after calling textconv_object(), again
+
+Stefan Naewe (2):
+      t3200: add test case for 'branch -m'
+      http: don't always prompt for password
+
+Tay Ray Chuan (1):
+      branch -m: handle no arg properly
+
+Ted Percival (1):
+      svn: Quote repository root in regex match
+
+Ævar Arnfjörð Bjarmason (2):
+      t/t6030-bisect-porcelain.sh: use test_i18ngrep
+      t/t7508-status.sh: use test_i18ncmp
+
+
+Version v1.7.8-rc0; changes since v1.7.7.7:
+-------------------------------------------
+
+Bert Wesarg (7):
+      grep: do not use --index in the short usage output
+      grep --no-index: don't use git standard exclusions
+      git-gui: search and linenumber input are mutual exclusive in the blame view
+      git-gui: only accept numbers in the goto-line input
+      git-gui: clear the goto line input when hiding
+      git-gui: incremental goto line in blame view
+      grep: fix the error message that mentions --exclude
+
+Brad King (2):
+      submodule: Demonstrate known breakage during recursive merge
+      submodule: Search for merges only at end of recursive merge
+
+Brandon Casey (8):
+      t/t3905: use the name 'actual' for test output, swap arguments to test_cmp
+      git-stash.sh: fix typo in error message
+      t/t3905: add missing '&&' linkage
+      git-stash: remove untracked/ignored directories when stashed
+      refs.c: ensure struct whose member may be passed to realloc is initialized
+      refs.c: abort ref search if ref array is empty
+      refs.c: free duplicate entries in the ref array instead of leaking them
+      t/t3000-ls-files-others.sh: use $SHELL_PATH to run git-new-workdir script
+
+Carlos Martín Nieto (1):
+      Documentation: update [section.subsection] to reflect what git does
+
+Chris Packham (1):
+      git-web--browse: avoid the use of eval
+
+Christoffer Pettersson (1):
+      git-gui: Corrected a typo in the Swedish translation of 'Continue'
+
+Clemens Buchacher (5):
+      remove prefix argument from pathspec_prefix
+      rename pathspec_prefix() to common_prefix() and move to dir.[ch]
+      send-email: add option -h
+      use -h for synopsis and --help for manpage consistently
+      use test number as port number
+
+Cord Seele (3):
+      Add Git::config_path()
+      use new Git::config_path() for aliasesfile
+      send-email: Fix %config_path_settings handling
+
+Dan McGee (2):
+      tree-walk: drop unused parameter from match_dir_prefix
+      tree-walk: micro-optimization in tree_entry_interesting
+
+David Aguilar (1):
+      Makefile: Improve compiler header dependency check
+
+David Fries (2):
+      git-gui: Enable jumping to a specific line number in blame view.
+      git-gui: Add keyboard shortcuts for search and goto commands in blame view.
+
+Dmitry Ivankov (3):
+      Fix typo: existant->existent
+      fast-import: don't allow to tag empty branch
+      fast-import: don't allow to note on empty branch
+
+Drew Northup (1):
+      gitweb: Add gitweb.conf(5) manpage for gitweb configuration files
+
+Erik Faye-Lund (2):
+      enter_repo: do not modify input
+      mingw: avoid using strbuf in syslog
+
+Fredrik Gustafsson (2):
+      rev-parse: add option --resolve-git-dir <path>
+      Move git-dir for submodules
+
+Fredrik Kuivinen (1):
+      Makefile: Use computed header dependencies if the compiler supports it
+
+Frédéric Heitzmann (1):
+      git svn dcommit: new option --interactive.
+
+Giuseppe Bilotta (1):
+      am: preliminary support for hg patches
+
+Heiko Voigt (4):
+      git-gui: warn when trying to commit on a detached head
+      submodule: move update configuration variable further up
+      add update 'none' flag to disable update of submodule by default
+      git-gui: deal with unknown files when pressing the "Stage Changed" button
+
+Hui Wang (1):
+      sha1_file: normalize alt_odb path before comparing and storing
+
+Jakub Narebski (5):
+      gitweb: Add gitweb(1) manpage for gitweb itself
+      Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages
+      Documentation: Add gitweb config variables to git-config(1)
+      gitweb: Add gitweb manpages to 'gitweb' package in git.spec
+      Add simple test for Git::config_path() in t/t9700-perl-git.sh
+
+Jay Soffian (5):
+      Teach '--cached' option to check-attr
+      log --children
+      revert.c: defer writing CHERRY_PICK_HEAD till it is safe to do so
+      cherry-pick: do not give irrelevant advice when cherry-pick punted
+      Teach merge the '[-e|--edit]' option
+
+Jeff King (20):
+      url: decode buffers that are not NUL-terminated
+      improve httpd auth tests
+      remote-curl: don't retry auth failures with dumb protocol
+      http: retry authentication failures for all http requests
+      t7004: factor out gpg setup
+      t6300: add more body-parsing tests
+      for-each-ref: refactor subject and body placeholder parsing
+      for-each-ref: handle multiline subjects like --pretty
+      t3200: clean up checks for file existence
+      fix phantom untracked files when core.ignorecase is set
+      t1300: put git invocations inside test function
+      t1300: test mixed-case variable retrieval
+      pack-objects: protect against disappearing packs
+      downgrade "packfile cannot be accessed" errors to warnings
+      daemon: give friendlier error messages to clients
+      http_init: accept separate URL parameter
+      contrib: add diff highlight script
+      tests: add missing executable bits
+      contrib: add git-jump script
+      completion: match ctags symbol names in grep patterns
+
+Jeremie Nikaes (1):
+      Add a remote helper to interact with mediawiki (fetch & push)
+
+Johannes Schindelin (5):
+      Fix is_gitfile() for files too small or larger than PATH_MAX to be a gitfile
+      t1020: disable the pwd test on MinGW
+      t9001: do not fail only due to CR/LF issues
+      t9300: do not run --cat-blob-fd related tests on MinGW
+      git grep: be careful to use mutexes only when they are initialized
+
+Johannes Sixt (2):
+      t1402-check-ref-format: skip tests of refs beginning with slash on Windows
+      t1300: attempting to remove a non-existent .git/config is not an error
+
+Jonathan Nieder (3):
+      ident: check /etc/mailname if email is unknown
+      ident: do not retrieve default ident when unnecessary
+      Makefile: fix permissions of mergetools/ checked out with permissive umask
+
+Julian Phillips (2):
+      Don't sort ref_list too early
+      refs: Use binary search to lookup refs faster
+
+Junio C Hamano (47):
+      rev-list: fix finish_object() call
+      revision.c: add show_object_with_name() helper function
+      revision.c: update show_object_with_name() without using malloc()
+      list-objects: pass callback data to show_objects()
+      rev-list --verify-object
+      fetch: verify we have everything we need before updating our ref
+      fetch.fsckobjects: verify downloaded objects
+      transfer.fsckobjects: unify fetch/receive.fsckobjects
+      test: fetch/receive with fsckobjects
+      consolidate pathspec_prefix and common_prefix
+      fetch: verify we have everything we need before updating our ref
+      check_everything_connected(): refactor to use an iterator
+      check_everything_connected(): libify
+      receive-pack: check connectivity before concluding "git push"
+      builtin/revert.c: make commit_list_append() static
+      refs.c: make create_cached_refs() static
+      send-pack: typofix error message
+      rename "match_refs()" to "match_push_refs()"
+      Allow git merge ":/<pattern>"
+      ls-remote: a lone "-h" is asking for help
+      t0003: remove extra whitespaces
+      parse-options: deprecate OPT_BOOLEAN
+      archive.c: use OPT_BOOL()
+      url.c: simplify is_url()
+      grep: teach --untracked and --exclude-standard options
+      Post 1.7.7 first wave
+      Update draft release notes to 1.7.8
+      refs.c: move dwim_ref()/dwim_log() from sha1_name.c
+      Update draft release notes to 1.7.8
+      bundle: allowing to read from an unseekable fd
+      bundle: add parse_bundle_header() helper function
+      Update draft release notes to 1.7.8
+      t7800: avoid arithmetic expansion notation
+      Update draft release notes to 1.7.8
+      resolve_gitlink_packed_ref(): fix mismerge
+      Update draft release notes to 1.7.8
+      Makefile: ask "ls-files" to list source files if available
+      libperl-git: refactor Git::config_*
+      Update draft release notes to 1.7.8
+      resolve_ref(): expose REF_ISBROKEN flag
+      resolve_ref(): report breakage to the caller without warning
+      Update draft release notes to 1.7.8
+      builtin/grep: make lock/unlock into static inline functions
+      builtin/grep: simplify lock_and_read_sha1_file()
+      Update draft release notes to 1.7.8
+      Update draft release notes to 1.7.8
+      Git 1.7.8-rc0
+
+Luke Diamand (1):
+      git-p4: handle files with shell metacharacters
+
+Lénaïc Huard (1):
+      gitweb: provide a way to customize html headers
+
+Matthieu Moy (6):
+      git-remote-mediawiki: allow push to set MediaWiki metadata
+      git-remote-mediawiki: trivial fixes
+      git-remote-mediawiki: set 'basetimestamp' to let the wiki handle conflicts
+      git-remote-mediawiki: obey advice.pushNonFastForward
+      git-remote-mediawiki: allow a domain to be set for authentication
+      git-remote-mediawiki: don't include HTTP login/password in author
+
+Michael Haggerty (36):
+      Extract a function clear_cached_refs()
+      Access reference caches only through new function get_cached_refs()
+      Change the signature of read_packed_refs()
+      Allocate cached_refs objects dynamically
+      Store the submodule name in struct cached_refs
+      Retain caches of submodule refs
+      get_sha1_hex(): do not read past a NUL character
+      t1402: add some more tests
+      git check-ref-format: add options --allow-onelevel and --refspec-pattern
+      Change bad_ref_char() to return a boolean value
+      Change check_ref_format() to take a flags argument
+      Refactor check_refname_format()
+      Do not allow ".lock" at the end of any refname component
+      Make collapse_slashes() allocate memory for its result
+      Inline function refname_format_print()
+      Change check_refname_format() to reject unnormalized refnames
+      resolve_ref(): explicitly fail if a symlink is not readable
+      resolve_ref(): use prefixcmp()
+      resolve_ref(): only follow a symlink that contains a valid, normalized refname
+      resolve_ref(): turn buffer into a proper string as soon as possible
+      resolve_ref(): extract a function get_packed_ref()
+      resolve_ref(): do not follow incorrectly-formatted symbolic refs
+      remote: use xstrdup() instead of strdup()
+      remote: avoid passing NULL to read_ref()
+      resolve_ref(): verify that the input refname has the right format
+      resolve_ref(): emit warnings for improperly-formatted references
+      resolve_ref(): also treat a too-long SHA1 as invalid
+      resolve_ref(): expand documentation
+      add_ref(): verify that the refname is formatted correctly
+      invalidate_ref_cache(): rename function from invalidate_cached_refs()
+      invalidate_ref_cache(): take the submodule as parameter
+      invalidate_ref_cache(): expose this function in the refs API
+      clear_ref_cache(): rename parameter
+      clear_ref_cache(): extract two new functions
+      write_ref_sha1(): only invalidate the loose ref cache
+      clear_ref_cache(): inline function
+
+Michael J Gruber (7):
+      t6040: test branch -vv
+      git-tag: introduce long forms for the options
+      git-branch: introduce missing long forms for the options
+      branch: introduce --list option
+      branch: allow pattern arguments
+      branch: -v does not automatically imply --list
+      http: use hostname in credential description
+
+Michael W. Olson (1):
+      git-svn: Allow certain refs to be ignored
+
+Michał Górny (1):
+      for-each-ref: add split message parts to %(contents:*).
+
+Nguyễn Thái Ngọc Duy (6):
+      sparse checkout: show error messages when worktree shaping fails
+      Add explanation why we do not allow to sparse checkout to empty working tree
+      pack-protocol: document "ERR" line
+      daemon: return "access denied" if a service is not allowed
+      daemon: log errors if we could not use some sockets
+      t5403: convert leading spaces to tabs
+
+Pang Yan Han (1):
+      receive-pack: don't pass non-existent refs to post-{receive,update} hooks
+
+Pat Thoyts (6):
+      git-gui: updated translator README for current procedures.
+      Fix tooltip display with multiple monitors on windows.
+      git-gui: drop the 'n' and 'Shift-n' bindings from the last patch.
+      mergetools: use the correct tool for Beyond Compare 3 on Windows
+      mingw: ensure sockets are initialized before calling gethostname
+      t9901: fix line-ending dependency on windows
+
+Pete Wyckoff (5):
+      git-p4 tests: refactor and cleanup
+      git-p4: handle utf16 filetype properly
+      git-p4: recognize all p4 filetypes
+      git-p4: stop ignoring apple filetype
+      git-p4: keyword flattening fixes
+
+Peter Oberndorfer (1):
+      "rebase -i": support special-purpose editor to edit insn sheet
+
+Phil Hord (3):
+      Learn to handle gitfiles in enter_repo
+      Teach transport about the gitfile mechanism
+      Add test showing git-fetch groks gitfiles
+
+Ramkumar Ramachandra (18):
+      advice: Introduce error_resolve_conflict
+      config: Introduce functions to write non-standard file
+      revert: Simplify and inline add_message_to_msg
+      revert: Don't check lone argument in get_encoding
+      revert: Rename no_replay to record_origin
+      revert: Eliminate global "commit" variable
+      revert: Introduce struct to keep command-line options
+      revert: Separate cmdline parsing from functional code
+      revert: Don't create invalid replay_opts in parse_args
+      revert: Save data for continuing after conflict resolution
+      revert: Save command-line options for continuing operation
+      revert: Make pick_commits functionally act on a commit list
+      revert: Introduce --reset to remove sequencer state
+      reset: Make reset remove the sequencer state
+      revert: Remove sequencer state when no commits are pending
+      revert: Don't implicitly stomp pending sequencer operation
+      revert: Introduce --continue to continue the operation
+      revert: Propagate errors upwards from do_pick_commit
+
+Ramsay Allan Jones (5):
+      Makefile: Make dependency directory creation less noisy
+      sparse: Fix an "Using plain integer as NULL pointer" warning
+      obstack.c: Fix some sparse warnings
+      Fix some "variable might be used uninitialized" warnings
+      gitweb/Makefile: Remove static/gitweb.js in the clean target
+
+René Scharfe (23):
+      parseopt: add OPT_NOOP_NOARG
+      revert: use OPT_NOOP_NOARG
+      apply: use OPT_NOOP_NOARG
+      checkout: check for "Previous HEAD" notice in t2020
+      revision: factor out add_pending_sha1
+      checkout: use add_pending_{object,sha1} in orphan check
+      revision: add leak_pending flag
+      bisect: use leak_pending flag
+      bundle: use leak_pending flag
+      checkout: use leak_pending flag
+      commit: factor out clear_commit_marks_for_object_array
+      test-ctype: macrofy
+      test-ctype: add test for is_pathspec_magic
+      name-rev: split usage string
+      pickaxe: plug diff filespec leak with empty needle
+      pickaxe: plug regex leak
+      pickaxe: plug regex/kws leak
+      pickaxe: factor out has_changes
+      pickaxe: pass diff_options to contains and has_changes
+      pickaxe: give diff_grep the same signature as has_changes
+      pickaxe: factor out pickaxe
+      xdiff: factor out get_func_line()
+      diff: add option to show whole functions as context
+
+SZEDER Gábor (2):
+      completion: unite --reuse-message and --reedit-message for 'notes'
+      completion: unite --format and --pretty for 'log' and 'show'
+
+Sebastian Schuberth (2):
+      git-svn: On MSYS, escape and quote SVN_SSH also if set by the user
+      inet_ntop.c: Work around GCC 4.6's detection of uninitialized variables
+
+Sitaram Chamarty (1):
+      git-difftool: allow skipping file by typing 'n' at prompt
+
+Stefan Naewe (1):
+      completion: fix issue with process substitution not working on Git for Windows
+
+Tay Ray Chuan (3):
+      fetch: plug two leaks on error exit in store_updated_refs
+      submodule: whitespace fix
+      submodule::module_clone(): silence die() message from module_name()
+
+Teemu Matilainen (3):
+      completion: unite --reuse-message and --reedit-message handling
+      completion: commit --fixup and --squash
+      completion: push --set-upstream
+
+Zbigniew Jędrzejewski-Szmek (1):
+      send-email: auth plain/login fix
+
+
+Version v1.7.7.7; changes since v1.7.7.6:
+-----------------------------------------
+
+Jeff King (1):
+      imap-send: remove dead code
+
+Jonathan Nieder (1):
+      bundle: remove stray single-quote from error message
+
+Junio C Hamano (2):
+      Git 1.7.6.6
+      Git 1.7.7.7
+
+Thomas Rast (1):
+      Document the --histogram diff option
+
+
+Version v1.7.7.6; changes since v1.7.7.5:
+-----------------------------------------
+
+Clemens Buchacher (1):
+      Documentation: read-tree --prefix works with existing subtrees
+
+Jack Nagel (1):
+      Add MYMETA.json to perl/.gitignore
+
+Jeff King (4):
+      attr: don't confuse prefixes with leading directories
+      attr: drop misguided defensive coding
+      attr: fix leak in free_attr_elem
+      thin-pack: try harder to use preferred base objects as base
+
+Jens Lehmann (1):
+      docs: describe behavior of relative submodule URLs
+
+Junio C Hamano (8):
+      attr.c: make bootstrap_attr_stack() leave early
+      attr.c: clarify the logic to pop attr_stack
+      Documentation: rerere's rr-cache auto-creation and rerere.enabled
+      Prepare for 1.7.6.6
+      Prepare for 1.7.7.6
+      Update draft release notes to 1.7.6.6
+      Update draft release notes to 1.7.7.6
+      Git 1.7.7.6
+
+Nguyễn Thái Ngọc Duy (2):
+      t2203: fix wrong commit command
+      diff-index: enable recursive pathspec matching in unpack_trees
+
+Thomas Rast (1):
+      Documentation: rerere.enabled is the primary way to configure rerere
+
+
+Version v1.7.7.5; changes since v1.7.7.4:
+-----------------------------------------
+
+Erik Faye-Lund (1):
+      mingw: give waitpid the correct signature
+
+Jeff King (3):
+      stripspace: fix outdated comment
+      fetch: create status table using strbuf
+      blame: don't overflow time buffer
+
+Junio C Hamano (2):
+      Git 1.7.6.5
+      Git 1.7.7.5
+
+Martin von Zweigbergk (1):
+      am: don't persist keepcr flag
+
+Michael Haggerty (1):
+      git symbolic-ref: documentation fix
+
+Nguyễn Thái Ngọc Duy (1):
+      checkout,merge: loosen overwriting untracked file check based on info/exclude
+
+Sebastian Morr (1):
+      Add MYMETA.yml to perl/.gitignore
+
+Thomas Hochstein (1):
+      documentation fix: git difftool uses diff tools, not merge tools.
+
+Ævar Arnfjörð Bjarmason (2):
+      apply: get rid of useless x < 0 comparison on a size_t type
+      cast variable in call to free() in builtin/diff.c and submodule.c
+
+
+Version v1.7.7.4; changes since v1.7.7.3:
+-----------------------------------------
+
+Jonathan Nieder (2):
+      notes merge: eliminate OUTPUT macro
+      Makefile: add missing header file dependencies
+
+Junio C Hamano (2):
+      name-rev --all: do not even attempt to describe non-commit object
+      Git 1.7.7.4
+
+Marc-André Lureau (1):
+      mailmap: xcalloc mailmap_info
+
+
+Version v1.7.7.3; changes since v1.7.7.2:
+-----------------------------------------
+
+Dan McGee (4):
+      pack-objects: mark add_to_write_order() as inline
+      pack-objects: use unsigned int for counter and offset values
+      pack-objects: rewrite add_descendants_to_write_order() iteratively
+      pack-objects: don't traverse objects unnecessarily
+
+Jeff King (1):
+      docs: don't mention --quiet or --exit-code in git-log(1)
+
+Julien Muchembled (1):
+      gitweb: fix regression when filtering out forks
+
+Junio C Hamano (3):
+      branch -m/-M: remove undocumented RENAMED-REF
+      docs: Update install-doc-quick
+      Git 1.7.7.3
+
+
+Version v1.7.7.2; changes since v1.7.7.1:
+-----------------------------------------
+
+Brandon Casey (4):
+      attr.c: avoid inappropriate access to strbuf "buf" member
+      cleanup: use internal memory allocation wrapper functions everywhere
+      builtin/mv.c: plug miniscule memory leak
+      attr.c: respect core.ignorecase when matching attribute patterns
+
+Carlos Martín Nieto (6):
+      Remove 'working copy' from the documentation and C code
+      fetch: free all the additional refspecs
+      t5510: add tests for fetch --prune
+      remote: separate out the remote_find_tracking logic into query_refspecs
+      fetch: honor the user-provided refspecs when pruning refs
+      fetch: treat --tags like refs/tags/*:refs/tags/* when pruning
+
+Christian Couder (1):
+      bisect: fix exiting when checkout failed in bisect_start()
+
+Haitao Li (1):
+      date.c: Support iso8601 timezone formats
+
+Jakub Narebski (1):
+      gitweb: Strip non-printable characters from syntax highlighter output
+
+Jeff King (8):
+      add sha1_array API docs
+      quote.h: fix bogus comment
+      refactor argv_array into generic code
+      quote: provide sq_dequote_to_argv_array
+      bisect: use argv_array API
+      checkout: use argv_array API
+      run_hook: use argv_array API
+      pull,rebase: handle GIT_WORK_TREE better
+
+Jim Meyering (1):
+      make the sample pre-commit hook script reject names with newlines, too
+
+Jonathan Nieder (2):
+      http: remove extra newline in error message
+      http: avoid empty error messages for some curl errors
+
+Jonathon Mah (1):
+      mergetool: Use args as pathspec to unmerged files
+
+Junio C Hamano (5):
+      refactor run_receive_hook()
+      diff: teach --stat/--numstat to honor -U$num
+      mergetool: no longer need to save standard input
+      attr: read core.attributesfile from git_default_core_config
+      Git 1.7.7.2
+
+Martin von Zweigbergk (4):
+      remote: write correct fetch spec when renaming remote 'remote'
+      remote: "rename o foo" should not rename ref "origin/bar"
+      remote rename: warn when refspec was not updated
+      remote: only update remote-tracking branch if updating refspec
+
+Matthew Daley (1):
+      send-email: Honour SMTP domain when using TLS
+
+Michael Haggerty (1):
+      notes_merge_commit(): do not pass temporary buffer to other function
+
+Michael J Gruber (3):
+      unpack-trees: print "Aborting" to stderr
+      git-read-tree.txt: language and typography fixes
+      git-read-tree.txt: correct sparse-checkout and skip-worktree description
+
+Nguyễn Thái Ngọc Duy (2):
+      git-read-tree.txt: update sparse checkout examples
+      Reindent closing bracket using tab instead of spaces
+
+Pat Thoyts (1):
+      t7511: avoid use of reserved filename on Windows.
+
+Peter Stuge (1):
+      gitweb: Fix links to lines in blobs when javascript-actions are enabled
+
+Ramsay Allan Jones (1):
+      t9159-*.sh: skip for mergeinfo test for svn <= 1.4
+
+René Scharfe (1):
+      read-cache.c: fix index memory allocation
+
+Richard Hartmann (1):
+      clone: Quote user supplied path in a single quote pair
+
+Shawn O. Pearce (1):
+      remote-curl: Fix warning after HTTP failure
+
+Stefan Naewe (1):
+      Documentation/git-update-index: refer to 'ls-files'
+
+Thomas Rast (1):
+      Documentation: basic configuration of notes.rewriteRef
+
+
+Version v1.7.7.1; changes since v1.7.7:
+---------------------------------------
+
+Brad King (1):
+      rev-list: Demonstrate breakage with --ancestry-path --all
+
+Brandon Casey (1):
+      strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline()
+
+Ilari Liusvaara (1):
+      Support ERR in remote archive like in fetch/push
+
+Jay Soffian (1):
+      merge-one-file: fix "expr: non-numeric argument"
+
+Jeff King (2):
+      fetch: avoid quadratic loop checking for updated submodules
+      filter-branch: use require_clean_work_tree
+
+Jim Meyering (1):
+      fix "git apply --index ..." not to deref NULL
+
+Jonathan Nieder (2):
+      Makefile: do not set setgid bit on directories on GNU/kFreeBSD
+      RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile setting
+
+Junio C Hamano (14):
+      revision: keep track of the end-user input from the command line
+      revision: do not include sibling history in --ancestry-path output
+      rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree
+      traverse_trees(): allow pruning with pathspec
+      unpack-trees: allow pruning with pathspec
+      diff-index: pass pathspec down to unpack-trees machinery
+      fsck: do not abort upon finding an empty blob
+      Teach progress eye-candy to fetch_refs_from_bundle()
+      apply --whitespace=error: correctly report new blank lines at end
+      checkout $tree $path: do not clobber local changes in $path not in $tree
+      diff: resurrect XDF_NEED_MINIMAL with --minimal
+      Prepare for 1.7.7.1
+      Almost ready for 1.7.7.1
+      Git 1.7.7.1
+
+Matthieu Moy (2):
+      rebase -i: clean error message for --continue after failed exec
+      config: display key_delim for config --bool --get-regexp
+
+Michael Schubert (1):
+      patch-id.c: use strbuf instead of a fixed buffer
+
+Nguyễn Thái Ngọc Duy (4):
+      merge: keep stash[] a local variable
+      merge: use return value of resolve_ref() to determine if HEAD is invalid
+      merge: remove global variable head[]
+      Accept tags in HEAD or MERGE_HEAD
+
+Nicolas Morey-Chaisemartin (1):
+      grep: Fix race condition in delta_base_cache
+
+René Scharfe (2):
+      Revert removal of multi-match discard heuristic in 27af01
+      t1304: fall back to $USER if $LOGNAME is not defined
+
+Thomas Rast (2):
+      Symlink mergetools scriptlets into valgrind wrappers
+      t6019: avoid refname collision on case-insensitive systems
+
+
+Version v1.7.7; changes since v1.7.7-rc3:
+-----------------------------------------
+
+Gerrit Pape (2):
+      contrib/hooks: adapt comment about Debian install location for contrib hooks
+      templates/hooks--*: remove sample hooks without any functionality
+
+Junio C Hamano (2):
+      Documentation/gitnamespaces.txt: cater to older asciidoc
+      Git 1.7.7
+
+
+Version v1.7.7-rc3; changes since v1.7.7-rc2:
+---------------------------------------------
+
+Allan Caffee (1):
+      describe: Refresh the index when run with --dirty
+
+Jay Soffian (1):
+      git-mergetool: check return value from read
+
+Jeff King (1):
+      t4014: clean up format.thread config after each test
+
+Junio C Hamano (3):
+      Git 1.7.6.4
+      merge-recursive: Do not look at working tree during a virtual ancestor merge
+      Git 1.7.7-rc3
+
+
+Version v1.7.7-rc2; changes since v1.7.7-rc1:
+---------------------------------------------
+
+Bryan Jacobs (1):
+      git-svn: teach git-svn to populate svn:mergeinfo
+
+Frédéric Heitzmann (1):
+      Disambiguate duplicate t9160* tests
+
+Junio C Hamano (2):
+      branch --set-upstream: regression fix
+      Git 1.7.7-rc2
+
+Pang Yan Han (1):
+      format-patch: ignore ui.color
+
+
+Version v1.7.7-rc1; changes since v1.7.7-rc0:
+---------------------------------------------
+
+Ben Walton (2):
+      Documentation: Grammar correction, wording fixes and cleanup
+      Mark http-fetch without -a as deprecated
+
+Brandon Casey (1):
+      t6030: use $SHELL_PATH to invoke user's preferred shell instead of bare sh
+
+Brian Gernhardt (1):
+      t5540-http-test: shorten grep pattern
+
+Bryan Jacobs (1):
+      git-svn: Teach dcommit --mergeinfo to handle multiple lines
+
+Conrad Irwin (2):
+      Prevent force-updating of the current branch
+      Show interpreted branch name in error messages
+
+Dmitry Ivankov (11):
+      fast-import: add input format tests
+      fast-import: don't fail on omitted committer name
+      fast-import: check committer name more strictly
+      fsck: add a few committer name tests
+      fsck: improve committer/author check
+      fast-import: add a test for tree delta base corruption
+      fast-import: prevent producing bad delta
+      fast-import: count and report # of calls to diff_delta in stats
+      fast-import: treat cat-blob as a delta base hint for next blob
+      fast-import: add tests for tagging blobs
+      fast-import: allow to tag newly created objects
+
+Elijah Newren (55):
+      t6042: Add a testcase where git deletes an untracked file
+      t6042: Add failing testcase for rename/modify/add-source conflict
+      t6042: Add a pair of cases where undetected renames cause issues
+      t6042: Add a testcase where undetected rename causes silent file deletion
+      t6042: Add tests for content issues with modify/rename/directory conflicts
+      t6042: Ensure rename/rename conflicts leave index and workdir in sane state
+      t6042: Add failing testcases for rename/rename/add-{source,dest} conflicts
+      t6036: Add differently resolved modify/delete conflict in criss-cross test
+      t6036: criss-cross with weird content can fool git into clean merge
+      t6036: tests for criss-cross merges with various directory/file conflicts
+      t6036: criss-cross w/ rename/rename(1to2)/modify+rename/rename(2to1)/modify
+      t6036: criss-cross + rename/rename(1to2)/add-source + modify/modify
+      t6022: Remove unnecessary untracked files to make test cleaner
+      t6022: New tests checking for unnecessary updates of files
+      t6022: Add testcase for merging a renamed file with a simple change
+      merge-recursive: Make BUG message more legible by adding a newline
+      merge-recursive: Correct a comment
+      merge-recursive: Mark some diff_filespec struct arguments const
+      merge-recursive: Consolidate different update_stages functions
+      merge-recursive: Remember to free generated unique path names
+      merge-recursive: Avoid working directory changes during recursive case
+      merge-recursive: Fix recursive case with D/F conflict via add/add conflict
+      merge-recursive: Fix sorting order and directory change assumptions
+      merge-recursive: Fix code checking for D/F conflicts still being present
+      merge-recursive: Save D/F conflict filenames instead of unlinking them
+      merge-recursive: Split was_tracked() out of would_lose_untracked()
+      merge-recursive: Allow make_room_for_path() to remove D/F entries
+      merge-recursive: Split update_stages_and_entry; only update stages at end
+      merge-recursive: Fix deletion of untracked file in rename/delete conflicts
+      merge-recursive: Make dead code for rename/rename(2to1) conflicts undead
+      merge-recursive: Add comments about handling rename/add-source cases
+      merge-recursive: Improve handling of rename target vs. directory addition
+      merge-recursive: Consolidate process_entry() and process_df_entry()
+      merge-recursive: Cleanup and consolidation of rename_conflict_info
+      merge-recursive: Provide more info in conflict markers with file renames
+      merge-recursive: When we detect we can skip an update, actually skip it
+      merge-recursive: Fix modify/delete resolution in the recursive case
+      merge-recursive: Introduce a merge_file convenience function
+      merge-recursive: Fix rename/rename(1to2) resolution for virtual merge base
+      merge-recursive: Small cleanups for conflict_rename_rename_1to2
+      merge-recursive: Defer rename/rename(2to1) handling until process_entry
+      merge-recursive: Record more data needed for merging with dual renames
+      merge-recursive: Create function for merging with branchname:file markers
+      merge-recursive: Consider modifications in rename/rename(2to1) conflicts
+      merge-recursive: Make modify/delete handling code reusable
+      merge-recursive: Have conflict_rename_delete reuse modify/delete code
+      merge-recursive: add handling for rename/rename/add-dest/add-dest
+      merge-recursive: Fix working copy handling for rename/rename/add/add
+      t6022: Add testcase for spurious "refusing to lose untracked" messages
+      merge-recursive: Fix spurious 'refusing to lose untracked file...' messages
+      t6022: Additional tests checking for unnecessary updates of files
+      merge-recursive: Avoid unnecessary file rewrites
+      t6036: criss-cross + rename/rename(1to2)/add-dest + simple modify
+      merge-recursive: Fix virtual merge base for rename/rename(1to2)/add-dest
+      merge-recursive: Don't re-sort a list whose order we depend upon
+
+Eric Wong (1):
+      git-svn: fix fetch with moved path when using rewriteRoot
+
+Fredrik Gustafsson (1):
+      push: Don't push a repository with unpushed submodules
+
+Fredrik Kuivinen (6):
+      Add obstack.[ch] from EGLIBC 2.10
+      Add string search routines from GNU grep
+      Adapt the kwset code to Git
+      Use kwset in pickaxe
+      Use kwset in grep
+      obstack: Fix portability issues
+
+Giuseppe Bilotta (2):
+      am: format is in $patch_format, not parse_patch
+      am: fix stgit patch mangling
+
+Jeff King (12):
+      t3030: fix accidental success in symlink rename
+      t7006: modernize calls to unset
+      test-lib: add helper functions for config
+      t7006: use test_config helpers
+      setup_pager: set GIT_PAGER_IN_USE
+      diff: refactor COLOR_DIFF from a flag into an int
+      git_config_colorbool: refactor stdout_is_tty handling
+      color: delay auto-color decision until point of use
+      config: refactor get_colorbool function
+      diff: don't load color config in plumbing
+      want_color: automatically fallback to color.ui
+      support pager.* for external commands
+
+Jens Lehmann (1):
+      fetch: skip on-demand checking when no submodules are configured
+
+Johannes Sixt (2):
+      string-list: Add API to remove an item from an unsorted list
+      t3005: do not assume a particular order of stdout and stderr of git-ls-files
+
+Jon Seymour (1):
+      bisect: take advantage of gettextln, eval_gettextln.
+
+Jonathan Nieder (1):
+      Documentation/remote-helpers: explain capabilities first
+
+Junio C Hamano (14):
+      combine-diff: support format_callback
+      read_gitfile_gently(): rename misnamed function to read_gitfile()
+      clone: allow more than one --reference
+      clone: clone from a repository with relative alternates
+      Update draft release notes to 1.7.7
+      Documentation: clarify "git clean -e <pattern>"
+      Update draft release notes to 1.7.7
+      Revert "Merge branch 'cb/maint-quiet-push' into maint"
+      Git 1.7.6.2
+      Update draft release notes to 1.7.7
+      Minor update to how-to maintain git
+      Prepare for 1.7.6.3 maintenance release
+      Git 1.7.6.3
+      Git 1.7.7-rc1
+
+Matthieu Moy (2):
+      Documentation/git-remote-helpers: explain how import works with multiple refs
+      (short) documentation for the testgit remote helper
+
+Michael Haggerty (9):
+      Add a file comment
+      Document struct match_attr
+      Increment num_attr in parse_attr_line(), not parse_attr()
+      Change parse_attr() to take a pointer to struct attr_state
+      Determine the start of the states outside of the pass loop
+      Change while loop into for loop
+      Unroll the loop over passes
+      check-ref-format --print: Normalize refnames that start with slashes
+      Forbid DEL characters in reference names
+
+Michael J Gruber (3):
+      git-notes.txt: clarify -C vs. copy and -F
+      log: Do not decorate replacements with --no-replace-objects
+      RelNotes/1.7.7: minor fixes
+
+Michael Stapelberg (1):
+      git-daemon.txt: specify --timeout in seconds
+
+Namhyung Kim (1):
+      branch -v: honor core.abbrev
+
+Nguyễn Thái Ngọc Duy (6):
+      decoration: do not mis-decorate refs with same prefix
+      Add for_each_commit_graft() to iterate all grafts
+      Move write_shallow_commits to fetch-pack.c
+      log: decorate grafted commits with "grafted"
+      log: decorate "replaced" on to replaced commits
+      clone: allow to clone from .git file
+
+Pete Wyckoff (1):
+      git-p4: simple branch tests edits
+
+Ray Chen (1):
+      git-svn: New flag to emulate empty directories
+
+Sverre Rabbelier (1):
+      SubmittingPathces: remove Cogito reference
+
+Tay Ray Chuan (2):
+      xdiff/xprepare: improve O(n*m) performance in xdl_cleanup_records()
+      xdiff/xprepare: initialise xdlclassifier_t cf in xdl_prepare_env()
+
+Thomas Rast (8):
+      Use memmove in ident_to_git
+      t4014: check for empty files from git format-patch --stdout
+      t4014: invoke format-patch with --stdout where intended
+      t4014: "no-add-headers" is actually called "no-add-header"
+      Document negated forms of format-patch --to --cc --add-headers
+      strbuf_grow(): maintain nul-termination even for new buffer
+      Documentation: clarify effects of -- <path> arguments
+      t3903: fix misquoted rev-parse invocation
+
+Vitor Antunes (9):
+      git-p4: Allow setting rename/copy detection threshold
+      git-p4: Add description of rename/copy detection options
+      git-p4: Add test case for rename detection
+      git-p4: Add test case for copy detection
+      git-p4: Process detectCopiesHarder with --bool
+      git-p4: Correct branch base depot path detection
+      git-p4: Allow filtering Perforce branches by user
+      git-p4: Allow branch definition with git config
+      git-p4: Add simple test case for branch import
+
+
+Version v1.7.7-rc0; changes since v1.7.6.5:
+-------------------------------------------
+
+Allan Caffee (1):
+      describe: Refresh the index when run with --dirty
+
+Andi Kleen (2):
+      Add profile feedback build to git
+      Add explanation of the profile feedback build to the README
+
+Clemens Buchacher (1):
+      commit: allow partial commits with relative paths
+
+David Aguilar (8):
+      setup: Provide GIT_PREFIX to built-ins
+      git: Remove handling for GIT_PREFIX
+      git-mergetool--lib: Make vimdiff retain the current directory
+      t/t7503-pre-commit-hook.sh: Add GIT_PREFIX tests
+      difftool--helper: Make style consistent with git
+      mergetool--lib: Make style consistent with git
+      mergetool--lib: Refactor tools into separate files
+      mergetools/meld: Use '--output' when available
+
+David Barr (1):
+      am: ignore leading whitespace before patch
+
+David Caldwell (1):
+      stash: Add --include-untracked option to stash and remove all untracked files
+
+Dmitry Ivankov (4):
+      remote-helpers: export GIT_DIR variable to helpers
+      parse-options: export opterr, optbug
+      Reduce parse-options.o dependencies
+      doc/fast-import: document feature import-marks-if-exists
+
+Duncan Brown (1):
+      http: pass http.cookiefile using CURLOPT_COOKIEFILE
+
+Erik Faye-Lund (2):
+      verify_path: consider dos drive prefix
+      connect: only log if all attempts failed (ipv4)
+
+Fredrik Gustafsson (2):
+      git-sh-setup: add die_with_status
+      submodule update: continue when a checkout fails
+
+Jakub Narebski (14):
+      gitweb.js: No need for inProgress in blame_incremental.js
+      gitweb.js: No need for loop in blame_incremental's handleResponse()
+      gitweb.js: use setTimeout rather than setInterval in blame_incremental.js
+      gitweb: Check permissions first in git_search
+      gitweb: Split body of git_search into subroutines
+      gitweb: Clean up code in git_search_* subroutines
+      gitweb: Make git_search_* subroutines render whole pages
+      gitweb: Refactor git_header_html
+      git-instaweb: Extract configuring web server into configure_httpd
+      git-instaweb: Use $conf, not $fqgitdir/gitweb/httpd.conf
+      git-instaweb: Move all actions at the end of script
+      git-instaweb: Check that correct config file exists for (re)start
+      gitweb: Introduce common system-wide settings for convenience
+      gitweb: Git config keys are case insensitive, make config search too
+
+Jeff King (28):
+      t: add tests for cloning remotes with detached HEAD
+      consider only branches in guess_remote_head
+      make copy_ref globally available
+      clone: always fetch remote HEAD
+      limit "contains" traversals based on commit timestamp
+      default core.clockskew variable to one day
+      archive: reorder option parsing and config reading
+      archive-tar: don't reload default config options
+      archive: refactor list of archive formats
+      archive: pass archiver struct to write_archive callback
+      archive: move file extension format-guessing lower
+      archive: refactor file extension format-guessing
+      archive: implement configurable tar filters
+      archive: provide builtin .tar.gz filter
+      upload-archive: allow user to turn off filters
+      parse-options: add OPT_STRING_LIST helper
+      remote: use new OPT_STRING_LIST
+      config: make git_config_parse_parameter a public function
+      clone: accept config options on the command line
+      git skew: a tool to find how big a clock skew exists in the history
+      transport-helper: fix minor leak in push_refs_with_export
+      t5800: factor out some ref tests
+      t5800: document some non-functional parts of remote helpers
+      git-remote-testgit: import non-HEAD refs
+      transport-helper: don't feed bogus refs to export push
+      git_remote_helpers: push all refs during a non-local export
+      streaming: free git_istream upon closing
+      docs: put listed example commands in backticks
+
+Jens Lehmann (1):
+      Documentation/submodule: add command references and update options
+
+Jim Meyering (1):
+      sha1_file: use the correct type (ssize_t, not size_t) for read-style function
+
+Johannes Sixt (7):
+      sh-i18n--envsubst: do not crash when no arguments are given
+      mingw.c: move definition of mingw_getenv down
+      Windows: teach getenv to do a case-sensitive search
+      rebase: do not print lots of usage hints after an obvious error message
+      Make test number unique
+      Skip archive --remote tests on Windows
+      t3900: do not reference numbered arguments from the test script
+
+Jon Jensen (1):
+      Add option hooks.diffopts to customize change summary in post-receive-email
+
+Jon Seymour (16):
+      bisect: move argument parsing before state modification.
+      bisect: use && to connect statements that are deferred with eval.
+      bisect: add tests to document expected behaviour in presence of broken trees.
+      bisect: introduce support for --no-checkout option.
+      bisect: introduce --no-checkout support into porcelain.
+      bisect: add tests for the --no-checkout option.
+      bisect: add documentation for --no-checkout option.
+      bisect: cleanup whitespace errors in git-bisect.sh.
+      bisect: replace "; then" with "\n<tab>*then"
+      misc-sh: fix up whitespace in some other .sh files.
+      gettext: add gettextln, eval_gettextln to encode common idiom
+      git-am: take advantage of gettextln and eval_gettextln.
+      pull: take advantage of eval_gettextln
+      stash: take advantage of eval_gettextln
+      submodule: take advantage of gettextln and eval_gettextln.
+      bisect: add support for bisecting bare repositories
+
+Jonathan Nieder (4):
+      test: simplify return value of test_run_
+      test: cope better with use of return for errors
+      revert: plug memory leak in "cherry-pick root commit" codepath
+      merge-recursive: take advantage of hardcoded empty tree
+
+Josh Triplett (5):
+      Fix prefix handling in ref iteration functions
+      ref namespaces: infrastructure
+      ref namespaces: Support remote repositories via upload-pack and receive-pack
+      ref namespaces: documentation
+      ref namespaces: tests
+
+Junio C Hamano (52):
+      index-pack: group the delta-base array entries also by type
+      write_idx_file: introduce a struct to hold idx customization options
+      index-pack: --verify
+      write_idx_file: need_large_offset() helper function
+      index-pack --verify: read anomalous offsets from v2 idx file
+      packed_object_info_detail(): do not return a string
+      sha1_object_info_extended(): expose a bit more info
+      sha1_object_info_extended(): hint about objects in delta-base cache
+      unpack_object_header(): make it public
+      write_entry(): separate two helper functions out
+      streaming: a new API to read from the object store
+      streaming_write_entry(): use streaming API in write_entry()
+      convert: CRLF_INPUT is a no-op in the output codepath
+      streaming_write_entry(): support files with holes
+      streaming: read non-delta incrementally from a pack
+      sha1_file.c: expose helpers to read loose objects
+      streaming: read loose objects incrementally
+      checkout: make advice when reattaching the HEAD less loud
+      merge: reword the final message
+      convert.h: move declarations for conversion from cache.h
+      Add streaming filter API
+      stream filter: add "no more input" to the filters
+      Add LF-to-CRLF streaming conversion
+      streaming filter: ident filter
+      streaming: filter cascading
+      t0021: test application of both crlf and ident
+      diff --stat-count: finishing touches
+      index-pack: a miniscule refactor
+      index-pack: start learning to emulate "verify-pack -v"
+      index-pack: show histogram when emulating "verify-pack -v"
+      verify-pack: use index-pack --verify
+      verify_path(): simplify check at the directory boundary
+      git-submodule.sh: clarify the "should we die now" logic
+      Add option to disable NORETURN
+      Start 1.7.7 cycle
+      core: log offset pack data accesses happened
+      pack-objects: optimize "recency order"
+      diff-lib: simplify do_diff_cache()
+      diff-lib: refactor run_diff_index() and do_diff_cache()
+      Revert clock-skew based attempt to optimize tag --contains traversal
+      Update draft release notes to 1.7.7
+      Update draft release notes to 1.7.7
+      bisect: further style nitpicks
+      filter-branch.sh: de-dent usage string
+      Update draft release notes to 1.7.7
+      test: consolidate definition of $LF
+      Sync with "maint"
+      Update draft release notes to 1.7.7
+      Update draft release notes to 1.7.7
+      commit: reduce use of redundant global variables
+      Update draft release notes to 1.7.7
+      Git 1.7.7-rc0
+
+Ludwig Nussel (1):
+      gitweb: allow space as delimiter in mime.types
+
+Markus Duft (1):
+      Update the Interix default build configuration.
+
+Michael Haggerty (29):
+      doc: Add a link from gitattributes(5) to git-check-attr(1)
+      doc: Correct git_attr() calls in example code
+      Remove anachronism from comment
+      Disallow the empty string as an attribute name
+      git-check-attr: Add missing "&&"
+      git-check-attr: Add tests of command-line parsing
+      Provide access to the name attribute of git_attr
+      git-check-attr: Use git_attr_name()
+      Teach prepare_attr_stack() to figure out dirlen itself
+      Extract a function collect_all_attrs()
+      Remove redundant call to bootstrap_attr_stack()
+      Remove redundant check
+      Allow querying all attributes on a file
+      git-check-attr: Extract a function output_attr()
+      git-check-attr: Introduce a new variable
+      git-check-attr: Extract a function error_with_usage()
+      git-check-attr: Handle each error separately
+      git-check-attr: Process command-line args more systematically
+      git-check-attr: Error out if no pathnames are specified
+      git-check-attr: Add an --all option to show all attributes
+      git-check-attr: Drive two tests using the same raw data
+      git-check-attr: Fix command-line handling to match docs
+      Rename git_checkattr() to git_check_attr()
+      git-check-attr: test that no output is written to stderr
+      git-check-attr: Demonstrate problems with unnormalized paths
+      git-check-attr: Demonstrate problems with relative paths
+      git-check-attr: Normalize paths
+      test-path-utils: Add subcommand "absolute_path"
+      test-path-utils: Add subcommand "prefix_path"
+
+Michael J Gruber (3):
+      diff.c: omit hidden entries from namelen calculation with --stat
+      diff: introduce --stat-lines to limit the stat lines
+      diff-options.txt: describe --stat-{width,name-width,count}
+
+Pete Wyckoff (4):
+      git-p4: use test_when_finished in tests
+      git-p4: add missing && in test
+      git-p4: one test missing config git-p4.skipSubmitEditCheck
+      git-p4: commit time should be most recent p4 change time
+
+Ramsay Allan Jones (3):
+      help.c: Fix detection of custom merge strategy on cygwin
+      t1301-*.sh: Fix the 'forced modes' test on cygwin
+      config.c: Make git_config() work correctly when called recursively
+
+René Scharfe (6):
+      t0021-conversion.sh: fix NoTerminatingSymbolAtEOF test
+      grep: fix coloring of hunk marks between files
+      grep: add --break
+      grep: add --heading
+      grep: add option to show whole function as context
+      grep: long context options
+
+Roberto Tyley (1):
+      Tolerate zlib deflation with window size < 32Kb
+
+Sverre Rabbelier (14):
+      t5800: use skip_all instead of prereq
+      remote-curl: accept empty line as terminator
+      git-remote-testgit: only push for non-local repositories
+      git-remote-testgit: fix error handling
+      fast-import: introduce 'done' command
+      fast-export: support done feature
+      transport-helper: factor out push_update_refs_status
+      transport-helper: check status code of finish_command
+      transport-helper: use the new done feature where possible
+      transport-helper: update ref status after push with export
+      transport-helper: change import semantics
+      transport-helper: Use capname for refspec capability too
+      transport-helper: implement marks location as capability
+      transport-helper: die early on encountering deleted refs
+
+Tay Ray Chuan (13):
+      xdiff/xprepare: use memset()
+      xdiff/xprepare: refactor abort cleanups
+      xdiff/xpatience: factor out fall-back-diff function
+      t4033-diff-patience: factor out tests
+      teach --histogram to diff
+      xdiff/xprepare: skip classification
+      xdiff/xprepare: use a smaller sample size for histogram diff
+      xdiff: do away with xdl_mmfile_next()
+      http.c: fix an invalid free()
+      Makefile: some changes for http-related flag documentation
+      xdiff/xhistogram: rework handling of recursed results
+      xdiff/xhistogram: rely on xdl_trim_ends()
+      xdiff/xhistogram: drop need for additional variable
+
+Theo Niessink (3):
+      A Windows path starting with a backslash is absolute
+      real_path: do not assume '/' is the path seperator
+      verify_dotfile(): do not assume '/' is the path seperator
+
+Thomas Cort (1):
+      Makefile: add Minix configuration options.
+
+maximilian attems (2):
+      am: pass exclude down to apply
+      am: Document new --exclude=<path> option
+
+Ævar Arnfjörð Bjarmason (48):
+      i18n: git-am add git-sh-i18n
+      i18n: git-am one-line gettext $msg; echo
+      i18n: git-am multi-line getttext $msg; echo
+      i18n: git-am eval_gettext messages
+      i18n: git-am gettext + gettext to stderr message
+      i18n: git-am die messages
+      i18n: git-am cannot_fallback messages
+      i18n: git-am clean_abort messages
+      i18n: git-am "Apply?" message
+      i18n: git-am "Falling back" say message
+      i18n: git-am core say messages
+      i18n: git-am printf(1) message to eval_gettext
+      i18n: git-pull add git-sh-i18n
+      i18n: git-pull die messages
+      i18n: git-pull eval_gettext + die message
+      i18n: git-pull eval_gettext + warning message
+      i18n: git-submodule add git-sh-i18n
+      i18n: git-submodule echo + eval_gettext messages
+      i18n: git-submodule say + eval_gettext messages
+      i18n: git-submodule die + eval_gettext messages
+      i18n: git-submodule $update_module say + die messages
+      i18n: git-submodule "cached cannot be used" message
+      i18n: git-submodule "Submodule change[...]" messages
+      i18n: git-submodule $errmsg messages
+      i18n: git-submodule "Entering [...]" message
+      i18n: git-submodule "[...] path is ignored" message
+      i18n: git-submodule "path not initialized" message
+      i18n: git-submodule "blob" and "submodule" messages
+      i18n: git-stash add git-sh-i18n
+      i18n: git-stash echo + gettext message
+      i18n: git-stash say + gettext messages
+      i18n: git-stash die + gettext messages
+      i18n: git-stash die + eval_gettext messages
+      i18n: git-stash die + eval_gettext $* messages
+      i18n: git-stash die + eval_gettext $1 messages
+      i18n: git-stash "unknown option" message
+      i18n: git-stash drop_stash say/die messages
+      i18n: git-bisect add git-sh-i18n
+      i18n: git-bisect gettext + echo message
+      i18n: git-bisect echo + gettext messages
+      i18n: git-bisect echo + eval_gettext message
+      i18n: git-bisect die + gettext messages
+      i18n: git-bisect die + eval_gettext messages
+      i18n: git-bisect bisect_run + $@ messages
+      i18n: git-bisect bisect_reset + $1 messages
+      i18n: git-bisect bisect_replay + $1 messages
+      i18n: git-bisect [Y/n] messages
+      i18n: git-bisect bisect_next_check "You need to" message
+
+张忠山 (1):
+      gitweb: pass string after encoding in utf-8 to syntax highlighter
+
+
+Version v1.7.6.5; changes since v1.7.6.4:
+-----------------------------------------
+
+Haitao Li (1):
+      date.c: Support iso8601 timezone formats
+
+Jeff King (3):
+      stripspace: fix outdated comment
+      fetch: create status table using strbuf
+      blame: don't overflow time buffer
+
+Jim Meyering (1):
+      make the sample pre-commit hook script reject names with newlines, too
+
+Jonathon Mah (1):
+      mergetool: Use args as pathspec to unmerged files
+
+Junio C Hamano (3):
+      mergetool: no longer need to save standard input
+      name-rev --all: do not even attempt to describe non-commit object
+      Git 1.7.6.5
+
+Marc-André Lureau (1):
+      mailmap: xcalloc mailmap_info
+
+Martin von Zweigbergk (4):
+      remote: write correct fetch spec when renaming remote 'remote'
+      remote: "rename o foo" should not rename ref "origin/bar"
+      remote rename: warn when refspec was not updated
+      remote: only update remote-tracking branch if updating refspec
+
+Michael Haggerty (1):
+      notes_merge_commit(): do not pass temporary buffer to other function
+
+Michael J Gruber (3):
+      unpack-trees: print "Aborting" to stderr
+      git-read-tree.txt: language and typography fixes
+      git-read-tree.txt: correct sparse-checkout and skip-worktree description
+
+Nguyễn Thái Ngọc Duy (2):
+      git-read-tree.txt: update sparse checkout examples
+      Reindent closing bracket using tab instead of spaces
+
+Peter Stuge (1):
+      gitweb: Fix links to lines in blobs when javascript-actions are enabled
+
+Ramsay Allan Jones (1):
+      t9159-*.sh: skip for mergeinfo test for svn <= 1.4
+
+Sebastian Morr (1):
+      Add MYMETA.yml to perl/.gitignore
+
+Stefan Naewe (1):
+      Documentation/git-update-index: refer to 'ls-files'
+
+Thomas Rast (1):
+      Documentation: basic configuration of notes.rewriteRef
+
+
+Version v1.7.6.4; changes since v1.7.6.3:
+-----------------------------------------
+
+Allan Caffee (1):
+      describe: Refresh the index when run with --dirty
+
+Clemens Buchacher (1):
+      ls-files: fix pathspec display on error
+
+Giuseppe Bilotta (1):
+      am: format is in $patch_format, not parse_patch
+
+Jay Soffian (1):
+      git-mergetool: check return value from read
+
+Johannes Sixt (1):
+      t3005: do not assume a particular order of stdout and stderr of git-ls-files
+
+Junio C Hamano (4):
+      read_gitfile_gently(): rename misnamed function to read_gitfile()
+      clone: allow more than one --reference
+      clone: clone from a repository with relative alternates
+      Git 1.7.6.4
+
+Michael Haggerty (2):
+      check-ref-format --print: Normalize refnames that start with slashes
+      Forbid DEL characters in reference names
+
+Michael J Gruber (1):
+      branch.c: use the parsed branch name
+
+Nguyễn Thái Ngọc Duy (1):
+      clone: allow to clone from .git file
+
+
+Version v1.7.6.3; changes since v1.7.6.2:
+-----------------------------------------
+
+Dave Zarzycki (1):
+      Do not log unless all connect() attempts fail
+
+Jeff King (9):
+      status: fix bug with missing --ignore files
+      tag: speed up --contains calculation
+      strbuf_split: add a max parameter
+      fix "git -c" parsing of values with equals signs
+      config: die on error in command-line config
+      config: avoid segfault when parsing command-line config
+      strbuf: allow strbuf_split to work on non-strbufs
+      config: use strbuf_split_str instead of a temporary strbuf
+      reset: give better reflog messages
+
+Jens Lehmann (1):
+      fetch: skip on-demand checking when no submodules are configured
+
+Jonathan Nieder (2):
+      Documentation: quote double-dash for AsciiDoc
+      Documentation/i18n: quote double-dash for AsciiDoc
+
+Junio C Hamano (4):
+      git status --ignored: tests and docs
+      mergetool: check return value from read
+      Prepare for 1.7.6.3 maintenance release
+      Git 1.7.6.3
+
+Michael Schubert (1):
+      reflog: actually default to subcommand 'show'
+
+Sverre Rabbelier (1):
+      SubmittingPathces: remove Cogito reference
+
+Vitaliy Ivanov (1):
+      tests: cleanup binary test vector files
+
+
+Version v1.7.6.2; changes since v1.7.6.1:
+-----------------------------------------
+
+Junio C Hamano (3):
+      whitespace: have SP on both sides of an assignment "="
+      Revert "Merge branch 'cb/maint-quiet-push' into maint"
+      Git 1.7.6.2
+
+Pang Yan Han (1):
+      update-ref: whitespace fix
+
+Thomas Rast (1):
+      Documentation: clarify effects of -- <path> arguments
+
+
+Version v1.7.6.1; changes since v1.7.6:
+---------------------------------------
+
+Alex Neronskiy (2):
+      Fix documentation of fetch-pack that implies that the client can disconnect after sending wants.
+      Document the underlying protocol used by shallow repositories and --depth commands.
+
+Andrew Wong (1):
+      rebase -i -p: include non-first-parent commits in todo list
+
+Bert Wesarg (1):
+      Documentation: clearly specify what refs are honored by core.logAllRefUpdates
+
+Brandon Casey (2):
+      t/t7407: demonstrate that the command called by 'submodule foreach' loses stdin
+      git-submodule.sh: preserve stdin for the command spawned by foreach
+
+Brian Harring (1):
+      get_indexed_object can return NULL if nothing is in that slot; check for it
+
+Carlos Martín Nieto (1):
+      Documentation: clarify the invalidated tree entry format
+
+Clemens Buchacher (3):
+      error_routine: use parent's stderr if exec fails
+      propagate --quiet to send-pack/receive-pack
+      notice error exit from pager
+
+Dmitry Ivankov (1):
+      doc/fast-import: clarify notemodify command
+
+Emilio G. Cota (2):
+      Documentation: ignore *.pdf files
+      Documentation/Makefile: add *.pdf to `clean' target
+
+Erik Faye-Lund (1):
+      connect: correctly number ipv6 network adapter
+
+Fredrik Kuivinen (1):
+      Makefile: Track changes to LDFLAGS and relink when necessary
+
+Heiko Voigt (2):
+      add gitignore entry to description about how to write a builtin
+      add technical documentation about ref iteration
+
+Jack Nagel (1):
+      Documentation: minor grammatical fix in rev-list-options.txt
+
+Jakub Narebski (2):
+      gitweb: Serve text/* 'blob_plain' as text/plain with $prevent_xss
+      gitweb: Serve */*+xml 'blob_plain' as text/plain with $prevent_xss
+
+Jeff King (10):
+      combine-diff: split header printing into its own function
+      combine-diff: calculate mode_differs earlier
+      combine-diff: handle binary files as binary
+      refactor get_textconv to not require diff_filespec
+      combine-diff: respect textconv attributes
+      tag: accept multiple patterns for --list
+      docs: document --textconv diff option
+      t7400: fix bogus test failure with symlinked trash
+      fast-export: quote paths in output
+      am: refresh the index at start and --resolved
+
+Jens Lehmann (7):
+      submodule add: test failure when url is not configured in superproject
+      submodule add: allow relative repository path even when no url is set
+      submodule add: clean up duplicated code
+      fetch: Also fetch submodules in subdirectories in on-demand mode
+      submodule add: always initialize .git/config entry
+      tests: print failed test numbers at the end of the test run
+      submodule: update and add must honor --quiet flag
+
+Johannes Schindelin (1):
+      get_pwd_cwd(): Do not trust st_dev/st_ino blindly
+
+Jon Seymour (2):
+      Add a test to check that git ls-tree sets non-zero exit code on error.
+      Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails.
+
+Julian Phillips (1):
+      remote-curl: Add a format check to parsing of info/refs
+
+Junio C Hamano (29):
+      diff-index --quiet: learn the "stop feeding the backend early" logic
+      checkout -b <name>: correctly detect existing branch
+      sha1_file.c: "legacy" is really the current format
+      zlib wrapper: refactor error message formatter
+      zlib: wrap remaining calls to direct inflate/inflateEnd
+      zlib: wrap inflateInit2 used to accept only for gzip format
+      zlib: wrap deflate side of the API
+      zlib: wrap deflateBound() too
+      zlib: zlib can only process 4GB at a time
+      zlib: allow feeding more than 4GB in one go
+      t/gitweb-lib.sh: skip gitweb tests when perl dependencies are not met
+      cygwin: trust executable bit by default
+      git-remote.txt: avoid sounding as if loose refs are the only ones in the world
+      check-ref-format doc: de-emphasize the implementation detail of a ref
+      git.txt: de-emphasize the implementation detail of a ref
+      glossary: update description of "tag"
+      glossary: update description of head and ref
+      glossary: clarify description of HEAD
+      submodule sync: do not auto-vivify uninteresting submodule
+      "branch -d" can remove more than one branches
+      test: skip clean-up when running under --immediate mode
+      checkout: do not write bogus reflog entry out
+      reset [<commit>] paths...: do not mishandle unmerged paths
+      diff -c/--cc: do not mistake "resolved as deletion" as "use working tree"
+      receive-pack: do not overstep command line argument array
+      helping smart-http/stateless-rpc fetch race
+      Prepare for 1.7.6.1
+      Update draft release notes for 1.7.6.1
+      Git 1.7.6.1
+
+Martin von Zweigbergk (2):
+      Documentation: use [verse] for SYNOPSIS sections
+      rebase: clarify "restore the original branch"
+
+Michael Haggerty (6):
+      git-svn: Demonstrate a bug with root commits in mergeinfo ranges
+      git-svn: Disambiguate rev-list arguments to improve error message
+      git-svn: Correctly handle root commits in mergeinfo ranges
+      gitattributes: Clarify discussion of attribute macros
+      gitattributes: Reword "attribute macro" to "macro attribute"
+      Do not use C++-style comments
+
+Michael Schubert (1):
+      help_unknown_cmd: do not propose an "unknown" cmd
+
+Michael Witten (1):
+      filter-branch: Export variable `workdir' for --commit-filter
+
+Namhyung Kim (1):
+      git-remote.txt: fix wrong remote refspec
+
+Nguyễn Thái Ngọc Duy (3):
+      Break down no-lstat() condition checks in verify_uptodate()
+      checkout-index: remove obsolete comment
+      fetch-pack: check for valid commit from server
+
+Ori Avtalion (1):
+      pull: remove extra space from reflog message
+
+Pavan Kumar Sunkara (1):
+      git-config: Remove extra whitespaces
+
+Peter Collingbourne (1):
+      Documentation: git-filter-branch honors replacement refs
+
+
+Version v1.7.6; changes since v1.7.6-rc3:
+-----------------------------------------
+
+Junio C Hamano (1):
+      Git 1.7.6
+
+Namhyung Kim (1):
+      completion: replace core.abbrevguard to core.abbrev
+
+
+Version v1.7.6-rc3; changes since v1.7.6-rc2:
+---------------------------------------------
+
+Andreas Schwab (1):
+      builtin/gc.c: add missing newline in message
+
+Brandon Casey (1):
+      sh-i18n--envsubst.c: do not #include getopt.h
+
+Christof Krüger (1):
+      Documentation: git diff --check respects core.whitespace
+
+Dmitry Ivankov (1):
+      Fix typo: existant->existent
+
+Jakub Narebski (1):
+      gitweb: 'pickaxe' and 'grep' features requires 'search' to be enabled
+
+Jeff King (2):
+      t/Makefile: pass test opts to valgrind target properly
+      tests: link shell libraries into valgrind directory
+
+Jim Meyering (1):
+      plug a few coverity-spotted leaks
+
+Junio C Hamano (2):
+      t7810: avoid unportable use of "echo"
+      Git 1.7.6-rc3
+
+
+Version v1.7.6-rc2; changes since v1.7.6-rc1:
+---------------------------------------------
+
+Jonathan Nieder (1):
+      gitweb: do not misparse nonnumeric content tag files that contain a digit
+
+Junio C Hamano (1):
+      Git 1.7.6-rc2
+
+
+Version v1.7.6-rc1; changes since v1.7.6-rc0:
+---------------------------------------------
+
+Alex Riesen (1):
+      t3703: skip more tests using colons in file names on Windows
+
+Brandon Casey (2):
+      t7508: demonstrate status's failure to use --porcelain format with -z
+      builtin/commit.c: set status_format _after_ option parsing
+
+Jakub Narebski (4):
+      gitweb: Move information about installation from README to INSTALL
+      gitweb: Describe CSSMIN and JSMIN in gitweb/INSTALL
+      gitweb: Move "Requirements" up in gitweb/INSTALL
+      gitweb: Fix usability of $prevent_xss
+
+Jeff King (1):
+      diff_tree: disable QUICK optimization with diff filter
+
+Jim Meyering (1):
+      fetch: do not leak a refspec
+
+Junio C Hamano (2):
+      diff: futureproof "stop feeding the backend early" logic
+      Git 1.7.6-rc1
+
+
+Version v1.7.6-rc0; changes since v1.7.5.4:
+-------------------------------------------
+
+Boris Faure (1):
+      Do not strip empty lines / trailing spaces from a commit message template
+
+Carlos Martín Nieto (1):
+      log: convert to parse-options
+
+Conrad Irwin (5):
+      Use a temporary index for git commit --interactive
+      Allow git commit --interactive with paths
+      Add support for -p/--patch to git-commit
+      Add commit to list of config.singlekey commands
+      Test atomic git-commit --interactive
+
+Csaba Henk (1):
+      rebase: create HEAD reflog entry when aborting
+
+Dan McGee (4):
+      Share color list between graph and show-branch
+      http: make curl callbacks match contracts from curl header
+      http-push: use const for strings in signatures
+      http-push: refactor curl_easy_setup madness
+
+Elijah Newren (3):
+      t6022: New test checking for unnecessary updates of renamed+modified files
+      t6022: New test checking for unnecessary updates of files in D/F conflicts
+      merge-recursive: When we detect we can skip an update, actually skip it
+
+Erik Faye-Lund (2):
+      strbuf: make sure buffer is zero-terminated
+      config: support values longer than 1023 bytes
+
+Heiko Voigt (1):
+      test that git status works with merge conflict in, .gitmodules
+
+Ingo Molnar (1):
+      hashcmp(): inline memcmp() by hand to optimize
+
+Jakub Narebski (13):
+      gitweb: Restructure projects list generation
+      gitweb: Change the way "content tags" ('ctags') are handled
+      gitweb: Mark matched 'ctag' / contents tag (?by_tag=foo)
+      gitweb: Split JavaScript for maintability, combining on build
+      gitweb.js: Update and improve comments in JavaScript files
+      gitweb.js: Provide default values for padding in padLeftStr and padLeft
+      gitweb.js: Extract and improve datetime handling
+      gitweb.js: Introduce code to handle cookies from JavaScript
+      gitweb.js: Provide getElementsByClassName method (if it not exists)
+      gitweb: Refactor generating of long dates into format_timestamp_html
+      gitweb: Unify the way long timestamp is displayed
+      gitweb: Make JavaScript ability to adjust timezones configurable
+      gitweb: Refactor reading and parsing config file into read_config_file
+
+Jay Soffian (2):
+      "git log -h": typofix misspelled 'suppress'
+      Add log.abbrevCommit config variable
+
+Jeff King (26):
+      notes: make expand_notes_ref globally accessible
+      revision.c: refactor notes ref expansion
+      notes: refactor display notes extra refs field
+      notes: refactor display notes default handling
+      revision.c: support --notes command-line option
+      revision.c: make --no-notes reset --notes list
+      format-patch: wrap email addresses after long names
+      add tests for various blame formats
+      blame: refactor porcelain output
+      blame: add --line-porcelain output format
+      t7501.8: feed a meaningful command
+      fetch: avoid repeated commits in mark_complete
+      Makefile: sort TEST_PROGRAMS list
+      refactor refs_from_alternate_cb to allow passing extra data
+      bisect: refactor sha1_array into a generic sha1 list
+      receive-pack: eliminate duplicate .have refs
+      doc: discuss textconv versus external diff drivers
+      remote: allow "-t" with fetch mirrors
+      read_in_full: always report errors
+      t: test subject handling in format-patch / am pipeline
+      mailinfo: always clean up rfc822 header folding
+      pretty: add pp_commit_easy function for simple callers
+      clean up calling conventions for pretty.c functions
+      format-patch: preserve subject newlines with -k
+      rebase: write a reflog entry when finishing
+      format-patch: make zero-length subject prefixes prettier
+
+Jens Lehmann (3):
+      Submodules: Don't parse .gitmodules when it contains, merge conflicts
+      unpack-trees: add the dry_run flag to unpack_trees_options
+      Teach read-tree the -n|--dry-run option
+
+Jim Meyering (2):
+      diffcore-rename.c: avoid set-but-not-used warning
+      plug a DIR buffer leak in rerere.c
+
+Johan Herland (10):
+      log/pretty-options: Document --[no-]notes and deprecate old notes options
+      Make "git notes add" more user-friendly when there are existing notes
+      Add several testcases for --dirstat and friends
+      Make --dirstat=0 output directories that contribute < 0.1% of changes
+      Refactor --dirstat parsing; deprecate --cumulative and --dirstat-by-file
+      Add config variable for specifying default --dirstat behavior
+      Allow specifying --dirstat cut-off percentage as a floating point number
+      New --dirstat=lines mode, doing dirstat analysis based on diffstat
+      Improve error handling when parsing dirstat parameters
+      Mark dirstat error messages for translation
+
+Johannes Sixt (3):
+      t3703: Skip tests using directory name ":" on Windows
+      Tweak t3102-ls-tree-wildcards to run on Windows
+      Windows: add a wrapper for the shutdown() system call
+
+John 'Warthog9' Hawley (2):
+      gitweb: JavaScript ability to adjust time based on timezone
+      gitweb.js: Add UI for selecting common timezone to display dates
+
+Jon Seymour (1):
+      git: add --info-path and --man-path options
+
+Jonathan Nieder (15):
+      revisions: split out handle_revision_pseudo_opt function
+      revisions: allow --glob and friends in parse_options-enabled commands
+      Documentation: clarify meaning of --html-path, --man-path, and --info-path
+      tests: eliminate unnecessary setup test assertions
+      tests: teach verify_parents to check for extra parents
+      tests: check git does not barf on merge.ff values for future versions of git
+      completion: move private shopt shim for zsh to __git_ namespace
+      t4018 (funcname patterns): make .gitattributes state easier to track
+      t4018 (funcname patterns): make configuration easier to track
+      t4018 (funcname patterns): minor cleanups
+      userdiff/perl: anchor "sub" and "package" patterns on the left
+      userdiff/perl: match full line of POD headers
+      userdiff/perl: catch sub with brace on second line
+      tests: make test_expect_code quieter on success
+      userdiff/perl: tighten BEGIN/END block pattern to reject here-doc delimiters
+
+Junio C Hamano (53):
+      merge-recursive: tweak magic band-aid
+      git diff -D: omit the preimage of deletes
+      pathspec: rename per-item field has_wildcard to use_wildcard
+      magic pathspec: add tentative ":/path/from/top/level" pathspec support
+      merge: allow "-" as a short-hand for "previous branch"
+      magic pathspec: futureproof shorthand form
+      magic pathspec: add ":(icase)path" to match case insensitively
+      Start 1.7.6 cycle
+      Update draft release notes to 1.7.6
+      Update draft release notes to 1.7.6
+      Update draft release notes to 1.7.6
+      Update draft release notes to 1.7.6
+      merge: introduce merge.ff configuration variable
+      rerere: libify rerere_clear() and rerere_gc()
+      index_fd(): turn write_object and format_check arguments into one flag
+      index_fd(): split into two helper functions
+      convert: rename the "eol" global variable to "core_eol"
+      convert: give saner names to crlf/eol variables, types and functions
+      convert: make it safer to add conversion attributes
+      convert: make it harder to screw up adding a conversion attribute
+      git-grep: do not die upon -F/-P when grep.extendedRegexp is set.
+      Revert "magic pathspec: add ":(icase)path" to match case insensitively"
+      pathspec: drop "lone : means no pathspec" from get_pathspec()
+      grep: use get_pathspec() correctly
+      fix overstrict :<path> diagnosis
+      fix overslow :/no-such-string-ever-existed diagnostics
+      rev/path disambiguation: further restrict "misspelled index entry" diag
+      Revert "completion: don't declare 'local words' to make zsh happy"
+      Update draft release notes to 1.7.6
+      revision.c: leave a note for "a lone :" enhancement
+      Update draft release notes to 1.7.6
+      Bigfile: teach "git add" to send a large file straight to a pack
+      Declare lookup_replace_object() in cache.h, not in commit.h
+      t6050: make sure we test not just commit replacement
+      read_sha1_file(): get rid of read_sha1_file_repl() madness
+      inline lookup_replace_object() calls
+      read_sha1_file(): allow selective bypassing of replacement mechanism
+      Sync release notes for 1.7.6 to exclude what are in maintenance track
+      git-grep: update tests now regexp type is "last one wins"
+      Makefile: Pass USE_LIBPCRE down in GIT-BUILD-OPTIONS
+      Update release notes to 1.7.6
+      notes remove: allow removing more than one
+      notes remove: --ignore-missing
+      notes remove: --stdin reads from the standard input
+      show: --ignore-missing
+      Revert "Merge branch 'en/merge-recursive'"
+      Update draft release notes to 1.7.6
+      Update 1.7.6 draft release notes
+      require-work-tree wants more than what its name says
+      compat/fnmatch/fnmatch.c: give a fall-back definition for NULL
+      Update 1.7.6 draft release notes
+      log: --quiet should serve as synonym to -s
+      Update draft release notes to 1.7.6
+
+Luke Diamand (3):
+      git-p4: add option to preserve user names
+      git-p4: small improvements to user-preservation
+      git-p4: warn if git authorship won't be retained
+
+Marius Storm-Olsen (1):
+      Automatically autoload bashcompinit for ZSH, when needed
+
+Martin von Zweigbergk (34):
+      rebase: clearer names for directory variables
+      rebase: refactor reading of state
+      rebase: read state outside loop
+      rebase: remove unused rebase state 'prev_head'
+      rebase: improve detection of rebase in progress
+      rebase: act on command line outside parsing loop
+      rebase: stricter check of standalone sub command
+      rebase: align variable names
+      rebase: align variable content
+      rebase: factor out command line option processing
+      rebase -i: remove now unnecessary directory checks
+      rebase: reorder validation steps
+      rebase: factor out reference parsing
+      rebase: factor out clean work tree check
+      rebase: factor out call to pre-rebase hook
+      rebase -i: support --stat
+      rebase: remove $branch as synonym for $orig_head
+      rebase: extract merge code to new source file
+      rebase: extract am code to new source file
+      rebase: show consistent conflict resolution hint
+      rebase -i: align variable names
+      rebase: make -v a tiny bit more verbose
+      rebase: factor out sub command handling
+      rebase: extract code for writing basic state
+      rebase: remember verbose option
+      rebase: remember strategy and strategy options
+      rebase -m: remember allow_rerere_autoupdate option
+      rebase -m: don't print exit code 2 when merge fails
+      git-rebase--am: remove unnecessary --3way option
+      rebase -i: don't read unused variable preserve_merges
+      rebase -i: remove unnecessary state rebase-root
+      rebase: use @{upstream} if no upstream specified
+      Makefile: do not install sourced rebase scripts
+      rebase: define options in OPTIONS_SPEC
+
+Mathias Lafeldt (1):
+      t/test-lib.sh: minor readability improvements
+
+Michael Haggerty (1):
+      git-svn: add an option to skip the creation of empty directories
+
+Michael J Gruber (7):
+      contrib/completion: --notes, --no-notes
+      rev-list --count: separate count for --cherry-mark
+      t1020: test !alias in subdirectory
+      handle_alias: provide GIT_PREFIX to !alias
+      config: define and document exit codes
+      config: Give error message when not changing a multivar
+      sh-18n: quell "unused variable" warning
+
+Michael Schubert (2):
+      tag: disallow '-' as tag name
+      ls-remote: the --exit-code option reports "no matching refs"
+
+Michał Kiedrowicz (11):
+      Documentation: Add --line-number to git-grep synopsis
+      contrib/completion: --line-number to git grep
+      grep: Put calls to fixmatch() and regmatch() into patmatch()
+      grep: Fix a typo in a comment
+      grep: Extract compile_regexp_failed() from compile_regexp()
+      git-grep: Learn PCRE
+      configure: Check for libpcre
+      grep: Add basic tests
+      git-grep: Bail out when -P is used with -F or -E
+      git-grep: Update tests (mainly for -P)
+      git-grep: Fix problems with recently added tests
+
+Namhyung Kim (1):
+      blame: add --abbrev command line option and make it honor core.abbrev
+
+Nguyễn Thái Ngọc Duy (8):
+      Reimplement read_tree_recursive() using tree_entry_interesting()
+      Convert read_tree{,_recursive} to support struct pathspec
+      Improve tree_entry_interesting() handling code
+      setup: return correct prefix if worktree is '/'
+      Kill off get_relative_cwd()
+      t1011: fix sparse-checkout initialization and add new file
+      sparse checkout: do not eagerly decide the fate for whole directory
+      t3703, t4208: add test cases for magic pathspec
+
+Nicolas Morey-Chaisemartin (1):
+      submodule: Add --force option for git submodule update
+
+Rafael Gieschke (1):
+      ident: add NO_GECOS_IN_PWENT for systems without pw_gecos in struct passwd
+
+Ramsay Allan Jones (9):
+      Makefile: Use cgcc rather than sparse in the check target
+      sparse: Fix an "symbol 'cmd_index_pack' not declared" warning
+      sparse: Fix some "Using plain integer as NULL pointer" warnings
+      sparse: Fix an "symbol 'format_subject' not declared" warning
+      sparse: Fix an "symbol 'merge_file' not decared" warning
+      sparse: Fix errors due to missing target-specific variables
+      sparse: Fix some "symbol not declared" warnings
+      setup.c: Fix some "symbol not declared" sparse warnings
+      config.c: Remove unused git_config_global() function
+
+René Scharfe (1):
+      strbuf: clarify assertion in strbuf_setlen()
+
+SZEDER Gábor (3):
+      completion: don't modify the $cur variable in completion functions
+      completion: remove unnecessary _get_comp_words_by_ref() invocations
+      completion: don't declare 'local words' to make zsh happy
+
+Sebastien Cevey (3):
+      gitweb: Split git_project_list_body in two functions
+      gitweb: Modularized git_get_project_description to be more generic
+      gitweb: Optional grouping of projects by category
+
+Tay Ray Chuan (1):
+      t5541-http-push: add test for chunked
+
+Ævar Arnfjörð Bjarmason (5):
+      git-sh-i18n--envsubst: our own envsubst(1) for eval_gettext()
+      git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers
+      git-sh-i18n.sh: add GIT_GETTEXT_POISON support
+      Makefile: add xgettext target for *.sh files
+      git-sh-i18n--envsubst: add SYNOPSIS section to the documentation
+
+
+Version v1.7.5.4; changes since v1.7.5.3:
+-----------------------------------------
+
+Brandon Casey (2):
+      Documentation/technical/api-diff.txt: correct name of diff_unmerge()
+      git-submodule.sh: separate parens by a space to avoid confusing some shells
+
+Jeff King (8):
+      config: make environment parsing routines static
+      git_config: don't peek at global config_parameters
+      config: always parse GIT_CONFIG_PARAMETERS during git_config
+      read_gitfile_gently: use ssize_t to hold read result
+      docs: minor grammar fixes to git-status
+      docs: update status --porcelain format
+      docs: make sure literal "->" isn't converted to arrow
+      docs: fix some antique example output
+
+Jim Meyering (3):
+      rerere.c: diagnose a corrupt MERGE_RR when hitting EOF between TAB and '\0'
+      remove tests of always-false condition
+      diffcore-rename.c: avoid set-but-not-used warning
+
+Jonathan Nieder (3):
+      tests: check error message from run_command
+      run-command: handle short writes and EINTR in die_child
+      Documentation: do not misinterpret refspecs as bold text
+
+Junio C Hamano (26):
+      builtin/diff.c: remove duplicated call to diff_result_code()
+      diffcore-rename: refactor "too many candidates" logic
+      diffcore-rename: record filepair for rename src
+      diffcore-rename: fall back to -C when -C -C busts the rename limit
+      i18n: do not overuse C_LOCALE_OUTPUT
+      i18n: .git file is not a human readable message (t5601)
+      i18n: use test_i18ncmp in t1200 and t2200
+      i18n: do not overuse C_LOCALE_OUTPUT (grep)
+      i18n: use test_i18ngrep in lib-httpd and t2019
+      i18n: use test_i18ngrep in t2020, t2204, t3030, and t3200
+      i18n: use test_i18ncmp and test_i18ngrep in t3203, t3501 and t3507
+      i18n: use test_i18ncmp and test_i18ngrep in t3700, t4001 and t4014
+      i18n: use test_i18ncmp and test_i18ngrep in t5541, t6040, t6120, t7004, t7012 and t7060
+      i18n: use test_i18ncmp and test_i18ngrep in t7102 and t7110
+      i18n: use test_i18ngrep in t7201
+      i18n: use test_i18ncmp in t7500
+      i18n: use test_i18ngrep in t7501
+      i18n: use test_i18ngrep and test_i18ncmp in t7502
+      i18n: use test_i18ngrep in t7506
+      i18n: use test_i18n{grep,cmp} in t7508
+      i18n: use test_i18n{cmp,grep} in t7600, t7607, t7611 and t7811
+      handle_options(): do not miscount how many arguments were used
+      userformat_find_requirements(): find requirement for the correct format
+      config.mak.in: allow "configure --sysconfdir=/else/where"
+      Start 1.7.5.4 draft release notes
+      Git 1.7.5.4
+
+Mathias Lafeldt (1):
+      t/README: unify documentation of test function args
+
+Ramkumar Ramachandra (4):
+      Documentation: Add filter.<driver>.* to config
+      Documentation: Move diff.<driver>.* from config.txt to diff-config.txt
+      Documentation: Add diff.<driver>.* to config
+      Documentation: Allow custom diff tools to be specified in 'diff.tool'
+
+Thomas Rast (1):
+      add -i: ignore terminal escape sequences
+
+Valentin Haenel (5):
+      config.txt: 'interactive.singlekey; is used by...
+      git-add.txt: document 'interactive.singlekey'
+      git-stash.txt: better docs for '--patch'
+      git-checkout.txt: better docs for '--patch'
+      git-reset.txt: better docs for '--patch'
+
+Ævar Arnfjörð Bjarmason (7):
+      i18n: mark merge "Could not read from" message for translation
+      i18n: mark merge "upstream" messages for translation
+      i18n: mark merge CHERRY_PICK_HEAD messages for translation
+      i18n: mark clone nonexistent repository message for translation
+      i18n: mark checkout --detach messages for translation
+      i18n: mark checkout plural warning for translation
+      i18n: mark init-db messages for translation
+
+
+Version v1.7.5.3; changes since v1.7.5.2:
+-----------------------------------------
+
+Felipe Contreras (1):
+      git-completion: fix regression in zsh support
+
+Fraser Tweedale (1):
+      gitweb: supply '-n' to gzip for identical output
+
+Jeff King (8):
+      send-pack: unbreak push over stateless rpc
+      cherry-pick: handle root commits with external strategies
+      revert: allow reverting a root commit
+      t3503: test cherry picking and reverting root commits
+      connect: treat generic proxy processes like ssh processes
+      connect: let callers know if connection is a socket
+      send-pack: avoid deadlock on git:// push with failed pack-objects
+      test core.gitproxy configuration
+
+Jim Meyering (1):
+      do not read beyond end of malloc'd buffer
+
+Johannes Sixt (3):
+      Documentation/format-patch: suggest Toggle Word Wrap add-on for Thunderbird
+      send-pack: avoid deadlock when pack-object dies early
+      Honor $(prefix) set in config.mak* when defining ETC_GIT*
+
+Jonathan Nieder (5):
+      Revert "t0081 (line-buffer): add buffering tests"
+      Documentation: explain how to check for patch corruption
+      Documentation: hints for sending patches inline with Thunderbird
+      Documentation: publicize KMail hints for sending patches inline
+      Documentation: publicize hints for sending patches with GMail
+
+Junio C Hamano (4):
+      Revert "Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir"
+      setup_revisions(): take pathspec from command line and --stdin correctly
+      sideband_demux(): fix decl-after-stmt
+      Git 1.7.5.3
+
+Kacper Kornet (1):
+      Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir
+
+Michael J Gruber (2):
+      config.txt,diff-options.txt: porcelain vs. plumbing for color.diff
+      git-svn: Fix git svn log --show-commit
+
+Nguyễn Thái Ngọc Duy (1):
+      init/clone: remove short option -L and document --separate-git-dir
+
+Rafael Gieschke (1):
+      copy_gecos: fix not adding nlen to len when processing "&"
+
+Stefan Sperling (1):
+      remove noise and inaccuracies from git-svn docs
+
+
+Version v1.7.5.2; changes since v1.7.5.1:
+-----------------------------------------
+
+Andrew Wong (1):
+      git-rebase--interactive.sh: preserve-merges fails on merges created with no-ff
+
+Brian Gernhardt (1):
+      t/annotate-tests: Use echo & cat instead of sed
+
+Carlos Martín Nieto (2):
+      format-patch: don't pass on the --quiet flag
+      format-patch: document --quiet option
+
+Ciaran Jessup (1):
+      Pass empty file to p4merge where no base is suitable.
+
+Dima Sharov (1):
+      shell: add missing initialization of argv0_path
+
+Guy Rouillier (1):
+      Look for password in both CVS and CVSNT password files.
+
+Jakub Narebski (2):
+      git-instaweb: Simplify build dependency on gitweb
+      Remove gitweb/gitweb.cgi and other legacy targets from main Makefile
+
+Jeff King (3):
+      pretty: quote rfc822 specials in email addresses
+      add tests for merge-index / merge-one-file
+      merge-one-file: fix broken merges with alternate work trees
+
+Jim Meyering (1):
+      Documentation/git-fsck.txt: fix typo: unreadable -> unreachable
+
+Johan Herland (1):
+      t5400: Fix a couple of typos
+
+Jonathan Nieder (4):
+      Restructure documentation for git-merge-base.
+      Documentation: describe the format of messages with inline patches
+      add, merge, diff: do not use strcasecmp to compare config variable names
+      provide a copy of the LGPLv2.1
+
+Jonathon Mah (1):
+      mergetool: Teach about submodules
+
+Josh Stone (1):
+      blame: tolerate bogus e-mail addresses a bit better
+
+João Britto (1):
+      Remove duplicated "is a"
+
+Junio C Hamano (19):
+      test: use $_z40 from test-lib
+      diff.c: return filepair from diff_unmerge()
+      diff: remove often unused parameters from diff_unmerge()
+      diff-files: show unmerged entries correctly
+      Fix "add -u" that sometimes fails to resolve unmerged paths
+      add -p: 'q' should really quit
+      t3701: Editing a split hunk in an "add -p" session
+      add--interactive.perl: factor out repeated --recount option
+      "add -p": work-around an old laziness that does not coalesce hunks
+      t3701: fix here document
+      merge: make branch.<name>.mergeoptions correctly override merge.<option>
+      t3701: add-p-fix makes the last test to pass
+      t1507: avoid "${parameter<op>'word'}" inside double-quotes
+      Prepare for 1.7.5.2
+      sha1_file: typofix
+      git_open_noatime(): drop unused parameter
+      Update draft release notes to 1.7.5.2
+      Update draft release notes to 1.7.5.2
+      Git 1.7.5.2
+
+Martin von Zweigbergk (1):
+      diffcore-rename: don't consider unmerged path as source
+
+Michael J Gruber (1):
+      git-fast-import.txt: --relative-marks takes no parameter
+
+Sebastian Schuberth (1):
+      doc: Clarify that "cherry-pick -x" does not use "git notes"
+
+Sverre Rabbelier (1):
+      fast-import: fix option parser for no-arg options
+
+Valentin Haenel (3):
+      git-svn.txt: fix usage of --add-author-from
+      git-svn.txt: move option descriptions
+      git-svn.txt: small typeface improvements
+
+Vincent van Ravesteijn (1):
+      Documentation: update to git-merge-base --octopus
+
+
+Version v1.7.5.1; changes since v1.7.5:
+---------------------------------------
+
+Alex Riesen (1):
+      clean: unreadable directory may still be rmdir-able if it is empty
+
+Dan McGee (2):
+      stash: add two more tests for --no-keep-index
+      stash: ensure --no-keep-index and --patch can be used in any order
+
+Jeff King (3):
+      stash: fix accidental apply of non-existent stashes
+      stash: drop dirty worktree check on apply
+      upload-pack: start pack-objects before async rev-list
+
+Johan Herland (4):
+      --dirstat: Describe non-obvious differences relative to --stat or regular diff
+      --dirstat-by-file: Make it faster and more correct
+      Teach --dirstat not to completely ignore rearranged lines within a file
+      --dirstat: In case of renames, use target filename instead of source filename
+
+Jon Seymour (1):
+      stash: fix false positive in the invalid ref test.
+
+Junio C Hamano (4):
+      Teach core.bigfilethreashold to pack-objects
+      http: clear POSTFIELDS when initializing a slot
+      Start 1.7.5.1 maintenance track
+      Git 1.7.5.1
+
+Michael J Gruber (6):
+      builtin/log.c: separate default and setup of cmd_log_init()
+      t/t1411: test reflog with formats
+      reflog: fix overriding of command line options
+      t1506: factor out test for "Did you mean..."
+      sha1_name: Suggest commit:./file for path in subdir
+      date: avoid "X years, 12 months" in relative dates
+
+Sylvain Rabot (1):
+      git-send-email: fix missing space in error message
+
+Valentin Haenel (1):
+      git-add.txt: document 'add.ignoreErrors'
+
+
+Version v1.7.5; changes since v1.7.5-rc3:
+-----------------------------------------
+
+Junio C Hamano (1):
+      Git 1.7.5
+
+
+Version v1.7.5-rc3; changes since v1.7.5-rc2:
+---------------------------------------------
+
+Junio C Hamano (3):
+      Revert "run-command: prettify -D_FORTIFY_SOURCE workaround"
+      Git 1.7.4.5
+      Git 1.7.5-rc3
+
+Michael J Gruber (3):
+      git.txt: fix list continuation
+      t3306,t5304: avoid clock skew issues
+      git-svn.txt: Document --mergeinfo
+
+René Scharfe (1):
+      archive: document limitation of tar.umask config setting
+
+
+Version v1.7.5-rc2; changes since v1.7.5-rc1:
+---------------------------------------------
+
+Alejandro R. Sedeño (1):
+      git-svn: Add a svn-remote.<name>.pushurl config key
+
+Anders Kaseorg (2):
+      gitk: Take only numeric version components when computing $git_version
+      gitk: Update cherry-pick error message parsing
+
+Andrew Garber (1):
+      git-p4: replace each tab with 8 spaces for consistency
+
+James Y Knight (1):
+      git-svn: Cache results of running the executable "git config"
+
+Jim Meyering (1):
+      remove doubled words, e.g., s/to to/to/, and fix related typos
+
+Johannes Sixt (2):
+      t0001: guard a new test with SYMLINKS prerequisite
+      t2021: mark a test as fixed
+
+Junio C Hamano (1):
+      Git 1.7.5-rc2
+
+Pat Thoyts (1):
+      gitk: Quote tag names in event bindings to avoid problems with % chars
+
+Paul Mackerras (1):
+      gitk: Allow user to control how much of the SHA1 ID gets auto-selected
+
+Ramkumar Ramachandra (1):
+      revert: Hide '-r' option in default usage
+
+Ramsay Allan Jones (1):
+      i18n: avoid parenthesized string as array initializer
+
+Skip (1):
+      gitk: spelling fixes in Russian translation
+
+Ævar Arnfjörð Bjarmason (1):
+      Makefile: extract Q_() source strings as ngettext()
+
+
+Version v1.7.5-rc1; changes since v1.7.5-rc0:
+---------------------------------------------
+
+Dan McGee (2):
+      Remove old binaries from .gitignore
+      Fix two unused variable warnings in gcc 4.6
+
+Jakub Narebski (1):
+      gitweb: Fix parsing of negative fractional timezones in JavaScript
+
+Jared Hance (1):
+      merge: match the help text with the documentation
+
+Jeff King (7):
+      merge: merge unborn index before setting ref
+      pull: do not clobber untracked files on initial pull
+      remote: disallow some nonsensical option combinations
+      remote: separate the concept of push and fetch mirrors
+      remote: deprecate --mirror
+      docs: fix filter-branch subdir example for exotic repo names
+      pull: do not clobber untracked files on initial pull
+
+Jens Lehmann (7):
+      fetch/pull: recurse into submodules when necessary
+      fetch/pull: Add the 'on-demand' value to the --recurse-submodules option
+      config: teach the fetch.recurseSubmodules option the 'on-demand' value
+      Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option
+      fetch/pull: Don't recurse into a submodule when commits are already present
+      submodule update: Don't fetch when the submodule commit is already present
+      fetch/pull: Describe --recurse-submodule restrictions in the BUGS section
+
+Joe Ratterman (1):
+      grep: allow -E and -n to be turned on by default via configuration
+
+Jonathan Nieder (1):
+      compat: add missing #include <sys/resource.h>
+
+Junio C Hamano (8):
+      merge: merge with the default upstream branch without argument
+      "log --cherry-pick" documentation regression fix
+      Doc: mention --delta-base-offset is the default for Porcelain commands
+      Git 1.7.4.3
+      Update release notes
+      Start preparing for 1.7.4.4
+      Git 1.7.4.4
+      Git 1.7.5-rc1
+
+Lawrence Mitchell (1):
+      git.el: Don't use font-lock-compile-keywords
+
+Michael J Gruber (3):
+      revisions.txt: consistent use of quotes
+      revisions.txt: structure with a labelled list
+      revisions.txt: language improvements
+
+Nguyễn Thái Ngọc Duy (2):
+      git-init.txt: move description section up
+      init, clone: support --separate-git-dir for .git file
+
+Nicolas Morey-Chaisemartin (1):
+      submodule: process conflicting submodules only once
+
+SZEDER Gábor (1):
+      Documentation: trivial grammar fix in core.worktree description
+
+Stephen Boyd (2):
+      Makefile: Cover more files with make check
+      sparse: Fix errors and silence warnings
+
+Ævar Arnfjörð Bjarmason (70):
+      i18n: git-init basic messages
+      i18n: git-init "Initialized [...] repository" message
+      i18n: git-clone basic messages
+      i18n: git-clone "Cloning into" message
+      i18n: git-clone "Cloning into" message
+      i18n: git-add basic messages
+      i18n: git-add "The following paths are ignored" message
+      i18n: git-add "did not match any files" message
+      i18n: git-add "remove '%s'" message
+      i18n: git-add "Unstaged changes" message
+      i18n: git-branch basic messages
+      i18n: git-branch "remote branch '%s' not found" message
+      i18n: git-branch "Deleted branch [...]" message
+      i18n: git-branch "git branch -v" messages
+      i18n: git-branch "(no branch)" message
+      i18n: git-checkout basic messages
+      i18n: git-checkout: our/their version message
+      i18n: git-checkout describe_detached_head messages
+      i18n: git-checkout "HEAD is now at" message
+      i18n: git-checkout "Switched to a .. branch" message
+      i18n: git-commit basic messages
+      i18n: git-commit "middle of a merge" message
+      i18n: git-commit formatting messages
+      i18n: git-commit print_summary messages
+      i18n: git-commit "enter the commit message" message
+      i18n: git-commit advice messages
+      i18n: git-diff basic messages
+      i18n: git-fetch basic messages
+      i18n: git-fetch formatting messages
+      i18n: git-fetch update_local_ref messages
+      i18n: git-fetch split up "(non-fast-forward)" message
+      i18n: git-grep basic messages
+      i18n: git-grep "--open-files-in-pager" message
+      i18n: git-log basic messages
+      i18n: git-log "--OPT does not make sense" messages
+      i18n: git-merge basic messages
+      i18n: git-merge "Updating %s..%s" message
+      i18n: git-merge "You have not concluded your merge" messages
+      i18n: git-merge "Wonderful" message
+      i18n: git-mv basic messages
+      i18n: git-mv "bad" messages
+      i18n: git-rm basic messages
+      i18n: git-reset basic messages
+      i18n: git-reset reset_type_names messages
+      i18n: git-reset "Unstaged changes after reset" message
+      i18n: git-tag basic messages
+      i18n: git-tag tag_template message
+      i18n: git-push basic messages
+      i18n: git-push "prevent you from losing" message
+      i18n: git-status basic messages
+      i18n: git-status "nothing to commit" messages
+      i18n: git-status shortstatus messages
+      i18n: git-status "Changes to be committed" message
+      i18n: git-status "Initial commit" message
+      i18n: git-status "renamed: " message
+      i18n: git-archive basic messages
+      i18n: git-bundle basic messages
+      i18n: git-clean basic messages
+      i18n: git-clean clean.requireForce messages
+      i18n: git-describe basic messages
+      i18n: git-gc basic messages
+      i18n: git-gc "Auto packing the repository" message
+      i18n: git-notes basic commands
+      i18n: git-notes GIT_NOTES_REWRITE_MODE error message
+      i18n: git-revert basic messages
+      i18n: git-revert "Your local changes" message
+      i18n: git-revert literal "me" messages
+      i18n: git-revert split up "could not revert/apply" message
+      i18n: git-shortlog basic messages
+      t2019-checkout-ambiguous-ref.sh: depend on C_LOCALE_OUTPUT
+
+
+Version v1.7.5-rc0; changes since v1.7.4.5:
+-------------------------------------------
+
+Alex Riesen (2):
+      git-gui: update russian translation
+      git-gui: update russian translation
+
+Alexandre Erwin Ittner (1):
+      git-gui: add Brazilian Portuguese (pt-BR) translation
+
+Bert Wesarg (16):
+      git-gui: fix ANSI-color parsing
+      git-gui: respect conflict marker size
+      git-gui: fix browsers [Up To Parent] in sub-sub-directories.
+      git-gui: Fix use of renamed tag.
+      git-gui: Fix use of hunk tag for non-hunk content.
+      git-gui: fix typo in image data
+      git-gui: remove 'no such variable' for s error when encounter unknown file states
+      git-gui: learn more type change states
+      git-gui: rework handling of diff header
+      git-gui: handle index lines only in the diff header
+      git-gui: name also new symlinks so
+      git-gui: there is no "mode *" diff header line
+      git-gui: move 3way diff autodetect up
+      git-gui: always reset the current tag
+      git-gui: handle special content lines only in the diff header section
+      git-gui: handle meta diff header lines only in the header section
+
+Carlo Marcelo Arenas Belon (1):
+      setup: translate symlinks in filename when using absolute paths
+
+Carlos Martín Nieto (1):
+      Name make_*_path functions more accurately
+
+David Barr (8):
+      vcs-svn: Allow simple v3 dumps (no deltas yet)
+      vcs-svn: Implement Prop-delta handling
+      fast-import: add 'ls' command
+      vcs-svn: use strbuf for revision log
+      vcs-svn: use strbuf for author, UUID, and URL
+      vcs-svn: implement perfect hash for node-prop keys
+      vcs-svn: implement perfect hash for top-level keys
+      vcs-svn: use strchr to find RFC822 delimiter
+
+Drew Northup (1):
+      Documentation: "rebase <onto> <that>" stays on <that> branch upon exit
+
+Elijah Newren (2):
+      Make rev-list --objects work together with pathspecs
+      Add testcases showing how pathspecs are handled with rev-list --objects
+
+Erik Faye-Lund (1):
+      alias: use run_command api to execute aliases
+
+Giuseppe Bilotta (1):
+      Improve test for pthreads flag
+
+Heiko Voigt (13):
+      git gui: keep selected branch when remote is changed in push dialog
+      git-gui: scroll down to default selection for push dialog
+      git-gui: instead of defaulting to home directory use working directory
+      mingw: move unlink wrapper to mingw.c
+      mingw: work around irregular failures of unlink on windows
+      mingw: make failures to unlink or move raise a question
+      mingw: add fallback for rmdir in case directory is in use
+      git-gui: fix deleting item from all_remotes variable
+      git-gui: always default to the last merged branch in remote delete
+      git-gui: refactor remote submenu creation into subroutine
+      git-gui: teach fetch/prune menu to do it for all remotes
+      git-gui: fetch/prune all entry only for more than one entry
+      git-gui: fetch/prune all entry appears last
+
+Ian Wienand (1):
+      Obey p4 views when using client spec
+
+Jakob Pfender (2):
+      object.h: Remove obsolete struct object_refs
+      git-completion: Add git help completion for aliases
+
+Jakub Narebski (1):
+      gitweb: Make i18n (encoding) tests in t9500 leave clean state
+
+Jay Soffian (4):
+      git-checkout.txt: improve detached HEAD documentation
+      Introduce CHERRY_PICK_HEAD
+      bash: teach __git_ps1 about CHERRY_PICK_HEAD
+      Teach commit about CHERRY_PICK_HEAD
+
+Jeff King (23):
+      merge: improve inexact rename limit warning
+      bump rename limit defaults (again)
+      commit: stop setting rename limit
+      add inexact rename detection progress infrastructure
+      merge: enable progress reporting for rename detection
+      pull: propagate --progress to merge
+      compat: provide a fallback va_copy definition
+      strbuf: add strbuf_vaddf
+      trace: add trace_vprintf
+      trace: refactor to support multiple env variables
+      trace: factor out "do we want to trace" logic
+      trace: add trace_strbuf
+      add packet tracing debug code
+      trace: give repo_setup trace its own key
+      doc: drop author/documentation sections from most pages
+      doc: add missing git footers
+      docs: point git.txt author credits to git-scm.com
+      checkout: add basic tests for detached-orphan warning
+      checkout: clear commit marks after detached-orphan check
+      checkout: tweak detached-orphan warning format
+      t7607: mark known breakage in test 11 as fixed
+      t7607: clean up stray untracked file
+      tests: kill backgrounded processes more robustly
+
+Jens Lehmann (1):
+      tests: fix overeager scrubbing of environment variables
+
+Johannes Schindelin (2):
+      mingw_rmdir: set errno=ENOTEMPTY when appropriate
+      Remove unused variables
+
+Johannes Sixt (1):
+      rerere forget: deprecate invocation without pathspec
+
+Jonathan Nieder (75):
+      vcs-svn: Check for errors from open()
+      vcs-svn: Eliminate node_ctx.srcRev global
+      vcs-svn: Eliminate node_ctx.mark global
+      vcs-svn: Unclutter handle_node by introducing have_props var
+      vcs-svn: Use mark to indicate nodes with included text
+      vcs-svn: handle_node: Handle deletion case early
+      vcs-svn: Replace = Delete + Add
+      vcs-svn: Combine repo_replace and repo_modify functions
+      vcs-svn: Delay read of per-path properties
+      vcs-svn: Reject path nodes without Node-action
+      vcs-svn: More dump format sanity checks
+      vcs-svn: Make source easier to read on small screens
+      vcs-svn: Split off function for handling of individual properties
+      vcs-svn: Sharpen parsing of property lines
+      vcs-svn: Allow change nodes for root of tree (/)
+      cherry-pick/revert: add support for -X/--strategy-option
+      unpack-trees: handle lstat failure for existing directory
+      unpack-trees: handle lstat failure for existing file
+      userdiff: simplify word-diff safeguard
+      t4034 (diff --word-diff): style suggestions
+      glossary: define pathspec
+      checkout: split off a function to peel away branchname arg
+      checkout: rearrange update_refs_for_switch for clarity
+      t3507: introduce pristine-detach helper
+      checkout: add missing const to describe_detached_head
+      update-index --refresh --porcelain: add missing const
+      vcs-svn: eliminate global byte_buffer
+      vcs-svn: replace buffer_read_string memory pool with a strbuf
+      vcs-svn: collect line_buffer data in a struct
+      vcs-svn: teach line_buffer to handle multiple input files
+      vcs-svn: make test-line-buffer input format more flexible
+      tests: give vcs-svn/line_buffer its own test script
+      vcs-svn: tweak test-line-buffer to not assume line-oriented input
+      t0081 (line-buffer): add buffering tests
+      vcs-svn: add binary-safe read function
+      vcs-svn: allow character-oriented input
+      vcs-svn: allow input from file descriptor
+      vcs-svn: teach line_buffer about temporary files
+      fast-import: make code "-Wpointer-arith" clean
+      vcs-svn: introduce repo_read_path to check the content at a path
+      vcs-svn: handle_node: use repo_read_path
+      vcs-svn: simplify repo_modify_path and repo_copy
+      vcs-svn: allow input errors to be detected promptly
+      compat: fall back on __va_copy if available
+      wt-status: add helpers for printing wt-status lines
+      commit: refer to commit template as s->fp
+      commit, status: use status_printf{,_ln,_more} helpers
+      i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set
+      wt-status: add helpers for printing wt-status lines
+      commit: refer to commit template as s->fp
+      commit, status: use status_printf{,_ln,_more} helpers
+      i18n: add stub Q_() wrapper for ngettext
+      i18n: "make distclean" should clean up after "make pot"
+      tests: stop worrying about obsolete environment variables
+      tests: suppress system gitattributes
+      gitattributes: drop support for GIT_ATTR_NOGLOBAL
+      config: drop support for GIT_CONFIG_NOGLOBAL
+      tests: scrub environment of GIT_* variables
+      declare 1-bit bitfields to be unsigned
+      vcs-svn: remove spurious semicolons
+      mktag: avoid %td in format string
+      unbreak and eliminate NO_C99_FORMAT
+      run-command: prettify -D_FORTIFY_SOURCE workaround
+      vcs-svn: improve support for reading large files
+      vcs-svn: make buffer_skip_bytes return length read
+      vcs-svn: make buffer_copy_bytes return length read
+      vcs-svn: improve reporting of input errors
+      tests: avoid nonportable {foo,bar} glob
+      vcs-svn: make reading of properties binary-safe
+      vcs-svn: remove buffer_read_string
+      vcs-svn: avoid unnecessary copying of log message and author
+      vcs-svn: handle log message with embedded NUL
+      vcs-svn: add missing cast to printf argument
+      vcs-svn: add missing cast to printf argument
+      tests: make sure input to sed is newline terminated
+
+Junio C Hamano (29):
+      unpack-trees.c: cosmetic fix
+      unpack_trees(): skip trees that are the same in all input
+      t4034 (diff --word-diff): add a minimum Perl drier test vector
+      t6004: add pathspec globbing test for log family
+      checkout: introduce --detach synonym for "git checkout foo^{commit}"
+      Rename t2019 with typo "amiguous" that meant "ambiguous"
+      Revert "unpack_trees(): skip trees that are the same in all input"
+      grep --no-index: honor pathspecs correctly
+      rev-list: --left/right-only are mutually exclusive
+      commit: give final warning when reattaching HEAD to leave commits behind
+      Start preparing release notes to 1.7.5
+      Update Release Notes to 1.7.5
+      Update draft release notes to 1.7.5
+      refs_from_alternate: helper to use refs from alternates
+      fetch-pack: objects in our alternates are available to us
+      fetch-pack: factor out hardcoded handshake window size
+      fetch-pack: progressively use larger handshake windows
+      fetch-pack: use smaller handshake window for initial request
+      Update drart release notes to 1.7.5
+      Update draft release notes to 1.7.5
+      rerere: make sure it works even in a workdir attached to a young repository
+      Update draft release note to 1.7.5
+      Revert "upload-pack: Implement no-done capability"
+      Revert "fetch-pack: Implement no-done capability"
+      enable "no-done" extension only when fetching over smart-http
+      Fix potential local deadlock during fetch-pack
+      enable "no-done" extension only when serving over smart-http
+      Revert two "no-done" reverts
+      Git 1.7.5-rc0
+
+Kevin Cernekee (1):
+      gitweb: fix #patchNN anchors when path_info is enabled
+
+Martin von Zweigbergk (2):
+      rerere "remaining"
+      mergetool: don't skip modify/remove conflicts
+
+Matthieu Moy (2):
+      push: better error messages when push.default = tracking
+      push: better error message when no remote configured
+
+Michael Horowitz (1):
+      git-p4 submit: prevent 'Jobs' section from being removed from p4 change log
+
+Michael J Gruber (14):
+      revlist.c: introduce --left/right-only for unsymmetric picking
+      t6007: Make sure we test --cherry-pick
+      rev-list: documentation and test for --left/right-only
+      git-add: make -A description clearer vs. -u
+      rev-list/log: factor out revision mark generation
+      revision.c: introduce --cherry-mark
+      rev-list: documentation and test for --cherry-mark
+      log --cherry: a synonym
+      t6007: test rev-list --cherry
+      git-log: put space after commit mark
+      RelNotes/1.7.5.txt: typo and language fixes
+      t6009: use test_commit() from test-lib.sh
+      revision.c: introduce --min-parents and --max-parents options
+      rev-list --min-parents,--max-parents: doc, test and completion
+
+Michael Witten (1):
+      vcs-svn: a void function shouldn't try to return something
+
+Nguyễn Thái Ngọc Duy (22):
+      Add struct pathspec
+      diff-no-index: use diff_tree_setup_paths()
+      Convert struct diff_options to use struct pathspec
+      tree_entry_interesting(): remove dependency on struct diff_options
+      Move tree_entry_interesting() to tree-walk.c and export it
+      diff-tree: convert base+baselen to writable strbuf
+      tree_entry_interesting(): refactor into separate smaller functions
+      tree_entry_interesting(): support depth limit
+      tree_entry_interesting(): fix depth limit with overlapping pathspecs
+      tree_entry_interesting(): support wildcard matching
+      tree_entry_interesting(): optimize wildcard matching when base is matched
+      pathspec: add match_pathspec_depth()
+      struct rev_info: convert prune_data to struct pathspec
+      Convert ce_path_match() to use struct pathspec
+      Convert ce_path_match() to use match_pathspec_depth()
+      grep: convert to use struct pathspec
+      grep: use match_pathspec_depth() for cache/worktree grepping
+      grep: use writable strbuf from caller for grep_tree()
+      grep: drop pathspec_matches() in favor of tree_entry_interesting()
+      t7810: overlapping pathspecs and depth limit
+      Make hash-object more robust against malformed objects
+      git.c: reorder builtin command list
+
+Nicolas Kaiser (1):
+      transport-helper.c: fix check for (size_t < 0)
+
+Pat Thoyts (2):
+      git-gui: Include version check and test for tearoff menu entry
+      git-gui: detect the use of MUI langauge packs on Windows
+
+Pete Wyckoff (12):
+      git-p4: test script
+      git-p4: fix key error for p4 problem
+      git-p4: add missing newline in initial import message
+      git-p4: accommodate new move/delete type in p4
+      git-p4: reinterpret confusing p4 message
+      git-p4: better message for "git-p4 sync" when not cloned
+      git-p4: decode p4 wildcard characters
+      git-p4: support clone --bare
+      git-p4: fix clone @all regression
+      git-p4: test clone @all
+      git-p4: fix sync new branch regression
+      git-p4: test sync new branch
+
+Piotr Krukowiecki (1):
+      Documentation: running test with --debug keeps "trash" directory
+
+Ramkumar Ramachandra (1):
+      fast-import: Introduce --import-marks-if-exists
+
+René Scharfe (2):
+      repo-config: add deprecation warning
+      grep: read patterns from stdin with -f -
+
+SZEDER Gábor (2):
+      bash: fix misindented esac statement in __git_complete_file()
+      bash: complete 'git diff ...branc<TAB>'
+
+Sebastian Schuberth (4):
+      mergetool--lib: Sort tools alphabetically for easier lookup
+      mergetool--lib: Add Beyond Compare 3 as a tool
+      mergetool--lib: Sort tools alphabetically for easier lookup
+      mergetool--lib: Add Beyond Compare 3 as a tool
+
+Serge Ziryukin (1):
+      git-gui: fix russian translation typos
+
+Shawn O. Pearce (6):
+      smart-http: Don't use Expect: 100-Continue
+      smart-http: Really never use Expect: 100-continue
+      fetch-pack: Finish negotation if remote replies "ACK %s ready"
+      upload-pack: More aggressively send 'ACK %s ready'
+      fetch-pack: Implement no-done capability
+      upload-pack: Implement no-done capability
+
+Skip (1):
+      git-gui: spelling fixes in russian translation
+
+Stefan Naewe (1):
+      git-gui: use --exclude-standard to check for untracked files
+
+Stephen Boyd (1):
+      Fix sparse warnings
+
+Thomas Rast (2):
+      Exhibit merge bug that clobbers index&WT
+      t4034: bulk verify builtin word regex sanity
+
+Tor Arvid Lund (3):
+      git-p4: Teach gitConfig method about arguments.
+      Teach git-p4 to ignore case in perforce filenames if configured.
+      git-p4: Fix error message crash in P4Sync.commit.
+
+Uwe Kleine-König (2):
+      get_remote_url(): use the same data source as ls-remote to get remote urls
+      git-request-pull: open-code the only invocation of get_remote_url
+
+Vitor Antunes (2):
+      git-p4: Improve rename detection support
+      git-p4: Add copy detection support
+
+Ævar Arnfjörð Bjarmason (4):
+      gitignore: add test-mktemp to ignore list
+      i18n: add no-op _() and N_() wrappers
+      i18n: add GETTEXT_POISON to simulate unfriendly translator
+      i18n: Makefile: "pot" target to extract messages marked for translation
+
+
+Version v1.7.4.5; changes since v1.7.4.4:
+-----------------------------------------
+
+Johannes Sixt (1):
+      t2021: mark a test as fixed
+
+Junio C Hamano (2):
+      "log --cherry-pick" documentation regression fix
+      Git 1.7.4.5
+
+Michael J Gruber (3):
+      git.txt: fix list continuation
+      t3306,t5304: avoid clock skew issues
+      git-svn.txt: Document --mergeinfo
+
+René Scharfe (1):
+      archive: document limitation of tar.umask config setting
+
+
+Version v1.7.4.4; changes since v1.7.4.3:
+-----------------------------------------
+
+Jakub Narebski (2):
+      git-instaweb: Change how gitweb.psgi is made runnable as standalone app
+      gitweb: Fix parsing of negative fractional timezones in JavaScript
+
+Jeff King (4):
+      strbuf: add fixed-length version of add_wrapped_text
+      format-patch: wrap long header lines
+      format-patch: rfc2047-encode newlines in headers
+      pull: do not clobber untracked files on initial pull
+
+Jonathan Nieder (1):
+      compat: add missing #include <sys/resource.h>
+
+Junio C Hamano (6):
+      list-objects.c: don't add an unparsed NULL as a pending tree
+      Rename core.abbrevlength back to core.abbrev
+      diff/status: refactor opportunistic index update
+      update $GIT_INDEX_FILE when there are racily clean entries
+      Start preparing for 1.7.4.4
+      Git 1.7.4.4
+
+Libor Pechacek (2):
+      Sanity-check config variable names
+      Disallow empty section and variable names
+
+Linus Torvalds (1):
+      Make the default abbrev length configurable
+
+Matthieu Moy (1):
+      log: fix --max-count when used together with -S or -G
+
+Michael J Gruber (2):
+      git-log.txt,rev-list-options.txt: -n/--max-count is commit limiting
+      git-log.txt,rev-list-options.txt: put option blocks in proper order
+
+Nicolas Morey-Chaisemartin (1):
+      submodule: process conflicting submodules only once
+
+SZEDER Gábor (1):
+      Documentation: trivial grammar fix in core.worktree description
+
+
+Version v1.7.4.3; changes since v1.7.4.2:
+-----------------------------------------
+
+Alex Riesen (1):
+      HOME must be set before calling git-init when creating test repositories
+
+Carlos Martín Nieto (1):
+      Documentation/config.txt: make truth value of numbers more explicit
+
+Clemens Buchacher (1):
+      do not overwrite untracked symlinks
+
+Fabian Keil (1):
+      git-cvsimport.perl: Bail out right away when reading from the server fails
+
+Jeff King (1):
+      docs: fix filter-branch subdir example for exotic repo names
+
+Joe Ratterman (1):
+      grep: Add the option '--line-number'
+
+Johan Herland (1):
+      branch/checkout --track: Ensure that upstream branch is indeed a branch
+
+Johannes Sixt (3):
+      Demonstrate breakage: checkout overwrites untracked symlink with directory
+      stash: fix incorrect quoting in cleanup of temporary files
+      stash: copy the index using --index-output instead of cp -p
+
+Junio C Hamano (9):
+      checkout: fix bug with ambiguous refs
+      apply: do not patch lines that were already patched
+      apply -v: show offset count when patch did not apply exactly
+      diff --quiet: disable optimization when --diff-filter=X is used
+      doc: technical details about the index file format
+      t8001: check the exit status of the command being tested
+      parse-remote: typofix
+      Doc: mention --delta-base-offset is the default for Porcelain commands
+      Git 1.7.4.3
+
+Maxin john (1):
+      contrib/thunderbird-patch-inline: do not require bash to run the script
+
+Michael J Gruber (2):
+      git-bisect.txt: streamline run presentation
+      git-bisect.txt: example for bisecting with hot-fix
+
+Michael Witten (3):
+      git tag documentation grammar fixes and readability updates
+      Typos: t/README
+      strbuf.h: remove a tad stale docs-in-comment and reference api-doc instead
+
+Nguyễn Thái Ngọc Duy (1):
+      doc: technical details about the index file format
+
+Piotr Krukowiecki (2):
+      git stash: show status relative to current directory
+      Add test: git stash shows status relative to current dir
+
+Stephen Boyd (2):
+      parse-remote: replace unnecessary sed invocation
+      git-pack-objects.txt: fix grammatical errors
+
+
+Version v1.7.4.2; changes since v1.7.4.1:
+-----------------------------------------
+
+Adam Monsen (1):
+      diff format documentation: clarify --cc and -c
+
+Alexei Sholik (3):
+      Documentation: remove redundant colons in git-for-each-ref.txt
+      Add Author and Documentation sections to git-for-each-ref.txt
+      docs: fix grammar in gitattributes.txt
+
+Arnout Engelen (1):
+      Improve error messages when temporary file creation fails
+
+Ben Walton (1):
+      Work around broken ln on solaris as used in t8006
+
+Carlos Martín Nieto (3):
+      valgrind: ignore SSE-based strlen invalid reads
+      make_absolute_path: return the input path if it points to our buffer
+      t/README: Add a note about running commands under valgrind
+
+Clemens Buchacher (1):
+      Documentation: clarify -u<mode> option defaults
+
+Eric Hanchrow (1):
+      branch_merged: fix grammar in warning
+
+Erik Faye-Lund (1):
+      mingw: add minimum getrlimit() compatibility stub
+
+Jakub Narebski (2):
+      gitweb: Always call parse_date with timezone parameter
+      gitweb: Fix handling of fractional timezones in parse_date
+
+Jay Soffian (1):
+      merge: honor prepare-commit-msg hook
+
+Jeff King (5):
+      string_list_append: always set util pointer to NULL
+      clone: die when trying to clone missing local path
+      diff: handle diffstat of rewritten binary files
+      diff: don't retrieve binary blobs for diffstat
+      bisect: visualize with git-log if gitk is unavailable
+
+Johan Herland (1):
+      push.default: Rename 'tracking' to 'upstream'
+
+Jonathan Nieder (9):
+      correct type of EMPTY_TREE_SHA1_BIN
+      tests: skip terminal output tests on OS X
+      commit: error out for missing commit message template
+      enums: omit trailing comma for portability
+      compat: make gcc bswap an inline function
+      standardize brace placement in struct definitions
+      branch: split off function that writes tracking info and commit subject
+      cherry: split off function to print output lines
+      diff --submodule: split into bite-sized pieces
+
+Junio C Hamano (8):
+      CodingGuidelines: downcase placeholders in usage messages
+      verify-pack: add --stat-only to the synopsis section
+      SubmittingPatches: clarify the expected commit log description
+      Revert "core.abbrevguard: Ensure short object names stay unique a bit longer"
+      Prepare draft release notes to 1.7.4.2
+      bisect: explain the rationale behind 125
+      Update draft release notes to 1.7.4.2
+      Git 1.7.4.2
+
+Kevin Cernekee (1):
+      gitweb: highlight: replace tabs with spaces
+
+Linus Torvalds (3):
+      for_each_hash: allow passing a 'void *data' pointer to callback
+      diffcore-rename: properly honor the difference between -M and -C
+      diffcore-rename: improve estimate_similarity() heuristics
+
+Masatake Osanai (1):
+      perl: command_bidi_pipe() method should set-up git environmens
+
+Mathias Lafeldt (1):
+      Fix typo in t/README
+
+Michael J Gruber (16):
+      commit,tag: use same wording for -F
+      commit,status: describe --porcelain just like push
+      clone,init: describe --template using the same wording
+      commit,merge,tag: describe -m likewise
+      add: describe --patch like checkout, reset
+      commit,status: describe -u likewise
+      git-tag.txt: list all modes in the description
+      pull: do not display fetch usage on --help-all
+      Make <identifier> lowercase as per CodingGuidelines
+      Make <identifier> lowercase as per CodingGuidelines
+      Make <identifier> lowercase as per CodingGuidelines
+      Make <identifier> lowercase in Documentation
+      git-patch-id: test for "no newline" markers
+      git-patch-id: do not trip over "no newline" markers
+      mergetool-lib: call vim in readonly mode for diffs
+      rev-list-options.txt: typo fix
+
+Michal Rokos (2):
+      Makefile: add NO_FNMATCH_CASEFOLD to HP-UX section
+      git-compat-util.h: Honor HP C's noreturn attribute
+
+Michał Kiedrowicz (1):
+      Documentation: fix a typo in git-apply.txt
+
+Nguyễn Thái Ngọc Duy (2):
+      parse_tag_buffer(): do not prefixcmp() out of range
+      init: remove unnecessary check
+
+Piotr Krukowiecki (1):
+      ls-remote documentation: <refs> argument is optional
+
+Ralf Wildenhues (1):
+      configure: use AC_LANG_PROGRAM consistently
+
+SZEDER Gábor (1):
+      git-am.txt: advertise 'git am --abort' instead of 'rm .git/rebase-apply'
+
+Shawn O. Pearce (2):
+      Limit file descriptors used by packs
+      sha1_file.c: Don't retain open fds on small packs
+
+Spencer E. Olson (2):
+      submodule: no [--merge|--rebase] when newly cloned
+      t7406: "git submodule update {--merge|--rebase]" with new submodules
+
+Ævar Arnfjörð Bjarmason (4):
+      gitweb/gitweb.perl: remove use of qw(...) as parentheses
+      gitweb/gitweb.perl: don't call S_ISREG() with undef
+      t/gitweb-lib.sh: Ensure that errors are shown for --debug --immediate
+      t/t7500-commit.sh: use test_cmp instead of test
+
+
+Version v1.7.4.1; changes since v1.7.4:
+---------------------------------------
+
+Chris Packham (1):
+      clone: fixup recurse_submodules option
+
+Jakub Narebski (1):
+      gitweb: Mention optional Perl modules in INSTALL
+
+Jens Lehmann (2):
+      t5526: Fix wrong argument order in "git config"
+      pull: Document the "--[no-]recurse-submodules" options
+
+Johannes Sixt (2):
+      start_command: flush buffers in the WIN32 code path as well
+      t4120-apply-popt: help systems with core.filemode=false
+
+Jonathan Nieder (5):
+      quote.h: simplify the inclusion
+      fast-import: clarify documentation of "feature" command
+      fast-import: introduce "feature notes" command
+      compat: helper for detecting unsigned overflow
+      svn-fe: warn about experimental status
+
+Junio C Hamano (3):
+      fsck: drop unused parameter from traverse_one_object()
+      fsck: do not give up too early in fsck_dir()
+      Git 1.7.4.1
+
+Nguyễn Thái Ngọc Duy (4):
+      diff: support --cached on unborn branches
+      Add const to parse_{commit,tag}_buffer()
+      sha1_file.c: move find_cached_object up so sha1_object_info can use it
+      sha1_object_info: examine cached_object store too
+
+Pat Thoyts (2):
+      t3509: use unconstrained initial test to setup repository.
+      t7407: fix line endings for mingw build
+
+Shawn O. Pearce (1):
+      bundle: Use OFS_DELTA in bundle files
+
+Sitaram Chamarty (1):
+      post-receive-email: suppress error if description file missing
+
+Uwe Kleine-König (1):
+      Documentation/merge subtree How-To: fix typo
+
+
+Version v1.7.4; changes since v1.7.4-rc3:
+-----------------------------------------
+
+Adam Tkac (1):
+      Don't pass "--xhtml" to hightlight in gitweb.perl script.
+
+Jeff King (3):
+      rebase: use explicit "--" with checkout
+      rebase: give a better error message for bogus branch
+      tests: sanitize more git environment variables
+
+Jonathan Nieder (2):
+      fast-import: treat filemodify with empty tree as delete
+      rebase -i: clarify in-editor documentation of "exec"
+
+Junio C Hamano (1):
+      Git 1.7.4
+
+
+Version v1.7.4-rc3; changes since v1.7.4-rc2:
+---------------------------------------------
+
+Alexey Shumkin (1):
+      userdiff: match Pascal class methods
+
+Björn Steinbrink (1):
+      Correctly report corrupted objects
+
+Erik Faye-Lund (1):
+      exec_cmd: remove unused extern
+
+Johannes Sixt (2):
+      Fix expected values of setup tests on Windows
+      t/README: hint about using $(pwd) rather than $PWD in tests
+
+Jonathan Nieder (9):
+      ll-merge: simplify opts == NULL case
+      Documentation/fast-import: capitalize beginning of sentence
+      remote-ext: do not segfault for blank lines
+      Documentation/fast-import: put explanation of M 040000 <dataref> "" in context
+      tests: cosmetic improvements to the repo-setup test
+      tests: compress the setup tests
+      Documentation: do not treat reset --keep as a special case
+      Subject: setup: officially support --work-tree without --git-dir
+      t1510: fix typo in the comment of a test
+
+Junio C Hamano (2):
+      Documentation updates for 'GIT_WORK_TREE without GIT_DIR' historical usecase
+      Git 1.7.4-rc3
+
+Ramsay Allan Jones (1):
+      svndump.c: Fix a printf format compiler warning
+
+
+Version v1.7.4-rc2; changes since v1.7.4-rc1:
+---------------------------------------------
+
+Anders Kaseorg (1):
+      Mark gitk script executable
+
+Brandon Casey (3):
+      trace.c: ensure NULL is not passed to printf
+      t0001,t1510,t3301: use sane_unset which always returns with status 0
+      t3032: limit sed branch labels to 8 characters
+
+Jeff King (1):
+      docs: explain diff.*.binary option
+
+Jonathan Nieder (3):
+      diff: funcname and word patterns for perl
+      gitweb: make logo optional
+      t9010: svnadmin can fail even if available
+
+Junio C Hamano (2):
+      userdiff/perl: catch BEGIN/END/... and POD as headers
+      Git 1.7.4-rc2
+
+Matthieu Moy (1):
+      commit: suggest --amend --reset-author to fix commiter identity
+
+Michael J Gruber (1):
+      RelNotes/1.7.4: minor fixes
+
+Ramsay Allan Jones (7):
+      lib-git-svn.sh: Move web-server handling code into separate function
+      t9157-*.sh: Add an svn version check
+      t6038-*.sh: Pass the -b (--binary) option to sed on cygwin
+      t3032-*.sh: Pass the -b (--binary) option to sed on cygwin
+      t3032-*.sh: Do not strip CR from line-endings while grepping on MinGW
+      t4135-*.sh: Skip the "backslash" tests on cygwin
+      t9157-*.sh: Make the svn version check more precise
+
+StephenB (1):
+      git svn: fix the final example in man page
+
+Sylvain Rabot (2):
+      gitweb: add extensions to highlight feature map
+      gitweb: remove unnecessary test when closing file descriptor
+
+Thomas Rast (4):
+      Documentation/git-archive: spell --worktree-attributes correctly
+      Documentation/githooks: post-rewrite-copy-notes never existed
+      submodule: fix relative url parsing for scp-style origin
+      t0000: quote TAP snippets in test code
+
+
+Version v1.7.4-rc1; changes since v1.7.4-rc0:
+---------------------------------------------
+
+Antonio Ospite (1):
+      t/t9001-send-email.sh: fix '&&' chain in some tests
+
+Jonathan Nieder (3):
+      vcs-svn: Error out for v3 dumps
+      gitweb: skip logo in atom feed when there is none
+      daemon: support <directory> arguments again
+
+Junio C Hamano (3):
+      t0021: avoid getting filter killed with SIGPIPE
+      Git 1.7.3.5
+      Git 1.7.4-rc1
+
+Michael J Gruber (2):
+      cvsimport: partial whitespace cleanup
+      cvsimport: handle the parsing of uppercase config options
+
+Pete Wyckoff (1):
+      convert filter: supply path to external driver
+
+Ralf Wildenhues (1):
+      Fix typos in the documentation
+
+Robin H. Johnson (1):
+      t9001: Fix test prerequisites
+
+
+Version v1.7.4-rc0; changes since v1.7.3.5:
+-------------------------------------------
+
+Aleksi Aalto (1):
+      status: show branchname with a configurable color
+
+Alexander Sulfrian (2):
+      daemon: add helper function named_sock_setup
+      daemon: allow more than one host address given via --listen
+
+Alexandre Erwin Ittner (1):
+      gitk: Add Brazilian Portuguese (pt-BR) translation
+
+Anders Kaseorg (4):
+      describe: Use for_each_rawref
+      describe: Do not use a flex array in struct commit_name
+      describe: Store commit_names in a hash table by commit SHA1
+      describe: Delay looking up commits until searching for an inexact match
+
+Antonio Ospite (1):
+      git-send-email.perl: make initial In-Reply-To apply only to first email
+
+Brandon Casey (3):
+      diffcore-pickaxe.c: a void function shouldn't try to return something
+      Makefile: add NO_FNMATCH_CASEFOLD to IRIX sections
+      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
+
+Brian Gernhardt (1):
+      t6022: Use -eq not = to test output of wc -l
+
+Christopher Wilson (1):
+      Enable highlight executable path as a configuration option
+
+Clemens Buchacher (6):
+      t7607: use test-lib functions and check MERGE_HEAD
+      t7607: add leading-path tests
+      add function check_ok_to_remove()
+      lstat_cache: optionally return match_len
+      do not overwrite files in leading path
+      use persistent memory for rejected paths
+
+Dan McGee (3):
+      mergetool-lib: combine vimdiff and gvimdiff run blocks
+      mergetool-lib: add a three-way diff view for vim/gvim
+      mergetool-lib: make the three-way diff the default for vim/gvim
+
+David Barr (3):
+      fast-import: Allow filemodify to set the root
+      fast-import: insert new object entries at start of hash bucket
+      fast-import: let importers retrieve blobs
+
+Elijah Newren (53):
+      Document pre-condition for tree_entry_interesting
+      tree-walk: Correct bitrotted comment about tree_entry()
+      tree_entry_interesting(): Make return value more specific
+      diff_tree(): Skip skip_uninteresting() when all remaining paths interesting
+      t3509: Add rename + D/F conflict testcase that recursive strategy fails
+      merge-recursive: D/F conflicts where was_a_dir/file -> was_a_dir
+      t6032: Add a test checking for excessive output from merge
+      t6022: Add test combinations of {content conflict?, D/F conflict remains?}
+      t6022: Add tests for reversing order of merges when D/F conflicts present
+      t6022: Add tests with both rename source & dest involved in D/F conflicts
+      t6022: Add paired rename+D/F conflict: (two/file, one/file) -> (one, two)
+      t6022: Add tests for rename/rename combined with D/F conflicts
+      t6020: Modernize style a bit
+      t6020: Add a testcase for modify/delete + directory/file conflict
+      t6036: Test index and worktree state, not just that merge fails
+      t6036: Add a second testcase similar to the first but with content changes
+      t6036: Add testcase for undetected conflict
+      merge-recursive: Small code clarification -- variable name and comments
+      merge-recursive: Rename conflict_rename_rename*() for clarity
+      merge-recursive: Nuke rename/directory conflict detection
+      merge-recursive: Move rename/delete handling into dedicated function
+      merge-recursive: Move delete/modify handling into dedicated function
+      merge-recursive: Move process_entry's content merging into a function
+      merge-recursive: New data structures for deferring of D/F conflicts
+      merge-recursive: New function to assist resolving renames in-core only
+      merge-recursive: Have process_entry() skip D/F or rename entries
+      merge-recursive: Structure process_df_entry() to handle more cases
+      merge-recursive: Update conflict_rename_rename_1to2() call signature
+      merge-recursive: Update merge_content() call signature
+      merge-recursive: Avoid doubly merging rename/add conflict contents
+      merge-recursive: Move handling of double rename of one file to two
+      merge-recursive: Move handling of double rename of one file to other file
+      merge-recursive: Delay handling of rename/delete conflicts
+      merge-recursive: Delay content merging for renames
+      merge-recursive: Delay modify/delete conflicts if D/F conflict present
+      conflict_rename_delete(): Check whether D/F conflicts are still present
+      conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
+      merge_content(): Check whether D/F conflicts are still present
+      handle_delete_modify(): Check whether D/F conflicts are still present
+      merge-recursive: Make room for directories in D/F conflicts
+      merge-recursive: Remove redundant path clearing for D/F conflicts
+      t4017 (diff-retval): replace manual exit code check with test_expect_code
+      t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing &&
+      t4002 (diff-basic): use test_might_fail for commands that might fail
+      t4202 (log): Replace '<git-command> || :' with test_might_fail
+      t4019 (diff-wserror): add lots of missing &&
+      t4026 (color): remove unneeded and unchained command
+      t5602 (clone-remote-exec): add missing &&
+      t6016 (rev-list-graph-simplify-history): add missing &&
+      t7001 (mv): add missing &&
+      t7601 (merge-pull-config): add missing &&
+      t7800 (difftool): add missing &&
+      Introduce sane_unset and use it to ensure proper && chaining
+
+Eric Sunshine (5):
+      Side-step sed line-ending "corruption" leading to t6038 failure.
+      Side-step MSYS-specific path "corruption" leading to t5560 failure.
+      Fix 'clone' failure at DOS root directory.
+      Fix Windows-specific macro redefinition warning.
+      Add MinGW-specific execv() override.
+
+Erik Faye-Lund (20):
+      mingw: do not crash on open(NULL, ...)
+      inet_ntop: fix a couple of old-style decls
+      mingw: use real pid
+      mingw: support waitpid with pid > 0 and WNOHANG
+      mingw: add kill emulation
+      daemon: use run-command api for async serving
+      daemon: use full buffered mode for stderr
+      daemon: get remote host address from root-process
+      mingw: import poll-emulation from gnulib
+      mingw: use poll-emulation from gnulib
+      daemon: use socklen_t
+      daemon: make --inetd and --detach incompatible
+      daemon: opt-out on features that require posix
+      msvc: opendir: fix malloc-failure
+      msvc: opendir: allocate enough memory
+      msvc: opendir: do not start the search
+      win32: dirent: handle errors
+      msvc: opendir: handle paths ending with a slash
+      win32: use our own dirent.h
+      help: always suggest common-cmds if prefix of cmd
+
+Giuseppe Bilotta (15):
+      gitweb: use fullname as hash_base in heads link
+      gitweb: introduce remote_heads feature
+      gitweb: git_get_heads_list accepts an optional list of refs
+      gitweb: separate heads and remotes lists
+      gitweb: nagivation menu for tags, heads and remotes
+      gitweb: allow action specialization in page header
+      gitweb: remotes view for a single remote
+      gitweb: refactor repository URL printing
+      gitweb: provide a routine to display (sub)sections
+      gitweb: group remote heads by remote
+      git instaweb: enable remote_heads
+      web--browse: coding style
+      web--browse: split valid_tool list
+      web--browse: support opera, seamonkey and elinks
+      web--browse: better support for chromium
+
+Greg Brockman (4):
+      Allow creation of arbitrary git-shell commands
+      Add interactive mode to git-shell for user-friendliness
+      Add sample commands for git-shell
+      shell: Display errors from improperly-formatted command lines
+
+Ilari Liusvaara (4):
+      Add bidirectional_transfer_loop()
+      git-remote-fd
+      git-remote-ext
+      remote-fd/ext: finishing touches after code review
+
+Jakub Narebski (12):
+      t/gitweb-lib.sh: Use GIT_BUILD_DIR
+      t/gitweb-lib.sh: Use tabs for indent consistently
+      gitweb: Move call to evaluate_git_version after evaluate_gitweb_config
+      t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
+      gitweb/Makefile: Add 'test' and 'test-installed' targets
+      gitweb/Makefile: Include gitweb/config.mak
+      gitweb: Fix test of highlighting support in t9500
+      gitweb: Fix bug in evaluate_path_info
+      gitweb: Improve behavior for actionless path_info gitweb URLs
+      gitweb: Time::HiRes is in core for Perl 5.8
+      gitweb: selectable configurations that change with each request
+      gitweb: Fix handling of whitespace in generated links
+
+Jan Krüger (1):
+      read-tree: deprecate syntax without tree-ish args
+
+Jeff King (13):
+      tests: factor out terminal handling from t7006
+      tests: test terminal output to both stdout and stderr
+      push: pass --progress down to git-pack-objects
+      config: treat non-existent config files as empty
+      diff: report bogus input to -C/-M/-B
+      docs: clarify git diff modes of operation
+      allow command-specific pagers in pager.<cmd>
+      docs: default to more modern toolset
+      default color.status.branch to "same as header"
+      tests: add some script lint checks
+      tests: flip executable bit on t9158
+      handle arbitrary ints in git_config_maybe_bool
+      t2107: mark passing test as success
+
+Jens Lehmann (5):
+      clone: Add the --recurse-submodules option as alias for --recursive
+      fetch/pull: Add the --recurse-submodules option
+      Add the 'fetch.recurseSubmodules' config setting
+      Submodules: Add the "fetchRecurseSubmodules" config option
+      git submodule: Remove now obsolete tests before cloning a repo
+
+Joe Perches (1):
+      git-send-email.perl: Add --to-cmd
+
+Johan Herland (23):
+      notes.c: Hexify SHA1 in die() message from init_notes()
+      (trivial) notes.h: Minor documentation fixes to copy_notes()
+      notes.h: Make default_notes_ref() available in notes API
+      notes.c: Reorder functions in preparation for next commit
+      notes.h/c: Allow combine_notes functions to remove notes
+      notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond
+      (trivial) t3303: Indent with tabs instead of spaces for consistency
+      notes.c: Use two newlines (instead of one) when concatenating notes
+      builtin/notes.c: Split notes ref DWIMmery into a separate function
+      git notes merge: Initial implementation handling trivial merges only
+      builtin/notes.c: Refactor creation of notes commits.
+      git notes merge: Handle real, non-conflicting notes merges
+      git notes merge: Add automatic conflict resolvers (ours, theirs, union)
+      Documentation: Preliminary docs on 'git notes merge'
+      git notes merge: Manual conflict resolution, part 1/2
+      git notes merge: Manual conflict resolution, part 2/2
+      git notes merge: List conflicting notes in notes merge commit message
+      git notes merge: --commit should fail if underlying notes ref has moved
+      git notes merge: Add another auto-resolving strategy: "cat_sort_uniq"
+      git notes merge: Add testcases for merging notes trees at different fanouts
+      Provide 'git notes get-ref' to easily retrieve current notes ref
+      cmd_merge(): Parse options before checking MERGE_HEAD
+      Provide 'git merge --abort' as a synonym to 'git reset --merge'
+
+Johannes Schindelin (1):
+      merge-octopus: Work around environment issue on Windows
+
+Johannes Sixt (4):
+      t7300: add a missing SYMLINKS prerequisite
+      apply --whitespace=fix: fix tab-in-indent
+      Make the tab width used for whitespace checks configurable
+      Avoid duplicate test number t7609
+
+Jonathan Nieder (52):
+      merge-recursive: expose merge options for builtin merge
+      ll-merge: replace flag argument with options struct
+      commit-tree: free commit message before exiting
+      test-lib: allow test code to check the list of declared prerequisites
+      test_terminal: catch use without TTY prerequisite
+      test_terminal: ensure redirections work reliably
+      fast-import: filemodify after M 040000 <tree> "" crashes
+      fast-import: tighten M 040000 syntax
+      t9300 (fast-import): another test for the "replace root" feature
+      fast-import: do not clear notes in do_change_note_fanout()
+      user-manual: remote-tracking can be checked out, with detached HEAD
+      tests: add missing &&
+      tests: add missing &&, batch 2
+      test-lib: introduce test_line_count to measure files
+      t6022 (renaming merge): chain test commands with &&
+      t1502 (rev-parse --parseopt): test exit code from "-h"
+      t1400 (update-ref): use test_must_fail
+      t3301 (notes): use test_expect_code for clarity
+      t3404 (rebase -i): unroll test_commit loops
+      t3404 (rebase -i): move comment to description
+      t3404 (rebase -i): introduce helper to check position of HEAD
+      t4124 (apply --whitespace): use test_might_fail
+      wrapper: move xmmap() to sha1_file.c
+      wrapper: move odb_* to environment.c
+      path helpers: move git_mkstemp* to wrapper.c
+      strbuf: move strbuf_branchname to sha1_name.c
+      wrapper: give zlib wrappers their own translation unit
+      pack-objects: mark file-local variable static
+      Remove pack file handling dependency from wrapper.o
+      Describe various forms of "be quiet" using OPT__QUIET
+      fast-import: treat SIGUSR1 as a request to access objects early
+      git-rev-parse.txt: clarify --git-dir
+      gitweb: document $per_request_config better
+      fast-import: stricter parsing of integer options
+      fast-import: clarify documentation of "feature" command
+      fast-import: Allow cat-blob requests at arbitrary points in stream
+      git submodule -b ... of current HEAD fails
+      Makefile: dependencies for vcs-svn tests
+      parse-options: clearer reporting of API misuse
+      parse-options: move NODASH sanity checks to parse_options_check
+      parse-options: sanity check PARSE_OPT_NOARG flag
+      parse-options: never suppress arghelp if LITERAL_ARGHELP is set
+      parse-options: allow git commands to invent new option types
+      parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION
+      update-index: migrate to parse-options API
+      treap: make treap_insert return inserted node
+      vcs-svn: fix intermittent repo_tree corruption
+      Makefile: transport-helper uses thread-utils.h
+      t9300: avoid short reads from dd
+      bash: simple reimplementation of _get_comp_words_by_ref
+      t9300: use perl "head -c" clone in place of "dd bs=1 count=16000" kluge
+      t0001: test git init when run via an alias
+
+Joshua Jensen (6):
+      Add string comparison functions that respect the ignore_case variable.
+      Case insensitivity support for .gitignore via core.ignorecase
+      Add case insensitivity support for directories when using git status
+      Add case insensitivity support when using git ls-files
+      Support case folding for git add when core.ignorecase=true
+      Support case folding in git fast-import when core.ignorecase=true
+
+Junio C Hamano (31):
+      gitdiffcore doc: update pickaxe description
+      diff: pass the entire diff-options to diffcore_pickaxe()
+      git log/diff: add -G<regexp> that greps in the patch text
+      diff/log -G<pattern>: tests
+      grep: move logic to compile header pattern into a separate helper
+      log --author: take union of multiple "author" requests
+      disallow branch names that start with a hyphen
+      Start 1.7.4 cycle
+      merge-recursive: Restructure showing how to chain more process_* functions
+      Martin Langhoff has a new e-mail address
+      Make test script t9157 executable
+      merge-recursive:make_room_for_directories - work around dumb compilers
+      core.abbrevguard: Ensure short object names stay unique a bit longer
+      read_sha1_file(): report correct name of packfile with a corrupt object
+      A loose object is not corrupt if it cannot be read due to EMFILE
+      t9001: send-email interation with --in-reply-to and --chain-reply-to
+      t3404: do not use 'describe' to implement test_cmp_rev
+      Update draft release notes to 1.7.4
+      Update draft release notes to 1.7.4
+      t9300: remove unnecessary use of /dev/stdin
+      t9119: do not compare "Text Last Updated" line from "svn info"
+      t9010 fails when no svn is available
+      get_sha1: teach ":$n:<path>" the same relative path logic
+      Documentation/git.txt: update list of maintenance releases
+      fetch_populated_submodules(): document dynamic allocation
+      thread-utils.h: simplify the inclusion
+      Relnotes: remove items fixed on 'maint'
+      get_sha1_oneline: fix lifespan rule of temp_commit_buffer variable
+      Update draft release notes to 1.7.4
+      set_try_to_free_routine(NULL) means "do nothing special"
+      Git 1.7.4-rc0
+
+Justin Frankel (2):
+      merge-recursive --patience
+      merge-recursive: options to ignore whitespace changes
+
+Kevin Ballard (9):
+      merge-recursive: option to specify rename threshold
+      diff: add synonyms for -M, -C, -B
+      completion: Support the DWIM mode for git checkout
+      blame: Add option to show author email instead of name
+      submodule: preserve all arguments exactly when recursing
+      submodule: only preserve flags across recursive status/update invocations
+      rebase: better rearranging of fixup!/squash! lines with --autosquash
+      rebase: teach --autosquash to match on sha1 in addition to message
+      diff: add --detect-copies-harder as a synonym for --find-copies-harder
+
+Kirill Smelkov (1):
+      gitk: Show notes by default (like git log does)
+
+Mark Lodato (2):
+      completion: make compatible with zsh
+      completion: fix zsh check under bash with 'set -u'
+
+Markus Duft (2):
+      add support for the SUA layer (interix; windows)
+      Interix: add configure checks
+
+Martin Storsjö (1):
+      Improve the mingw getaddrinfo stub to handle more use cases
+
+Martin von Zweigbergk (3):
+      rebase: support --verify
+      Use reflog in 'pull --rebase . foo'
+      completion: add missing configuration variables
+
+Matthieu Moy (9):
+      Better "Changed but not updated" message in git-status
+      Replace "remote tracking" with "remote-tracking"
+      Change remote tracking to remote-tracking in non-trivial places
+      everyday.txt: change "tracking branch" to "remote-tracking branch"
+      Change "tracking branch" to "remote-tracking branch"
+      Change incorrect uses of "remote branch" meaning "remote-tracking"
+      Change incorrect "remote branch" to "remote tracking branch" in C code
+      user-manual.txt: explain better the remote(-tracking) branch terms
+      git-branch.txt: mention --set-upstream as a way to change upstream configuration
+
+Michael J Gruber (4):
+      t5503: fix typo
+      test: allow running the tests under "prove"
+      t800?-blame.sh: retitle uniquely
+      t1020-subdirectory: test alias expansion in a subdirectory
+
+Mike Pape (3):
+      mingw: add network-wrappers for daemon
+      mingw: implement syslog
+      compat: add inet_pton and inet_ntop prototypes
+
+Nguyễn Thái Ngọc Duy (64):
+      branch -h: show usage even in an invalid repository
+      checkout-index -h: show usage even in an invalid repository
+      commit/status -h: show usage even with broken configuration
+      gc -h: show usage even with broken configuration
+      ls-files -h: show usage even with corrupt index
+      merge -h: show usage even with corrupt index
+      update-index -h: show usage even with corrupt index
+      add: do not rely on dtype being NULL behavior
+      get_cwd_relative(): do not misinterpret root path
+      builtins: print setup info if repo is found
+      Add t1510 and basic rules that run repo setup
+      t1510: setup case #0
+      t1510: setup case #1
+      t1510: setup case #2
+      t1510: setup case #3
+      t1510: setup case #4
+      t1510: setup case #5
+      t1510: setup case #6
+      t1510: setup case #7
+      t1510: setup case #8
+      t1510: setup case #9
+      t1510: setup case #10
+      t1510: setup case #11
+      t1510: setup case #12
+      t1510: setup case #13
+      t1510: setup case #14
+      t1510: setup case #15
+      t1510: setup case #16
+      t1510: setup case #17
+      t1510: setup case #18
+      t1510: setup case #19
+      t1510: setup case #20
+      t1510: setup case #21
+      t1510: setup case #22
+      t1510: setup case #23
+      t1510: setup case #24
+      t1510: setup case #25
+      t1510: setup case #26
+      t1510: setup case #27
+      t1510: setup case #28
+      t1510: setup case #29
+      t1510: setup case #30
+      t1510: setup case #31
+      cache.h: realign and use (1 << x) form for CE_* constants
+      dir.c: add free_excludes()
+      unpack-trees: move all skip-worktree checks back to unpack_trees()
+      unpack-trees: fix sparse checkout's "unable to match directories"
+      Revert "excluded_1(): support exclude files in index"
+      setup: save prefix (original cwd relative to toplevel) in startup_info
+      Make prefix_path() return char* without const
+      get_sha1: support relative path ":path" syntax
+      get_sha1_oneline: make callers prepare the commit list to traverse
+      get_sha1: support $commit^{/regex} syntax
+      get_sha1: handle special case $commit^{/}
+      Add git_config_early()
+      Use git_config_early() instead of git_config() during repo setup
+      setup: limit get_git_work_tree()'s to explicit setup case only
+      setup: clean up setup_bare_git_dir()
+      setup: clean up setup_discovered_git_dir()
+      setup: rework setup_explicit_git_dir()
+      Remove all logic from get_git_work_tree()
+      Revert "Documentation: always respect core.worktree if set"
+      git.txt: correct where --work-tree path is relative to
+      setup_work_tree: adjust relative $GIT_WORK_TREE after moving cwd
+
+Pascal Obry (3):
+      Minor indentation fix.
+      Remove @smtp_host_parts variable as not used.
+      New send-email option smtpserveroption.
+
+Pat Notz (6):
+      commit: helper methods to reduce redundant blocks of code
+      pretty.c: teach format_commit_message() to reencode the output
+      commit: --fixup option for use with rebase --autosquash
+      add tests of commit --fixup
+      commit: --squash option for use with rebase --autosquash
+      add tests of commit --squash
+
+Pat Thoyts (13):
+      MinGW: fix stat() and lstat() implementations for handling symlinks
+      MinGW: Report errors when failing to launch the html browser.
+      Skip t1300.70 and 71 on msysGit.
+      Do not strip CR when grepping HTTP headers.
+      Skip 'git archive --remote' test on msysGit
+      git-am: fix detection of absolute paths for windows
+      git-gui: show command-line errors in a messagebox on Windows
+      git-gui: enable the Tk console when tracing/debugging on Windows
+      git-gui: generic version trimming
+      git-gui: use full dialog width for old name when renaming branch
+      git-gui: correct assignment of work-tree
+      git-gui: use wordprocessor tab style to ensure tabs work as expected
+      git-gui: apply color information from git diff output
+
+Peter Krefting (1):
+      gitk: Update Swedish translation (290t)
+
+Peter van der Does (1):
+      bash: get --pretty=m<tab> completion to work with bash v4
+
+Petr Onderka (1):
+      Add global and system-wide gitattributes
+
+Ralf Thielow (1):
+      commit.c: Remove backward goto in read_craft_line()
+
+Ramkumar Ramachandra (10):
+      shell: Rewrite documentation and improve error message
+      t4014-format-patch: Call test_tick before committing
+      format-patch: Don't go over merge commits
+      fmt_merge_msg: Change fmt_merge_msg API to accept shortlog_len
+      merge: Make '--log' an integer option for number of shortlog entries
+      merge: Make 'merge.log' an integer or boolean option
+      t6200-fmt-merge-msg: Exercise 'merge.log' to configure shortlog length
+      t6200-fmt-merge-msg: Exercise '--log' to configure shortlog length
+      Porcelain scripts: Rewrite cryptic "needs update" error message
+      t9010 (svn-fe): Eliminate dependency on svn perl bindings
+
+Ramsay Allan Jones (10):
+      msvc: Fix compilation errors in compat/win32/sys/poll.c
+      msvc: git-daemon.exe: Fix linker "unresolved externals" error
+      msvc: Fix build by adding missing INTMAX_MAX define
+      msvc: Fix macro redefinition warnings
+      t3600-rm.sh: Don't pass a non-existent prereq to test #15
+      t9142: Move call to start_httpd into the setup test
+      lib-git-svn.sh: Avoid setting web server variables unnecessarily
+      lib-git-svn.sh: Add check for mis-configured web server variables
+      t9501-*.sh: Fix a test failure on Cygwin
+      difftool: Fix failure on Cygwin
+
+René Scharfe (7):
+      add description parameter to OPT__VERBOSE
+      add description parameter to OPT__DRY_RUN
+      add description parameter to OPT__QUIET
+      add OPT__FORCE
+      archive: improve --verbose description
+      branch: improve --verbose description
+      verify-tag: document --verbose
+
+SZEDER Gábor (7):
+      bisect: improve error message of 'bisect log' while not bisecting
+      bisect: improve error msg of 'bisect reset' when original HEAD is deleted
+      bisect: check for mandatory argument of 'bisect replay'
+      bash: offer refs for 'git bisect start'
+      bash: not all 'git bisect' subcommands make sense when not bisecting
+      bash: support more 'git notes' subcommands and their options
+      bash: support pretty format aliases
+
+Santi Béjar (1):
+      parse-remote: handle detached HEAD
+
+Schalk, Ken (1):
+      t3030: Add a testcase for resolvable rename/add conflict with symlinks
+
+Sebastian Schuberth (3):
+      MinGW: Use pid_t more consequently, introduce uid_t for greater compatibility
+      MinGW: Add missing file mode bit defines
+      On Windows, avoid git-gui to call Cygwin's nice utility
+
+Shawn O. Pearce (2):
+      Use git_open_noatime when accessing pack data
+      Work around EMFILE when there are too many pack files
+
+Stefan Haller (2):
+      gitk: Prevent the text pane from becoming editable
+      gitk: Make text selectable on Mac
+
+Stephen Boyd (4):
+      send-email: Use To: headers in patch files
+      send-email: Don't leak To: headers between patches
+      parse-options: Don't call parse_options_check() so much
+      parse-options: do not infer PARSE_OPT_NOARG from option type
+
+Steven Walter (1):
+      git-svn: allow the mergeinfo property to be set
+
+Sven Eckelmann (1):
+      contrib/ciabot: git-describe commit instead of HEAD
+
+Tay Ray Chuan (4):
+      t5523-push-upstream: add function to ensure fresh upstream repo
+      t5523-push-upstream: test progress messages
+      format-patch: page output with --stdout
+      bash completion: add basic support for git-reflog
+
+Thiago Farina (3):
+      commit: Add commit_list prefix in two function names.
+      builtin/branch.c: Use ALLOC_GROW instead of alloc_nr and xrealloc.
+      builtin/rm.c: Use ALLOC_GROW instead of alloc_nr and xrealloc.
+
+Thomas Rast (3):
+      {cvs,svn}import: use the new 'git read-tree --empty'
+      t0003: properly quote $HOME
+      gitk: Add the equivalent of diff --color-words
+
+Torsten Bögershausen (1):
+      t9143: do not fail when unhandled.log.gz is not created
+
+Yann Dirson (1):
+      diff: use "find" instead of "detect" as prefix for long forms of -M and -C
+
+Ævar Arnfjörð Bjarmason (22):
+      send-email: use catfile() to concatenate files
+      send-email: use lexical filehandle for opendir
+      send-email: use lexical filehandles for $compose
+      send-email: use lexical filehandles during sending
+      send-email: get_patch_subject doesn't need a prototype
+      send-email: file_declares_8bit_cte doesn't need a prototype
+      send-email: unique_email_list doesn't need a prototype
+      send-email: cleanup_compose_files doesn't need a prototype
+      send-email: use \E***\Q instead of \*\*\*
+      send-email: sanitize_address use $foo, not "$foo"
+      send-email: sanitize_address use qq["foo"], not "\"foo\""
+      send-email: use (?:) instead of () if no match variables are needed
+      send-email: send_message die on $!, not $?
+      send-email: make_message_id use "require" instead of "use"
+      send-email: use Perl idioms in while loop
+      send-email: is_rfc2047_quoted use qr// regexes
+      send-email: extract_valid_address use qr// regexes
+      Makefile & configure: add a NO_FNMATCH flag
+      Makefile & configure: add a NO_FNMATCH_CASEFOLD flag
+      test-lib: make test_expect_code a test command
+      t7004-tag.sh: re-arrange git tag comment for clarity
+      tests: use test_cmp instead of piping to diff(1)
+
+Štěpán Němec (2):
+      CodingGuidelines: Add a section on writing documentation
+      diff,difftool: Don't use the {0,2} notation in usage strings
+
+
+Version v1.7.3.5; changes since v1.7.3.4:
+-----------------------------------------
+
+Brandon Casey (1):
+      test-lib.sh/test_decode_color(): use octal not hex in awk script
+
+Jakub Narebski (1):
+      gitweb: Include links to feeds in HTML header only for '200 OK' response
+
+Jeff King (1):
+      ident: die on bogus date format
+
+Jiang Xin (1):
+      Fix typo in git-gc document.
+
+Jonathan Nieder (2):
+      t0050: fix printf format strings for portability
+      gitweb: skip logo in atom feed when there is none
+
+Junio C Hamano (5):
+      commit: die before asking to edit the log message
+      am --abort: keep unrelated commits since the last failure and warn
+      rebase --skip: correctly wrap-up when skipping the last patch
+      Prepare for 1.7.3.5
+      Git 1.7.3.5
+
+Kevin Ballard (1):
+      status: Quote paths with spaces in short format
+
+Kirill Smelkov (2):
+      t/t8006: Demonstrate blame is broken when cachetextconv is on
+      fill_textconv(): Don't get/put cache if sha1 is not valid
+
+Mark Lodato (1):
+      fsck docs: remove outdated and useless diagnostic
+
+Michael J Gruber (2):
+      git-difftool.txt: correct the description of $BASE and describe $MERGED
+      difftool: provide basename to external tools
+
+Ramsay Allan Jones (1):
+      t3419-*.sh: Fix arithmetic expansion syntax error
+
+René Scharfe (1):
+      close file on error in read_mmfile()
+
+Robin H. Johnson (2):
+      Fix false positives in t3404 due to SHELL=/bin/false
+      t9001: Fix test prerequisites
+
+Thomas Rast (1):
+      userdiff: fix typo in ruby and python word regexes
+
+Vasyl' Vavrychuk (1):
+      trace.c: mark file-local function static
+
+
+Version v1.7.3.4; changes since v1.7.3.3:
+-----------------------------------------
+
+Alan Raison (1):
+      contrib/hooks/post-receive-email: fix return values from prep_for_email
+
+Alejandro R. Sedeño (1):
+      Add --force to git-send-email documentation
+
+Anders Kaseorg (1):
+      apply: Recognize epoch timestamps with : in the timezone
+
+Christoph Mallon (1):
+      diff --check: correct line numbers of new blank lines at EOF
+
+Clemens Buchacher (6):
+      t7607: use test-lib functions and check MERGE_HEAD
+      t7607: add leading-path tests
+      add function check_ok_to_remove()
+      lstat_cache: optionally return match_len
+      do not overwrite files in leading path
+      use persistent memory for rejected paths
+
+Federico Cuello (1):
+      Fix git-apply with -p greater than 1
+
+Gabriel Corona (2):
+      t5550: test HTTP authentication and userinfo decoding
+      Fix username and password extraction from HTTP URLs
+
+Jakub Narebski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Jari Aalto (1):
+      git-pull.txt: Mention branch.autosetuprebase
+
+Jeff King (2):
+      log.decorate: accept 0/1 bool values
+      reflogs: clear flags properly in corner case
+
+Jonathan "Duke" Leto (1):
+      Correct help blurb in checkout -p and friends
+
+Jonathan Nieder (4):
+      apply: handle patches with funny filename and colon in timezone
+      cherry-pick/revert: transparently refresh index
+      Documentation: split gitignore page into sections
+      Documentation: point to related commands from gitignore
+
+Junio C Hamano (5):
+      test: git-apply -p2 rename/chmod only
+      Do not link with -lcrypto under NO_OPENSSL
+      Prepare for 1.7.3.4
+      Prepare for 1.7.3.4
+      Git 1.6.4.5
+
+Kirill Smelkov (1):
+      setup: make sure git_dir path is in a permanent buffer, getenv(3) case
+
+Martin von Zweigbergk (2):
+      rebase --abort: do not update branch ref
+      rebase: only show stat if configured to true
+
+Michael J Gruber (6):
+      t/t7004-tag: test handling of rfc1991 signatures
+      verify-tag: factor out signature detection
+      tag: factor out sig detection for body edits
+      tag: factor out sig detection for tag display
+      tag: recognize rfc1991 signatures
+      git-rm.txt: Fix quoting
+
+Nguyễn Thái Ngọc Duy (1):
+      entry.c: remove "checkout-index" from error messages
+
+Nicolas Pitre (2):
+      diff: don't presume empty file when corresponding object is missing
+      make pack-objects a bit more resilient to repo corruption
+
+Tay Ray Chuan (10):
+      smart-http: Don't change POST to GET when following redirect
+      t5550-http-fetch: add missing '&&'
+      t5550-http-fetch: add test for http-fetch
+      shift end_url_with_slash() from http.[ch] to url.[ch]
+      url: add str wrapper for end_url_with_slash()
+      http-backend: use end_url_with_slash()
+      http-push: Normalise directory names when pushing to some WebDAV servers
+      http-push: check path length before using it
+      http-push: add trailing slash at arg-parse time, instead of later on
+      http-fetch: rework url handling
+
+Ævar Arnfjörð Bjarmason (2):
+      perl: bump the required Perl version to 5.8 from 5.6.[21]
+      perl: use "use warnings" instead of -w
+
+
+Version v1.7.3.3; changes since v1.7.3.2:
+-----------------------------------------
+
+Andreas Köhler (1):
+      submodule sync: Update "submodule.<name>.url" for empty directories
+
+Andrew Waters (1):
+      Fix handling of git-p4 on deleted files
+
+Brandon Casey (2):
+      userdiff.c: add builtin fortran regex patterns
+      builtin/revert.c: don't dereference a NULL pointer
+
+Brian Gernhardt (1):
+      t/gitweb-lib: Don't pass constant to decode_utf8
+
+Clemens Buchacher (3):
+      add rebase patch id tests
+      do not search functions for patch ID
+      do not overwrite untracked during merge from unborn branch
+
+David Kågedal (1):
+      git-blame.el: Add (require 'format-spec)
+
+Diego Elio Pettenò (1):
+      imap-send: link against libcrypto for HMAC and others
+
+Erik Faye-Lund (1):
+      mingw: do not set errno to 0 on success
+
+Giuseppe Bilotta (1):
+      CodingGuidelines: mention whitespace preferences for shell scripts
+
+Jan Krüger (2):
+      repack: add -F flag to let user choose between --no-reuse-delta/object
+      Documentation: pack.compression: explain how to recompress
+
+Jari Aalto (1):
+      git-commit.txt: (synopsis): move -i and -o before "--"
+
+Jeff King (6):
+      diff: don't use pathname-based diff drivers for symlinks
+      rev-list: handle %x00 NUL in user format
+      docs: give more hints about how "add -e" works
+      apply: don't segfault on binary files with missing data
+      docs: give more hints about how "add -e" works
+      document sigchain api
+
+Jens Lehmann (1):
+      pull: Remove --tags option from manpage
+
+Jim Meyering (1):
+      mailmap: fix use of freed memory
+
+Joe Perches (1):
+      git-send-email.perl: Deduplicate "to:" and "cc:" entries with names
+
+Jonathan Nieder (5):
+      t4203 (mailmap): stop hardcoding commit ids and dates
+      send-pack: avoid redundant "pack-objects died with strange error"
+      Documentation: document show -s
+      add: introduce add.ignoreerrors synonym for add.ignore-errors
+      Documentation: do not misinterpret pull refspec as bold text
+
+Junio C Hamano (5):
+      t4203: do not let "git shortlog" DWIM based on tty
+      t3402: test "rebase -s<strategy> -X<opt>"
+      Documentation: Fix mark-up of lines with more than one tilde
+      Git 1.7.0.8
+      Git 1.7.3.3
+
+Kevin Ballard (2):
+      test-lib: extend test_decode_color to handle more color codes
+      diff: handle lines containing only whitespace and tabs better
+
+Kevin P. Fleming (1):
+      post-receive-email: ensure sent messages are not empty
+
+Kirill Smelkov (3):
+      blame,cat-file: Prepare --textconv tests for correctly-failing conversion program
+      blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks
+      blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''
+
+Martin von Zweigbergk (2):
+      rebase -X: do not clobber strategy
+      Documentation/git-pull: clarify configuration
+
+Michael J Gruber (6):
+      git-reset.txt: clarify branch vs. branch head
+      git-reset.txt: reset does not change files in target
+      git-reset.txt: reset --soft is not a no-op
+      git-reset.txt: use "working tree" consistently
+      git-reset.txt: point to git-checkout
+      git-reset.txt: make modes description more consistent
+
+Nathan W. Panike (1):
+      Fix a formatting error in git-merge.txt
+
+Nguyễn Thái Ngọc Duy (3):
+      dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout
+      clean: avoid quoting twice
+      clean: remove redundant variable baselen
+
+René Scharfe (1):
+      diff: avoid repeated scanning while looking for funcname
+
+Thomas Rast (4):
+      send-email: Refuse to send cover-letter template subject
+      prefix_filename(): safely handle the case where pfx_len=0
+      merge-file: correctly find files when called in subdir
+      repack: place temporary packs under .git/objects/pack/
+
+Uwe Kleine-König (1):
+      get_author_ident_from_commit(): remove useless quoting
+
+Yann Dirson (3):
+      Fix copy-pasted comments related to tree diff handling.
+      Keep together options controlling the behaviour of diffcore-rename.
+      Document that rev-list --graph triggers parent rewriting.
+
+knittl (1):
+      bash: Match lightweight tags in prompt
+
+Ævar Arnfjörð Bjarmason (1):
+      Makefile: add CC to TRACK_CFLAGS
+
+
+Version v1.7.3.2; changes since v1.7.3.1:
+-----------------------------------------
+
+Andreas Gruenbacher (1):
+      Clarify and extend the "git diff" format documentation
+
+Antonio Ospite (1):
+      t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To'
+
+Bert Wesarg (1):
+      Documentation: update-index: -z applies also to --index-info
+
+Brandon Casey (1):
+      diffcore-pickaxe.c: remove unnecessary curly braces
+
+Cliff Frey (1):
+      documentation: git-config minor cleanups
+
+Elijah Newren (1):
+      t3020 (ls-files-error-unmatch): remove stray '1' from end of file
+
+Eric Wong (1):
+      Documentation/git-svn: discourage "noMetadata"
+
+Erik Faye-Lund (1):
+      do not depend on signed integer overflow
+
+Johannes Schindelin (2):
+      Make sure that git_getpass() never returns NULL
+      Fix typo in pack-objects' usage
+
+Jon Seymour (1):
+      stash: simplify parsing fixes
+
+Jonathan Nieder (10):
+      t0004 (unwritable files): simplify error handling
+      environment.c: remove unused variable
+      setup: make sure git dir path is in a permanent buffer
+      init: plug tiny one-time memory leak
+      xdiff: cast arguments for ctype functions to unsigned char
+      Documentation: No argument of ALLOC_GROW should have side-effects
+      Documentation: gitrevisions is in section 7
+      Documentation: diff can compare blobs
+      Documentation: expand 'git diff' SEE ALSO section
+      Documentation: update implicit "--no-index" behavior in "git diff"
+
+Junio C Hamano (4):
+      MinGW: avoid collisions between "tags" and "TAGS"
+      CodingGuidelines: reword parameter expansion section
+      shell portability: no "export VAR=VAL"
+      Git 1.7.3.2
+
+Kevin Ballard (1):
+      Update test script annotate-tests.sh to handle missing/extra authors
+
+Kirill Smelkov (1):
+      user-manual: be consistent in illustrations to 'git rebase'
+
+Mathias Lafeldt (1):
+      git-svn: fix processing of decorated commit hashes
+
+Matthieu Moy (1):
+      diff: trivial fix for --output file error message
+
+Michael J Gruber (4):
+      remote-helpers: build in platform independent directory
+      user-manual: fix anchor name Finding-comments-With-given-Content
+      rev-list-options: clarify --parents and --children
+      git-show-ref.txt: clarify the pattern matching
+
+Ramkumar Ramachandra (1):
+      SubmittingPatches: Document some extra tags used in commit messages
+
+René Scharfe (1):
+      work around buggy S_ISxxx(m) implementations
+
+Steven Walter (1):
+      git-svn: check_cherry_pick should exclude commits already in our history
+
+Tony Luck (1):
+      Better advice on using topic branches for kernel development
+
+Uwe Kleine-König (1):
+      Documentation/git-clone: describe --mirror more verbosely
+
+Yann Dirson (1):
+      t/t3415: use && where applicable.
+
+Štěpán Němec (6):
+      Use angles for placeholders consistently
+      Fix odd markup in --diff-filter documentation
+      Use parentheses and `...' where appropriate
+      Remove stray quotes in --pretty and --format documentation
+      Put a space between `<' and argument in pack-objects usage string
+      Fix {update,checkout}-index usage strings
+
+
+Version v1.7.3.1; changes since v1.7.3:
+---------------------------------------
+
+Brandon Casey (3):
+      t/t3903-stash: improve testing of git-stash show
+      wt-status.c: don't leak directory entries when processing untracked,ignored
+      git-send-email.perl: ensure $domain is defined before using it
+
+Brian Gernhardt (1):
+      git-stash: fix flag parsing
+
+Christian Couder (1):
+      t6050 (replace): fix bogus "fetch branch with replacement" test
+
+Daniel Knittl-Frank (1):
+      Improvements to `git checkout -h`
+
+Jeff King (1):
+      prefer test -h over test -L in shell scripts
+
+Jon Seymour (1):
+      stash: fix git stash branch regression when branch creation fails
+
+Junio C Hamano (2):
+      CodingGuidelines: spell Arithmetic Expansion with $(($var))
+      Git 1.7.3.1
+
+Linus Torvalds (1):
+      Fix missing 'does' in man-page for 'git checkout'
+
+Matthieu Moy (1):
+      update comment and documentation for :/foo syntax
+
+Michael J Gruber (1):
+      contrib/completion: --no-index option to git diff
+
+Pat Notz (2):
+      strbuf.h: fix comment typo
+      dir.c: squelch false uninitialized memory warning
+
+Ramsay Allan Jones (1):
+      t1503: Fix arithmetic expansion syntax error when using dash
+
+Tomas Carnecky (1):
+      stash drops the stash even if creating the branch fails because it already exists
+
+Wesley J. Landaker (1):
+      Documentation: Refer to git-commit-tree in git-filter-branch help
+
+
+Version v1.7.3; changes since v1.7.3-rc2:
+-----------------------------------------
+
+Brandon Casey (1):
+      t/t7300: workaround ancient touch by rearranging arguments
+
+Brian Gernhardt (1):
+      t7003: Use test_commit instead of custom function
+
+Chris Johnsen (1):
+      git-rebase--interactive.sh: replace cut with ${v%% *}
+
+Jay Soffian (1):
+      git-ls-files.txt: clarify -x/--exclude option
+
+Junio C Hamano (2):
+      ls-files documentation: reword for consistency
+      Git 1.7.3
+
+
+Version v1.7.3-rc2; changes since v1.7.3-rc1:
+---------------------------------------------
+
+Csaba Henk (2):
+      bundle: detect if bundle file cannot be created
+      filter-branch: retire --remap-to-ancestor
+
+Jens Lehmann (2):
+      Several tests: cd inside subshell instead of around
+      t1020: Get rid of 'cd "$HERE"' at the start of each test
+
+Jonathan Nieder (5):
+      tests: subshell indentation stylefix
+      t1450 (fsck): remove dangling objects
+      t2105 (gitfile): add missing &&
+      t1302 (core.repositoryversion): style tweaks
+      t2016 (checkout -p): add missing &&
+
+Junio C Hamano (3):
+      t3101: modernise style
+      ls-tree $di $dir: do not mistakenly recurse into directories
+      Git 1.7.3 rc2
+
+Matthieu Moy (1):
+      git-gui: use shell to launch textconv filter in "blame"
+
+Oded Shimon (1):
+      Add --src/dst-prefix to git-formt-patch in git-rebase.sh
+
+Pat Thoyts (6):
+      git-gui: Make usage statement visible on Windows.
+      git-gui: display error launching blame as a message box.
+      git-gui: handle textconv filter on Windows and in development
+      git-gui: ensure correct application termination in git-gui--askpass
+      git-gui: avoid mis-encoding the copyright message on Windows.
+      git-gui 0.13
+
+Peter Krefting (1):
+      git-gui: Update Swedish translation (521t).
+
+Ramsay Allan Jones (1):
+      vcs-svn: Fix some printf format compiler warnings
+
+René Scharfe (1):
+      compat/nedmalloc: don't force NDEBUG on the rest of git
+
+Schalk, Ken (1):
+      RE: [PATCH] Avoid rename/add conflict when contents are identical
+
+
+Version v1.7.3-rc1; changes since v1.7.3-rc0:
+---------------------------------------------
+
+Anselm Kruis (1):
+      Add a new option 'core.askpass'.
+
+Brandon Casey (10):
+      t/t5510: demonstrate failure to fetch when current branch has merge ref
+      builtin/fetch.c: ignore merge config when not fetching from branch's remote
+      t/t7008: workaround broken handling of \000 by printf on IRIX
+      Makefile: use compat regex on IRIX 6.5
+      builtin/fetch.c: comment that branch->remote_name is usable when has_merge
+      t/t5510-fetch.sh: improve testing with explicit URL and merge spec
+      diff.c: call regfree to free memory allocated by regcomp when necessary
+      xdiff-interface.c: always trim trailing space from xfuncname matches
+      t/t4018: test whether the word_regex patterns compile
+      t/t4018: avoid two unnecessary sub-shell invocations
+
+Elijah Newren (2):
+      cache_tree_free: Fix small memory leak
+      revert: Fix trivial comment style issue
+
+Jeff King (3):
+      pass "git -c foo=bar" params through environment
+      tests: make test_must_fail more verbose
+      tests: make test_must_fail fail on missing commands
+
+Jens Lehmann (1):
+      t3404 & t7508: cd inside subshell instead of around
+
+Johan Herland (1):
+      notes: Don't create (empty) commit when removing non-existing notes
+
+Johannes Sixt (1):
+      fast-export: ensure that a renamed file is printed after all references
+
+Jonathan Nieder (3):
+      do not pass "git -c foo=bar" params to transport helpers
+      tests: make test_might_fail more verbose
+      tests: make test_might_fail fail on missing commands
+
+Junio C Hamano (3):
+      install-webdoc: keep installed RelNotes-*.txt
+      Prepare for 1.7.3 rc1
+      Git 1.7.3 rc1
+
+Knut Franke (2):
+      Allow core.askpass to override SSH_ASKPASS.
+      Extend documentation of core.askpass and GIT_ASKPASS.
+
+Mark Lodato (1):
+      config.txt: fix placement of diff.noprefix
+
+Nicolas Pitre (1):
+      Documentation: move RelNotes into a directory of their own
+
+Thiago Farina (2):
+      builtin.h: Move two functions definitions to help.h.
+      builtin/clean.c: Use STRING_LIST_INIT_NODUP.
+
+
+Version v1.7.3-rc0; changes since v1.7.2.5:
+-------------------------------------------
+
+Alejandro R. Sedeño (1):
+      gitweb: move highlight config out of guess_file_syntax()
+
+Alex Riesen (2):
+      Add a for_each_string_list_item macro
+      Convert the users of for_each_string_list to for_each_string_list_item macro
+
+Alexander Gladysh (1):
+      Add a rename + D/F conflict testcase
+
+Anders Kaseorg (1):
+      gitweb: Don't die_error in git_tag after already printing headers
+
+Brandon Casey (2):
+      git-rebase--interactive.sh: rework skip_unnecessary_picks
+      git-rebase--interactive.sh: use printf instead of echo to print commit message
+
+Brian Gernhardt (2):
+      t7610: cd inside subshell instead of around
+      t7606: Avoid using head as a file name
+
+Charles Bailey (1):
+      mergetool: Remove explicit references to /dev/tty
+
+Christian Couder (11):
+      revert: report success when using option --strategy
+      revert: refactor commit code into a new run_git_commit() function
+      revert: don't print "Finished one cherry-pick." if commit failed
+      revert: improve success message by adding abbreviated commit sha1
+      t3508: add check_head_differs_from() helper function and use it
+      revert: fix off by one read when searching the end of a commit subject
+      revert: refactor code to find commit subject in find_commit_subject()
+      revert: rename variables related to subject in get_message()
+      bisect: use find_commit_subject() instead of custom code
+      merge-recursive: use find_commit_subject() instead of custom code
+      blame: use find_commit_subject() instead of custom code
+
+Clemens Buchacher (1):
+      hash binary sha1 into patch id
+
+David Aguilar (1):
+      mergetool: Skip autoresolved paths
+
+David Barr (5):
+      Add memory pool library
+      Add string-specific memory pool
+      Add stream helper library
+      Infrastructure to write revisions in fast-export format
+      SVN dump parser
+
+David D. Kilzer (3):
+      git svn: fix dcommit to work with touched files
+      git-svn: fix regex to remove "tail" from svn tags
+      git-svn: fix fetch with deleted tag
+
+Diane Gasselin (2):
+      merge-recursive: porcelain messages for checkout
+      t7609: test merge and checkout error messages
+
+Dmitry Statyvka (1):
+      git svn: add an option to recode pathnames
+
+Elijah Newren (13):
+      Add additional testcases for D/F conflicts
+      merge-recursive: Fix D/F conflicts
+      merge_recursive: Fix renames across paths below D/F conflicts
+      fast-export: Fix output order of D/F changes
+      fast-import: Improve robustness when D->F changes provided in wrong order
+      fast-export: Fix dropping of files with --import-marks and path limiting
+      fast-export: Add a --full-tree option
+      upload-pack: Improve error message when bad ref requested
+      Mark tests that use symlinks as needing SYMLINKS prerequisite
+      merge-recursive: Fix typo
+      t6031: Add a testcase covering multiple renames across a D/F conflict
+      merge-recursive: Fix multiple file rename across D/F conflict
+      merge-recursive: Avoid excessive output for and reprocessing of renames
+
+Eric Wong (4):
+      instaweb: fix WEBrick server support
+      instaweb: minimize moving parts for WEBrick
+      instaweb: add access+error logging for WEBrick
+      t9155: fix compatibility with older SVN
+
+Eyvind Bernhardsen (3):
+      Avoid conflicts when merging branches with mixed normalization
+      Try normalizing files to avoid delete/modify conflicts when merging
+      Don't expand CRLFs when normalizing text during merge
+
+Frank Li (1):
+      Change regerror() declaration from K&R style to ANSI C (C89)
+
+Greg Brockman (1):
+      split_cmdline: Allow caller to access error string
+
+Heiko Voigt (4):
+      Teach ref iteration module about submodules
+      setup_revisions(): Allow walking history in a submodule
+      Implement automatic fast-forward merge for submodules
+      add configuration variable for --autosquash option of interactive rebase
+
+Jakub Narebski (1):
+      gitweb: Fix typo in run() subroutine
+
+Jared Hance (5):
+      Convert "! git" to "test_must_fail git"
+      Add -e/--exclude to git-clean.
+      Add test for git clean -e.
+      builtin/push.c: remove useless temporary variable
+      Document git-instaweb start/stop/restart
+
+Jason Evans (1):
+      Add treap implementation
+
+Jeff King (1):
+      docs: fix Makefile dependency for user manual
+
+Jens Lehmann (7):
+      Submodules: Add the new "ignore" config option for diff and status
+      Submodules: Use "ignore" settings from .gitmodules too for diff and status
+      Add tests for the diff.ignoreSubmodules config option
+      checkout: Add test for diff.ignoreSubmodules
+      checkout: Use submodule.*.ignore settings from .git/config and .gitmodules
+      t7405: cd inside subshell instead of around
+      t7406 & t7407: add missing && at end of lines
+
+Johan Herland (2):
+      Make graph_next_line() available in the graph.h API
+      Enable custom schemes for column colors in the graph API
+
+Johannes Schindelin (2):
+      Add the 'diff.ignoreSubmodules' config setting
+      checkout: respect diff.ignoreSubmodules setting
+
+Johannes Sixt (1):
+      Fix compat/regex ANSIfication on MinGW
+
+Jon Seymour (14):
+      detached-stash: introduce parse_flags_and_revs function
+      detached-stash: work around git rev-parse failure to detect bad log refs
+      detached-stash: simplify stash_apply
+      detached-stash: simplify stash_drop
+      detached-stash: refactor git stash pop implementation
+      detached-stash: simplify git stash branch
+      detached-stash: simplify git stash show
+      detached-stash: tests of git stash with stash-like arguments
+      detached-stash: update Documentation
+      rev-parse: exit with non-zero status if ref@{n} is not valid.
+      sha1_name.c: use warning in preference to fprintf(stderr
+      rev-parse: tests git rev-parse --verify master@{n}, for various n
+      t1503: fix broken test_must_fail calls
+      t3903: fix broken test_must_fail calls
+
+Jonathan Nieder (89):
+      Teach fast-import to import subtrees named by tree id
+      Export parse_date_basic() to convert a date string to timestamp
+      t1501 (rev-parse): clarify
+      tests: try git apply from subdir of toplevel
+      setup: split off $GIT_DIR-set case from setup_git_directory_gently
+      setup: split off a function to checks working dir for .git file
+      setup: split off code to handle stumbling upon a repository
+      setup: split off a function to handle hitting ceiling in repo search
+      setup: split off get_device_or_die helper
+      t1011 (sparse checkout): style nitpicks
+      gitweb: allow configurations that change with each request
+      t4111 (apply): refresh index before applying patches to it
+      diff: split off a function for --stat-* option parsing
+      t6038 (merge.renormalize): style nitpicks
+      t6038 (merge.renormalize): try checkout -m and cherry-pick
+      t6038 (merge.renormalize): check that it can be turned off
+      merge-trees: push choice to renormalize away from low level
+      merge-trees: let caller decide whether to renormalize
+      Documentation/technical: document ll_merge
+      ll-merge: make flag easier to populate
+      ll-merge: let caller decide whether to renormalize
+      t4200 (rerere): modernize style
+      rerere: migrate to parse-options API
+      rerere: never renormalize
+      merge-recursive --renormalize
+      Introduce vcs-svn lib
+      Update svn-fe manual
+      svn-fe manual: Clarify warning about deltas in dump files
+      vcs-svn: remove build artifacts on "make clean"
+      treap: style fix
+      compat: add strtok_r()
+      vcs-svn: Rename dirent pool to build on Windows
+      vcs-svn: Avoid %z in format string
+      t9010 (svn-fe): use Unix-style path in URI
+      t9010 (svn-fe): avoid symlinks in test
+      Eliminate “Finished cherry-pick/revert” message
+      Introduce advise() to print hints
+      cherry-pick/revert: Use error() for failure message
+      cherry-pick/revert: Use advise() for hints
+      t7606 (merge-theirs): modernize style
+      merge: let custom strategies intervene in trivial merges
+      t7006 (pager): add missing TTY prerequisites
+      merge: do not mistake (ancestor of) tag for branch
+      t7600 (merge): modernize style
+      t7600 (merge): do not launch gitk for --debug
+      t7600 (merge): check reflog entry
+      t7600 (merge): test merge from branch yet to be born
+      t6010 (merge-base): modernize style
+      t6200 (fmt-merge-msg): style nitpicks
+      Documentation: add a SEE ALSO section for merge-base
+      merge-base --octopus to mimic show-branch --merge-base
+      merge-base --independent to print reduced parent list in a merge
+      fmt-merge-msg -m to override merge title
+      merge script: --squash, --ff from unborn branch are errors
+      merge script: tweak unmerged files message to match builtin
+      merge script: refuse to merge during merge
+      merge script: improve log message subject
+      merge script: merge -X<option>
+      merge script: allow custom strategies
+      merge script: forbid merge -s index
+      merge script: handle -m --log correctly
+      merge script: handle many-way octopus
+      merge script: --ff-only to disallow true merge
+      merge script: handle --no-ff --no-commit correctly
+      merge script: notice @{-1} shorthand
+      merge script: learn --[no-]rerere-autoupdate
+      autoconf: don't use platform regex if it lacks REG_STARTEND
+      Documentation: set a !DOCTYPE for user manual
+      Documentation: tweak description of log.date
+      Documentation: quoting trouble in "git rm" discussion
+      Documentation: unbreak regex in show-ref manual
+      Documentation: clarify quoting in "git add" example
+      Documentation: add missing quotes to "git grep" examples
+      Documentation: clarify quoting in "git rm" example
+      Documentation: clarify quoting in gitignore docs
+      Documentation: remove backslashes in manpage synopses
+      Documentation/technical: avoid stray backslash in parse-options API docs
+      Documentation: remove stray backslash from "git bundle" manual
+      Documentation: remove backslash before ~ in fast-import manual
+      Documentation: remove stray backslashes in rev-parse manual
+      Documentation: avoid stray backslashes in core tutorial
+      Documentation: avoid stray backslash in user manual
+      Documentation: do not convert ... operator to ellipses
+      Documentation: remove stray backslashes from "Fighting regressions" article
+      Documentation: remove stray backslash in show-branch discussion
+      apply: split quoted filename handling into new function
+      tests: exercise "git apply" with weird filenames
+      apply: handle traditional patches with space in filename
+      tests: simplify "missing PREREQ" message
+
+Junio C Hamano (6):
+      cvs tests: do not touch test CVS repositories shipped with source
+      compat/regex: get rid of old-style definition
+      autoconf: regex library detection typofix
+      Work around em-dash handling in newer AsciiDoc
+      install-webdoc: filter timestamp-only changes correctly
+      Prepare for 1.7.3
+
+Kevin P. Fleming (1):
+      post-receive-email: optional message line count limit
+
+Matthieu Moy (14):
+      diff: parse separate options like -S foo
+      diff: parse separate options --stat-width n, --stat-name-width n
+      log: parse separate options like git log --grep foo
+      log: parse separate option for --glob
+      rebase -i: add exec command to launch a shell command
+      test-lib: user-friendly alternatives to test [-d|-f|-e]
+      Turn unpack_trees_options.msgs into an array + enum
+      merge-recursive: distinguish "removed" and "overwritten" messages
+      unpack_trees: group error messages by type
+      tests: factor HOME=$(pwd) in test-lib.sh
+      Move set_porcelain_error_msgs to unpack-trees.c and rename it
+      setup_unpack_trees_porcelain: take the whole options struct as parameter
+      Move "show_all_errors = 1" to setup_unpack_trees_porcelain()
+      t7609-merge-co-error-msgs: test non-fast forward case too.
+
+Michael J Gruber (3):
+      git-bundle.txt: Cleanup
+      git-bundle.txt: whitespace cleanup
+      git-bundle.txt: Clarify rev-list-args restrictions
+
+Mike Lundy (1):
+      rebase: support -X to pass through strategy options
+
+Nguyễn Thái Ngọc Duy (22):
+      upload-pack: remove unused "create_full_pack" code in do_rev_list
+      setup: do not forget working dir from subdir of gitdir
+      Revert "rehabilitate 'git index-pack' inside the object store"
+      setup: split off a function to handle ordinary .git directories
+      unpack-trees: only clear CE_UPDATE|CE_REMOVE when skip-worktree is always set
+      unpack-trees: let read-tree -u remove index entries outside sparse area
+      unpack-trees: do not check for conflict entries too early
+      unpack-trees: mark new entries skip-worktree appropriately
+      git wrapper: introduce startup_info struct
+      setup: remember whether repository was found
+      git wrapper: allow setup_git_directory_gently() be called earlier
+      shortlog: run setup_git_directory_gently() sooner
+      grep: run setup_git_directory_gently() sooner
+      apply: run setup_git_directory_gently() sooner
+      bundle: run setup_git_directory_gently() sooner
+      config: run setup_git_directory_gently() sooner
+      index-pack: run setup_git_directory_gently() sooner
+      ls-remote: run setup_git_directory_gently() sooner
+      var: run setup_git_directory_gently() sooner
+      merge-file: run setup_git_directory_gently() sooner
+      clone: warn users --depth is ignored in local clones
+      parse_object: pass on the original sha1, not the replaced one
+
+Petr Onderka (1):
+      Userdiff patterns for C#
+
+Ralf Wildenhues (1):
+      Typos in code comments, an error message, documentation
+
+Ramkumar Ramachandra (1):
+      builtin/checkout: Fix message when switching to an existing branch
+
+Spencer E. Olson (1):
+      Allow HTTP user agent string to be modified.
+
+Steven Walter (1):
+      git svn: URL-decode left-hand side of svn refspec
+
+Sverre Rabbelier (1):
+      config: add --local option
+
+Tay Ray Chuan (4):
+      add tests for checkout -b
+      builtin/checkout: reword hint for -b
+      builtin/checkout: learn -B
+      builtin/checkout: handle -B from detached HEAD correctly
+
+Thiago Farina (2):
+      string_list: Add STRING_LIST_INIT macro and make use of it.
+      object.h: Add OBJECT_ARRAY_INIT macro and make use of it.
+
+Thomas Rast (4):
+      Do not unquote + into ' ' in URLs
+      ls-files: learn a debugging dump format
+      Makefile: make gcov invocation configurable
+      test: Introduce $GIT_BUILD_DIR
+
+Ævar Arnfjörð Bjarmason (59):
+      sha1_file: Show the the type and path to corrupt objects
+      tests: Ignore the Test::Harness .prove file
+      t/t6035-merge-dir-to-symlink.sh: Remove TODO on passing test
+      SubmittingPatches: Clarify the Signed-off-by rules
+      SubmittingPatches: Cite the 50 char subject limit
+      perl/Makefile: Unset INSTALL_BASE when making perl.mak
+      test-lib: Don't write test-results when HARNESS_ACTIVE
+      test-lib: Add support for multiple test prerequisites
+      test-lib: Print missing prerequisites in test output
+      t/README: Document the predefined test prerequisites
+      tests: A SANITY test prereq for testing if we're root
+      test-lib: Multi-prereq support only checked the last prereq
+      tests: Infrastructure for Git smoke testing
+      t/README: Document the Smoke testing
+      t/Makefile: Can't include GIT-BUILD-OPTIONS, it's a .sh
+      t/README: Add SMOKE_{COMMENT,TAGS}= to smoke_report target
+      gitignore: Ignore files generated by "make coverage"
+      Makefile: Include subdirectories in "make cover" reports
+      Makefile: Split out the untested functions target
+      Makefile: Add cover_db target
+      Makefile: Add cover_db_html target
+      t/README: A new section about test coverage
+      t/README: Add a note about the dangers of coverage chasing
+      tests: implicitly skip SYMLINKS tests using <prereq>
+      t/t4004-diff-rename-symlink.sh: use three-arg <prereq>
+      t/t5800-remote-helpers.sh: Skip with prereq on python <2.4
+      t/t7800-difftool.sh: Skip with prereq on no PERL
+      t/README: Update "Skipping tests" to align with best practices
+      t/t1304-default-acl: change from skip_all=* to prereq skip
+      t/t5705-clone-2gb: change from skip_all=* to prereq skip
+      t/t7005-editor: change from skip_all=* to prereq skip
+      t/t5503-tagfollow: change from skip_all=* to prereq skip
+      t/t4016-diff-quote: change from skip_all=* to prereq skip
+      t/t3902-quoted: change from skip_all=* to prereq skip
+      t/t3300-funny-names: change from skip_all=* to prereq skip
+      git-notes: Run partial expensive test everywhere
+      t/Makefile: Create test-results dir for smoke target
+      tests: Move FILEMODE prerequisite to lib-prereq-FILEMODE.sh
+      t/t3701-add-interactive.sh: change from skip_all=* to prereq skip
+      lib-patch-mode tests: change from skip_all=* to prereq skip
+      t/t9600-cvsimport.sh: change from skip_all=* to prereq skip
+      t/t9001-send-email.sh: Remove needless PROG=* assignment
+      t/t9001-send-email.sh: change from skip_all=* to prereq skip
+      t/t9001-send-email.sh: convert setup code to tests
+      t/t7105-reset-patch.sh: Add a PERL prerequisite
+      t/t9601-cvsimport-vendor-branch.sh: Add a PERL prerequisite
+      t/t9602-cvsimport-branches-tags.sh: Add a PERL prerequisite
+      tests: fix syntax error in "Use advise() for hints" test
+      compat/regex: use the regex engine from gawk for compat
+      compat/regex: get the gawk regex engine to compile within git
+      compat/regex: define out variables only used under RE_ENABLE_I18N
+      t/t9010-svn-fe.sh: add an +x bit to this test
+      t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND
+      reset: suggest what to do upon "git reset --mixed <paths>"
+      test-lib: Use $TEST_DIRECTORY or $GIT_BUILD_DIR instead of $(pwd) and ../
+      test-lib: Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY"/../
+      test-lib: Allow overriding of TEST_DIRECTORY
+      t/t0000-basic.sh: Run the passing TODO test inside its own test-lib
+      test-lib: use subshell instead of cd $new && .. && cd $old
+
+
+Version v1.7.2.5; changes since v1.7.2.4:
+-----------------------------------------
+
+Jakub Narebski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Junio C Hamano (1):
+      Git 1.6.4.5
+
+
+Version v1.7.2.4; changes since v1.7.2.3:
+-----------------------------------------
+
+Brandon Casey (2):
+      diff.c: call regfree to free memory allocated by regcomp when necessary
+      xdiff-interface.c: always trim trailing space from xfuncname matches
+
+Elijah Newren (2):
+      cache_tree_free: Fix small memory leak
+      revert: Fix trivial comment style issue
+
+Jared Hance (1):
+      Fix whitespace issue in object.c
+
+Jari Aalto (1):
+      git-commit.txt: (synopsis): move -i and -o before "--"
+
+Jens Lehmann (1):
+      t5505: add missing &&
+
+Jonathan Nieder (1):
+      add: introduce add.ignoreerrors synonym for add.ignore-errors
+
+Junio C Hamano (3):
+      tag.c: whitespace breakages fix
+      t3101: modernise style
+      Git 1.7.0.8
+
+Mark Lodato (1):
+      config.txt: fix placement of diff.noprefix
+
+René Scharfe (1):
+      compat/nedmalloc: don't force NDEBUG on the rest of git
+
+knittl (1):
+      bash: Match lightweight tags in prompt
+
+
+Version v1.7.2.3; changes since v1.7.2.2:
+-----------------------------------------
+
+Brandon Casey (2):
+      Makefile: link builtins residing in bin directory to main git binary too
+      Makefile: make hard/symbolic links for non-builtins too
+
+Daniel Johnson (1):
+      fetch: allow command line --tags to override config
+
+David Aguilar (1):
+      submodule sync: Update "submodule.<name>.url"
+
+Elijah Newren (3):
+      t5520-pull: Add testcases showing spurious conflicts from git pull --rebase
+      pull --rebase: Avoid spurious conflicts and reapplying unnecessary patches
+      tree-walk: Correct bitrotted comment about tree_entry()
+
+Greg Price (1):
+      pack-refs: remove newly empty directories
+
+Jay Soffian (1):
+      for-each-ref: fix objectname:short bug
+
+Jens Lehmann (1):
+      t7403: add missing &&'s
+
+Jonathan Nieder (12):
+      t4150 (am): style fix
+      t4150 (am): futureproof against failing tests
+      t3400 (rebase): whitespace cleanup
+      archive: abbreviate substituted commit ids again
+      checkout, commit: remove confusing assignments to rev.abbrev
+      examples/commit: use --abbrev for commit summary
+      Documentation: flesh out “git pull” description
+      core: Stop leaking ondisk_cache_entrys
+      read-tree: stop leaking tree objects
+      write-tree: Avoid leak when index refers to an invalid object
+      t3302 (notes): Port to Solaris
+      parse-options: clarify PARSE_OPT_NOARG description
+
+Junio C Hamano (6):
+      Teach "apply --index-info" to handle rename patches
+      rebase: protect against diff.renames configuration
+      diff --follow: do not waste cycles while recursing
+      diff --follow: do call diffcore_std() as necessary
+      Prepare for 1.7.2.3
+      Git 1.7.2.3
+
+Linus Torvalds (1):
+      Fix 'git log' early pager startup error case
+
+Mark Rada (1):
+      Tell ignore file about generate files in /gitweb/static
+
+Matthieu Moy (2):
+      xmalloc: include size in the failure message
+      t0003: add missing && at end of lines
+
+Nicolas Pitre (1):
+      fix >4GiB source delta assertion failure
+
+Ralf Wildenhues (1):
+      Typos in code comments, an error message, documentation
+
+SZEDER Gábor (2):
+      mingw_utime(): handle NULL times parameter
+      rerere: fix overeager gc
+
+Thiago Farina (1):
+      builtin/merge_recursive.c: Add an usage string and make use of it.
+
+Thomas Rast (5):
+      Documentation/git-reset: reorder modes for soft-mixed-hard progression
+      Documentation/reset: separate options by mode
+      Documentation/reset: promote 'examples' one section up
+      Documentation/reset: reorder examples to match description
+      Documentation/reset: move "undo permanently" example behind "make topic"
+
+Ville Skyttä (1):
+      Documentation: spelling fixes
+
+Ævar Arnfjörð Bjarmason (1):
+      log: test for regression introduced in v1.7.2-rc0~103^2~2
+
+
+Version v1.7.2.2; changes since v1.7.2.1:
+-----------------------------------------
+
+Brad King (1):
+      Documentation: cite git-am from git-apply
+
+Brandon Casey (1):
+      t/t7003: replace \t with literal tab in sed expression
+
+Clément Poulain (1):
+      git-gui: use textconv filter for diff and blame
+
+David D. Kilzer (1):
+      Fix git rebase --continue to work with touched files
+
+Heiko Voigt (5):
+      git-gui: check whether systems nice command works or disable it
+      git-gui: fix usage of themed widgets variable
+      git-gui: fix usage of _gitworktree when creating shortcut for windows
+      git-gui: fix PATH environment for mingw development environment
+      git-gui: fix shortcut creation on cygwin
+
+Jakub Narebski (1):
+      diff: strip extra "/" when stripping prefix
+
+Jonathan Nieder (7):
+      check-ref-format: handle subcommands in separate functions
+      Allow "check-ref-format --branch" from subdirectory
+      Makefile: add missing dependencies on url.h
+      Makefile: add missing dependency on http.h
+      Documentation: add a FILES section for show-ref
+      gitweb: clarify search results page when no matching commit found
+      Standardize do { ... } while (0) style
+
+Junio C Hamano (4):
+      Fix DIFF_QUEUE_CLEAR refactoring
+      Documentation: reporting bugs
+      sha1_name.c: fix parsing of ":/token" syntax
+      Git 1.7.2.2
+
+Markus Heidelberg (1):
+      git-gui: fix "Explore Working Copy" for Windows again
+
+Matthieu Moy (5):
+      Document ls-files -t as semi-obsolete.
+      pretty-options.txt: match --format's documentation with implementation.
+      Document -B<n>[/<m>], -M<n> and -C<n> variants of -B, -M and -C
+      post-receive-email: remove spurious commas in email subject
+      push: mention "git pull" in error message for non-fast forwards
+
+Michael J Gruber (1):
+      Documentation/git-log: Clarify --full-diff
+
+Nelson Elhage (1):
+      index-pack: Don't follow replace refs.
+
+Pat Thoyts (4):
+      git-gui: Handle failure of core.worktree to identify the working directory.
+      git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
+      git-gui: mc cannot be used before msgcat has been loaded
+      git-gui: fix size and position of window panes on startup
+
+Raja R Harinath (1):
+      fast-import: export correctly marks larger than 2^20-1
+
+Ramkumar Ramachandra (2):
+      contrib/svn-fe: Fix IncludePath
+      contrib/svn-fe: Add the svn-fe target to .gitignore
+
+René Scharfe (2):
+      notes: allow --dry-run for -n and --verbose for -v
+      prune: allow --dry-run for -n and --verbose for -v
+
+Shawn O. Pearce (1):
+      smart-http: Don't deadlock on server failure
+
+Thomas Rast (3):
+      xsize_t: check whether we lose bits
+      Documentation/rev-parse: quoting is required with --parseopt
+      t7003: fix subdirectory-filter test
+
+Willy Tarreau (1):
+      git-rebase: fix typo when parsing --force-rebase
+
+Ævar Arnfjörð Bjarmason (4):
+      test-lib: Ignore --quiet under a TAP harness
+      test-lib: Remove 3 year old no-op --no-python option
+      imap-send: Fix sprintf usage
+      t/lib-git-svn.sh: use $PERL_PATH for perl, not perl from $PATH
+
+
+Version v1.7.2.1; changes since v1.7.2:
+---------------------------------------
+
+Brandon Casey (1):
+      git-rebase--interactive.sh: use printf instead of echo to print commit message
+
+Dan McGee (3):
+      git-instaweb: Fix custom apache log placement
+      git-instaweb: Fix Apache environment variable passing
+      git-instaweb: Don't assume Apache executable is named apache2
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Johannes Sixt (1):
+      t3700-add: fix dependence on stdout and stderr buffering
+
+Jon Seymour (1):
+      INSTALL: configure /etc/xml/catalog to build docs on Cygwin
+
+Jonathan Nieder (1):
+      config --get --path: check for unset $HOME
+
+Junio C Hamano (3):
+      Git 1.7.0.7
+      Git 1.7.1.2
+      Git 1.7.2.1
+
+Matthieu Moy (1):
+      Clarify help message when no remote is specified in fetch/pull.
+
+Nathan W. Panike (1):
+      Add a google-chrome option for web--browse
+
+Nguyễn Thái Ngọc Duy (1):
+      git-read-tree.txt: acknowledge the directory matching bug in sparse checkout
+
+Stephen Boyd (2):
+      request-pull.txt: Document -p option
+      commit: remove full stop from usage help for -u
+
+Thomas Rast (5):
+      Cast execl*() NULL sentinels to (char *)
+      Document receive.denyDeleteCurrent
+      Documentation/git-push: Explain status output in more detail
+      Fix 'git' wrapper usage string
+      Makefile: add check-docs exception for gitrevisions
+
+
+Version v1.7.2; changes since v1.7.2-rc3:
+-----------------------------------------
+
+Brandon Casey (6):
+      Makefile: remove some unnecessary curly braces
+      Makefile: work around ksh's failure to handle missing list argument to for loop
+      t/README: clarify test_must_fail description
+      t/t3700: convert two uses of negation operator '!' to use test_must_fail
+      t/{t5541,lib-httpd}: replace problematic '!()' notation with test_must_fail
+      t/: work around one-shot variable assignment with test_must_fail
+
+David Aguilar (1):
+      Documentation: Explain git-mergetool's use of temporary files
+
+Eli Barzilay (1):
+      Reorganize `git-log' man page to clarify common diff options.
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Jay Soffian (1):
+      MERGE_RR is in .git, not .git/rr-cache
+
+Jens Lehmann (2):
+      git add: Add the "--ignore-missing" option for the dry run
+      git submodule add: Require the new --force option to add ignored paths
+
+Jonathan Nieder (9):
+      t7006 (pager): introduce helper for parameterized tests
+      t7006: test pager configuration for several git commands
+      tests: local config file should be honored from subdirs of toplevel
+      t3000 (ls-files -o): modernize style
+      git --paginate: paginate external commands again
+      gitmodules.5: url can be a relative path
+      Documentation: add submodule.* to the big configuration variable list
+      Add a sample user for the svndump library
+      t/README: correct an exception when breaking a && chain in tests
+
+Junio C Hamano (7):
+      rebase-i: style fix
+      rebase-i: do not get fooled by a log message ending with backslash
+      do not write out index when status does not have to
+      diff A...B: give one possible diff when there are more than one merge-base
+      diff A...B: do not limit the syntax too narrowly
+      tests: correct "does reflog exist?" tests
+      Git 1.7.2
+
+Michael J Gruber (3):
+      Documentation: split off rev doc into include file
+      Documentation: gitrevisions
+      Documentation: link to gitrevisions rather than git-rev-parse
+
+Nazri Ramliy (1):
+      grep -O: Do not pass color sequences as filenames to pager
+
+Nguyễn Thái Ngọc Duy (1):
+      git --paginate: do not commit pager choice too early
+
+Nicolas Sebrecht (1):
+      merge-recursive: use "up-to-date" instead of "uptodate" in error message for consistency
+
+Pavan Kumar Sunkara (1):
+      gitweb: fix esc_url
+
+Ralf Thielow (1):
+      update-server-info: Shorten read_pack_info_file()
+
+Sergey Vlasov (1):
+      git-svn: write memoized data explicitly to avoid Storable bug
+
+Thomas Rast (1):
+      Only run aggregate-results over actual counts
+
+Will Palmer (2):
+      add basic tests for merge-tree
+      merge-tree: fix where two branches share no changes
+
+Ævar Arnfjörð Bjarmason (3):
+      git submodule: add submodules with git add -f <path>
+      git submodule add: Remove old docs about implicit -f
+      git add: Add --ignore-missing to SYNOPSIS
+
+
+Version v1.7.2-rc3; changes since v1.7.2-rc2:
+---------------------------------------------
+
+Bo Yang (1):
+      diff.c: fix a graph output bug
+
+Fredrik Skolmli (1):
+      Documentation: Spelling fix in protocol-capabilities.txt
+
+Johannes Sixt (1):
+      t0005: work around strange $? in ksh when program terminated by a signal
+
+Jonathan Nieder (1):
+      t9118 (git-svn): prevent early failure from taking down later tests
+
+Junio C Hamano (2):
+      Fix "read-tree -m A B" priming the cache-tree
+      Git 1.7.2-rc3
+
+Michael J Gruber (3):
+      t9118: avoid PEG revision identifier in tests
+      test-lib: simplify GIT_SKIP_TESTS loop
+      test-lib: TAP compliance for skipping tests on request
+
+Miklos Vajna (1):
+      format-patch: document the format.to configuration setting
+
+Nicolas Sebrecht (1):
+      checkout: accord documentation to what git does
+
+Oren Held (1):
+      git fetch documentation: describe short '-p' synonym to '--prune' option
+
+Raja R Harinath (1):
+      Use dev_t for device id (st_dev) from stat in setup_git_directory_gently()
+
+Ævar Arnfjörð Bjarmason (1):
+      tests: Use skip_all=* to skip tests
+
+
+Version v1.7.2-rc2; changes since v1.7.2-rc1:
+---------------------------------------------
+
+Brandon Casey (2):
+      t/t9700/test.pl: don't access private object members, use public access methods
+      t/t0006: specify timezone as EST5 not EST to comply with POSIX
+
+Chris Packham (1):
+      Documentation/git-gc.txt: add reference to githooks
+
+Dylan Reid (1):
+      xdiff: optimise for no whitespace difference when ignoring whitespace.
+
+Heiko Voigt (1):
+      add missing && to submodule-merge testcase
+
+Jakub Narebski (1):
+      gitweb: Move evaluate_gitweb_config out of run_request
+
+Jeff King (3):
+      t0006: test timezone parsing
+      parse_date: fix signedness in timezone calculation
+      test-date: fix sscanf type conversion
+
+Jonathan Nieder (1):
+      t/README: document more test helpers
+
+Junio C Hamano (4):
+      Updates from the list to 1.7.2 Release Notes
+      t/README: proposed rewording...
+      backmerge a few more fixes to 1.7.1.X series
+      Git 1.7.2-rc2
+
+Michael J Gruber (1):
+      rerere.txt: Document forget subcommand
+
+Pierre Habouzit (1):
+      fix git branch -m in presence of cross devices
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+Ævar Arnfjörð Bjarmason (13):
+      test-lib: Adjust output to be valid TAP format
+      test-lib: Make the test_external_* functions TAP-aware
+      test-lib: output a newline before "ok" under a TAP harness
+      tests: Skip tests in a way that makes sense under TAP
+      tests: Say "pass" rather than "ok" on empty lines for TAP
+      t9700: Use Test::More->builder, not $Test::Builder::Test
+      t/README: The trash is in 't/trash directory.$name'
+      t/README: Typo: paralell -> parallel
+      t/README: Document the prereq functions, and 3-arg test_*
+      t/README: Document test_external*
+      t/README: Document test_expect_code
+      t/README: Add a section about skipping tests
+      t/README: Document the do's and don'ts of tests
+
+
+Version v1.7.2-rc1; changes since v1.7.2-rc0:
+---------------------------------------------
+
+Andrew Sayers (2):
+      bash-completion: Fix __git_ps1 to work with "set -u"
+      bash completion: Support "divergence from upstream" messages in __git_ps1
+
+Brandon Casey (4):
+      t/lib-pager.sh: remove unnecessary '^' from 'expr' regular expression
+      t/t7811-grep-open.sh: ensure fake "less" is made executable
+      t/t7811-grep-open.sh: remove broken/redundant creation of fake "less" script
+      t/t9001: use egrep when regular expressions are involved
+
+Brian Gernhardt (1):
+      t4027,4041: Use test -s to test for an empty file
+
+Christian Couder (1):
+      revert: accept arbitrary rev-list options
+
+Jeff King (1):
+      notes: check number of parameters to "git notes copy"
+
+Jens Lehmann (4):
+      git diff: rename test that had a conflicting name
+      Add optional parameters to the diff option "--ignore-submodules"
+      git submodule: ignore dirty submodules for summary and status
+      Add the option "--ignore-submodules" to "git status"
+
+Johannes Schindelin (3):
+      Unify code paths of threaded greps
+      grep: Add the option '--open-files-in-pager'
+      grep -O: allow optional argument specifying the pager (or editor)
+
+Jonathan Nieder (3):
+      grep: refactor grep_objects loop into its own function
+      t3508 (cherry-pick): futureproof against unmerged files
+      revert: do not rebuild argv on heap
+
+Julian Phillips (6):
+      string_list: Fix argument order for print_string_list
+      string_list: Fix argument order for for_each_string_list
+      string_list: Fix argument order for string_list_insert
+      string_list: Fix argument order for string_list_insert_at_index
+      string_list: Fix argument order for string_list_lookup
+      string_list: Fix argument order for string_list_append
+
+Junio C Hamano (5):
+      url_decode: URL scheme ends with a colon and does not require a slash
+      Update draft release notes to 1.7.1.1
+      Git 1.7.1.1
+      git.spec.in: Add gitweb subpackage
+      Git 1.7.2-rc1
+
+Michael J Gruber (4):
+      t6018: add tests for rev-list's --branches and --tags
+      t6018: make sure all tested symbolic names are different revs
+      git-rev-parse.txt: Document ":path" specifier
+      git-rev-parse.txt: Add more examples for caret and colon
+
+Nazri Ramliy (5):
+      commit.h: add 'type' to struct name_decoration
+      log-tree.c: Use struct name_decoration's type for classifying decoration
+      log --decorate: Colorize commit decorations
+      Allow customizable commit decorations colors
+      Add test for correct coloring of git log --decoration
+
+Ramsay Allan Jones (2):
+      msvc: Select the "fast" definition of the {get,put}_be32() macros
+      notes: Initialise variable to appease gcc
+
+Thomas Rast (1):
+      rev-list: introduce --count option
+
+
+Version v1.7.2-rc0; changes since v1.7.1.4:
+-------------------------------------------
+
+Alex Riesen (2):
+      Allow passing of configuration parameters in the command line
+      Use strbufs instead of open-coded string manipulation
+
+Axel Bonnet (3):
+      textconv: make the API public
+      textconv: support for blame
+      t/t8006: test textconv support for blame
+
+Bo Yang (9):
+      Add a macro DIFF_QUEUE_CLEAR.
+      Make diffcore_std only can run once before a diff_flush
+      Make git log --follow find copies among unmodified files.
+      Add a prefix output callback to diff output
+      Output the graph columns at the end of the commit message
+      diff.c: Output the text graph padding before each diff line
+      Emit a whole line in one go
+      graph.c: register a callback for graph output
+      Make --color-words work well with --graph
+
+Brandon Casey (7):
+      t/t5800: skip if python version is older than 2.5
+      git-request-pull.sh: remove -e switch to shell interpreter which breaks ksh
+      t/t5150: remove space from sed script
+      t/t7006: ignore return status of shell's unset builtin
+      t/aggregate-results: accomodate systems with small max argument list length
+      Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONS
+      Remove python 2.5'isms
+
+Brian Gernhardt (1):
+      Makefile: Simplify handling of python scripts
+
+Chris Webb (5):
+      whitespace: add tab-in-indent error class
+      whitespace: tests for git-diff --check with tab-in-indent error class
+      whitespace: replumb ws_fix_copy to take a strbuf *dst instead of char *dst
+      whitespace: add tab-in-indent support for --whitespace=fix
+      whitespace: tests for git-apply --whitespace=fix with tab-in-indent
+
+Christian Couder (13):
+      revert: use strbuf to refactor the code that writes the merge message
+      revert: refactor merge recursive code into its own function
+      merge: refactor code that calls "git merge-STRATEGY"
+      merge: make function try_merge_command non static
+      revert: add "--strategy" option to choose merge strategy
+      revert: cleanup code for -x option
+      revert: use run_command_v_opt() instead of execv_git_cmd()
+      revert: refactor code into a do_pick_commit() function
+      revert: change help_msg() to take no argument
+      revert: allow cherry-picking more than one commit
+      revert: add tests to check cherry-picking many commits
+      Documentation/cherry-pick: describe passing more than one commit
+      Documentation/revert: describe passing more than one commit
+
+Clément Poulain (3):
+      sha1_name: add get_sha1_with_context()
+      textconv: support for cat_file
+      t/t8007: test textconv support for cat-file
+
+Daniel Knittl-Frank (1):
+      Show branch information in short output of git status
+
+Eli Barzilay (1):
+      Add `%B' in format strings for raw commit body in `git log' and friends
+
+Eli Collins (1):
+      diff: add configuration option for disabling diff prefixes.
+
+Eric Wong (1):
+      git svn: avoid unnecessary '/' in paths for SVN
+
+Erick Mattos (6):
+      git checkout: create unparented branch by --orphan
+      Documentation: alter checkout --orphan description
+      refs: split log_ref_write logic into log_ref_setup
+      checkout --orphan: respect -l option always
+      t3200: test -l with core.logAllRefUpdates options
+      bash completion: add --orphan to 'git checkout'
+
+Erik Faye-Lund (1):
+      mingw: use _commit to implement fsync
+
+Eyvind Bernhardsen (4):
+      Add tests for per-repository eol normalization
+      Add per-repository eol normalization
+      Rename the "crlf" attribute "text"
+      Add "core.eol" config variable
+
+Finn Arne Gangstad (1):
+      autocrlf: Make it work also for un-normalized repositories
+
+Gary V. Vaughan (17):
+      Makefile: pass CPPFLAGS through to fllow customization
+      Rewrite dynamic structure initializations to runtime assignment
+      Makefile: -lpthread may still be necessary when libc has only pthread stubs
+      enums: omit trailing comma for portability
+      Do not use "diff" found on PATH while building and installing
+      tests: use "test_cmp", not "diff", when verifying the result
+      test_cmp: do not use "diff -u" on platforms that lack one
+      git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition
+      Makefile: some platforms do not have hstrerror anywhere
+      Make NO_{INET_NTOP,INET_PTON} configured independently
+      Some platforms lack socklen_t type
+      Allow disabling "inline"
+      inline declaration does not work on AIX
+      Makefile: SunOS 5.6 portability fix
+      Makefile: HPUX11 portability fixes
+      Makefile: HP-UX 10.20 portability fixes
+      Makefile: Tru64 portability fix
+
+Giuseppe Scrivano (1):
+      print the usage string on stdout instead of stderr
+
+Henrik Grubbström (2):
+      convert: Safer handling of $Id$ contraction.
+      convert: Keep foreign $Id$ on checkout.
+
+Jakub Narebski (16):
+      Export more test-related variables when running external tests
+      gitweb: href(..., -path_info => 0|1)
+      gitweb: Use nonlocal jump instead of 'exit' in die_error
+      gitweb: Add custom error handler using die_error
+      gitweb: Move generating page title to separate subroutine
+      gitweb: Silence 'Variable VAR may be unavailable' warnings
+      gitweb: Improve installation instructions in gitweb/INSTALL
+      gitweb: Create install target for gitweb in Makefile
+      gitweb: Refactor syntax highlighting support
+      gitweb: Put all per-connection code in run() subroutine
+      git-instaweb: Remove pidfile after stopping web server
+      git-instaweb: Wait for server to start before running web browser
+      git-instaweb: Add support for running gitweb via 'plackup'
+      gitweb: Run in FastCGI mode if gitweb script has .fcgi extension
+      gitweb: Fix typo in hash key name in %opts in git_header_html
+      gitweb: Return or exit after done serving request
+
+Jan Krüger (1):
+      git-am: suggest what to do with superfluous patches
+
+Jay Soffian (1):
+      t5516-fetch-push.sh: style cleanup
+
+Jeff King (11):
+      make commit_tree a library function
+      introduce notes-cache interface
+      textconv: refactor calls to run_textconv
+      diff: cache textconv output
+      diff: avoid useless filespec population
+      script with rev-list instead of log
+      tests: rename duplicate t4205
+      tests: chmod +x t5150
+      make url-related functions reusable
+      decode file:// and ssh:// URLs
+      Makefile: default pager on AIX to "more"
+
+Johan Herland (5):
+      diff.c: Ensure "index $from..$to" line contains unambiguous SHA1s
+      Documentation/rev-list-options.txt: Fix missing line in example history graph
+      Documentation/rev-list-options.txt: Explain --ancestry-path
+      revision: Fix typo in --ancestry-path error message
+      revision: Turn off history simplification in --ancestry-path mode
+
+Johannes Schindelin (1):
+      gitweb: Syntax highlighting support
+
+Johannes Sixt (11):
+      Modernize t5530-upload-pack-error.
+      Make report() from usage.c public as vreportf() and use it.
+      Fix signature of fcntl() compatibility dummy
+      Windows: more pthreads functions
+      Reimplement async procedures using pthreads
+      Dying in an async procedure should only exit the thread, not the process.
+      Enable threaded async procedures whenever pthreads is available
+      Have set_try_to_free_routine return the previous routine
+      Do not call release_pack_memory in malloc wrappers when GIT_TRACE is used
+      Recent MinGW has a C99 implementation of snprintf functions
+      merge-recursive: demonstrate an incorrect conflict with submodule
+
+Jonathan Nieder (17):
+      t7400: split setup into multiple tests
+      t7400: clarify 'submodule add' tests
+      t7400: clarify submodule update tests
+      t5800: testgit helper requires Python support
+      tests for request-pull
+      request-pull: protect against OPTIONS_KEEPDASHDASH from environment
+      fsck: check ident lines in commit objects
+      adapt request-pull tests for new pull request format
+      pretty: initialize new cmt_fmt_map to 0
+      Makefile: fix header dependency checker to allow NO_CURL builds
+      Makefile: let header dependency checker override COMPUTE_HEADER_DEPENDENCIES
+      git svn: avoid uninitialized var in 'reset'
+      Add git remote set-branches
+      fsck: fix bogus commit header check
+      rebase: improve error message when upstream argument is missing
+      DWIM 'git show -5' to 'git show --do-walk -5'
+      git-svn: strip off leading slashes on --trunk argument
+
+Junio C Hamano (31):
+      git_config_maybe_bool()
+      log.decorate: usability fixes
+      whitespace: we cannot "catch all errors known to git" anymore
+      GIT_ONE_FILESYSTEM: flip the default to stop at filesystem boundaries
+      Rename ONE_FILESYSTEM to DISCOVERY_ACROSS_FILESYSTEM
+      log --pretty/--oneline: ignore log.decorate
+      war on "sleep" in tests
+      reflog --expire-unreachable: avoid merge-base computation
+      log.decorate: only ignore it under "log --pretty=raw"
+      wt-status: remove unused workdir_untracked member
+      wt-status: plug memory leak while collecting untracked files
+      wt-status: collect ignored files
+      wt-status: rename and restructure status-print-untracked
+      status: --ignored option shows ignored files
+      Document gc.<pattern>.reflogexpire variables
+      more war on "sleep" in tests
+      reflog --expire-unreachable: special case entries in "HEAD" reflog
+      revision: --ancestry-path
+      wt-status: fix 'fprintf' compilation warning
+      t5150: protect backslash with backslash in shell
+      Start 1.7.2 cycle
+      fixup: do not unconditionally disable "diff -u"
+      build: propagate $DIFF to scripts
+      test-lib: use DIFF definition from GIT-BUILD-OPTIONS
+      Update draft release notes to 1.7.2
+      Update draft release notes to 1.7.2
+      Update draft release notes to 1.7.2
+      Drop items that are 1.7.1.1 fixes from the 1.7.1 release notes
+      Update draft release notes to 1.7.2
+      url.c: "<scheme>://" part at the beginning should not be URL decoded
+      Git 1.7.2-rc0
+
+Lars R. Damerow (3):
+      config.c: remove static keyword from git_env_bool()
+      truncate cwd string before printing error message
+      Add support for GIT_ONE_FILESYSTEM
+
+Linus Torvalds (1):
+      Make :/ accept a regex rather than a fixed pattern
+
+Michael J Gruber (5):
+      for-each-ref: Field with abbreviated objectname
+      notes: dry-run and verbose options for prune
+      Documentation+t5708: document and test status -s -b
+      pretty: Introduce ' ' modifier to add space if non-empty
+      git-cat-file.txt: Document --textconv
+
+Michael J. Kiwala (1):
+      git svn: fix empty directory creation
+
+Paolo Bonzini (2):
+      patch-id: extract parsing one diff out of generate_id_list
+      patch-id: Add support for mbox format
+
+Pavan Kumar Sunkara (6):
+      gitweb: Use @diff_opts while using format-patch
+      gitweb: Move static files into seperate subdirectory
+      gitweb: Set default destination directory for installing gitweb in Makefile
+      git-instaweb: Put httpd logs in a "$httpd_only" subdirectory
+      git-instaweb: Configure it to work with new gitweb structure
+      git-web--browse: Add support for google chrome and chromium
+
+Ramkumar Ramachandra (4):
+      git am: Set cmdline globally
+      git am: Display some help text when patch is empty
+      git am: Remove stray error message from sed
+      Refactor parse_date for approxidate functions
+
+René Scharfe (8):
+      grep: add test script for binary file handling
+      grep: grep: refactor handling of binary mode options
+      grep: --count over binary
+      grep: --name-only over binary
+      grep: use memmem() for fixed string search
+      grep: continue case insensitive fixed string search after NUL chars
+      grep: use REG_STARTEND for all matching if available
+      grep: support NUL chars in search strings for -F
+
+Sam Vilain (2):
+      gitweb: Add support for FastCGI, using CGI::Fast
+      git-cvsserver: use a password file cvsserver pserver
+
+Samuel Tardieu (2):
+      Honor "tagopt = --tags" configuration option
+      remote add: add a --[no-]tags option
+
+Simo Melenius (2):
+      branch: exit status now reflects if branch listing finds an error
+      branch: don't fail listing branches if one of the commits wasn't found
+
+Stephen Boyd (2):
+      format-patch: Add a signature option (--signature)
+      completion: Add --signature and format.signature
+
+Steven Drake (1):
+      Add `log.decorate' configuration variable.
+
+Sverre Rabbelier (7):
+      clone: pass the remote name to remote_get
+      clone: also configure url for bare clones
+      fast-import: always create marks_file directories
+      remote-helpers: allow requesing the path to the .git directory
+      remote-helpers: add support for an export command
+      remote-helpers: add testgit helper
+      remote-helpers: add tests for testgit helper
+
+Tay Ray Chuan (2):
+      ls-remote: fall-back to default remotes when no remote specified
+      ls-remote: print URL when no repo is specified
+
+Thomas Rast (5):
+      diff: add --word-diff option that generalizes --color-words
+      Complete prototype of git_config_from_parameters()
+      fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f)
+      log_ref_setup: don't return stack-allocated array
+      parseopt: wrap rev-parse --parseopt usage for eval consumption
+
+Torsten Schmutzler (1):
+      git-svn: mangle refnames forbidden in git
+
+Will Palmer (4):
+      pretty: make it easier to add new formats
+      pretty: add infrastructure for commit format aliases
+      pretty: add aliases for pretty formats
+      diff-options: make --patch a synonym for -p
+
+Ævar Arnfjörð Bjarmason (12):
+      Add option to git-commit to allow empty log messages
+      git-svn documentation: minor grammar fix
+      git-svn: Remove unused use of File::Temp
+      git-cvsserver: authentication support for pserver
+      git-cvsserver: indent & clean up authdb code
+      git-cvsserver: Improved error handling for pserver
+      git-cvsserver: document making a password without htpasswd
+      git-cvsserver: test for pserver authentication support
+      git-submodule foreach: Add $toplevel variable
+      Makefile: remove redundant munging of @@INSTLIBDIR@@
+      git-cvsserver: typo in a comment: bas -> has
+      git-cvsserver: fix error for invalid password formats
+
+
+Version v1.7.1.4; changes since v1.7.1.3:
+-----------------------------------------
+
+Jakub Narebski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Junio C Hamano (1):
+      Git 1.6.4.5
+
+
+Version v1.7.1.3; changes since v1.7.1.2:
+-----------------------------------------
+
+Jonathan Nieder (1):
+      add: introduce add.ignoreerrors synonym for add.ignore-errors
+
+Junio C Hamano (1):
+      Git 1.7.0.8
+
+Matthieu Moy (1):
+      t0003: add missing && at end of lines
+
+
+Version v1.7.1.2; changes since v1.7.1.1:
+-----------------------------------------
+
+Brandon Casey (1):
+      t/README: clarify test_must_fail description
+
+Chris Packham (1):
+      Documentation/git-gc.txt: add reference to githooks
+
+David Aguilar (1):
+      Documentation: Explain git-mergetool's use of temporary files
+
+Dylan Reid (1):
+      xdiff: optimise for no whitespace difference when ignoring whitespace.
+
+Fredrik Skolmli (1):
+      Documentation: Spelling fix in protocol-capabilities.txt
+
+Greg Brockman (2):
+      Check size of path buffer before writing into it
+      Check size of path buffer before writing into it
+
+Heiko Voigt (1):
+      add missing && to submodule-merge testcase
+
+Jay Soffian (2):
+      receive-pack: switch global variable 'commands' to a parameter
+      receive-pack: detect aliased updates which can occur with symrefs
+
+Jeff King (2):
+      t0006: test timezone parsing
+      test-date: fix sscanf type conversion
+
+Johannes Sixt (1):
+      t0005: work around strange $? in ksh when program terminated by a signal
+
+Jonathan Nieder (3):
+      gitmodules.5: url can be a relative path
+      Documentation: add submodule.* to the big configuration variable list
+      config --get --path: check for unset $HOME
+
+Junio C Hamano (3):
+      backmerge a few more fixes to 1.7.1.X series
+      Git 1.7.0.7
+      Git 1.7.1.2
+
+Michael J Gruber (3):
+      git-rev-parse.txt: Document ":path" specifier
+      git-rev-parse.txt: Add more examples for caret and colon
+      rerere.txt: Document forget subcommand
+
+Miklos Vajna (1):
+      format-patch: document the format.to configuration setting
+
+Nicolas Sebrecht (1):
+      checkout: accord documentation to what git does
+
+Oren Held (1):
+      git fetch documentation: describe short '-p' synonym to '--prune' option
+
+Pavan Kumar Sunkara (1):
+      gitweb: fix esc_url
+
+Pierre Habouzit (1):
+      fix git branch -m in presence of cross devices
+
+Ralf Thielow (1):
+      update-server-info: Shorten read_pack_info_file()
+
+Stephen Boyd (1):
+      request-pull.txt: Document -p option
+
+Thomas Rast (1):
+      check_aliased_update: strcpy() instead of strcat() to copy
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.7.1.1; changes since v1.7.1:
+---------------------------------------
+
+Alexey Mahotkin (1):
+      xdiff/xmerge.c: use memset() instead of explicit for-loop
+
+Bert Wesarg (1):
+      diff: fix coloring of extended diff headers
+
+Björn Gustavsson (1):
+      apply: Allow blank *trailing* context lines to match beyond EOF
+
+Björn Steinbrink (1):
+      diff: Support visibility modifiers in the PHP hunk header regexp
+
+Bo Yang (1):
+      blame-options.txt: Add default value for `-M/-C` options.
+
+Brandon Casey (1):
+      t/t9001: use egrep when regular expressions are involved
+
+Brian Downing (1):
+      unpack-trees: Make index lookahead less pessimal
+
+Brian Gernhardt (4):
+      send-email: Cleanup { style
+      send-email: Don't use FQDNs without a '.'
+      Document send-email --smtp-domain
+      send-email: Cleanup smtp-domain and add config
+
+Charles Bailey (2):
+      stash: Don't overwrite files that have gone from the index
+      stash tests: stash can lose data in a file removed from the index
+
+Chris Webb (1):
+      exec_cmd.c: replace hard-coded path list with one from <paths.h>
+
+Christian Couder (3):
+      diff: fix "git show -C -C" output when renaming a binary file
+      commit: use value of GIT_REFLOG_ACTION env variable as reflog message
+      Documentation: grep: fix asciidoc problem with --
+
+Clemens Buchacher (7):
+      do not overwrite files marked "assume unchanged"
+      Documentation: git-add does not update files marked "assume unchanged"
+      test get_git_work_tree() return value for NULL
+      get_cwd_relative(): do not misinterpret suffix as subdirectory
+      setup: document prefix
+      quote.c: separate quoting and relative path generation
+      ls-files: allow relative pathspec
+
+Dmitry Potapov (1):
+      hash_object: correction for zero length file
+
+Gary V. Vaughan (1):
+      git-compat-util.h: use apparently more common __sgi macro to detect SGI IRIX
+
+Gerrit Pape (1):
+      git-submodule.sh: properly initialize shell variables
+
+Henrik Grubbström (3):
+      attr: Fixed debug output for macro expansion.
+      attr: Allow multiple changes to an attribute on the same line.
+      attr: Expand macros immediately when encountered.
+
+Ian McLean (1):
+      Fix "Out of memory? mmap failed" for files larger than 4GB on Windows
+
+Ian Ward Comfort (1):
+      rebase -i: Abort cleanly if new base cannot be checked out
+
+Jakub Narebski (1):
+      autoconf: Check if <paths.h> exists and set HAVE_PATHS_H
+
+Jay Soffian (3):
+      commit.txt: clarify how --author argument is used
+      am: use get_author_ident_from_commit instead of mailinfo when rebasing
+      gitweb/Makefile: fix typo in gitweb.min.css rule
+
+Jeff King (7):
+      handle "git --bare init <dir>" properly
+      docs: clarify meaning of -M for git-log
+      remove over-eager caching in sha1_file_name
+      pull: do nothing on --dry-run
+      commit: give advice on empty amend
+      Makefile: default pager on AIX to "more"
+      notes: check number of parameters to "git notes copy"
+
+Johannes Sixt (1):
+      Thread-safe xmalloc and xrealloc needs a recursive mutex
+
+Jonathan Nieder (25):
+      t7006: guard cleanup with test_expect_success
+      t5704 (bundle): add tests for bundle --stdin
+      fix "bundle --stdin" segfault
+      test-lib: Let tests specify commands to be run at end of test
+      commit --amend: cope with missing display name
+      Documentation/shortlog: scripted users should not rely on implicit HEAD
+      t4201 (shortlog): guard setup with test_expect_success
+      t4201 (shortlog): Test output format with multiple authors
+      shortlog: Document and test --format option
+      test-lib: some shells do not let $? propagate into an eval
+      cherry-pick: do not dump core when iconv fails
+      Documentation/notes: document format of notes trees
+      Documentation/notes: describe content of notes blobs
+      Documentation/notes: add configuration section
+      Documentation/notes: simplify treatment of default notes ref
+      Documentation/log: add a CONFIGURATION section
+      Documentation/notes: simplify treatment of default display refs
+      Documentation/notes: clean up description of rewriting configuration
+      Documentation/notes: nitpicks
+      post-receive-email: document command-line mode
+      Documentation/checkout: clarify description
+      gitignore.5: Clarify matching rules
+      rebase -i -p: document shortcomings
+      Documentation/checkout: clarify description
+      add-interactive: Clarify “remaining hunks in the file”
+
+Junio C Hamano (10):
+      am -3: recover the diagnostic messages for corrupt patches
+      clone: quell the progress report from init and report on clone
+      t9129: fix UTF-8 locale detection
+      common_prefix: simplify and fix scanning for prefixes
+      Prepare draft release notes to 1.7.1.1
+      Update draft release notes to 1.7.1.1
+      tests: remove unnecessary '^' from 'expr' regular expression
+      Update draft release notes to 1.7.1.1
+      Update draft release notes to 1.7.1.1
+      Git 1.7.1.1
+
+Leif Arne Storset (1):
+      Documentation/config.txt: GIT_NOTES_REWRITE_REF overrides notes.rewriteRef
+
+Marcus Comstedt (1):
+      Add "Z" as an alias for the timezone "UTC"
+
+Markus Heidelberg (4):
+      t7508: add test for "git status" refreshing the index
+      git status: refresh the index if possible
+      t7508: add a test for "git status" in a read-only repository
+      Documentation: rebase -i ignores options passed to "git am"
+
+Michael J Gruber (10):
+      index-pack: fix trivial typo in usage string
+      t7508: test advice.statusHints
+      wt-status: take advice.statusHints seriously
+      Documentation: fix minor inconsistency
+      Documentation/gitdiffcore: fix order in pickaxe description
+      Documentation/SubmittingPatches: clarify GMail section and SMTP
+      completion: --set-upstream option for git-branch
+      Makefile: reenable install with NO_CURL
+      Documentation/config: describe status.submodulesummary
+      Documentation: A...B shortcut for checkout and rebase
+
+Michal Sojka (1):
+      test-lib.sh: Add explicit license detail, with change from GPLv2 to GPLv2+.
+
+Nazri Ramliy (1):
+      Documentation/pretty-{formats,options}: better reference for "format:<string>"
+
+Nicolas Pitre (4):
+      Make xmalloc and xrealloc thread-safe
+      index-pack: smarter memory usage when resolving deltas
+      index-pack: rationalize unpack_entry_data()
+      index-pack: smarter memory usage when appending objects
+
+Pete Harlan (1):
+      clone: reword messages to match the end-user perception
+
+Peter Collingbourne (4):
+      Generalise the unlink_or_warn function
+      Implement the rmdir_or_warn function
+      Introduce remove_or_warn function
+      Remove a redundant errno test in a usage of remove_path
+
+Philippe Bruhat (1):
+      Git.pm: better error message
+
+Ping Yin (1):
+      Documentation/git-send-email: Add "Use gmail as the smtp server"
+
+Ramkumar Ramachandra (1):
+      SubmittingPatches: Add new section about what to base work on
+
+Ramsay Allan Jones (4):
+      Makefile: Fix 'clean' target to remove all gitweb build files
+      msvc: Fix some "expr evaluates to function" compiler warnings
+      msvc: Fix some compiler warnings
+      notes: Initialise variable to appease gcc
+
+René Scharfe (3):
+      git diff too slow for a file
+      remove ecb parameter from xdi_diff_outf()
+      Fix checkout of large files to network shares on Windows XP
+
+Scott Chacon (1):
+      Prompt for a username when an HTTP request 401s
+
+Shawn O. Pearce (16):
+      tag.c: Correct indentation
+      tag.h: Remove unused signature field
+      tag.c: Refactor parse_tag_buffer to be saner to program
+      tag.c: Parse tagger date (if present)
+      describe: Break annotated tag ties by tagger date
+      http.c: Remove bad free of static block
+      t5550-http-fetch: Use subshell for repository operations
+      http.c: Tiny refactoring of finish_http_pack_request
+      http.c: Drop useless != NULL test in finish_http_pack_request
+      http.c: Don't store destination name in request structures
+      http.c: Remove unnecessary strdup of sha1_to_hex result
+      Introduce close_pack_index to permit replacement
+      Extract verify_pack_index for reuse from verify_pack
+      Allow parse_pack_index on temporary files
+      http-fetch: Use index-pack rather than verify-pack to check packs
+      http-fetch: Use temporary files for pack-*.idx until verified
+
+Sverre Rabbelier (1):
+      Gitweb: ignore built file
+
+Tay Ray Chuan (18):
+      t5541-http-push: add test for URLs with trailing slash
+      http: make end_url_with_slash() public
+      remote-curl: ensure that URLs have a trailing slash
+      http.c::new_http_pack_request: do away with the temp variable filename
+      t7604-merge-custom-message: shift expected output creation
+      t7604-merge-custom-message: show that --log doesn't append to -m
+      merge: update comment
+      merge: rename variable
+      fmt-merge-msg: minor refactor of fmt_merge_msg()
+      fmt-merge-msg: refactor merge title formatting
+      fmt-merge-msg: add function to append shortlog only
+      merge: --log appends shortlog to message if specified
+      GIT-VERSION-GEN: restrict tags used
+      t7502-commit: fix spelling
+      show-branch: use DEFAULT_ABBREV instead of 7
+      t7502-commit: add tests for summary output
+      t7502-commit: add summary output tests for empty and merge commits
+      commit::print_summary(): don't use format_commit_message()
+
+Thomas Rast (2):
+      t/README: document --root option
+      send-email: ask about and declare 8bit mails
+
+Tim Henigan (1):
+      Documentation/SubmittingPatches: Fix typo in GMail section
+
+Tor Arntsen (1):
+      Change C99 comments to old-style C comments
+
+Will Palmer (1):
+      pretty: Respect --abbrev option
+
+Zhang Le (1):
+      git-mailinfo documentation: clarify -u/--encoding
+
+bert Dvornik (1):
+      start_command: close cmd->err descriptor when fork/spawn fails
+
+Ævar Arnfjörð Bjarmason (3):
+      Move t6000lib.sh to lib-*
+      Turn setup code in t2007-checkout-symlink.sh into a test
+      notes: Initialize variable to appease Sun Studio
+
+
+Version v1.7.1; changes since v1.7.1-rc2:
+-----------------------------------------
+
+Eric Raymond (1):
+      Documentation improvements for the description of short format.
+
+Johannes Sixt (1):
+      MSVC: Fix build by adding missing termios.h dummy
+
+Jonathan Nieder (1):
+      Documentation/Makefile: fix interrupted builds of user-manual.xml
+
+Junio C Hamano (2):
+      Git 1.7.0.6
+      Git 1.7.1
+
+Michael J Gruber (1):
+      t7012: Mark missing tests as TODO
+
+SZEDER Gábor (1):
+      reflog: remove 'show' from 'expire's usage string
+
+
+Version v1.7.1-rc2; changes since v1.7.1-rc1:
+---------------------------------------------
+
+Charles Bailey (1):
+      Documentation: Describe other situations where -z affects git diff
+
+Chris Webb (1):
+      git-instaweb: pass through invoking user's path to gitweb CGI scripts
+
+Jay Soffian (1):
+      Documentation/config.txt: default gc.aggressiveWindow is 250, not 10
+
+Jeff King (2):
+      diff: use large integers for diffstat calculations
+      rebase-interactive: silence warning when no commits rewritten
+
+Jens Lehmann (2):
+      gitk: Add Ctrl-W shortcut for closing the active window
+      gitk: Display dirty submodules correctly
+
+Johannes Gilger (1):
+      pretty: Initialize notes if %N is used
+
+Johannes Sixt (1):
+      Windows: start_command: Support non-NULL dir in struct child_process
+
+Jonathan Nieder (5):
+      gitk: Add comments to explain encode_view_opts and decode_view_opts
+      gitk: Don't clobber "Remember this view" setting
+      Add .depend directories to .gitignore
+      Document new "already-merged" rule for branch -d
+      tag -v: use RUN_GIT_CMD to run verify-tag
+
+Junio C Hamano (6):
+      SubmittingPatches: update GMail section
+      blame documentation: -M/-C notice copied lines as well as moved ones
+      Git 1.7.0.5
+      gitweb: simplify gitweb.min.* generation and clean-up rules
+      t3301: add tests to use --format="%N"
+      Git 1.7.1-rc2
+
+Marc Branchaud (1):
+      Docs: Add -X option to git-merge's synopsis.
+
+Mark Hills (4):
+      gitk: Remove forced use of sans-serif font
+      gitk: Set the font for all spinbox widgets
+      gitk: Set the font for all listbox widgets
+      gitk: Use consistent font for all text input fields
+
+Matthew Ogilvie (1):
+      t6006: do not write to /tmp
+
+Michael J Gruber (1):
+      t1010-mktree: Adjust expected result to code and documentation
+
+Pat Thoyts (3):
+      gitk: Avoid calling tk_setPalette on Windows
+      gitk: Add emacs editor variable block
+      gitk: Fix display of copyright symbol
+
+Ramkumar Ramachandra (5):
+      Documentation/remote-helpers: Rewrite description
+      Documentation/urls: Rewrite to accomodate <transport>::<address>
+      Documentation/remote-helpers: Add invocation section
+      Fixup: Second argument may be any arbitrary string
+      Documentation/remote-helpers: Fix typos and improve language
+
+Stephen Boyd (1):
+      t3507: Make test executable
+
+Thomas Rast (1):
+      combined diff: correctly handle truncated file
+
+Will Palmer (1):
+      documentation: clarify direction of core.autocrlf
+
+
+Version v1.7.1-rc1; changes since v1.7.1-rc0:
+---------------------------------------------
+
+Brandon Casey (1):
+      notes.h: declare bit field as unsigned to silence compiler complaints
+
+Jeff King (4):
+      fix const-correctness of write_sha1_file
+      fix textconv leak in emit_rewrite_diff
+      fix typos and grammar in 1.7.1 draft release notes
+      docs: clarify "branch -l"
+
+Jens Lehmann (2):
+      Let check_preimage() use memset() to initialize "struct checkout"
+      Teach diff --submodule and status to handle .git files in submodules
+
+Jonathan Nieder (1):
+      Teach mailinfo %< as an alternative scissors mark
+
+Junio C Hamano (2):
+      diff.c: work around pointer constness warnings
+      Git 1.7.1-rc1
+
+Mark Rada (6):
+      Gitweb: add ignore and clean rules for minified files
+      Gitweb: add support for minifying gitweb.css
+      Gitweb: add autoconfigure support for minifiers
+      instaweb: add minification awareness
+      gitweb: add documentation to INSTALL regarding gitweb.js
+      gitweb: update INSTALL to use shorter make target
+
+Michael J Gruber (2):
+      t3301-notes: Test the creation of reflog entries
+      refs.c: Write reflogs for notes just like for branch heads
+
+Tay Ray Chuan (2):
+      branch: say "Reset to" in reflog entries for 'git branch -f' operations
+      fetch/push: fix usage strings
+
+
+Version v1.7.1-rc0; changes since v1.7.0.9:
+-------------------------------------------
+
+Aaron Crane (1):
+      cvsimport: new -R option: generate .git/cvs-revisions mapping
+
+Anders Kaseorg (1):
+      everyday: fsck and gc are not everyday operations
+
+Ben Walton (2):
+      Make templates honour SHELL_PATH and PERL_PATH
+      Modernize git calling conventions in hook templates
+
+Benjamin C Meyer (1):
+      Fix a spelling mistake in a git-p4 console message
+
+Bert Wesarg (4):
+      make union merge an xdl merge favor
+      refactor merge flags into xmparam_t
+      merge-file: add option to specify the marker size
+      merge-file: add option to select union merge favor
+
+Brandon Casey (9):
+      t/t1304: avoid -d option to setfacl
+      t/t1304: set the Default ACL base entries
+      t/t1304: use 'test -r' to test readability rather than looking at mode bits
+      t/t1304: set the ACL effective rights mask
+      t/t1304: make a second colon optional in the mask ACL check
+      notes.c: remove inappropriate call to return
+      t5505: remove unnecessary subshell invocations
+      t5505: add missing &&
+      t/t5505-remote.sh: escape * to prevent interpretation by shell as glob
+
+Brian Gernhardt (1):
+      Use test_expect_success for test setups
+
+Chris Webb (1):
+      imap-send: suppress warning about cleartext password with CRAM-MD5
+
+Christian Couder (8):
+      reset: add option "--keep" to "git reset"
+      reset: add test cases for "--keep" option
+      Documentation: reset: describe new "--keep" option
+      reset: disallow "reset --keep" outside a work tree
+      reset: disallow using --keep when there are unmerged entries
+      cherry-pick: add tests for new --ff option
+      Documentation: describe new cherry-pick --ff option
+      rebase -i: use new --ff cherry-pick option
+
+Dave Olszewski (1):
+      rebase--interactive: don't require what's rebased to be a branch
+
+Eric Blake (1):
+      Makefile: update defaults for modern Cygwin
+
+Eric Raymond (1):
+      Integrate version 3 ciabot scripts into contrib/.
+
+Erik Faye-Lund (5):
+      hash-object: support --stdin-paths with --no-filters
+      git-svn: support fetch with autocrlf on
+      Revert "git-svn: always initialize with core.autocrlf=false"
+      cherry: support --abbrev option
+      ls: remove redundant logic
+
+Frank Li (3):
+      fallback SSH_ASKPASS when GIT_ASKPASS not set
+      git-svn: Support retrieving passwords with GIT_ASKPASS
+      git-core: Support retrieving passwords with GIT_ASKPASS
+
+Hitoshi Mitake (1):
+      imap-send: support CRAM-MD5 authentication
+
+Ian Ward Comfort (1):
+      RPM spec: include bash completion support
+
+Ilari Liusvaara (1):
+      Allow '+', '-' and '.' in remote helper names
+
+Jakub Narebski (2):
+      gitweb: esc_html (short) error message in die_error
+      gitweb: Protect escaping functions against calling on undef
+
+Jari Aalto (3):
+      git-send-email.perl: improve error message in send_message()
+      git-send-email.perl: add option --smtp-debug
+      git-send-email.perl - try to give real name of the calling host to HELO/EHLO
+
+Jeff King (1):
+      submodule summary: do not shift a non-existent positional variable
+
+Jens Lehmann (6):
+      git diff --submodule: Show detailed dirty status of submodules
+      git status: Show detailed dirty status of submodules in long format
+      git submodule summary: Handle HEAD as argument when on an unborn branch
+      Refactor dirty submodule detection in diff-lib.c
+      git status: Fix false positive "new commits" output for dirty submodules
+      git status: ignoring untracked files must apply to submodules too
+
+Johan Herland (32):
+      Minor cosmetic fixes to notes.c
+      Notes API: get_commit_notes() -> format_note() + remove the commit restriction
+      Add tests for checking correct handling of $GIT_NOTES_REF and core.notesRef
+      Notes API: init_notes(): Initialize the notes tree from the given notes ref
+      Notes API: add_note(): Add note objects to the internal notes tree structure
+      Notes API: remove_note(): Remove note objects from the notes tree structure
+      Notes API: get_note(): Return the note annotating the given object
+      Notes API: for_each_note(): Traverse the entire notes tree with a callback
+      Notes API: write_notes_tree(): Store the notes tree in the database
+      Notes API: Allow multiple concurrent notes trees with new struct notes_tree
+      Refactor notes concatenation into a flexible interface for combining notes
+      Builtin-ify git-notes
+      t3301: Verify successful annotation of non-commits
+      t3305: Verify that adding many notes with git-notes triggers increased fanout
+      Teach notes code to properly preserve non-notes in the notes tree
+      Teach builtin-notes to remove empty notes
+      builtin-notes: Add "remove" subcommand for removing existing notes
+      t3305: Verify that removing notes triggers automatic fanout consolidation
+      Notes API: prune_notes(): Prune notes that belong to non-existing objects
+      builtin-notes: Add "prune" subcommand for removing notes for missing objects
+      Documentation: Generalize git-notes docs to 'objects' instead of 'commits'
+      builtin-notes: Add "list" subcommand for listing note objects
+      builtin-notes: Add --message/--file aliases for -m/-F options
+      builtin-notes: Add "add" subcommand for adding notes to objects
+      builtin-notes: Add "append" subcommand for appending to note objects
+      builtin-notes: Deprecate the -m/-F options for "git notes edit"
+      builtin-notes: Refactor handling of -F option to allow combining -m and -F
+      builtin-notes: Add -c/-C options for reusing notes
+      builtin-notes: Misc. refactoring of argc and exit value handling
+      builtin-notes: Add "copy" subcommand for copying notes between objects
+      submodule summary: Don't barf when invoked in an empty repo
+      builtin-notes: Minor (mostly parse_options-related) fixes
+
+Johannes Sixt (2):
+      Print RUNTIME_PREFIX warning only when GIT_TRACE is set
+      Windows: redirect f[re]open("/dev/null") to f[re]open("nul")
+
+Jonathan Nieder (33):
+      Makefile: add missing header file dependencies
+      Makefile: make sure test helpers are rebuilt when headers change
+      Makefile: remove wt-status.h from LIB_H
+      Makefile: clean up http-walker.o dependency rules
+      Makefile: drop dependency on $(wildcard */*.h)
+      Makefile: transport.o depends on branch.h now
+      Makefile: rearrange dependency rules
+      Makefile: disable default implicit rules
+      Makefile: list generated object files in OBJECTS
+      Makefile: lazily compute header dependencies
+      Makefile: list standalone program object files in PROGRAM_OBJS
+      Teach Makefile to check header dependencies
+      Do not install shell libraries executable
+      Makefile: tuck away generated makefile fragments in .depend
+      Makefile: always remove .depend directories on 'make clean'
+      Makefile: clarify definition of TEST_OBJS
+      Makefile: Fix occasional GIT-CFLAGS breakage
+      revert: fix tiny memory leak in cherry-pick --ff
+      tests: document format of conflicts from checkout -m
+      tests: document cherry-pick behavior in face of conflicts
+      xdl_merge(): add optional ancestor label to diff3-style output
+      xdl_merge(): move file1 and file2 labels to xmparam structure
+      merge-file --diff3: add a label for ancestor
+      ll_merge(): add ancestor label parameter for diff3-style output
+      checkout --conflict=diff3: add a label for ancestor
+      merge_file(): add comment explaining behavior wrt conflict style
+      merge_trees(): add ancestor label parameter for diff3-style output
+      checkout -m --conflict=diff3: add a label for ancestor
+      compat: add mempcpy()
+      revert: clarify label on conflict hunks
+      cherry-pick, revert: add a label for ancestor
+      merge-recursive: add a label for ancestor
+      Makefile: future-proof Cygwin version check
+
+Junio C Hamano (25):
+      builtin-for-each-ref.c: comment fixes
+      builtin-for-each-ref.c: check if we need to peel onion while parsing the format
+      for-each-ref --format='%(symref) %(symref:short)'
+      for-each-ref --format='%(flag)'
+      Start 1.7.1 cycle
+      Resurrect "git grep --no-index"
+      Update draft release notes to 1.7.1
+      notes: fix malformed tree entry
+      wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR
+      submodule summary: do not fail before the first commit
+      parse-options: add parse_options_concat() to concat options
+      builtin/merge: make checkout_fast_forward() non static
+      revert: add --ff option to allow fast forward when cherry-picking
+      Update draft release notes to 1.7.1
+      Documentation: improve description of "git reset --keep"
+      t4013: add tests for log -p -m --first-parent
+      revision: introduce setup_revision_opt
+      show -c: show patch text
+      show --first-parent/-m: do not default to --cc
+      Makefile: update check-docs target
+      t5516: Use test_cmp when appropriate
+      Update draft release notes to 1.7.1
+      Update draft release notes to 1.7.1
+      Revert "Link against libiconv on IRIX"
+      Git 1.7.1-rc0
+
+Larry D'Anna (4):
+      git-push: fix an advice message so it goes to stderr
+      git-push: send "To <remoteurl>" messages to the standard output in --porcelain mode
+      git-push: make git push --porcelain print "Done"
+      git-push: add tests for git push --porcelain
+
+Linus Torvalds (1):
+      Move 'builtin-*' into a 'builtin/' subdirectory
+
+Marc Branchaud (1):
+      Teach rebase the --no-ff option.
+
+Mark Lodato (4):
+      Add an optional argument for --color options
+      Add GIT_COLOR_BOLD_* and GIT_COLOR_BG_*
+      grep: Colorize filename, line number, and separator
+      grep: Colorize selected, context, and function lines
+
+Markus Heidelberg (2):
+      builtin/commit: fix duplicated sentence in a comment
+      builtin/commit: remove unnecessary variable definition
+
+Michael J Gruber (4):
+      git-svn: req_svn when needed
+      t9119-git-svn-info.sh: test with svn 1.6.* as well
+      Documentation: fix a few typos in git-notes.txt
+      git-svn: make git svn --version work again
+
+Michael Lukashov (4):
+      connect.c: move duplicated code to a new function 'get_host_and_port'
+      refactor duplicated code in builtin-send-pack.c and transport.c
+      refactor duplicated fill_mm() in checkout and merge-recursive
+      refactor duplicated encode_header in pack-objects and fast-import
+
+Michele Ballabio (1):
+      shortlog: warn the user when there is no input
+
+Miklos Vajna (1):
+      request-pull: avoid mentioning that the start point is a single commit
+
+Nguyễn Thái Ngọc Duy (5):
+      make_absolute_path(): Do not append redundant slash
+      init-db, rev-parse --git-dir: do not append redundant slash
+      Move offset_1st_component() to path.c
+      Support working directory located at root
+      Add test for using Git at root of file system
+
+Nicolas Pitre (1):
+      move encode_in_pack_object_header() to a better place
+
+Petr Baudis (1):
+      git log -p -m: document -m and honor --first-parent
+
+René Scharfe (2):
+      setenv(GIT_DIR) clean-up
+      grep: enable threading for context line printing
+
+SZEDER Gábor (4):
+      bash: improve aliased command recognition
+      bash: support user-supplied completion scripts for user's git commands
+      bash: support user-supplied completion scripts for aliases
+      bash: completion for gitk aliases
+
+Stefan-W. Hahn (4):
+      documentation: 'git-mailsplit --keep-cr' is not hidden anymore
+      git-am: Add command line parameter `--keep-cr` passing it to git-mailsplit
+      git-am: Add am.keepcr and --no-keep-cr to override it
+      git-am: Add tests for `--keep-cr`, `--no-keep-cr` and `am.keepcr`
+
+Stephen Boyd (11):
+      format-patch: use a string_list for headers
+      format-patch: add --no-cc, --no-to, and --no-add-headers
+      send-email: add --no-cc, --no-to, and --no-bcc
+      notes: rework subcommands and parse options
+      fmt-merge-msg: be quiet if nothing to merge
+      t6200: modernize with test_tick
+      t6200: test fmt-merge-msg more
+      fmt-merge-msg: use pretty.c routines
+      string-list: add unsorted_string_list_lookup()
+      fmt-merge-msg: remove custom string_list implementation
+      fmt-merge-msg: hide summary option
+
+Steven Drake (5):
+      Add `init.templatedir` configuration variable.
+      Add a "TEMPLATE DIRECTORY" section to git-init[1].
+      init: having keywords without value is not a global error.
+      t/t0001-init.sh: add test for 'init with init.templatedir set'
+      Add 'git format-patch --to=' option and 'format.to' configuration variable.
+
+Tay Ray Chuan (17):
+      Documentation/git-clone: mention progress in -v
+      Documentation/git-pull: put verbosity options before merge/fetch ones
+      Documentation/git-push: put --quiet before --verbose
+      fetch: refactor verbosity option handling into transport.[ch]
+      push: support multiple levels of verbosity
+      clone: support multiple levels of verbosity
+      transport->progress: use flag authoritatively
+      push: learn --progress
+      fetch and pull: learn --progress
+      transport: update flags to be in running order
+      t5541-http-push: check that ref is unchanged for non-ff test
+      t554[01]-http-push: refactor, add non-ff tests
+      http-push: remove "|| 1" to enable verbose check
+      http-walker: cleanup more thoroughly
+      http: init and cleanup separately from http-walker
+      remote-curl: use http_fetch_ref() instead of walker wrapper
+      remote-curl: init walker only when needed
+
+Thomas Rast (14):
+      test-lib: unset GIT_NOTES_REF to stop it from influencing tests
+      Support showing notes from more than one notes tree
+      Documentation: document post-rewrite hook
+      commit --amend: invoke post-rewrite hook
+      rebase: invoke post-rewrite hook
+      rebase -i: invoke post-rewrite hook
+      notes: implement 'git notes copy --stdin'
+      notes: implement helpers needed for note copying during rewrite
+      rebase: support automatic notes copying
+      commit --amend: copy notes to the new commit
+      notes: add shorthand --ref to override GIT_NOTES_REF
+      notes: track whether notes_trees were changed at all
+      git-notes(1): add a section about the meaning of history
+      rebase -i: make post-rewrite work for 'edit'
+
+Tuomas Suutari (5):
+      t9151: Fix a few commits in the SVN dump
+      t9151: Add two new svn:mergeinfo test cases
+      git-svn: Fix discarding of extra parents from svn:mergeinfo
+      git-svn: Fix merge detecting with rewrite-root
+      t9150,t9151: Add rewrite-root option to init
+
+YONETANI Tomokazu (1):
+      Fix _XOPEN_SOURCE problem on DragonFly
+
+josh robb (1):
+      git svn: delay importing SVN::Base until it is needed
+
+
+Version v1.7.0.9; changes since v1.7.0.8:
+-----------------------------------------
+
+Jakub Narebski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Junio C Hamano (1):
+      Git 1.6.4.5
+
+
+Version v1.7.0.8; changes since v1.7.0.7:
+-----------------------------------------
+
+Jonathan Nieder (1):
+      add: introduce add.ignoreerrors synonym for add.ignore-errors
+
+Junio C Hamano (1):
+      Git 1.7.0.8
+
+
+Version v1.7.0.7; changes since v1.7.0.6:
+-----------------------------------------
+
+Eric Raymond (1):
+      Documentation improvements for the description of short format.
+
+Gerrit Pape (1):
+      git-submodule.sh: properly initialize shell variables
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Jonathan Nieder (1):
+      config --get --path: check for unset $HOME
+
+Junio C Hamano (1):
+      Git 1.7.0.7
+
+Michael J Gruber (3):
+      index-pack: fix trivial typo in usage string
+      Makefile: reenable install with NO_CURL
+      Documentation/config: describe status.submodulesummary
+
+René Scharfe (1):
+      remove ecb parameter from xdi_diff_outf()
+
+Stephen Boyd (1):
+      request-pull.txt: Document -p option
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.7.0.6; changes since v1.7.0.5:
+-----------------------------------------
+
+Charles Bailey (1):
+      Documentation: Describe other situations where -z affects git diff
+
+David Aguilar (1):
+      Makefile: Remove usage of deprecated Python "has_key" method
+
+Jay Soffian (1):
+      Documentation/config.txt: default gc.aggressiveWindow is 250, not 10
+
+Jeff King (1):
+      diff: use large integers for diffstat calculations
+
+Johannes Sixt (1):
+      MSVC: Fix build by adding missing termios.h dummy
+
+Jonathan Nieder (2):
+      Document new "already-merged" rule for branch -d
+      Documentation/Makefile: fix interrupted builds of user-manual.xml
+
+Junio C Hamano (1):
+      Git 1.7.0.6
+
+Marc Branchaud (1):
+      Docs: Add -X option to git-merge's synopsis.
+
+Michael J Gruber (3):
+      rev-list: use default abbrev length when abbrev-commit is in effect
+      t1010-mktree: Adjust expected result to code and documentation
+      t7012: Mark missing tests as TODO
+
+SZEDER Gábor (1):
+      reflog: remove 'show' from 'expire's usage string
+
+Thomas Rast (1):
+      combined diff: correctly handle truncated file
+
+Will Palmer (1):
+      documentation: clarify direction of core.autocrlf
+
+
+Version v1.7.0.5; changes since v1.7.0.4:
+-----------------------------------------
+
+Brandon Casey (1):
+      daemon.c: avoid accessing ss_family member of struct sockaddr_storage
+
+Erik Faye-Lund (1):
+      rev-list: fix --pretty=oneline with empty message
+
+Gustaf Hendeby (1):
+      Improve error messages from 'git stash show'
+
+Jeff King (1):
+      docs: clarify "branch -l"
+
+Jens Lehmann (1):
+      Let check_preimage() use memset() to initialize "struct checkout"
+
+Junio C Hamano (3):
+      diff --check: honor conflict-marker-size attribute
+      blame documentation: -M/-C notice copied lines as well as moved ones
+      Git 1.7.0.5
+
+Michael J Gruber (2):
+      .mailmap: Entries for Alex Bennée, Deskin Miller, Vitaly "_Vi" Shukela
+      send-email: lazily assign editor variable
+
+R. Tyler Ballance (1):
+      Correct references to /usr/bin/python which does not exist on FreeBSD
+
+Ramkumar Ramachandra (1):
+      imap-send: Remove limitation on message body
+
+Shawn O. Pearce (1):
+      http-backend: Don't infinite loop during die()
+
+Tay Ray Chuan (4):
+      pack-protocol.txt: fix spelling
+      pack-protocol.txt: fix pkt-line lengths
+      branch: say "Reset to" in reflog entries for 'git branch -f' operations
+      fetch/push: fix usage strings
+
+
+Version v1.7.0.4; changes since v1.7.0.3:
+-----------------------------------------
+
+Björn Gustavsson (5):
+      apply: Don't unnecessarily update line lengths in the preimage
+      apply: Remove the quick rejection test
+      apply: Allow blank context lines to match beyond EOF
+      t4124: Add additional tests of --whitespace=fix
+      t3417: Add test cases for "rebase --whitespace=fix"
+
+Chris Packham (1):
+      test for add with non-existent pathspec
+
+David Aguilar (1):
+      difftool: Fix '--gui' when diff.guitool is unconfigured
+
+Greg Bacon (1):
+      Documentation: Clarify support for smart HTTP backend
+
+Holger Weiß (3):
+      Don't redefine htonl and ntohl on big-endian
+      Link against libiconv on IRIX
+      Documentation: show-ref <pattern>s are optional
+
+Jakub Narebski (1):
+      gitweb: git_get_project_config requires only $git_dir, not also $project
+
+Jan Stępień (1):
+      Updated the usage string of git reset
+
+Jeff King (1):
+      dir: fix COLLECT_IGNORED on excluded prefixes
+
+Johannes Sixt (2):
+      diff: fix textconv error zombies
+      Windows: fix utime() for read-only files
+
+Junio C Hamano (8):
+      git add -u: die on unmatched pathspec
+      color: allow multiple attributes
+      t0050: mark non-working test as such
+      tests for "git add ignored-dir/file" without -f
+      refs: ref entry with NULL sha1 is can be a dangling symref
+      t9350: fix careless use of "cd"
+      Prepare for 1.7.0.4
+      Git 1.7.0.4
+
+Kevin Ballard (1):
+      format-patch: Squelch 'fatal: Not a range." error
+
+Markus Heidelberg (1):
+      Documentation: explain the meaning of "-g" in git-describe output
+
+Sverre Rabbelier (1):
+      fast-export: don't segfault when marks file cannot be opened
+
+
+Version v1.7.0.3; changes since v1.7.0.2:
+-----------------------------------------
+
+Adam Simpkins (2):
+      prune: honor --expire=never
+      reflog: honor gc.reflogexpire=never
+
+Andreas Gruenbacher (3):
+      fetch: Check for a "^{}" suffix with suffixcmp()
+      fetch: Future-proof initialization of a refspec on stack
+      fetch: Fix minor memory leak
+
+Dave Olszewski (1):
+      don't use default revision if a rev was specified
+
+Filippo Negroni (1):
+      Fix gitmkdtemp: correct test for mktemp() return value
+
+Giuseppe Bilotta (5):
+      Refactor list of of repo-local env vars
+      rev-parse: --local-env-vars option
+      shell setup: clear_local_git_env() function
+      submodules: ensure clean environment when operating in a submodule
+      is_submodule_modified(): clear environment properly
+
+Ian Ward Comfort (1):
+      bash: complete *_HEAD refs if present
+
+Imre Deak (1):
+      daemon: parse_host_and_port SIGSEGV if port is specified
+
+Jeff King (2):
+      add-interactive: fix bogus diff header line ordering
+      push: fix segfault for odd config
+
+Jonathan Nieder (1):
+      Makefile: Fix CDPATH problem
+
+Junio C Hamano (12):
+      "log --author=me --grep=it" should find intersection, not union
+      Reword "detached HEAD" notification
+      mailinfo: do not strip leading spaces even for a header line
+      t5521: fix and modernize
+      builtin-fetch --all/--multi: propagate options correctly
+      fetch --all/--multiple: keep all the fetched branch information
+      pack-objects documentation: reword "objects that appear in the standard input"
+      Merge accumulated fixes to prepare for 1.7.0.3
+      t9400: Use test_cmp when appropriate
+      t/Makefile: remove test artifacts upon "make clean"
+      Update draft release notes to 1.7.0.3
+      Git 1.7.0.3
+
+Mark Lodato (4):
+      grep docs: pluralize "Example" section
+      grep docs: use AsciiDoc literals consistently
+      grep docs: --cached and <tree>... are incompatible
+      grep docs: document --no-index option
+
+Matthieu Moy (6):
+      Add a testcase for ACL with restrictive umask.
+      Move gitmkstemps to path.c
+      git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument.
+      Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.
+      git_mkstemps_mode: don't set errno to EINVAL on exit.
+      Use git_mkstemp_mode instead of plain mkstemp to create object files
+
+Michael J Gruber (7):
+      Documentation/git-read-tree: fix table layout
+      Documentation/git-read-tree: clarify 2-tree merge
+      Documentation/git-reflog: Fix formatting of command lists
+      Documentation/gitdiffcore: Remove misleading date in heading
+      Documentation/urls: Remove spurious example markers
+      Documentation/git-clone: Transform description list into item list
+      .mailmap: Map the the first submissions of MJG by e-mail
+
+Michael Wookey (1):
+      run-command.c: fix build warnings on Ubuntu
+
+Nelson Elhage (2):
+      Documentation: pack-objects: Clarify --local's semantics.
+      pack-objects documentation: Fix --honor-pack-keep as well.
+
+René Scharfe (2):
+      blame: fix indent of line numbers
+      for_each_recent_reflog_ent(): use strbuf, fix offset handling
+
+Stephen Boyd (1):
+      pull: replace unnecessary sed invocation
+
+Thomas Rast (1):
+      Documentation: receive.denyCurrentBranch defaults to 'refuse'
+
+
+Version v1.7.0.2; changes since v1.7.0.1:
+-----------------------------------------
+
+Bert Wesarg (1):
+      unset GREP_OPTIONS in test-lib.sh
+
+Christian Couder (1):
+      bisect: error out when passing bad path parameters
+
+Dmitry Potapov (1):
+      hash-object: don't use mmap() for small files
+
+Erik Faye-Lund (1):
+      run-command: support custom fd-set in async
+
+Gabriel Filion (1):
+      require_work_tree broken with NONGIT_OK
+
+Hitoshi Mitake (1):
+      git-imap-send: Convert LF to CRLF before storing patch to draft box
+
+Jakub Narebski (2):
+      gitweb: Die if there are parsing errors in config file
+      gitweb: Fix project-specific feature override behavior
+
+Jonathan Nieder (8):
+      Fix 'git var' usage synopsis
+      Make 'git var GIT_PAGER' always print the configured pager
+      git.1: Clarify the behavior of the --paginate option
+      git svn: Fix launching of pager
+      am: Fix launching of pager
+      tests: Add tests for automatic use of pager
+      t7006-pager: if stdout is not a terminal, make a new one
+      tests: Fix race condition in t7006-pager
+
+Junio C Hamano (6):
+      t6000lib: Fix permission
+      lib-patch-mode.sh: Fix permission
+      status: preload index to optimize lstat(2) calls
+      Start preparing for 1.7.0.2
+      Update draft release notes to 1.7.0.2
+      Git 1.7.0.2
+
+Larry D'Anna (2):
+      git diff --quiet -w: check and report the status
+      git-diff: add a test for git diff --quiet -w
+
+Matthieu Moy (1):
+      stash: suggest the correct command line for unknown options.
+
+Michal Sojka (1):
+      Remove extra '-' from git-am(1)
+
+Nicolas Pitre (8):
+      fast-import: start using struct pack_idx_entry
+      fast-import: use sha1write() for pack data
+      fast-import: use write_idx_file() instead of custom code
+      fast-import: make default pack size unlimited
+      fast-import: honor pack.indexversion and pack.packsizelimit config vars
+      fast-import: use the diff_delta() max_delta_size argument
+      sha1_file: don't malloc the whole compressed result when writing out objects
+      sha1_file: be paranoid when creating loose objects
+
+René Scharfe (4):
+      utf8.c: remove print_wrapped_text()
+      utf8.c: remove print_spaces()
+      utf8.c: remove strbuf_write()
+      utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text()
+
+Shawn O. Pearce (7):
+      run-command: Allow stderr to be a caller supplied pipe
+      send-pack: demultiplex a sideband stream with status data
+      receive-pack: Refactor how capabilities are shown to the client
+      receive-pack: Wrap status reports inside side-band-64k
+      receive-pack: Send hook output over side band #2
+      t5401: Use a bare repository for the remote peer
+      receive-pack: Send internal errors over side-band #2
+
+Stephen Boyd (1):
+      t7406: Fix submodule init config tests
+
+Sylvain Rabot (1):
+      gitweb multiple project roots documentation
+
+Tay Ray Chuan (1):
+      transport: add got_remote_refs flag
+
+Thomas Rast (1):
+      cherry_pick_list: quit early if one side is empty
+
+
+Version v1.7.0.1; changes since v1.7.0:
+---------------------------------------
+
+Bert Wesarg (2):
+      Documentation: mention conflict marker size argument (%L) for merge driver
+      rerere: fix memory leak if rerere images can't be read
+
+Evan Powers (1):
+      git-p4: fix bug in symlink handling
+
+Jacob Helwig (1):
+      Documentation: Fix indentation problem in git-commit(1)
+
+Jeff King (9):
+      accept "git grep -- pattern"
+      cherry-pick: rewrap advice message
+      cherry-pick: refactor commit parsing code
+      cherry-pick: format help message as strbuf
+      cherry-pick: show commit name instead of sha1
+      cherry-pick: prettify the advice message
+      dwim_ref: fix dangling symref warning
+      docs: don't talk about $GIT_DIR/refs/ everywhere
+      rm: fix bug in recursive subdirectory removal
+
+Johannes Sixt (1):
+      t3301-notes: insert a shbang line in ./fake_editor.sh
+
+Jonathan Nieder (1):
+      am: remove rebase-apply directory before gc
+
+Junio C Hamano (6):
+      Typofixes outside documentation area
+      Start 1.7.0 maintenance track
+      Fix use of mutex in threaded grep
+      Prepare 1.7.0.1 release notes
+      Update 1.7.0.1 release notes
+      Git 1.7.0.1
+
+Larry D'Anna (1):
+      diff: make sure --output=/bad/path is caught
+
+Mark Lodato (2):
+      grep documentation: clarify what files match
+      Remove reference to GREP_COLORS from documentation
+
+Markus Heidelberg (1):
+      sha1_name: fix segfault caused by invalid index access
+
+Matt Kraai (1):
+      commit: quote the user name in the example
+
+Pete Harlan (1):
+      Remove hyphen from "git-command" in two error messages
+
+René Scharfe (1):
+      fix minor memory leak in get_tree_entry()
+
+Stephen Boyd (1):
+      Documentation: describe --thin more accurately
+
+Thomas Rast (2):
+      stash pop: remove 'apply' options during 'drop' invocation
+      t1450: fix testcases that were wrongly expecting failure
+
+
+Version v1.7.0; changes since v1.7.0-rc2:
+-----------------------------------------
+
+Brian Gernhardt (1):
+      t3902: Protect against OS X normalization
+
+Jacob Helwig (1):
+      filter-branch: Fix error message for --prune-empty --commit-filter
+
+Jay Soffian (1):
+      blame: prevent a segv when -L given start > EOF
+
+Jeff King (1):
+      am: switch --resolved to --continue
+
+Junio C Hamano (11):
+      git-add documentation: Fix shell quoting example
+      Fix parsing of imap.preformattedHTML and imap.sslverify
+      git-push: document all the status flags used in the output
+      check-ref-format documentation: fix enumeration mark-up
+      t8003: check exit code of command and error message separately
+      Git 1.6.6.2
+      Update draft release notes to 1.7.0 one more time
+      archive documentation: attributes are taken from the tree by default
+      Re-fix check-ref-format documentation mark-up
+      Fix typo in 1.6.6.2 release notes
+      Git 1.7.0
+
+Michael J Gruber (1):
+      Documentation: minor fixes to RelNotes-1.7.0
+
+Nicolas Pitre (1):
+      Revert "pack-objects: fix pack generation when using pack_size_limit"
+
+SZEDER Gábor (1):
+      bash: support 'git am's new '--continue' option
+
+Thomas Rast (1):
+      Documentation: quote braces in {upstream} notation
+
+
+Version v1.7.0-rc2; changes since v1.7.0-rc1:
+---------------------------------------------
+
+Andrew Myrick (1):
+      git-svn: persistent memoization
+
+Ben Walton (2):
+      configure: Allow GIT_ARG_SET_PATH to handle --without-PROGRAM
+      configure: Allow --without-python
+
+Björn Gustavsson (1):
+      bash: support the --autosquash option for rebase
+
+Brian Gernhardt (2):
+      t9501: Skip testing load if we can't detect it
+      t9501: Re-fix max load test
+
+Christian Stimming (1):
+      git-gui: Update German translation (12 new or changed strings).
+
+Dan McGee (1):
+      Make NO_PTHREADS the sole thread configuration variable
+
+Emmanuel Trillaud (1):
+      git-gui: update french translation
+
+Giuseppe Bilotta (4):
+      git-gui: handle non-standard worktree locations
+      git-gui: handle bare repos correctly
+      git-gui: update shortcut tools to use _gitworktree
+      git-gui: set GIT_DIR and GIT_WORK_TREE after setup
+
+Heiko Voigt (1):
+      git-gui: fix shortcut for menu "Commit/Revert Changes"
+
+Jakub Narebski (1):
+      gitweb: Make running t9501 test with '--debug' reliable and usable
+
+Jeff Epler (1):
+      git-gui: Support applying a range of changes at once
+
+Jeff King (3):
+      mention new shell execution behavior in release notes
+      docs: fix filter-branch example for quoted paths
+      Fix invalid read in quote_c_style_counted
+
+Jens Lehmann (5):
+      git-gui: Use git diff --submodule when available
+      git-gui: Add a special diff popup menu for submodules
+      git-gui: Quote git path when starting another gui in a submodule
+      Fix memory leak in submodule.c
+      Updates for dirty submodules in release notes and user manual
+
+John 'Warthog9' Hawley (7):
+      gitweb: Load checking
+      gitweb: Makefile improvements
+      gitweb: Check that $site_header etc. are defined before using them
+      gitweb: add a "string" variant of print_local_time
+      gitweb: add a "string" variant of print_sort_th
+      gitweb: Add optional extra parameter to die_error, for extended explanation
+      gitweb: Simplify (and fix) chop_str
+
+Junio C Hamano (7):
+      RPM packaging: use %global inside %{!?...}
+      Update draft release notes to 1.7.0
+      build: make code "-Wpointer-arith" clean
+      fast-import.c: Fix big-file-threshold parsing bug
+      fast-import: count --max-pack-size in bytes
+      Revert 30816237 and 7e62265
+      Update draft release notes to 1.7.0
+
+Michael J Gruber (1):
+      git-clean: fix the description of the default behavior
+
+Michal Sojka (2):
+      filter-branch: Fix to allow replacing submodules with another content
+      filter-branch: Add tests for submodules in tree-filter
+
+Michele Ballabio (1):
+      git-gui: update Italian translation
+
+Nanako Shiraishi (1):
+      git-gui: update Japanese translation
+
+Nicolas Pitre (4):
+      fix multiple issues with t5300
+      pack-objects: fix pack generation when using pack_size_limit
+      make --max-pack-size argument to 'git pack-object' count in bytes
+      update git-repack documentation wrt repack.UseDeltaBaseOffset
+
+Pal-Kristian Engstad (1):
+      git-p4: Fix sync errors due to new server version
+
+Pat Thoyts (1):
+      git-gui: use themed tk widgets with Tk 8.5
+
+Paul Mackerras (1):
+      gitk: Fix copyright symbol in About box message
+
+Peter Krefting (1):
+      git-gui: Update Swedish translation (520t0f0u)
+
+Peter Oberndorfer (1):
+      git-gui: use different icon for new and modified files in the index
+
+Ralf Wildenhues (1):
+      Fix typos in technical documentation.
+
+René Scharfe (2):
+      grep: simplify assignment of ->fixed
+      archive: simplify archive format guessing
+
+Shawn O. Pearce (4):
+      git-gui: Remove unused icon file_parttick
+      git-gui: Update translation template
+      fast-import: Stream very large blobs directly to pack
+      Correct spelling of 'REUC' extension
+
+Wesley J. Landaker (1):
+      Update git fsck --full short description to mention packs
+
+
+Version v1.7.0-rc1; changes since v1.7.0-rc0:
+---------------------------------------------
+
+Alejandro Riveira Fernández (1):
+      Add test-run-command to .gitignore
+
+Benjamin Kramer (1):
+      grep: use REG_STARTEND (if available) to speed up regexec
+
+Christian Couder (1):
+      gitk: Add "--no-replace-objects" option
+
+Christian Stimming (1):
+      gitk: Update German translation
+
+Dan McGee (1):
+      grep: Fix two memory leaks
+
+Dave Dulson (2):
+      gitk: Enable gitk to create tags with messages
+      gitk: Fix display of newly-created tags
+
+Emmanuel Trillaud (1):
+      gitk: Add French translation
+
+Fredrik Kuivinen (1):
+      Threaded grep
+
+Gerrit Pape (1):
+      git-cvsserver: allow regex metacharacters in CVSROOT
+
+Ilari Liusvaara (7):
+      Support addresses with ':' in git-daemon
+      Allow use of []-wrapped addresses in git://
+      Add xmallocz()
+      Fix integer overflow in patch_delta()
+      Fix integer overflow in unpack_sha1_rest()
+      Fix integer overflow in unpack_compressed_entry()
+      Fix remote.<remote>.vcs
+
+Jeff King (8):
+      t0101: use absolute date
+      rerere: fix too-short initialization
+      test combinations of @{} syntax
+      fix parsing of @{-1}@{u} combination
+      reject @{-1} not at beginning of object name
+      fix memcpy of overlapping area
+      fix off-by-one allocation error
+      add shebang line to git-mergetool--lib.sh
+
+Jens Lehmann (2):
+      git diff: Don't test submodule dirtiness with --ignore-submodules
+      Teach diff --submodule that modified submodule directory is dirty
+
+Johan Herland (1):
+      builtin-config: Fix crash when using "-f <relative path>" from non-root dir
+
+Johannes Sixt (2):
+      git_connect: use use_shell instead of explicit "sh", "-c"
+      Implement pthread_cond_broadcast on Windows
+
+Junio C Hamano (13):
+      Make ce_uptodate() trustworthy again
+      grep: expose "status-only" feature via -q
+      Fix log -g this@{upstream}
+      approxidate_careful() reports errorneous date string
+      work around an obnoxious bash "safety feature" on OpenBSD
+      Update @{bogus.timestamp} fix not to die()
+      t0101: use a fixed timestamp when searching in the reflog
+      transport_get(): drop unnecessary check for !remote
+      tests: update tests that used to fail
+      grep --quiet: finishing touches
+      Update draft release notes to 1.7.0
+      RPM packaging: don't include foreign-scm-helper bits yet
+      is_submodule_modified(): fix breakage with external GIT_INDEX_FILE
+
+Kirill Smelkov (1):
+      gitk: Display submodule diffs with appropriate encoding
+
+Laszlo Papp (1):
+      gitk: Add Hungarian translation
+
+Markus Heidelberg (2):
+      gitk: Adjust two equal strings which differed in whitespace
+      rebase: don't invoke the pager for each commit summary
+
+Michele Ballabio (1):
+      gitk: update Italian translation
+
+Miklos Vajna (1):
+      gitk: Update Hungarian translation
+
+Peter Krefting (1):
+      gitk: Update Swedish translation
+
+SZEDER Gábor (2):
+      bash: don't offer remote transport helpers as subcommands
+      bash: support 'git notes' and its subcommands
+
+Sebastian Schuberth (1):
+      If deriving SVN_SSH from GIT_SSH on msys, also add quotes
+
+Stephen Boyd (6):
+      rebase: replace antiquated sed invocation
+      commit-tree: remove unused #define
+      tests: consolidate CR removal/addition functions
+      t0022: replace non-portable literal CR
+      am: fix patch format detection for Thunderbird "Save As" emails
+      fix portability issues with $ in double quotes
+
+Tay Ray Chuan (1):
+      t5541-http-push: make grep expression check for one line only
+
+
+Version v1.7.0-rc0; changes since v1.6.6.3:
+-------------------------------------------
+
+Andreas Gruenbacher (2):
+      builtin-apply.c: Skip filenames without enough components
+      builtin-apply.c: fix the --- and +++ header filename consistency check
+
+Andrew Myrick (3):
+      git-svn: ignore changeless commits when checking for a cherry-pick
+      git-svn: handle merge-base failures
+      git-svn: update svn mergeinfo test suite
+
+Andrzej K. Haczewski (1):
+      MSVC: Windows-native implementation for subset of Pthreads API
+
+Avery Pennarun (3):
+      git merge -X<option>
+      Teach git-pull to pass -X<option> to git-merge
+      Extend merge-subtree tests to test -Xsubtree=dir.
+
+Bart Trojanowski (1):
+      hg-to-git: fix COMMITTER type-o
+
+Ben Walton (3):
+      cvsimport: modernize callouts to git subcommands
+      cvsimport: standarize open() calls to external git tools
+      cvsimport: standarize system() calls to external git tools
+
+Brad King (2):
+      Test update-index for a gitlink to a .git file
+      Handle relative paths in submodule .git files
+
+Christian Couder (8):
+      reset: improve mixed reset error message when in a bare repo
+      Documentation: reset: add some tables to describe the different options
+      reset: add a few tests for "git reset --merge"
+      Documentation: reset: add some missing tables
+      t7111: check that reset options work as described in the tables
+      help: fix configured help format taking over command line one
+      t7111: fix bad HEAD in tests with unmerged entries
+      Documentation: rev-list: fix synopsys for --tags and and --remotes
+
+Daniel Barkalow (9):
+      Fix memory leak in helper method for disconnect
+      Allow programs to not depend on remotes having urls
+      Use a function to determine whether a remote is valid
+      Allow fetch to modify refs
+      Add a config option for remotes to specify a foreign vcs
+      Add support for "import" helper command
+      Allow helper to map private ref names into normal names
+      Allow helpers to report in "list" command that the ref is unchanged
+      Replace parse_blob() with an explanatory comment
+
+David Aguilar (11):
+      t7800-difftool: Set a bogus tool for use by tests
+      git-difftool: Add '--gui' for selecting a GUI tool
+      difftool--helper: Update copyright and remove distracting comments
+      difftool--helper: Remove use of the GIT_MERGE_TOOL variable
+      difftool: Allow specifying unconfigured commands with --extcmd
+      git-diff.txt: Link to git-difftool
+      t7800-difftool.sh: Simplify the --extcmd test
+      difftool: Add '-x' and as an alias for '--extcmd'
+      difftool: Use eval to expand '--extcmd' expressions
+      difftool: Update copyright notices to list each year separately
+      t7800-difftool.sh: Test mergetool.prompt fallback
+
+Erik Faye-Lund (2):
+      daemon: consider only address in kill_some_child()
+      Windows: disable Python
+
+Felipe Contreras (1):
+      General --quiet improvements
+
+Greg Bacon (1):
+      No diff -b/-w output for all-whitespace changes
+
+Horst H. von Brand (1):
+      git-rebase.txt: Fix spelling
+
+Igor Mironov (4):
+      git-svn: fix mismatched src/dst errors for branch/tag
+      git-svn: respect commiturl option for branch/tag
+      git-svn: add --username/commit-url options for branch/tag
+      git-svn: document --username/commit-url for branch/tag
+
+Ilari Liusvaara (15):
+      Add remote helper debug mode
+      Support mandatory capabilities
+      Pass unknown protocols to external protocol handlers
+      Refactor git transport options parsing
+      Support taking over transports
+      Support remote helpers implementing smart transports
+      Support remote archive from all smart transports
+      Remove special casing of http, https and ftp
+      Reset possible helper before reusing remote structure
+      Improve error message when a transport helper was not found
+      Add push --set-upstream
+      Add git remote set-url
+      Add branch --set-upstream
+      rev-parse --glob
+      rev-parse --branches/--tags/--remotes=pattern
+
+Jakub Narebski (1):
+      gitweb.js: Workaround for IE8 bug
+
+James P. Howard, II (1):
+      commit: support commit.status, --status, and --no-status
+
+Jan Krüger (1):
+      builtin-push: add --delete as syntactic sugar for :foo
+
+Jay Soffian (2):
+      git-svn: allow UUID to be manually remapped via rewriteUUID
+      git-svn: allow subset of branches/tags to be specified in glob spec
+
+Jeff King (20):
+      status: typo fix in usage
+      status: refactor short-mode printing to its own function
+      status: refactor format option parsing
+      status: add --porcelain output format
+      commit: support alternate status formats
+      docs: note that status configuration affects only long format
+      tests: rename duplicate t1009
+      status: disable color for porcelain format
+      status: reduce duplicated setup code
+      tests: handle NO_PYTHON setting
+      run-command: add "use shell" option
+      run-command: convert simple callsites to use_shell
+      run-command: optimize out useless shell calls
+      editor: use run_command's shell feature
+      textconv: use shell to run helper
+      diff: run external diff helper with shell
+      strbuf_expand: convert "%%" to "%"
+      strbuf: add strbuf_addbuf_percentquote
+      commit: show interesting ident information in summary
+      commit: allow suppression of implicit identity advice
+
+Jens Lehmann (3):
+      Show submodules as modified when they contain a dirty work tree
+      git status: Show uncommitted submodule changes too when enabled
+      Performance optimization for detection of modified submodules
+
+Jim Meyering (1):
+      diff.c: fix typoes in comments
+
+Johan Herland (4):
+      Basic build infrastructure for Python scripts
+      fast-import: Proper notes tree manipulation
+      Rename t9301 to t9350, to make room for more fast-import tests
+      Add more testcases to test fast-import of notes
+
+Johannes Schindelin (2):
+      Allow specifying the remote helper in the url
+      Introduce <branch>@{upstream} notation
+
+Johannes Sixt (16):
+      Make test case number unique
+      filter-branch: remove an unnecessary use of 'git read-tree'
+      t0021: use $SHELL_PATH for the filter script
+      t4030, t4031: work around bogus MSYS bash path conversion
+      start_command: report child process setup errors to the parent's stderr
+      run-command: move wait_or_whine earlier
+      start_command: detect execvp failures early
+      Windows: boost startup by avoiding a static dependency on shell32.dll
+      Windows: simplify the pipe(2) implementation
+      Windows: avoid the "dup dance" when spawning a child process
+      Do not use date.c:tm_to_time_t() from compat/mingw.c
+      Makefile: honor NO_CURL when setting REMOTE_CURL_* variables
+      Make test case numbers unique
+      Make 'rerere forget' work from a subdirectory.
+      merge-tree: remove unnecessary call of git_extract_argv0_path
+      Make test numbers unique
+
+Jonathan Nieder (15):
+      Makefile: make ppc/sha1ppc.o depend on GIT-CFLAGS
+      Makefile: regenerate assembler listings when asked
+      Makefile: use target-specific variable to pass flags to cc
+      Makefile: learn to generate listings for targets requiring special flags
+      Makefile: consolidate .FORCE-* targets
+      Documentation: git gc packs refs by default now
+      Documentation: tiny git config manual tweaks
+      Documentation: merge: move configuration section to end
+      Documentation: suggest `reset --merge` in How Merge Works section
+      Documentation: merge: move merge strategy list to end
+      Documentation: merge: add an overview
+      Documentation: emphasize when git merge terminates early
+      Documentation: merge: add a section about fast-forward
+      Documentation: simplify How Merge Works
+      Documentation: merge: use MERGE_HEAD to refer to the remote branch
+
+Junio C Hamano (96):
+      Refuse updating the current branch in a non-bare repository via push
+      Refuse deleting the current branch via push
+      diff: change semantics of "ignore whitespace" options
+      diff: Rename QUIET internal option to QUICK
+      git stat: the beginning of "status that is not a dry-run of commit"
+      git stat -s: short status output
+      git status: not "commit --dry-run" anymore
+      send-email: make --no-chain-reply-to the default
+      "checkout A...B" switches to the merge base between A and B
+      "rebase --onto A...B" replays history on the merge base between A and B
+      git-merge-file --ours, --theirs
+      Teach --[no-]rerere-autoupdate option to merge, revert and friends
+      commit/status: check $GIT_DIR/MERGE_HEAD only once
+      commit/status: "git add <path>" is not necessarily how to resolve
+      status/commit: do not suggest "reset HEAD <path>" while merging
+      builtin-merge.c: use standard active_cache macros
+      resolve-undo: record resolved conflicts in a new index extension section
+      resolve-undo: basic tests
+      resolve-undo: allow plumbing to clear the information
+      resolve-undo: "checkout -m path" uses resolve-undo information
+      resolve-undo: teach "update-index --unresolve" to use resolve-undo info
+      rerere: remove silly 1024-byte line limit
+      Kick off 1.7.0 cycle
+      Remove http.authAny
+      branch -d: base the "already-merged" safety on the branch it merges with
+      "reset --merge": fix unmerged case
+      tests: move convenience regexp to match object names to test-lib.sh
+      more D/F conflict tests
+      traverse_trees(): handle D/F conflict case sanely
+      Aggressive three-way merge: fix D/F case
+      Fix bit assignment for CE_CONFLICTED
+      .gitattributes: detect 8-space indent in shell scripts
+      unpack-trees.c: prepare for looking ahead in the index
+      unpack-trees.c: look ahead in the index
+      read-tree --debug-unpack
+      Describe second batch for 1.7.0 in draft release notes
+      ident.c: remove unused variables
+      t3001: test ls-files -o ignored/dir
+      read_directory_recursive(): refactor handling of a single path into a separate function
+      read_directory(): further split treat_path()
+      ls-files: fix overeager pathspec optimization
+      ident.c: check explicit identity for name and email separately
+      ident.c: treat $EMAIL as giving user.email identity explicitly
+      rerere: refactor rerere logic to make it independent from I/O
+      rerere forget path: forget recorded resolution
+      bisect.c: mark file-local function static
+      builtin-rev-list.c: mark file-local function static
+      pretty.c: mark file-local function static
+      grep: optimize built-in grep by skipping lines that do not hit
+      http.c: mark file-local functions static
+      entry.c: mark file-local function static
+      parse-options.c: mark file-local function static
+      read-cache.c: mark file-local functions static
+      remote-curl.c: mark file-local function static
+      quote.c: mark file-local function static
+      submodule.c: mark file-local function static
+      utf8.c: mark file-local function static
+      mailmap.c: remove unused function
+      sha1_file.c: remove unused function
+      strbuf.c: remove unused function
+      grep: rip out support for external grep
+      grep: rip out pessimization to use fixmatch()
+      t7502: test commit.status, --status and --no-status
+      strbuf_addbuf(): allow passing the same buf to dst and src
+      grep: prepare to run outside of a work tree
+      grep --no-index: allow use of "git grep" outside a git repository
+      Teach diff that modified submodule directory is dirty
+      git_attr(): fix function signature
+      xdl_merge(): introduce xmparam_t for merge specific parameters
+      xdl_merge(): allow passing down marker_size in xmparam_t
+      merge-tree: use ll_merge() not xdl_merge()
+      rerere: use ll_merge() instead of using xdl_merge()
+      conflict-marker-size: new attribute
+      commit.c::print_summary: do not release the format string too early
+      rerere: prepare for customizable conflict marker length
+      rerere: honor conflict-marker-size attribute
+      user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere
+      user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere
+      Update COPYING with GPLv2 with new FSF address
+      Update draft release notes to 1.7.0
+      pull: Fix parsing of -X<option>
+      Make "subtree" part more orthogonal to the rest of merge-recursive.
+      Document that merge strategies can now take their own options
+      object.c: remove unused functions
+      symlinks.c: remove unused functions
+      Update draft release notes to 1.7.0
+      Fix "checkout A..." synonym for "checkout A...HEAD" on Windows
+      t1506: more test for @{upstream} syntax
+      Teach @{upstream} syntax to strbuf_branchanme()
+      date.c: mark file-local function static
+      Update draft release notes to 1.7.0
+      conflict-marker-size: add test and docs
+      git-mv: fix moving more than one source to a single destination
+      Update draft release notes to 1.7.0
+      rebase -i: Export GIT_AUTHOR_* variables explicitly
+      pull: re-fix command line generation
+
+Linus Torvalds (11):
+      Remove diff machinery dependency from read-cache
+      slim down "git show-index"
+      make "git merge-tree" a built-in
+      make "git hash-object" a built-in
+      make "git var" a built-in
+      make "git patch-id" a built-in
+      make "merge-index" a built-in
+      make "mktag" a built-in
+      make "git unpack-file" a built-in
+      make "git pack-redundant" a built-in
+      make "index-pack" a built-in
+
+Martin Storsjö (2):
+      Add an option for using any HTTP authentication scheme, not only basic
+      Allow curl to rewind the RPC read buffer
+
+Matthew Ogilvie (3):
+      build dashless "bin-wrappers" directory similar to installed bindir
+      run test suite without dashed git-commands in PATH
+      INSTALL: document a simpler way to run uninstalled builds
+
+Matthieu Moy (6):
+      Detailed diagnosis when parsing an object name fails.
+      builtin-config: add --path option doing ~ and ~user expansion.
+      push: spell 'Note about fast-forwards' section name correctly in error message.
+      Be more user-friendly when refusing to do something because of conflict.
+      lockfile: show absolute filename in unable_to_lock_message
+      branch: warn and refuse to set a branch as a tracking branch of itself.
+
+Michael Haggerty (25):
+      t3404: Use test_commit to set up test repository
+      Add a command "fixup" to rebase --interactive
+      lib-rebase: Provide clearer debugging info about what the editor did
+      lib-rebase: Allow comments and blank lines to be added to the rebase script
+      rebase-i: Ignore comments and blank lines in peek_next_command
+      rebase -i: Make the condition for an "if" more transparent
+      rebase -i: Remove dead code
+      rebase -i: Inline expression
+      rebase -i: Use "test -n" instead of "test ! -z"
+      rebase -i: Use symbolic constant $MSG consistently
+      rebase -i: Document how temporary files are used
+      rebase -i: Introduce a constant AUTHOR_SCRIPT
+      rebase -i: Introduce a constant AMEND
+      t3404: Test the commit count in commit messages generated by "rebase -i"
+      rebase -i: Improve consistency of commit count in generated commit messages
+      rebase -i: Simplify commit counting for generated commit messages
+      rebase -i: Extract a function "commit_message"
+      rebase -i: Handle the author script all in one place in do_next
+      rebase -i: Extract function do_with_author
+      rebase -i: Change function make_squash_message into update_squash_message
+      rebase -i: For fixup commands without squashes, do not start editor
+      t3404: Set up more of the test repo in the "setup" step
+      rebase -i: Retain user-edited commit messages after squash/fixup conflicts
+      rebase -i: Avoid non-portable "test X -a Y"
+      rebase -i: Enclose sed command substitution in quotes
+
+Michael J Gruber (7):
+      status -s: respect the status.relativePaths option
+      t7508-status.sh: Add tests for status -s
+      builtin-commit: refactor short-status code into wt-status.c
+      status -s: obey color.status
+      t7508-status: status --porcelain ignores relative paths setting
+      t7508-status: test all modes with color
+      tag -d: print sha1 of deleted tag
+
+Michael Lukashov (1):
+      Windows: Remove dependency on pthreadGC2.dll
+
+Miklos Vajna (2):
+      builtin-commit: add --date option
+      Document date formats accepted by parse_date()
+
+Nanako Shiraishi (3):
+      rebase -i --autosquash: auto-squash commits
+      rebase: fix --onto A...B parsing and add tests
+      rebase -i: teach --onto A...B syntax
+
+Nguyễn Thái Ngọc Duy (27):
+      update-index: refactor mark_valid() in preparation for new options
+      Add test-index-version
+      Introduce "skip-worktree" bit in index, teach Git to get/set this bit
+      Teach Git to respect skip-worktree bit (reading part)
+      Teach Git to respect skip-worktree bit (writing part)
+      Avoid writing to buffer in add_excludes_from_file_1()
+      Read .gitignore from index if it is skip-worktree
+      unpack-trees(): carry skip-worktree bit over in merged_entry()
+      excluded_1(): support exclude files in index
+      dir.c: export excluded_1() and add_excludes_from_file_1()
+      Introduce "sparse checkout"
+      unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
+      unpack-trees.c: generalize verify_* functions
+      unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
+      unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
+      unpack-trees(): ignore worktree check outside checkout area
+      read-tree: add --no-sparse-checkout to disable sparse checkout support
+      Add tests for sparse checkout
+      sparse checkout: inhibit empty worktree
+      ie_match_stat(): do not ignore skip-worktree bit with CE_MATCH_IGNORE_VALID
+      commit: correctly respect skip-worktree bit
+      grep: do not do external grep on skip-worktree entries
+      t7002: set test prerequisite "external-grep" if supported
+      t7002: test for not using external grep on skip-worktree paths
+      status: only touch path we may need to check
+      rm: only refresh entries that we may touch
+      Fix memory corruption when .gitignore does not end by \n
+
+Nicolas Pitre (1):
+      fix git-p4 editor invocation
+
+Peter Collingbourne (1):
+      Remove empty directories when checking out a commit with fewer submodules
+
+Phil Miller (1):
+      CVS Server: Support reading base and roots from environment
+
+Ramkumar Ramachandra (1):
+      Documentation: Update git core tutorial clarifying reference to scripts
+
+Ramsay Allan Jones (5):
+      MSVC: Fix an "incompatible pointer types" compiler warning
+      engine.pl: Fix a recent breakage of the buildsystem generator
+      msvc: Fix an "unrecognized option" linker warning
+      msvc: Fix a compiler warning due to an incorrect pointer cast
+      msvc: Add a definition of NORETURN compatible with msvc compiler
+
+Robert Zeh (1):
+      Add completion for git-svn mkdirs,reset,and gc
+
+Sebastian Schuberth (1):
+      Make difftool.prompt fall back to mergetool.prompt
+
+Sergei Organov (1):
+      cvsserver: make the output of 'update' more compatible with cvs.
+
+Shawn O. Pearce (1):
+      bash completion: add space between branch name and status flags
+
+Stephan Beyer (1):
+      reset: use "unpack_trees()" directly instead of "git read-tree"
+
+Steven Drake (2):
+      Add 'git rev-parse --show-toplevel' option.
+      Use $(git rev-parse --show-toplevel) in cd_to_toplevel().
+
+Sverre Rabbelier (9):
+      Fix various memory leaks in transport-helper.c
+      Add Python support library for remote helpers
+      fast-import: put option parsing code in separate functions
+      fast-import: put marks reading in its own function
+      fast-import: add feature command
+      fast-import: add option command
+      fast-import: test the new option command
+      fast-import: allow for multiple --import-marks= arguments
+      fast-import: add (non-)relative-marks feature
+
+Tarmigan Casebolt (7):
+      t/lib-http.sh: Restructure finding of default httpd location
+      Smart-http: check if repository is OK to export before serving it
+      Smart-http tests: Improve coverage in test t5560
+      Smart-http tests: Break test t5560-http-backend into pieces
+      Smart-http tests: Test http-backend without curl or a webserver
+      Test t5560: Fix test when run with dash
+      ident.c: replace fprintf with fputs to suppress compiler warning
+
+Tay Ray Chuan (12):
+      http: maintain curl sessions
+      builtin-push: don't access freed transport->url
+      check stderr with isatty() instead of stdout when deciding to show progress
+      git-clone.txt: reword description of progress behaviour
+      clone: set transport->verbose when -v/--verbose is used
+      clone: use --progress to force progress reporting
+      t5541-http-push.sh: add tests for non-fast-forward pushes
+      t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs
+      refactor ref status logic for pushing
+      transport.c::transport_push(): make ref status affect return value
+      transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushed
+      transport-helper.c::push_refs(): emit "no refs" error message
+
+Thiago Farina (2):
+      Use warning function instead of fprintf(stderr, "Warning: ...").
+      string-list: rename the include guard to STRING_LIST_H
+
+Thomas Rast (9):
+      Documentation/git-merge: reword references to "remote" and "pull"
+      Documentation: warn prominently against merging with dirty trees
+      Documentation: format full commands in typewriter font
+      Documentation: spell 'git cmd' without dash throughout
+      Documentation: show-files is now called git-ls-files
+      Documentation: emphasise 'git shortlog' in its synopsis
+      Documentation: improve description of --glob=pattern and friends
+      Documentation: add missing :: in config.txt
+      Documentation: move away misplaced 'push --upstream' description
+
+
+Version v1.6.6.3; changes since v1.6.6.2:
+-----------------------------------------
+
+Christian Couder (1):
+      bisect: error out when passing bad path parameters
+
+Erik Faye-Lund (1):
+      run-command: support custom fd-set in async
+
+Gabriel Filion (1):
+      require_work_tree broken with NONGIT_OK
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Hitoshi Mitake (1):
+      git-imap-send: Convert LF to CRLF before storing patch to draft box
+
+Jacob Helwig (1):
+      filter-branch: Fix error message for --prune-empty --commit-filter
+
+Jakub Narebski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Jeff King (2):
+      dwim_ref: fix dangling symref warning
+      rm: fix bug in recursive subdirectory removal
+
+Johannes Sixt (2):
+      t3301-notes: insert a shbang line in ./fake_editor.sh
+      MSVC: Fix build by adding missing termios.h dummy
+
+Junio C Hamano (5):
+      t6000lib: Fix permission
+      lib-patch-mode.sh: Fix permission
+      Re-fix check-ref-format documentation mark-up
+      Fix typo in 1.6.6.2 release notes
+      Git 1.6.4.5
+
+Larry D'Anna (1):
+      diff: make sure --output=/bad/path is caught
+
+Michael J Gruber (4):
+      Documentation/git-reflog: Fix formatting of command lists
+      Documentation/gitdiffcore: Remove misleading date in heading
+      Documentation/urls: Remove spurious example markers
+      Documentation/git-clone: Transform description list into item list
+
+Michal Sojka (1):
+      Remove extra '-' from git-am(1)
+
+Pete Harlan (1):
+      Remove hyphen from "git-command" in two error messages
+
+René Scharfe (5):
+      fix minor memory leak in get_tree_entry()
+      utf8.c: remove print_wrapped_text()
+      utf8.c: remove print_spaces()
+      utf8.c: remove strbuf_write()
+      utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text()
+
+Shawn O. Pearce (7):
+      run-command: Allow stderr to be a caller supplied pipe
+      send-pack: demultiplex a sideband stream with status data
+      receive-pack: Refactor how capabilities are shown to the client
+      receive-pack: Wrap status reports inside side-band-64k
+      receive-pack: Send hook output over side band #2
+      t5401: Use a bare repository for the remote peer
+      receive-pack: Send internal errors over side-band #2
+
+Stephen Boyd (1):
+      request-pull.txt: Document -p option
+
+Thomas Rast (2):
+      stash pop: remove 'apply' options during 'drop' invocation
+      cherry_pick_list: quit early if one side is empty
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.6.6.2; changes since v1.6.6.1:
+-----------------------------------------
+
+Christopher Beelby (1):
+      git-gui: Keep repo_config(gui.recentrepos) and .gitconfig in sync
+
+Gerrit Pape (1):
+      git-cvsserver: allow regex metacharacters in CVSROOT
+
+Giuseppe Bilotta (1):
+      git-gui: work from the .git dir
+
+Ilari Liusvaara (4):
+      Add xmallocz()
+      Fix integer overflow in patch_delta()
+      Fix integer overflow in unpack_sha1_rest()
+      Fix integer overflow in unpack_compressed_entry()
+
+Jay Soffian (1):
+      blame: prevent a segv when -L given start > EOF
+
+Jeff Epler (1):
+      git-gui: Fix applying a line when all following lines are deletions
+
+Jeff King (1):
+      fix memcpy of overlapping area
+
+Jens Lehmann (1):
+      git-gui: Correct file_states when unstaging partly staged entry
+
+Johan Herland (1):
+      builtin-config: Fix crash when using "-f <relative path>" from non-root dir
+
+Jonathan Nieder (1):
+      git-gui: Makefile: consolidate .FORCE-* targets
+
+Junio C Hamano (15):
+      checkout -m path: fix recreating conflicts
+      status: don't require the repository to be writable
+      Fix "log" family not to be too agressive about showing notes
+      Fix "log --oneline" not to show notes
+      merge-recursive: do not return NULL only to cause segfault
+      ignore duplicated slashes in make_relative_path()
+      approxidate_careful() reports errorneous date string
+      Update @{bogus.timestamp} fix not to die()
+      t0101: use a fixed timestamp when searching in the reflog
+      git-add documentation: Fix shell quoting example
+      Fix parsing of imap.preformattedHTML and imap.sslverify
+      git-push: document all the status flags used in the output
+      check-ref-format documentation: fix enumeration mark-up
+      t8003: check exit code of command and error message separately
+      Git 1.6.6.2
+
+Nguyễn Thái Ngọc Duy (1):
+      Add missing #include to support TIOCGWINSZ on Solaris
+
+Pat Thoyts (1):
+      git-gui: handle really long error messages in updateindex.
+
+Peter Krefting (1):
+      git-gui: Fix gitk for branch whose name matches local file
+
+René Scharfe (2):
+      archive: complain about path specs that don't match anything
+      archive: simplify archive format guessing
+
+SZEDER Gábor (1):
+      bash: don't offer remote transport helpers as subcommands
+
+Shawn O. Pearce (1):
+      fast-import: Stream very large blobs directly to pack
+
+Tay Ray Chuan (1):
+      retry request without query when info/refs?query fails
+
+Vitaly "_Vi" Shukela (1):
+      git-gui: Add hotkeys for "Unstage from commit" and "Revert changes"
+
+Wesley J. Landaker (1):
+      Update git fsck --full short description to mention packs
+
+
+Version v1.6.6.1; changes since v1.6.6:
+---------------------------------------
+
+Andreas Gruenbacher (3):
+      base85 debug code: Fix length byte calculation
+      base85: encode_85() does not use the decode table
+      base85: Make the code more obvious instead of explaining the non-obvious
+
+Andreas Schwab (1):
+      git count-objects: handle packs bigger than 4G
+
+Björn Gustavsson (4):
+      Documentation: 'git add -A' can remove files
+      git-add/rm doc: Consistently back-quote
+      Fix "git remote update" with remotes.defalt set
+      git-rm doc: Describe how to sync index & work tree
+
+David Ripton (1):
+      bisect: fix singular/plural grammar nit
+
+Dmitry Potapov (1):
+      fast-import: tag may point to any object type
+
+Greg Price (1):
+      commit: --cleanup is a message option
+
+Jeff King (2):
+      reset: unbreak hard resets with GIT_WORK_TREE
+      textconv: stop leaking file descriptors
+
+Jim Meyering (1):
+      grep: NUL terminate input from a file
+
+Jonathan Nieder (2):
+      Documentation: git gc packs refs by default now
+      Documentation: tiny git config manual tweaks
+
+Junio C Hamano (10):
+      t1200: work around a bug in some implementations of "find"
+      t4019 "grep" portability fix
+      Start 1.6.6.X maintenance track
+      Makefile: FreeBSD (both 7 and 8) needs OLD_ICONV
+      checkout -m: do not try to fall back to --merge from an unborn branch
+      grep: -L should show empty files
+      Update draft release notes to 1.6.6.1
+      Fix mis-backport of t7002
+      Git 1.6.5.8
+      Git 1.6.6.1
+
+Matthieu Moy (3):
+      SubmittingPatches: hints to know the status of a submitted patch.
+      branch: die explicitly why when calling "git branch [-a|-r] branchname".
+      stash: mention --patch in usage string.
+
+Michael Haggerty (1):
+      rebase--interactive: Ignore comments and blank lines in peek_next_command
+
+Nathaniel W Filardo (1):
+      read_index(): fix reading extension size on BE 64-bit archs
+
+Nguyễn Thái Ngọc Duy (2):
+      Documentation: always respect core.worktree if set
+      t7102: make the test fail if one of its check fails
+
+Ramkumar Ramachandra (1):
+      Document git-blame triple -C option
+
+Richard Weinberger (1):
+      Fix uninitialized variable in get_refs_via_rsync().
+
+Shawn O. Pearce (2):
+      fast-import: Document author/committer/tagger name is optional
+      remote-curl: Fix Accept header for smart HTTP connections
+
+Stephen Boyd (3):
+      octopus: make merge process simpler to follow
+      octopus: reenable fast-forward merges
+      octopus: remove dead code
+
+Tarmigan Casebolt (1):
+      Add git-http-backend to command-list.
+
+Thomas Rast (1):
+      bash completion: factor submodules into dirty state
+
+
+Version v1.6.6; changes since v1.6.6-rc4:
+-----------------------------------------
+
+Andrew Myrick (1):
+      git-svn: Remove obsolete MAXPARENT check
+
+David Reiss (1):
+      Prevent git blame from segfaulting on a missing author name
+
+Eric Wong (4):
+      git svn: fix --revision when fetching deleted paths
+      update release notes for git svn in 1.6.6
+      git svn: lookup new parents correctly from svn:mergeinfo
+      git svn: branch/tag commands detect username in URLs
+
+Junio C Hamano (1):
+      Git 1.6.6
+
+Robert Zeh (1):
+      git svn: add test for a git svn gc followed by a git svn mkdirs
+
+Sam Vilain (5):
+      git-svn: expand the svn mergeinfo test suite, highlighting some failures
+      git-svn: memoize conversion of SVN merge ticket info to git commit ranges
+      git-svn: fix some mistakes with interpreting SVN mergeinfo commit ranges
+      git-svn: exclude already merged tips using one rev-list call
+      git-svn: detect cherry-picks correctly.
+
+
+Version v1.6.6-rc4; changes since v1.6.6-rc3:
+---------------------------------------------
+
+Björn Gustavsson (1):
+      rebase -i: abort cleanly if the editor fails to launch
+
+Eric Wong (2):
+      git svn: make empty directory creation gc-aware
+      t9146: use 'svn_cmd' wrapper
+
+Junio C Hamano (1):
+      Git 1.6.6-rc4
+
+Stephen Boyd (2):
+      api-strbuf.txt: fix typos and document launch_editor()
+      technical-docs: document hash API
+
+
+Version v1.6.6-rc3; changes since v1.6.6-rc2:
+---------------------------------------------
+
+Björn Gustavsson (1):
+      bash: Support new 'git fetch' options
+
+Jeff King (1):
+      ignore unknown color configuration
+
+Johannes Sixt (1):
+      help.autocorrect: do not run a command if the command given is junk
+
+Junio C Hamano (7):
+      Remove post-upload-hook
+      Fix archive format with -- on the command line
+      Git 1.6.5.6
+      Update Release Notes for 1.6.6 to remove old bugfixes
+      worktree: don't segfault with an absolute pathspec without a work tree
+      Git 1.6.5.7
+      Git 1.6.6-rc3
+
+Nanako Shiraishi (1):
+      Illustrate "filter" attribute with an example
+
+
+Version v1.6.6-rc2; changes since v1.6.6-rc1:
+---------------------------------------------
+
+Alex Vandiver (3):
+      git-svn: sort svk merge tickets to account for minimal parents
+      git-svn: Set svn.authorsfile to an absolute path when cloning
+      git-svn: set svn.authorsfile earlier when cloning
+
+Alexander Gavrilov (1):
+      git-gui: Increase blame viewer usability on MacOS.
+
+Bernt Hansen (1):
+      gitk: Skip translation of "wrong Tcl version" message
+
+Brandon Casey (2):
+      t4201: use ISO8859-1 rather than ISO-8859-1
+      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
+
+Clemens Buchacher (1):
+      git-gui: search 4 directories to improve statistic of gc hint
+
+Eric Wong (1):
+      git svn: log removals of empty directories
+
+Greg Price (1):
+      git svn: Don't create empty directories whose parents were deleted
+
+Guillermo S. Romero (1):
+      gitk: Add configuration for UI colour scheme
+
+Heiko Voigt (1):
+      git gui: make current branch default in "remote delete branch" merge check
+
+Jakub Narebski (1):
+      gitweb: Describe (possible) gitweb.js minification in gitweb/README
+
+Jan Krüger (1):
+      pull: clarify advice for the unconfigured error case
+
+Jeff King (3):
+      rerere: don't segfault on failure to open rr-cache
+      reset: improve worktree safety valves
+      add-interactive: fix deletion of non-empty files
+
+Jens Lehmann (2):
+      gitk: Fix diffing committed -> staged (typo in diffcmd)
+      gitk: Use the --submodule option for displaying diffs when available
+
+Jindrich Makovicka (1):
+      git-gui: suppress RenderBadPicture X error caused by Tk bug
+
+Johan Herland (1):
+      Fix crasher on encountering SHA1-like non-note in notes tree
+
+Junio C Hamano (9):
+      Documentation/Makefile: allow man.base.url.for.relative.link to be set from Make
+      Unconditionally set man.base.url.for.relative.links
+      Git 1.6.5.4
+      Documentation: xmlto 0.0.18 does not know --stringparam
+      Prepare for 1.6.5.5
+      Git 1.6.5.5
+      Revert recent "git merge <msg> HEAD <commit>..." deprecation
+      Update draft release notes to 1.6.6 before -rc2
+      Git 1.6.6-rc2
+
+Linus Torvalds (1):
+      Fix diff -B/--dirstat miscounting of newly added contents
+
+Markus Heidelberg (1):
+      gitk: Fix "git gui blame" invocation when called from top-level directory
+
+Mizar (2):
+      gitk: Add Japanese translation
+      gitk: Update Japanese translation
+
+Pat Thoyts (4):
+      gitk: Use themed tk widgets
+      gitk: Fix errors in the theme patch
+      gitk: Default to the system colours on Windows
+      gitk: Fix selection of tags
+
+Paul Mackerras (5):
+      gitk: Restore scrolling position of diff pane on back/forward in history
+      gitk: Add a user preference to enable/disable use of themed widgets
+      gitk: Show diff of commits at end of compare-commits output
+      gitk: Don't compare fake children when comparing commits
+      gitk: Improve appearance of radiobuttons and checkbuttons
+
+René Scharfe (1):
+      archive: clarify description of path parameter
+
+SZEDER Gábor (1):
+      bash: update 'git commit' completion
+
+Sitaram Chamarty (1):
+      gitk: Disable checkout of remote branches
+
+Todd Zullinger (1):
+      Documentation: Avoid use of xmlto --stringparam
+
+
+Version v1.6.6-rc1; changes since v1.6.6-rc0:
+---------------------------------------------
+
+Avery Pennarun (1):
+      builtin-merge.c: call exclude_cmds() correctly.
+
+Benjamin Kramer (1):
+      Explicitly truncate bswap operand to uint32_t
+
+Bert Wesarg (2):
+      Give the hunk comment its own color
+      get_ref_states: strdup entries and free util in stale list
+
+Björn Gustavsson (11):
+      Teach the --all option to 'git fetch'
+      Teach the --multiple option to 'git fetch'
+      Add the configuration option skipFetchAll
+      Add missing test for 'git remote update --prune'
+      Re-implement 'git remote update' using 'git fetch'
+      Clarify and correct -z
+      apply: apply works outside a repository
+      apply: Format all options using back-quotes
+      apply: Use the term "working tree" consistently
+      Fix over-simplified documentation for 'git log -z'
+      gitworkflows: Consistently back-quote git commands
+
+Brian Gernhardt (1):
+      t/gitweb-lib: Split HTTP response with non-GNU sed
+
+Christian Couder (6):
+      Documentation: add "Fighting regressions with git bisect" article
+      replace: use a GIT_NO_REPLACE_OBJECTS env variable
+      Documentation: fix typos and spelling in replace documentation
+      Documentation: talk a little bit about GIT_NO_REPLACE_OBJECTS
+      bisect: simplify calling visualizer using '--bisect' option
+      Documentation: update descriptions of revision options related to '--bisect'
+
+David Aguilar (1):
+      help: Do not unnecessarily look for a repository
+
+David Soria Parra (1):
+      Documentation: Document --branch option in git clone synopsis
+
+Erick Mattos (1):
+      commit -c/-C/--amend: reset timestamp and authorship to committer with --reset-author
+
+Felipe Contreras (3):
+      format-patch: fix parsing of "--" on the command line
+      format-patch: add test for parsing of "--"
+      send-email: automatic envelope sender
+
+Horst H. von Brand (1):
+      git-pull.sh: Fix call to git-merge for new command format
+
+Jakub Narebski (10):
+      gitweb: Add optional "time to generate page" info in footer
+      gitweb: Incremental blame (using JavaScript)
+      gitweb: Colorize 'blame_incremental' view during processing
+      gitweb: Create links leading to 'blame_incremental' using JavaScript
+      gitweb: Minify gitweb.js if JSMIN is defined
+      t/gitweb-lib.sh: Split gitweb output into headers and body
+      gitweb: Document current snapshot rules via new tests
+      gitweb.js: Harden setting blamed commit info in incremental blame
+      gitweb: Make linking to actions requiring JavaScript a feature
+      gitweb: Add link to other blame implementation in blame views
+
+Jay Soffian (4):
+      remote: refactor some logic into get_stale_heads()
+      teach warn_dangling_symref to take a FILE argument
+      builtin-fetch: add --prune option
+      builtin-fetch: add --dry-run option
+
+Jeff King (1):
+      prune-packed: only show progress when stderr is a tty
+
+Johannes Sixt (2):
+      t4014-format-patch: do not assume 'test' is available as non-builtin
+      Add a notice that only certain functions can print color escape codes
+
+Jonathan Nieder (1):
+      Makefile: do not clean arm directory
+
+Junio C Hamano (19):
+      mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
+      Pretty-format: %[+-]x to tweak inter-item newlines
+      read_revision_from_stdin(): use strbuf
+      Teach --stdin option to "log" family
+      setup_revisions(): do not call get_pathspec() too early
+      Make --stdin option to "log" family read also pathspecs
+      t9001: test --envelope-sender option of send-email
+      Add trivial tests for --stdin option to log family
+      Protect scripted Porcelains from GREP_OPTIONS insanity
+      builtin-apply.c: pay attention to -p<n> when determining the name
+      Remove dead code from "git am"
+      emit_line(): don't emit an empty <SET><RESET> followed by a newline
+      Update draft release notes to 1.6.6 before merging topics for -rc1
+      git-merge: a deprecation notice of the ancient command line syntax
+      Update draft release notes to 1.6.6 before -rc1
+      Do not misidentify "git merge foo HEAD" as an old-style invocation
+      merge: do not add standard message when message is given with -m option
+      Prepare for 1.6.5.4
+      Git 1.6.6-rc1
+
+Mark Rada (2):
+      gitweb: check given hash before trying to create snapshot
+      gitweb: Smarter snapshot names
+
+Martin Storsjö (3):
+      Disable CURLOPT_NOBODY before enabling CURLOPT_PUT and CURLOPT_POST
+      Refactor winsock initialization into a separate function
+      Enable support for IPv6 on MinGW
+
+Matthew Ogilvie (5):
+      cvsserver doc: database generally can not be reproduced consistently
+      config documentation: some configs are auto-set by git-init
+      t2300: use documented technique to invoke git-sh-setup
+      t3409 t4107 t7406 t9150: use dashless commands
+      t/README: Document GIT_TEST_INSTALLED and GIT_TEST_EXEC_PATH
+
+Matthieu Moy (4):
+      merge-recursive: point the user to commit when file would be overwritten.
+      user-manual: Document that "git merge" doesn't like uncommited changes.
+      merge-recursive: make the error-message generation an extern function
+      builtin-merge: show user-friendly error messages for fast-forward too.
+
+Michael J Gruber (1):
+      Documentation: Fix a few i.e./e.g. mix-ups
+
+Nanako Shiraishi (2):
+      t1200: fix a timing dependent error
+      prepare send-email for smoother change of --chain-reply-to default
+
+Nicolas Pitre (1):
+      pack-objects: split implications of --all-progress from progress activation
+
+Ramsay Allan Jones (1):
+      git-count-objects: Fix a disk-space under-estimate on Cygwin
+
+René Scharfe (2):
+      strbuf_add_wrapped_text(): skip over colour codes
+      mergetool--lib: simplify guess_merge_tool()
+
+Stephen Boyd (3):
+      gitweb.js: fix null object exception in initials calculation
+      instaweb: restart server if already running
+      gitweb.js: fix padLeftStr() and its usage
+
+Tay Ray Chuan (1):
+      remote-curl.c: fix rpc_out()
+
+Uwe Kleine-König (1):
+      shortlog: respect commit encoding
+
+
+Version v1.6.6-rc0; changes since v1.6.5.9:
+-------------------------------------------
+
+Alex Riesen (1):
+      git-gui: Update russian translation
+
+Alexey Borzenkov (1):
+      git-gui: store wm state and fix wm geometry
+
+Anders Kaseorg (1):
+      bisect reset: Allow resetting to any commit, not just a branch
+
+Ben Walton (2):
+      configure: add macro to set arbitrary make variables
+      configure: add settings for gitconfig, editor and pager
+
+Björn Gustavsson (10):
+      Teach 'rebase -i' the command "reword"
+      bash: complete more options for 'git rebase'
+      Teach 'git merge' and 'git pull' the option --ff-only
+      format-patch: Always generate a patch
+      format-patch documentation: Remove diff options that are not useful
+      format-patch documentation: Fix formatting
+      format-patch: Add "--no-stat" as a synonym for "-p"
+      bash: add the merge option --ff-only
+      Fix truncated usage messages
+      User Manual: Write "Git" instead of "GIT"
+
+Christian Couder (1):
+      git: add --no-replace-objects option to disable replacing
+
+Clemens Buchacher (2):
+      remote-helpers: return successfully if everything up-to-date
+      set httpd port before sourcing lib-httpd
+
+Dan Zwell (1):
+      git-gui: Limit display to a maximum number of files
+
+David Aguilar (1):
+      submodule.c: Squelch a "use before assignment" warning
+
+David Brown (1):
+      commit: More generous accepting of RFC-2822 footer lines.
+
+David Kågedal (1):
+      git-blame.el: Change how blame information is shown.
+
+Eric Wong (6):
+      git svn: fix fetch where glob is on the top-level URL
+      git svn: read global+system config for clone+init
+      git svn: add authorsfile test case for ~/.gitconfig
+      git svn: attempt to create empty dirs on clone+rebase
+      git svn: always reuse existing remotes on fetch
+      git svn: strip leading path when making empty dirs
+
+Erik Faye-Lund (6):
+      imap-send: use separate read and write fds
+      imap-send: use run-command API for tunneling
+      imap-send: fix compilation-error on Windows
+      imap-send: build imap-send on Windows
+      mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle
+      mingw: enable OpenSSL
+
+Felipe Contreras (2):
+      diff.c: stylefix
+      Use 'fast-forward' all over the place
+
+Heiko Voigt (1):
+      git-gui: remove warning when deleting correctly merged remote branch
+
+Ingmar Vanhassel (1):
+      import-tars: Add support for tarballs compressed with lzma, xz
+
+Jakub Narebski (4):
+      gitweb: Add 'show-sizes' feature to show blob sizes in tree view
+      gitweb: Refactor 'log' action generation, adding git_log_body()
+      gitweb: Refactor common parts of 'log' and 'shortlog' views
+      gitweb: Make 'history' view (re)use git_log_generic()
+
+Jean Privat (1):
+      Teach "git describe" --dirty option
+
+Jeff King (3):
+      imap-send: remove useless uid code
+      gitignore: root most patterns at the top-level directory
+      t915{0,1}: use $TEST_DIRECTORY
+
+Jens Lehmann (5):
+      git-gui: display summary when showing diff of a submodule
+      git-gui: fix diff for partially staged submodule changes
+      git submodule add: make the <path> parameter optional
+      git-gui: fix use of uninitialized variable
+      add tests for git diff --submodule
+
+Jimmy Angelakos (1):
+      git-gui: Added Greek translation & glossary
+
+Johan Herland (9):
+      Teach "-m <msg>" and "-F <file>" to "git notes edit"
+      fast-import: Add support for importing commit notes
+      t3302-notes-index-expensive: Speed up create_repo()
+      Add flags to get_commit_notes() to control the format of the note string
+      Teach notes code to free its internal data structures on request
+      Teach the notes lookup code to parse notes trees with various fanout schemes
+      Add selftests verifying that we can parse notes trees with various fanouts
+      Refactor notes code to concatenate multiple notes annotating the same object
+      Add selftests verifying concatenation of multiple notes for the same commit
+
+Johannes Schindelin (8):
+      print_wrapped_text(): allow hard newlines
+      Add strbuf_add_wrapped_text() to utf8.[ch]
+      Introduce commit notes
+      Add a script to edit/inspect notes
+      Speed up git notes lookup
+      Add an expensive test for git-notes
+      Add '%N'-format for pretty-printing commit notes
+      Add the --submodule option to the diff option family
+
+Johannes Sixt (1):
+      Windows: use BLK_SHA1 again
+
+Jonathan Nieder (34):
+      Add tests for git check-ref-format
+      check-ref-format: simplify --print implementation
+      Handle more shell metacharacters in editor names
+      Retire fetch--tool helper to contrib/examples
+      Show usage string for 'git grep -h'
+      Show usage string for 'git cherry -h'
+      Show usage string for 'git commit-tree -h'
+      Show usage string for 'git merge-ours -h'
+      Show usage string for 'git show-ref -h'
+      http-fetch: add missing initialization of argv0_path
+      Show usage string for 'git check-ref-format -h'
+      Show usage string for 'git fast-import -h'
+      Show usage string for 'git get-tar-commit-id -h'
+      Show usage string for 'git imap-send -h'
+      Show usage string for 'git mailsplit -h'
+      Show usage string for 'git merge-one-file -h'
+      Show usage string for 'git rev-parse -h'
+      Show usage string for 'git show-index -h'
+      Show usage string for 'git unpack-file -h'
+      Show usage string for 'git stripspace -h'
+      Let 'git http-fetch -h' show usage outside any git repository
+      Show usage string for 'git http-push -h'
+      Let 'git <command> -h' show usage without a git dir
+      Introduce usagef() that takes a printf-style format
+      merge-{recursive,subtree}: use usagef() to print usage
+      diff --no-index: make the usage string less scary
+      Do not use VISUAL editor on dumb terminals
+      Suppress warnings from "git var -l"
+      Teach git var about GIT_EDITOR
+      Teach git var about GIT_PAGER
+      add -i, send-email, svn, p4, etc: use "git var GIT_EDITOR"
+      am -i, git-svn: use "git var GIT_PAGER"
+      Provide a build time default-editor setting
+      Speed up bash completion loading
+
+Julian Phillips (4):
+      fetch: Speed up fetch by rewriting find_non_local_tags
+      remote: Make ref_remove_duplicates faster for large numbers of refs
+      fetch: Speed up fetch of large numbers of refs
+      remote: fix use-after-free error detected by glibc in ref_remove_duplicates
+
+Junio C Hamano (20):
+      diff-lib.c: fix misleading comments on oneway_diff()
+      unpack-trees: typofix
+      unpack_callback(): use unpack_failed() consistently
+      git check-ref-format --print
+      Start 1.6.6 cycle
+      check_filename(): make verify_filename() callable without dying
+      DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"
+      format_commit_message(): fix function signature
+      fsck: default to "git fsck --full"
+      git checkout --no-guess
+      Teach --wrap to only indent without wrapping
+      Update draft release notes to 1.6.6
+      Revert "Don't create the $GIT_DIR/branches directory on init"
+      t1200: further modernize test script style
+      t1200: prepare for merging with Fast-forward bikeshedding
+      builtin-commit.c: fix logic to omit empty line before existing footers
+      git-describe.txt: formatting fix
+      Provide a build time default-pager setting
+      Update draft release notes to 1.6.6
+      Git v1.6.6-rc0
+
+Linus Torvalds (1):
+      Add '--bisect' revision machinery argument
+
+Marius Storm-Olsen (1):
+      MSVC: Enable OpenSSL, and translate -lcrypto
+
+Mark Lodato (5):
+      http-backend: add GIT_PROJECT_ROOT environment var
+      http-backend: reword some documentation
+      http-backend: use mod_alias instead of mod_rewrite
+      http-backend: add example for gitweb on same URL
+      http-backend: more explict LocationMatch
+
+Mark Rada (1):
+      instaweb: support mod_cgid for apache2
+
+Markus Heidelberg (1):
+      bash completion: difftool accepts the same options as diff
+
+Michael J Gruber (1):
+      Make t9150 and t9151 test scripts executable
+
+Nicolas Pitre (1):
+      pack-objects: move thread autodetection closer to relevant code
+
+Ramsay Allan Jones (2):
+      Makefile: keep MSVC and Cygwin configuration separate
+      MSVC: Add support for building with NO_MMAP
+
+René Scharfe (6):
+      describe: load refnames before calling describe()
+      Implement wrap format %w() as if it is a mode switch
+      log --format: don't ignore %w() at the start of format string
+      grep: unset GREP_OPTIONS before spawning external grep
+      strbuf_add_wrapped_text(): factor out strbuf_add_indented_text()
+      log --format: document %w
+
+Robin Rosenberg (1):
+      Don't create the $GIT_DIR/branches directory on init
+
+SZEDER Gábor (1):
+      Documentation: add 'git replace' to main git manpage
+
+Sam Vilain (5):
+      git-svn: add test data for SVK merge, with script.
+      git-svn: allow test setup script to support PERL env. var
+      git-svn: convert SVK merge tickets to extra parents
+      git-svn: add test data for SVN 1.5+ merge, with script.
+      git-svn: convert SVN 1.5+ / svnmerge.py svn:mergeinfo props to parents
+
+Scott Chacon (2):
+      mergetool--lib: add p4merge as a pre-configured mergetool option
+      Update packfile transfer protocol documentation
+
+Sebastian Schuberth (2):
+      Use faster byte swapping when compiling with MSVC
+      Make the MSVC projects use PDB/IDB files named after the project
+
+Shawn O. Pearce (27):
+      git-gui: Ensure submodule path is quoted properly
+      pkt-line: Add strbuf based functions
+      pkt-line: Make packet_read_line easier to debug
+      fetch-pack: Use a strbuf to compose the want list
+      Move "get_ack()" back to fetch-pack
+      Add multi_ack_detailed capability to fetch-pack/upload-pack
+      remote-curl: Refactor walker initialization
+      fetch: Allow transport -v -v -v to set verbosity to 3
+      remote-helpers: Fetch more than one ref in a batch
+      remote-helpers: Support custom transport options
+      Move WebDAV HTTP push under remote-curl
+      Git-aware CGI to provide dumb HTTP transport
+      Add stateless RPC options to upload-pack, receive-pack
+      Smart fetch and push over HTTP: server side
+      Discover refs via smart HTTP server when available
+      Smart push over HTTP: client side
+      Smart fetch over HTTP: client side
+      Smart HTTP fetch: gzip requests
+      http tests: use /dumb/ URL prefix
+      test smart http fetch and push
+      http-backend: Use http.getanyfile to disable dumb HTTP serving
+      http-backend: Test configuration options
+      Git-aware CGI to provide dumb HTTP transport
+      http-backend: Protect GIT_PROJECT_ROOT from /../ requests
+      t5551-http-fetch: Work around some libcurl versions
+      t5551-http-fetch: Work around broken Accept header in libcurl
+      http-backend: Fix bad treatment of uintmax_t in Content-Length
+
+Stephen Boyd (7):
+      rebase -i: fix reword when using a terminal editor
+      gitweb: linkify author/committer names with search
+      t1402: Make test executable
+      t1200: cleanup and modernize test style
+      t1200: Make documentation and test agree
+      t3101: test more ls-tree options
+      ls-tree: migrate to parse-options
+
+Tarmigan Casebolt (3):
+      Check the format of more printf-type functions
+      http-backend: Fix access beyond end of string.
+      http-backend: Let gcc check the format of more printf-type functions.
+
+Tay Ray Chuan (2):
+      http-push: fix check condition on http.c::finish_http_pack_request()
+      t5540-http-push: remove redundant fetches
+
+Thiago Farina (1):
+      Documentation: update pt-BR
+
+Thomas Rast (14):
+      bash completion: complete refs for git-grep
+      Let --decorate show HEAD position
+      Refactor pretty_print_commit arguments into a struct
+      reflog-walk: refactor the branch@{num} formatting
+      Introduce new pretty formats %g[sdD] for reflog information
+      stash list: use new %g formats instead of sed
+      stash list: drop the default limit of 10 stashes
+      describe: when failing, tell the user about options that work
+      filter-branch: stop special-casing $filter_subdir argument
+      filter-branch: nearest-ancestor rewriting outside subdir filter
+      Documentation: clarify 'ours' merge strategy
+      rebase docs: clarify --merge and --strategy
+      Document git-svn's first-parent rule
+      describe: do not use unannotated tag even if exact match
+
+Toby Allsopp (1):
+      git svn: handle SVN merges from revisions past the tip of the branch
+
+Vietor Liu (1):
+      git-gui: adjust the minimum height of diff pane for shorter screen height
+
+Štěpán Němec (1):
+      git-update-index.txt: Document the --really-refresh option.
+
+
+Version v1.6.5.9; changes since v1.6.5.8:
+-----------------------------------------
+
+Björn Gustavsson (3):
+      Documentation: 'git add -A' can remove files
+      git-add/rm doc: Consistently back-quote
+      git-rm doc: Describe how to sync index & work tree
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Jakub Narebski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Jay Soffian (1):
+      blame: prevent a segv when -L given start > EOF
+
+Jeff King (2):
+      fix memcpy of overlapping area
+      dwim_ref: fix dangling symref warning
+
+Junio C Hamano (2):
+      t8003: check exit code of command and error message separately
+      Git 1.6.4.5
+
+Larry D'Anna (1):
+      diff: make sure --output=/bad/path is caught
+
+Michal Sojka (1):
+      Remove extra '-' from git-am(1)
+
+Stephen Boyd (4):
+      octopus: make merge process simpler to follow
+      octopus: reenable fast-forward merges
+      octopus: remove dead code
+      request-pull.txt: Document -p option
+
+Thomas Rast (1):
+      stash pop: remove 'apply' options during 'drop' invocation
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.6.5.8; changes since v1.6.5.7:
+-----------------------------------------
+
+Andreas Gruenbacher (3):
+      base85 debug code: Fix length byte calculation
+      base85: encode_85() does not use the decode table
+      base85: Make the code more obvious instead of explaining the non-obvious
+
+Andreas Schwab (1):
+      git count-objects: handle packs bigger than 4G
+
+Björn Gustavsson (1):
+      rebase -i: abort cleanly if the editor fails to launch
+
+David Reiss (1):
+      Prevent git blame from segfaulting on a missing author name
+
+Dmitry Potapov (1):
+      fast-import: tag may point to any object type
+
+Greg Price (1):
+      commit: --cleanup is a message option
+
+Jeff King (2):
+      reset: unbreak hard resets with GIT_WORK_TREE
+      textconv: stop leaking file descriptors
+
+Jim Meyering (1):
+      grep: NUL terminate input from a file
+
+Junio C Hamano (3):
+      checkout -m: do not try to fall back to --merge from an unborn branch
+      Fix mis-backport of t7002
+      Git 1.6.5.8
+
+Matthieu Moy (1):
+      branch: die explicitly why when calling "git branch [-a|-r] branchname".
+
+Nguyễn Thái Ngọc Duy (1):
+      t7102: make the test fail if one of its check fails
+
+Stephen Boyd (2):
+      api-strbuf.txt: fix typos and document launch_editor()
+      technical-docs: document hash API
+
+Thomas Rast (1):
+      bash completion: factor submodules into dirty state
+
+
+Version v1.6.5.7; changes since v1.6.5.6:
+-----------------------------------------
+
+Jeff King (1):
+      ignore unknown color configuration
+
+Johannes Sixt (1):
+      help.autocorrect: do not run a command if the command given is junk
+
+Junio C Hamano (2):
+      worktree: don't segfault with an absolute pathspec without a work tree
+      Git 1.6.5.7
+
+Nanako Shiraishi (1):
+      Illustrate "filter" attribute with an example
+
+
+Version v1.6.5.6; changes since v1.6.5.5:
+-----------------------------------------
+
+Jan Krüger (1):
+      pull: clarify advice for the unconfigured error case
+
+Jeff King (1):
+      add-interactive: fix deletion of non-empty files
+
+Junio C Hamano (3):
+      Remove post-upload-hook
+      Fix archive format with -- on the command line
+      Git 1.6.5.6
+
+Matthieu Moy (2):
+      merge-recursive: make the error-message generation an extern function
+      builtin-merge: show user-friendly error messages for fast-forward too.
+
+
+Version v1.6.5.5; changes since v1.6.5.4:
+-----------------------------------------
+
+Avery Pennarun (1):
+      builtin-merge.c: call exclude_cmds() correctly.
+
+Brandon Casey (1):
+      t4201: use ISO8859-1 rather than ISO-8859-1
+
+Brian Collins (1):
+      grep: Allow case insensitive search of fixed-strings
+
+Felipe Contreras (2):
+      format-patch: fix parsing of "--" on the command line
+      format-patch: add test for parsing of "--"
+
+Jeff King (4):
+      diffcore-break: free filespec data as we go
+      diffcore-break: save cnt_data for other phases
+      rerere: don't segfault on failure to open rr-cache
+      reset: improve worktree safety valves
+
+Junio C Hamano (7):
+      diffcore-rename: reduce memory footprint by freeing blob data early
+      Documentation: avoid xmlto input error
+      Protect scripted Porcelains from GREP_OPTIONS insanity
+      Remove dead code from "git am"
+      Documentation: xmlto 0.0.18 does not know --stringparam
+      Prepare for 1.6.5.5
+      Git 1.6.5.5
+
+Linus Torvalds (1):
+      Fix diff -B/--dirstat miscounting of newly added contents
+
+Lukas Sandström (1):
+      git am/mailinfo: Don't look at in-body headers when rebasing
+
+Matthew Ogilvie (1):
+      core.autocrlf documentation: mention the crlf attribute
+
+Matthieu Moy (4):
+      Expand ~ and ~user in core.excludesfile, commit.template
+      expand_user_path: expand ~ to $HOME, not to the actual homedir.
+      merge-recursive: point the user to commit when file would be overwritten.
+      user-manual: Document that "git merge" doesn't like uncommited changes.
+
+Nicolas Pitre (1):
+      give priority to progress messages
+
+Philippe Bruhat (1):
+      Make sure $PERL_PATH is defined when the test suite is run.
+
+Raman Gupta (1):
+      Add branch management for releases to gitworkflows
+
+Ramsay Allan Jones (3):
+      Makefile: merge two Cygwin configuration sections into one
+      t9700-perl-git.sh: Fix a test failure on Cygwin
+      git-count-objects: Fix a disk-space under-estimate on Cygwin
+
+René Scharfe (2):
+      mergetool--lib: simplify guess_merge_tool()
+      archive: clarify description of path parameter
+
+Tim Henigan (2):
+      Update 'git remote update' usage string to match man page.
+      git remote: Separate usage strings for subcommands
+
+Todd Zullinger (1):
+      Documentation: Avoid use of xmlto --stringparam
+
+Uwe Kleine-König (1):
+      shortlog: respect commit encoding
+
+
+Version v1.6.5.4; changes since v1.6.5.3:
+-----------------------------------------
+
+David Aguilar (1):
+      help: Do not unnecessarily look for a repository
+
+David Soria Parra (1):
+      Documentation: Document --branch option in git clone synopsis
+
+Greg Price (1):
+      Documentation: undocument gc'd function graph_release()
+
+Jeff King (1):
+      prune-packed: only show progress when stderr is a tty
+
+Junio C Hamano (7):
+      builtin-apply.c: pay attention to -p<n> when determining the name
+      Do not misidentify "git merge foo HEAD" as an old-style invocation
+      merge: do not add standard message when message is given with -m option
+      Prepare for 1.6.5.4
+      Documentation/Makefile: allow man.base.url.for.relative.link to be set from Make
+      Unconditionally set man.base.url.for.relative.links
+      Git 1.6.5.4
+
+Michael J Gruber (1):
+      Documentation: Fix a few i.e./e.g. mix-ups
+
+Nicolas Pitre (1):
+      pack-objects: split implications of --all-progress from progress activation
+
+Stephen Boyd (1):
+      instaweb: restart server if already running
+
+
+Version v1.6.5.3; changes since v1.6.5.2:
+-----------------------------------------
+
+Björn Gustavsson (1):
+      git-clone.txt: Fix grammar and formatting
+
+Björn Steinbrink (1):
+      pre-commit.sample: Diff against the empty tree when HEAD is invalid
+
+Clemens Buchacher (1):
+      modernize fetch/merge/pull examples
+
+Daniel Barkalow (2):
+      Require a struct remote in transport_get()
+      Allow curl helper to work without a local repository
+
+Dmitry V. Levin (1):
+      Makefile: add compat/bswap.h to LIB_H
+
+Gerrit Pape (1):
+      help -i: properly error out if no info viewer can be found
+
+Gisle Aas (2):
+      More precise description of 'git describe --abbrev'
+      Fix documentation grammar typo
+
+Giuseppe Bilotta (1):
+      gitweb: fix esc_param
+
+Jakub Narebski (1):
+      gitweb: Do not show 'patch' link for merge commits
+
+Jan Krüger (1):
+      rebase -i: more graceful handling of invalid commands
+
+Jari Aalto (3):
+      Documentation/fetch-options.txt: order options alphabetically
+      Documentation/git-pull.txt: Add subtitles above included option files
+      Documentation/merge-options.txt: order options in alphabetical groups
+
+Jeff King (6):
+      cvsimport: fix relative argument filenames
+      push: always load default config
+      add-interactive: handle deletion of empty files
+      ls-files: unbreak "ls-files -i"
+      push: fix typo in usage
+      format-patch: make "-p" suppress diffstat
+
+Johannes Schindelin (3):
+      blame: make sure that the last line ends in an LF
+      help -a: do not unnecessarily look for a repository
+      diff --color-words -U0: fix the location of hunk headers
+
+Jonathan Nieder (4):
+      clone: detect extra arguments
+      Add intermediate build products to .gitignore
+      check-ref-format: update usage string
+      merge: do not setup worktree twice
+
+Junio C Hamano (22):
+      apply --whitespace=fix: fix handling of blank lines at the eof
+      apply --whitespace=fix: detect new blank lines at eof correctly
+      apply.c: split check_whitespace() into two
+      apply --whitespace=warn/error: diagnose blank at EOF
+      apply --whitespace: warn blank but not necessarily empty lines at EOF
+      diff.c: the builtin_diff() deals with only two-file comparison
+      diff --whitespace=warn/error: obey blank-at-eof
+      diff --whitespace=warn/error: fix blank-at-eof check
+      diff --color: color blank-at-eof
+      core.whitespace: split trailing-space into blank-at-{eol,eof}
+      diff --whitespace: fix blank lines at end
+      diff.c: shuffling code around
+      diff.c: split emit_line() from the first char and the rest of the line
+      diff.c: emit_add_line() takes only the rest of the line
+      diff -B: colour whitespace errors
+      info/grafts: allow trailing whitespaces at the end of line
+      gc --auto --quiet: make the notice a bit less verboase
+      receive-pack: run "gc --auto --quiet" and optionally "update-server-info"
+      clone: fix help on options
+      diff --color-words: bit of clean-up
+      check-ref-format -h: it does not know the --print option yet
+      Git 1.6.5.3
+
+Markus Heidelberg (1):
+      t4034-diff-words: add a test for word diff without context
+
+Petr Baudis (1):
+      gitweb: Fix blob linenr links in pathinfo mode
+
+Sebastian Schuberth (1):
+      Do not try to remove directories when removing old links
+
+Stephen Boyd (1):
+      git-add.txt: fix formatting of --patch section
+
+Thomas Rast (1):
+      Quote ' as \(aq in manpages
+
+Todd Zullinger (1):
+      Makefile: Ensure rpm packages can be read by older rpm versions
+
+Vietor Liu (1):
+      imap-send.c: fix compiler warnings for OpenSSL 1.0
+
+
+Version v1.6.5.2; changes since v1.6.5.1:
+-----------------------------------------
+
+Andreas Schwab (1):
+      Work around option parsing bug in the busybox tar implementation
+
+Carlos R. Mafra (1):
+      Makefile: clean block-sha1/ directory instead of mozilla-sha1/
+
+Jeff King (2):
+      ls-files: excludes should not impact tracked files
+      document push's new quiet option
+
+Joe Perches (1):
+      git-send-email.perl: fold multiple entry "Cc:" and multiple single line "RCPT TO:"s
+
+Johannes Sixt (2):
+      Remove a left-over file from t/t5100
+      Mark files in t/t5100 as UTF-8
+
+Jonathan Nieder (1):
+      Documentation: describe check-ref-format --branch
+
+Junio C Hamano (4):
+      Fix incorrect error check while reading deflated pack data
+      Do not fail "describe --always" in a tag-less repository
+      Fix list of released versions in the toc document
+      GIT 1.6.5.2
+
+Markus Heidelberg (1):
+      t7800-difftool: fix the effectless GIT_DIFFTOOL_PROMPT test
+
+Matt Kraai (1):
+      Documentation/git-gc.txt: change "references" to "reference"
+
+Nanako Shiraishi (2):
+      git push: remove incomplete options list from help text
+      git push: say that --tag can't be used with --all or --mirror in help text
+
+Nasser Grainawi (1):
+      Document `delta` attribute in "git help attributes".
+
+Pauli Virtanen (1):
+      git-add--interactive: never skip files included in index
+
+
+Version v1.6.5.1; changes since v1.6.5:
+---------------------------------------
+
+Björn Steinbrink (1):
+      clone: Supply the right commit hash to post-checkout when -b is used
+
+Johannes Sixt (1):
+      remote-curl: add missing initialization of argv0_path
+
+Junio C Hamano (1):
+      GIT 1.6.5.1
+
+Matt Kraai (1):
+      grep: do not segfault when -f is used
+
+Miklos Vajna (1):
+      git-stash documentation: mention default options for 'list'
+
+Nicolas Pitre (1):
+      change throughput display units with fast links
+
+Shawn O. Pearce (1):
+      sha1_file: Fix infinite loop when pack is corrupted
+
+
+Version v1.6.5; changes since v1.6.5-rc3:
+-----------------------------------------
+
+Alexander Gavrilov (1):
+      git-svn: Avoid spurious errors when rewriteRoot is used.
+
+Ben Walton (1):
+      ls-files: die instead of fprintf/exit in -i error
+
+Björn Gustavsson (1):
+      bash: add support for 'git replace'
+
+Brandon Casey (2):
+      Makefile: enable THREADED_DELTA_SEARCH on IRIX and IRIX64
+      Makefile: add a note about the NO_MMAP setting on IRIX and IRIX64
+
+Christian Himpel (2):
+      git-am: fixed patch_format detection according to RFC2822
+      git-am: force egrep to use correct characters set
+
+Erik Faye-Lund (2):
+      increase portability of NORETURN declarations
+      add NORETURN_PTR for function pointers
+
+Felipe Contreras (1):
+      send-email: fix mutt regex for grouped aliases
+
+Ingmar Vanhassel (1):
+      import-tars: Add missing closing bracket
+
+Jeff King (2):
+      improve reflog date/number heuristic
+      pull: improve advice for unconfigured error case
+
+Jonathan Nieder (8):
+      Describe DOCBOOK_XSL_172, ASCIIDOC_NO_ROFF options in Makefile
+      Documentation: git fmt-merge-msg does not have to be a script
+      Documentation: clarify mergeoptions description
+      Documentation: branch: update --merged description
+      Documentation: clarify branch creation
+      Documentation: clarify "working tree" definition
+      racy-git.txt: explain nsec problem in more detail
+      Documentation: clone: clarify discussion of initial branch
+
+Junio C Hamano (2):
+      Update draft release notes to 1.6.5
+      GIT 1.6.5
+
+Ramsay Allan Jones (2):
+      Fix MSVC build on cygwin
+      Fix the exit code of MSVC build scripts on cygwin
+
+René Scharfe (1):
+      Git archive and trailing "/" in prefix
+
+Simon Arlott (1):
+      git-svn: hide find_parent_branch output in double quiet mode
+
+Stephen Boyd (2):
+      completion: fix completion of git <TAB><TAB>
+      completion: fix alias listings with newlines
+
+
+Version v1.6.5-rc3; changes since v1.6.5-rc2:
+---------------------------------------------
+
+Adam Brewster (1):
+      filter-branch: add --prune-empty to option summary
+
+Andreas Schwab (1):
+      parse-opt: ignore negation of OPT_NONEG for ambiguity checks
+
+Brandon Casey (3):
+      perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR
+      Documentation/git-gc.txt: default --aggressive window is 250, not 10
+      Makefile: enable THREADED_DELTA_SEARCH on SunOS
+
+Frederik Schwarzer (1):
+      Correct minor typo in post-receive hook template
+
+Jim Meyering (1):
+      typo fix: Directory `...' exist, ...: s/exist/exists/
+
+Johan Sageryd (1):
+      Fix '--relative-date'
+
+Junio C Hamano (4):
+      builtin-mailinfo.c: check error status from rewind and ftruncate
+      show-branch: fix segfault when showbranch.default exists
+      git-pull: dead code removal
+      fast-import.c::validate_raw_date(): really validate the value
+
+Mark Rada (1):
+      tests: make all test files executable
+
+Michael Wookey (1):
+      generators/vcproj.pm: remove UNICODE from build
+
+Miklos Vajna (1):
+      git branch -D: give a better error message when lockfile creation fails
+
+Nicolas Pitre (1):
+      make 'git clone' ask the remote only for objects it cares about
+
+Ramsay Allan Jones (1):
+      Fix some printf format warnings
+
+SZEDER Gábor (1):
+      bash: teach 'git checkout' options
+
+Sebastian Schuberth (2):
+      Make generated MSVC solution file open from Windows Explorer
+      Make just opening the generated MSVC solution file not modify it
+
+Stefan Naewe (1):
+      README: git lives at http://git-scm.com these days
+
+Stephen Boyd (2):
+      completion: update am, commit, and log
+      completion: add dirstat and friends to diff options
+
+Yakov Lerner (1):
+      send-email: fix obscure error when encryption=tls and smtp cannot connect
+
+
+Version v1.6.5-rc2; changes since v1.6.5-rc1:
+---------------------------------------------
+
+Clemens Buchacher (2):
+      test local clone by copying
+      cvs: initialize empty password
+
+Dmitry Potapov (2):
+      git-archive: add '-o' as a alias for '--output'
+      git-archive: infer output format from filename when unspecified
+
+Frank Li (6):
+      Avoid declaration after statement
+      Change regerror() declaration from K&R style to ANSI C (C89)
+      Fix __stdcall placement and function prototype
+      Test for WIN32 instead of __MINGW32_
+      Add MinGW header files to build git with MSVC
+      Add platform files for porting to MSVC
+
+Heiko Voigt (2):
+      remove logical typo in documentation of sample update hook
+      web--browse: fix Mac OS X GUI detection for 10.6
+
+Jim Meyering (1):
+      pre-commit.sample: add comment re tr portability; fix grammar
+
+Johannes Gilger (1):
+      git-clone doc: typofix
+
+Johannes Sixt (1):
+      test-genrandom: ensure stdout is set to _O_BINARY on Windows
+
+Junio C Hamano (6):
+      git-commit doc: remove duplicated --dry-run description
+      http.c: avoid freeing an uninitialized pointer
+      GIT 1.6.4.4
+      Update Release Notes to 1.6.5
+      pay attention to DESTDIR when building with NO_PERL_MAKEMAKER
+      pull: Clarify "helpful" message for another corner case
+
+Marius Storm-Olsen (9):
+      Add include guards to compat/win32.h
+      Set _O_BINARY as default fmode for both MinGW and MSVC
+      Add empty header files for MSVC port
+      Make usage of windows.h lean and mean
+      Define strncasecmp and ftruncate for MSVC
+      Add MSVC to Makefile
+      Add README for MSVC build
+      Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake)
+      Tag GIT_VERSION when Git is built with MSVC
+
+Matthieu Moy (1):
+      push: Correctly initialize nonfastforward in transport_push.
+
+Nelson Elhage (1):
+      git-push: Accept -n as a synonym for --dry-run.
+
+Nicolas Pitre (1):
+      Nicolas Pitre has a new email address
+
+Pat Thoyts (1):
+      gitk: Work around leftover temporary save file
+
+Paul Mackerras (1):
+      gitk: Show diff of commits at end of compare-commits output
+
+Peter Krefting (1):
+      gitk: Update Swedish translation (280t0f0u)
+
+SZEDER Gábor (3):
+      bash: rename __git_find_subcommand() to __git_find_on_cmdline()
+      bash: update 'git stash' completion
+      bash: teach 'git reset --patch'
+
+Thiago Farina (3):
+      Update the usage bundle string.
+      pack-objects: remove SP at the end of usage string
+      Update "describe" documentation to match reality
+
+Todd Zullinger (1):
+      completion: Replace config --list with --get-regexp
+
+
+Version v1.6.5-rc1; changes since v1.6.5-rc0:
+---------------------------------------------
+
+Brian Gernhardt (4):
+      INSTALL: Update description of our SHA-1 code
+      Makefile: Add NEEDS_CRYPTO_WITH_SSL
+      INSTALL: Reorder dependencies, split shell and Perl
+      INSTALL: Describe dependency knobs from Makefile
+
+Clemens Buchacher (3):
+      grep: fix exit status if external_grep() punts
+      grep: accept relative paths outside current working directory
+      preserve mtime of local clone
+
+Daniel Barkalow (4):
+      Add support for external programs for handling native fetches
+      Use an external program to implement fetching with curl
+      Make the "traditionally-supported" URLs a special case
+      Use a clearer style to issue commands to remote helpers
+
+Jari Aalto (1):
+      Improve --patch option documentation in git-add
+
+Jeff King (4):
+      Makefile: git-http-fetch does not need expat
+      push: make non-fast-forward help message configurable
+      status: make "how to stage" messages optional
+      rebase: use plumbing to show dirty state
+
+Jim Meyering (3):
+      use write_str_in_full helper to avoid literal string lengths
+      use write_str_in_full helper to avoid literal string lengths
+      don't dereference NULL upon fdopen failure
+
+Johannes Sixt (2):
+      start_command: do not clobber cmd->env on Windows code path
+      pager: set LESS=FRSX also on Windows
+
+Josh Triplett (2):
+      Wrap rewrite globals in a struct in preparation for adding another set
+      Add url.<base>.pushInsteadOf: URL rewriting for push only
+
+Junio C Hamano (7):
+      Makefile: do not link three copies of git-remote-* programs
+      Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
+      merge-recursive: give less scary messages when merge did not start
+      Makefile: remove remnant of separate http/https/ftp helpers
+      GIT 1.6.4.3
+      quiltimport documentation: --dry-run and -n are synonyms
+      GIT 1.6.5-rc1
+
+Linus Torvalds (1):
+      git-http-fetch: not a builtin
+
+Mark Lodato (1):
+      svn: properly escape arguments for authors-prog
+
+Martin Nordholts (1):
+      git.el: Use git-add-file for unmerged files, remove git-resolve-file
+
+Matthieu Moy (1):
+      wrap git's main usage string.
+
+Mike Ralphson (2):
+      Add transport native helper executables to .gitignore
+      http-fetch: Fix Makefile dependancies
+
+Nicolas Sebrecht (2):
+      mailinfo: add '--scissors' to usage message
+      add documentation for mailinfo.scissors and '--no-scissors'
+
+Peter Krefting (2):
+      import-tars: Allow per-tar author and commit message.
+      Add script for importing bits-and-pieces to Git.
+
+Reilly Grant (1):
+      git-p4: Avoid modules deprecated in Python 2.6.
+
+Tay Ray Chuan (1):
+      http.c: remove verification of remote packs
+
+
+Version v1.6.5-rc0; changes since v1.6.4.5:
+-------------------------------------------
+
+Adam Brewster (3):
+      svn: Add && to t9107-git-svn-migrate.sh
+      svn: Honor --prefix option in init without --stdlayout
+      svn: allow branches outside of refs/remotes
+
+Adam Simpkins (3):
+      graph API: use a new color when starting a brand new column
+      graph API: fix bug in graph_is_interesting()
+      Add tests for rev-list --graph with options that simplify history
+
+Alex Riesen (2):
+      Add a reminder test case for a merge with F/D transition
+      Add date formatting and parsing functions relative to a given time
+
+Alexandre Julliard (1):
+      read-tree: Fix regression with creation of a new index file.
+
+André Goddard Rosa (1):
+      Fix typos on pt_BR/gittutorial.txt translation
+
+Benjamin Kramer (1):
+      gitweb: Optimize git-favicon.png
+
+Björn Steinbrink (1):
+      git-describe: Die early if there are no possible descriptions
+
+Brandon Casey (9):
+      strbuf: add new function strbuf_getwholeline()
+      builtin-mailinfo,builtin-mailsplit: use strbufs
+      builtin-mailsplit.c: remove read_line_with_nul() since it is no longer used
+      block-sha1/sha1.c: silence compiler complaints by casting void * to char *
+      git-compat-util.h: remove superfluous test for __sun__
+      Makefile: remove pointless conditional assignment in SunOS section
+      abspath.c: move declaration of 'len' into inner block and use appropriate type
+      commit.c: rename variable named 'n' which masks previous declaration
+      t/test-lib.sh: provide a shell implementation of the 'yes' utility
+
+Brian Gianforcaro (1):
+      Style fixes, add a space after if/for/while.
+
+Christian Couder (13):
+      refs: add a "for_each_replace_ref" function
+      replace_object: add mechanism to replace objects found in "refs/replace/"
+      sha1_file: add a "read_sha1_file_repl" function
+      object: call "check_sha1_signature" with the replacement sha1
+      replace_object: add a test case
+      mktag: call "check_sha1_signature" with the replacement sha1
+      environment: add global variable to disable replacement
+      Add new "git replace" command
+      builtin-replace: teach "git replace" to actually replace
+      parse-options: add new function "usage_msg_opt"
+      builtin-replace: use "usage_msg_opt" to give better error messages
+      Documentation: add documentation for "git replace"
+      t6050: check pushing something based on a replaced commit
+
+David Aguilar (1):
+      Add git-replace to .gitignore
+
+David Kågedal (1):
+      git.el: Clarify documentation of git-commit-tree
+
+David Soria Parra (1):
+      run-command.c: squelch a "use before assignment" warning
+
+Dirk Hoerner (1):
+      git-cvsimport: add support for cvs pserver password scrambling.
+
+Eric Wong (3):
+      svn: initial "master" points to trunk if possible
+      svn: (cleanup) use predefined constant for rev_map_fmt
+      svn: assume URLs from the command-line are URI-encoded
+
+Geoffrey Irving (1):
+      git fast-export: add --no-data option
+
+Giuseppe Bilotta (3):
+      gitweb: fix 'Use of uninitialized value' error in href()
+      git apply: option to ignore whitespace differences
+      gitweb: pull ref markes pull out of subject <a> element
+
+Heiko Voigt (2):
+      cvsimport: add test illustrating a bug in cvsps
+      cvsimport: extend testcase about patchset order to contain branches
+
+Jakub Narebski (6):
+      gitweb: Make .error style generic
+      gitweb: Mark boundary commits in 'blame' view
+      gitweb: Use "previous" header of git-blame -p in 'blame' view
+      gitweb: Mark commits with no "previous" in 'blame' view
+      gitweb: Add author initials in 'blame' view, a la "git gui blame"
+      gitweb: Use light/dark for class names also in 'blame' view
+
+Jari Aalto (1):
+      git-tag(1): Refer to git-check-ref-format(1) for <name>
+
+Jeff King (14):
+      push: add --quiet flag
+      transport: pass "quiet" flag to pack-objects
+      transport: don't show push status if --quiet is given
+      tests: use "$TEST_DIRECTORY" instead of ".."
+      tests: provide $TRASH_DIRECTORY variable
+      tests: allow user to specify trash directory location
+      t/Makefile: include config.mak
+      allow pull --rebase on branch yet to be born
+      tests: disable interactive hunk selection tests if perl is not available
+      clone: add --branch option to select a different HEAD
+      refactor test-date interface
+      tests: add date printing and parsing tests
+      fix approxidate parsing of relative months and years
+      push: teach --quiet to suppress "Everything up-to-date"
+
+Jeff Lasslett (1):
+      Check return value of ftruncate call in http.c
+
+Jens Lehmann (1):
+      git submodule summary: add --files option
+
+Johan Herland (9):
+      git submodule foreach: Provide access to submodule name, as '$name'
+      git submodule: Cleanup usage string and add option parsing to cmd_foreach()
+      Add selftest for 'git submodule foreach'
+      git submodule foreach: test access to submodule name as '$name'
+      git submodule foreach: Add --recursive to recurse into nested submodules
+      git submodule update: Introduce --recursive to update nested submodules
+      git submodule status: Add --recursive to recurse into nested submodules
+      t7407: Use 'rev-parse --short' rather than bash's substring expansion notation
+      git clone: Add --recursive to automatically checkout (nested) submodules
+
+Johannes Schindelin (2):
+      Make 'git stash -k' a short form for 'git stash save --keep-index'
+      parse-opt: optionally show "--no-" option string
+
+Johannes Sixt (13):
+      MinGW: simplify waitpid() emulation macros
+      run_command: return exit code as positive value
+      run_command: report system call errors instead of returning error codes
+      run_command: encode deadly signal number in the return value
+      run_command: report failure to execute the program, but optionally don't
+      receive-pack: remove unnecessary run_status report
+      api-run-command.txt: describe error behavior of run_command functions
+      t0001-init: fix a file name
+      t0001-init: split the existence test from the permission test
+      gitk: Do not hard-code "encoding" in attribute lookup functions
+      Make test number t7406- unique
+      Make test case number unique
+      status: list unmerged files much later
+
+Junio C Hamano (31):
+      t/t9600: remove exit after test_done
+      Start 1.6.5 cycle
+      request-pull: optionally show a patch as well
+      diff-index: report unmerged new entries
+      diff-index: keep the original index intact
+      Allow mailsplit (and hence git-am) to handle mails with CRLF line-endings
+      wt-status.c: rework the way changes to the index and work tree are summarized
+      git-rev-list.txt: Clarify the use of multiple revision arguments
+      block-sha1: undo ctx->size change
+      block-sha1: minor fixups
+      am: allow individual e-mail files as input
+      status: show worktree status of conflicted paths separately
+      verify-pack --stat-only: show histogram without verifying
+      commit: --dry-run
+      wt-status: move many global settings to wt_status structure
+      wt-status: move wt_status_colors[] into wt_status structure
+      Make git_status_config() file scope static to builtin-commit.c
+      wt-status: collect untracked files in a separate "collect" phase
+      Documentation/git-commit.txt: describe --dry-run
+      git commit --dry-run -v: show diff in color when asked
+      compat/snprintf.c: clarify SNPRINTF_SIZE_CORR
+      builtin-mailinfo.c: fix confusing internal API to mailinfo()
+      Teach mailinfo to ignore everything before -- >8 -- mark
+      am/mailinfo: Disable scissors processing by default
+      mailinfo.scissors: new configuration
+      Draft release notes to 1.6.5 before -rc0
+      upload-pack: add a trigger for post-upload-pack hook
+      upload-pack: feed "kind [clone|fetch]" to post-upload-pack hook
+      builtin-pack-objects.c: avoid vla
+      builtin-apply.c: get rid of an unnecessary use of temporary array
+      GIT 1.6.5-rc0
+
+Karthik R (1):
+      git-svn: Use GIT_SSH setting if SVN_SSH is not set
+
+Lars Hjemli (2):
+      Documentaqtion/git-submodule.txt: Typofix
+      git-log: allow --decorate[=short|full]
+
+Linus Torvalds (12):
+      Add new optimized C 'block-sha1' routines
+      block-sha1: try to use rol/ror appropriately
+      block-sha1: make the 'ntohl()' part of the first SHA1 loop
+      block-sha1: re-use the temporary array as we calculate the SHA1
+      block-sha1: macroize the rounds a bit further
+      block-sha1: Use '(B&C)+(D&(B^C))' instead of '(B&C)|(D&(B|C))' in round 3
+      block-sha1: get rid of redundant 'lenW' context
+      block-sha1: perform register rotation using cpp
+      block-sha1: improved SHA1 hashing
+      block-sha1: improve code on large-register-set machines
+      Improve on 'approxidate'
+      Further 'approxidate' improvements
+
+Luke Diamand (1):
+      git-p4: stream from perforce to speed up clones
+
+Mark A Rada (3):
+      gitweb: support to globally disable a snapshot format
+      gitweb: update INSTALL regarding specific snapshot settings
+      gitweb: add support for XZ compressed snapshots
+
+Mark Rada (3):
+      gitweb: improve snapshot error handling
+      gitweb: split test suite into library and tests
+      gitweb: add t9501 tests for checking HTTP status codes
+
+Matthieu Moy (6):
+      rebase: consistent error messages for staged and unstaged changes.
+      git-ls-files.txt: clarify what "other files" mean for --other
+      Show usage string for 'git log -h', 'git show -h' and 'git diff -h'
+      Rename REFRESH_SAY_CHANGED to REFRESH_IN_PORCELAIN.
+      reset: make the reminder output consistent with "checkout"
+      stash: simplify defaulting to "save" and reject unknown options
+
+Michael Haggerty (6):
+      Start a library for cvsimport-related tests
+      Use CVS's -f option if available (ignore user's ~/.cvsrc file)
+      Test contents of entire cvsimported "master" tree contents
+      Add some tests of git-cvsimport's handling of vendor branches
+      Add a test of "git cvsimport"'s handling of tags and branches
+      git-svn: ignore leading blank lines in svn:ignore
+
+Michael J Gruber (3):
+      t6010-merge-base.sh: Depict the octopus test graph
+      git-merge-base/git-show-branch: Cleanup documentation and usage
+      git-merge-base/git-show-branch --merge-base: Documentation and test
+
+Michał Kiedrowicz (2):
+      init-db: migrate to parse-options
+      grep: Add --max-depth option.
+
+Nanako Shiraishi (3):
+      git init: optionally allow a directory argument
+      Documentation: consistently refer to check-ref-format
+      Documentation: describe the scissors mark support of "git am"
+
+Nguyễn Thái Ngọc Duy (1):
+      Prevent diff machinery from examining assume-unchanged entries on worktree
+
+Nick Edelen (1):
+      Shift object enumeration out of upload-pack
+
+Nicolas Pitre (11):
+      block-sha1: move code around
+      block-sha1: split the different "hacks" to be individually selected
+      block-sha1: support for architectures with memory alignment restrictions
+      block-sha1: more good unaligned memory access candidates
+      block-sha1: make the size member first in the context struct
+      make sure byte swapping is optimal for git
+      block-sha1: guard gcc extensions with __GNUC__
+      remove ARM and Mozilla SHA1 implementations
+      fix simple deepening of a repo
+      make shallow repository deepening more network efficient
+      pack-objects: free preferred base memory after usage
+
+Nicolas Sebrecht (1):
+      git-am: print fair error message when format detection fails
+
+Ori Avtalion (1):
+      git stash: Give friendlier errors when there is nothing to apply
+
+Pascal Obry (1):
+      Do not scramble password read from .cvspass
+
+René Scharfe (2):
+      update-server-info: make builtin, use parseopt
+      UI consistency: allow --force for where -f means force
+
+Stephen Boyd (7):
+      read-tree: convert unhelpful usage()'s to helpful die()'s
+      read-tree: migrate to parse-options
+      write-tree: migrate to parse-options
+      verify-tag: migrate to parse-options
+      verify-pack: migrate to parse-options
+      prune-packed: migrate to parse-options
+      technical-docs: document tree-walking API
+
+Tay Ray Chuan (2):
+      http.c: free preq when aborting
+      http.c: replace usage of temporary variable for urls
+
+Thadeu Lima de Souza Cascardo (1):
+      Translate the tutorial to Brazillian Portuguese
+
+Thomas Rast (11):
+      Document 'stash clear' recovery via unreachable commits
+      gitk: New option to hide remote refs
+      gitk: Fix direction of symmetric difference in optimized mode
+      gitk: Parse arbitrary commit-ish in SHA1 field
+      git-apply--interactive: Refactor patch mode code
+      Add a small patch-mode testing library
+      builtin-add: refactor the meat of interactive_add()
+      Implement 'git reset --patch'
+      Implement 'git checkout --patch'
+      Implement 'git stash save --patch'
+      DWIM 'git stash save -p' for 'git stash -p'
+
+Tuomas Suutari (1):
+      git-svn.txt: Fix location of parent argument
+
+Wesley J. Landaker (2):
+      Documentation: git-send-email: fix submission port number
+      Documentation: git-send-email: correct statement about standard ports
+
+Wilhansen Li (1):
+      Add support for the Mongoose web server.
+
+
+Version v1.6.4.5; changes since v1.6.4.4:
+-----------------------------------------
+
+Andreas Gruenbacher (3):
+      base85 debug code: Fix length byte calculation
+      base85: encode_85() does not use the decode table
+      base85: Make the code more obvious instead of explaining the non-obvious
+
+Andreas Schwab (1):
+      git count-objects: handle packs bigger than 4G
+
+Ben Walton (1):
+      ls-files: die instead of fprintf/exit in -i error
+
+Gerrit Pape (1):
+      help -i: properly error out if no info viewer can be found
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Greg Price (1):
+      commit: --cleanup is a message option
+
+Jakub Narebski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Jan Krüger (1):
+      rebase -i: more graceful handling of invalid commands
+
+Jeff King (2):
+      ls-files: excludes should not impact tracked files
+      textconv: stop leaking file descriptors
+
+Jonathan Nieder (1):
+      Documentation: describe check-ref-format --branch
+
+Junio C Hamano (5):
+      show-branch: fix segfault when showbranch.default exists
+      fast-import.c::validate_raw_date(): really validate the value
+      checkout -m: do not try to fall back to --merge from an unborn branch
+      Fix mis-backport of t7002
+      Git 1.6.4.5
+
+Matt Kraai (1):
+      grep: do not segfault when -f is used
+
+Matthieu Moy (2):
+      push: Correctly initialize nonfastforward in transport_push.
+      branch: die explicitly why when calling "git branch [-a|-r] branchname".
+
+Miklos Vajna (1):
+      git-stash documentation: mention default options for 'list'
+
+Nguyễn Thái Ngọc Duy (1):
+      t7102: make the test fail if one of its check fails
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.6.4.4; changes since v1.6.4.3:
+-----------------------------------------
+
+Jeff King (1):
+      checkout: do not imply "-f" on unborn branches
+
+Junio C Hamano (6):
+      Fix "unpack-objects --strict"
+      check_path(): allow symlinked directories to checkout-index --prefix
+      xutils: Fix hashing an incomplete line with whitespaces at the end
+      xutils: Fix xdl_recmatch() on incomplete lines
+      http.c: avoid freeing an uninitialized pointer
+      GIT 1.6.4.4
+
+
+Version v1.6.4.3; changes since v1.6.4.2:
+-----------------------------------------
+
+Bert Wesarg (1):
+      githooks.txt: put hooks into subsections
+
+Clemens Buchacher (2):
+      grep: fix exit status if external_grep() punts
+      grep: accept relative paths outside current working directory
+
+Emmanuel Trillaud (1):
+      git-pull: do not mention --quiet and --verbose twice
+
+Gerrit Pape (1):
+      git-cvsserver: no longer use deprecated 'git-subcommand' commands
+
+Jeff King (3):
+      clone: disconnect transport after fetching
+      push: fix english in non-fast-forward message
+      push: re-flow non-fast-forward message
+
+Junio C Hamano (1):
+      GIT 1.6.4.3
+
+Mark Lodato (1):
+      svn: properly escape arguments for authors-prog
+
+Miklos Vajna (1):
+      git-clone: add missing comma in --reference documentation
+
+Tay Ray Chuan (1):
+      http.c: remove verification of remote packs
+
+
+Version v1.6.4.2; changes since v1.6.4.1:
+-----------------------------------------
+
+David Kågedal (1):
+      Minor improvement to the write-tree documentation
+
+David Reiss (1):
+      Round-down years in "years+months" relative date view
+
+Jeff King (3):
+      add tests for merge message headings
+      merge: fix incorrect merge message for ambiguous tag/branch
+      merge: indicate remote tracking branches in merge message
+
+Johannes Schindelin (2):
+      Expose the has_non_ascii() function
+      Correctly mark cover letters' encodings if they are not pure ASCII
+
+Johannes Sixt (1):
+      t6035-merge-dir-to-symlink depends on SYMLINKS prerequisite
+
+Junio C Hamano (3):
+      apply: notice creation/removal patches produced by GNU diff
+      clean: require double -f options to nuke nested git repository and work tree
+      GIT 1.6.4.2
+
+Kirill Smelkov (1):
+      git add -p: demonstrate failure when staging both mode and hunk
+
+Kjetil Barvik (1):
+      lstat_cache: guard against full match of length of 'name' parameter
+
+Lars Hjemli (1):
+      git-log: allow --decorate[=short|full]
+
+Linus Torvalds (1):
+      git-checkout: be careful about untracked symlinks
+
+Nanako Shiraishi (3):
+      git-bisect: call the found commit "*the* first bad commit"
+      Fix overridable written with an extra 'e'
+      Remove unused t/t8005/iso8859-5.txt
+
+Pickens, James E (1):
+      Demonstrate bugs when a directory is replaced with a symlink
+
+Tay Ray Chuan (2):
+      http.c: don't assume that urls don't end with slash
+      http.c: set slot callback members to NULL when releasing object
+
+Thomas Rast (1):
+      add -p: do not attempt to coalesce mode changes
+
+Wesley J. Landaker (1):
+      Documentation: git-archive: mark --format as optional in summary
+
+
+Version v1.6.4.1; changes since v1.6.4:
+---------------------------------------
+
+Björn Steinbrink (1):
+      config: Keep inner whitespace verbatim
+
+Erik Faye-Lund (1):
+      send-email: remove debug trace
+
+Jakub Narebski (1):
+      gitweb/README: Document $base_url
+
+Jeff King (3):
+      show: suppress extra newline when showing annotated tag
+      show: add space between multiple items
+      docs: describe impact of repack on "clone -s"
+
+Jens Lehmann (1):
+      Documentation: git submodule: add missing options to synopsis
+
+Johan Herland (1):
+      help.c: give correct structure's size to memset()
+
+Johannes Schindelin (1):
+      filter-branch: add an example how to add ACKs to a range of commits
+
+Junio C Hamano (5):
+      merge-recursive: don't segfault while handling rename clashes
+      t5510: harden the way verify-pack is used
+      verify-pack -v: do not report "chain length 0"
+      am: allow individual e-mail files as input
+      GIT 1.6.4.1
+
+Mark A Rada (1):
+      git-instaweb: fix mod_perl detection for apache2
+
+Matthieu Moy (3):
+      Better usage string for reflog.
+      push: point to 'git pull' and 'git push --force' in case of non-fast forward
+      filter-branch: make the usage string fit on 80 chars terminals.
+
+Miklos Vajna (1):
+      hg-to-git: don't import the unused popen2 module
+
+Nicolas Pitre (1):
+      don't let the delta cache grow unbounded in 'git repack'
+
+Nicolas Sebrecht (1):
+      git-am: print fair error message when format detection fails
+
+Ori Avtalion (1):
+      Change mentions of "git programs" to "git commands"
+
+Paul Bolle (2):
+      Documentation: merge: one <remote> is required
+      Documentation: add: <filepattern>... is optional
+
+Santi Béjar (2):
+      t5520-pull: Test for rebased upstream + fetch + pull --rebase
+      pull: support rebased upstream + fetch + pull --rebase
+
+Zoltán Füzesi (1):
+      gitweb: parse_commit_text encoding fix
+
+Štěpán Němec (1):
+      Fix typos in git-remote.txt and git-symbolic-ref.txt
+
+
+Version v1.6.4; changes since v1.6.4-rc3:
+-----------------------------------------
+
+David Kågedal (1):
+      Update the documentation of the raw diff output format
+
+Elijah Newren (7):
+      fast-export: Set revs.topo_order before calling setup_revisions
+      fast-export: Omit tags that tag trees
+      fast-export: Make sure we show actual ref names instead of "(null)"
+      fast-export: Do parent rewriting to avoid dropping relevant commits
+      fast-export: Add a --tag-of-filtered-object option for newly dangling tags
+      Add new fast-export testcases
+      fast-export: Document the fact that git-rev-list arguments are accepted
+
+Eric Wong (1):
+      t9143: do not fail if Compress::Zlib is missing
+
+Greg Price (1):
+      Fix rebase -p --onto
+
+Junio C Hamano (2):
+      GIT 1.6.3.4
+      GIT 1.6.4
+
+Michael J Gruber (1):
+      git-rerere.txt: Clarify ambiguity of the config variable
+
+Sean Estabrooks (1):
+      Trivial path quoting fixes in git-instaweb
+
+Stephen Boyd (1):
+      config.txt: document add.ignore-errors
+
+Tom Grennan (1):
+      request-pull: allow ls-remote to notice remote.$nickname.uploadpack
+
+
+Version v1.6.4-rc3; changes since v1.6.4-rc2:
+---------------------------------------------
+
+Alex Vandiver (2):
+      Make section_name_match start on '[', and return the length on success
+      After renaming a section, print any trailing variable definitions
+
+Björn Steinbrink (1):
+      Add a test showing that 'git repack' throws away grafted-away parents
+
+Daniel Trstenjak (1):
+      Show the presence of untracked files in the bash prompt.
+
+Eric Wong (6):
+      git svn: fix shallow clone when upstream revision is too new
+      git svn: revert default behavior for --minimize-url
+      git svn: the branch command no longer needs the full path
+      t9142: stop httpd after the test
+      git svn: avoid escaping '/' when renaming/copying files
+      git svn: make minimize URL more reliable over http(s)
+
+Jeff King (1):
+      send-email: detect cycles in alias expansion
+
+Johannes Schindelin (1):
+      git repack: keep commits hidden by a graft
+
+Junio C Hamano (6):
+      do_one_ref(): null_sha1 check is not about broken ref
+      SunOS grep does not understand -C<n> nor -e
+      Update release notes for 1.6.4
+      Fix severe breakage in "git-apply --whitespace=fix"
+      t8005: Nobody writes Russian in shift_jis
+      GIT 1.6.4-rc3
+
+Linus Torvalds (3):
+      git branch: fix performance problem
+      git branch: avoid unnecessary object lookups
+      git branch: clean up detached branch handling
+
+Matthias Andree (1):
+      Fix export_marks() error handling.
+
+Nanako Shiraishi (1):
+      Documentation/config.txt: a variable can be defined on the section header line
+
+Robert Allan Zeh (1):
+      git svn: add gc command
+
+Thomas Rast (1):
+      Disable asciidoc 8.4.1+ semantics for `{plus}` and friends
+
+
+Version v1.6.4-rc2; changes since v1.6.4-rc1:
+---------------------------------------------
+
+Brandon Casey (4):
+      refs.c: release file descriptor on error return
+      sha1_name.c: avoid unnecessary strbuf_release
+      configure.ac: rework/fix the NEEDS_RESOLV and NEEDS_LIBGEN tests
+      configure.ac: properly unset NEEDS_SSL_WITH_CRYPTO when sha1 func is missing
+
+Eric Wong (2):
+      git svn: rename tests that had conflicting numbers
+      git svn: fix reparenting when ugly http(s) URLs are used
+
+Junio C Hamano (5):
+      checkout -f: deal with a D/F conflict entry correctly
+      push: do not give big warning when no preference is configured
+      Updates to draft release notes to 1.6.4
+      combine-diff.c: fix performance problem when folding common deleted lines
+      diff --cc: a lost line at the beginning of the file is shown incorrectly
+
+Martin Koegler (1):
+      git stash: modernize use of "dashed" git-XXX calls
+
+Michael J Gruber (1):
+      t4202-log.sh: Test git log --no-walk sort order
+
+Mike Ralphson (1):
+      cvsexportcommit: reorder tests to quiet intermittent failure
+
+Pierre Habouzit (4):
+      janitor: use NULL and not 0 for pointers.
+      refactor: use bitsizeof() instead of 8 * sizeof()
+      janitor: add DIV_ROUND_UP and use it.
+      janitor: useless checks before free
+
+SZEDER Gábor (1):
+      Trailing whitespace and no newline fix
+
+Yann Dirson (2):
+      List send-email config options in config.txt.
+      Improve doc for format-patch threading options.
+
+
+Version v1.6.4-rc1; changes since v1.6.4-rc0:
+---------------------------------------------
+
+Andreas Ericsson (1):
+      mailinfo: Remove only one set of square brackets
+
+Brandon Casey (5):
+      unpack-trees.c: work around run-time array initialization flaw on IRIX 6.5
+      git-compat-util.h: adjust for SGI IRIX 6.5
+      Makefile: add NEEDS_LIBGEN to optionally add -lgen to compile arguments
+      Makefile: add section for SGI IRIX 6.5
+      Makefile: update IRIX64 section
+
+Eric Wong (1):
+      git svn: allow uppercase UUIDs from SVN
+
+Johan Herland (1):
+      quickfetch(): Prevent overflow of the rev-list command line
+
+Junio C Hamano (2):
+      Makefile: keep "git" when bindir is execdir
+      Revert "mailinfo: Remove only one set of square brackets"
+
+Linus Torvalds (10):
+      Add 'fill_directory()' helper function for directory traversal
+      Simplify read_directory[_recursive]() arguments
+      Avoid doing extra 'lstat()'s for d_type if we have an up-to-date cache entry
+      Avoid using 'lstat()' to figure out directories
+      Prepare symlink caching for thread-safety
+      Export thread-safe version of 'has_symlink_leading_path()'
+      Make index preloading check the whole path to the file
+      Make 'git show' more useful
+      Improve on the 'invalid object' error message at commit time
+      Fix extraneous lstat's in 'git checkout -f'
+
+Mattias Nissler (2):
+      git-svn: Always duplicate paths returned from get_log
+      git-svn: Fix branch detection when repository root is inaccessible
+
+SZEDER Gábor (2):
+      Document 'git (rev-list|log) --merges'
+      bash: add '--merges' to common 'git log' options
+
+Wincent Colaiuta (1):
+      gitweb: update Git homepage URL
+
+
+Version v1.6.4-rc0; changes since v1.6.3.4:
+-------------------------------------------
+
+Alex Bennée (1):
+      Add -k option to cvsexportcommit to revert expanded CVS keywords in CVS working tree before applying commit patch
+
+Alex Riesen (3):
+      Quote LF in urls git fetch saves in FETCH_HEAD
+      Use UTF-8 instead of utf8 for backward compatibility
+      Improve the naming of guessed target repository for git clone
+
+Alex Vandiver (3):
+      git-svn: Fix for svn paths removed > log-window-size revisions ago
+      git-svn: Correctly report max revision when following deleted paths
+      git-svn: Set svn.authorsfile if it is passed to git svn clone
+
+Allan Caffee (1):
+      graph API: Use horizontal lines for more compact graphs
+
+Andreas Ericsson (1):
+      fetch: Strip usernames from url's before storing them
+
+Ben Jackson (3):
+      Add 'git svn help [cmd]' which works outside a repo.
+      git-svn: speed up find_rev_before
+      Add 'git svn reset' to unwind 'git svn fetch'
+
+Benjamin Kramer (1):
+      imap-send: add support for IPv6
+
+Bert Wesarg (1):
+      builtin-remote: (get_one_entry): use strbuf
+
+Björn Steinbrink (1):
+      git-apply(1): Clarify that one can select where to apply the patch
+
+Brandon Casey (23):
+      t3900: use ancient iconv names for backward compatibility
+      Use 'UTF-8' rather than 'utf-8' everywhere for backward compatibility
+      builtin-mailinfo.c: compare character encodings case insensitively
+      builtin-mailinfo.c: use "ISO8859-1" instead of "latin1" as fallback encoding
+      t3901: avoid negation on right hand side of '|'
+      t3901: Use ISO8859-1 instead of ISO-8859-1 for backward compatibility
+      t9301: use ISO8859-1 rather than ISO-8859-1
+      t5100: use ancient encoding syntax for backwards compatibility
+      t8005: use more portable character encoding names
+      t8005: convert CP1251 character set to ISO8859-5
+      t8005: fix typo, it's ISO-8859-5, not KOI8-R
+      Makefile: use /usr/ucb/install on SunOS platforms rather than ginstall
+      Makefile: add NEEDS_RESOLV to optionally add -lresolv to compile arguments
+      On Solaris choose the OLD_ICONV iconv() declaration based on the UNIX spec
+      git-compat-util.h: tweak the way _XOPEN_SOURCE is set on Solaris
+      Makefile: define __sun__ on SunOS
+      Makefile: add section for SunOS 5.7
+      git-compat-util.h: avoid using c99 flex array feature with Sun compiler 5.8
+      git-send-email.perl: improve detection of MIME encoded-words
+      send-email: use UTF-8 rather than utf-8 for consistency
+      Makefile: Solaris needs HAVE_ALLOCA_H for alloca()
+      t/t9001-send-email.sh: ensure generated script is executed with $SHELL_PATH
+      git.c: avoid allocating one-too-many elements for new argv array
+
+Christian Couder (30):
+      rev-list: make "estimate_bisect_steps" non static
+      rev-list: refactor printing bisect vars
+      bisect: move common bisect functionality to "bisect_common"
+      bisect--helper: add "--next-exit" to output bisect results
+      bisect: use "git bisect--helper --next-exit" in "git-bisect.sh"
+      bisect--helper: remove "--next-vars" option as it is now useless
+      rev-list: remove stringed output flag from "show_bisect_vars"
+      rev-parse: add --sq-quote to shell quote arguments
+      bisect: use "git rev-parse --sq-quote" instead of a custom "sq" function
+      am: simplify "sq" function by using "git rev-parse --sq-quote"
+      bisect: use "sha1_array" to store skipped revisions
+      bisect: implement "rev_argv_push" to fill an argv with revs
+      bisect: store good revisions in a "sha1_array"
+      bisect: use new "struct argv_array" to prepare argv for "setup_revisions"
+      bisect: remove too much function nesting
+      bisect: make skipped array functions more generic
+      bisect: automatically sort sha1_array if needed when looking it up
+      bisect: implement the "check_merge_bases" function
+      bisect: add "check_good_are_ancestors_of_bad" function
+      bisect: make "git bisect" use new "--next-all" bisect-helper function
+      bisect: rework some rev related functions to make them more reusable
+      commit: add function to unparse a commit and its parents
+      bisect: check ancestors without forking a "git rev-list" process
+      bisect: drop unparse_commit() and use clear_commit_marks()
+      bisect: display first bad commit without forking a new process
+      bisect: add parameters to "filter_skipped"
+      bisect: when skipping, choose a commit away from a skipped commit
+      t6030: test skipping away from an already skipped commit
+      bisect: use a PRNG with a bias when skipping away from untestable commits
+      Documentation: remove warning saying that "git bisect skip" may slow bisection
+
+Christian Stimming (1):
+      gitk: Update German translation.
+
+Clemens Buchacher (5):
+      http-push: reuse existing is_null_ref
+      match_refs: search ref list tail internally
+      test-lib: fail if invalid options are passed
+      test-lib: allow exit trap to be used for cleanup by tests
+      test-lib: fix http exit codes
+
+Dan McGee (1):
+      Unify signedness in hashing calls
+
+Daniel Trstenjak (1):
+      Show presence of stashed changes in bash prompt.
+
+David Aguilar (5):
+      mergetool--lib: specialize diff options for emerge and ecmerge
+      mergetool--lib: add support for araxis merge
+      compat: add a mkstemps() compatibility function
+      compat: add a basename() compatibility function
+      diff: generate pretty filenames in prep_temp_blob()
+
+Dirk Süsserott (1):
+      gitk: Add option 'Simple history' to the options menu
+
+Edward Z. Yang (1):
+      connect.c: Support PuTTY plink and TortoisePlink as SSH on Windows
+
+Elijah Newren (1):
+      gitk: Make more options easily accessible from Edit View dialog
+
+Eric W. Biederman (1):
+      git-send-email: Handle quotes when parsing .mailrc files
+
+Eric Wong (4):
+      git-svn: refuse to dcommit non-UTF-8 messages
+      git-svn: convert globs to regexps for branch destinations
+      t9138: remove stray dot in test which broke bash
+      Allow the Unix epoch to be a valid commit date
+
+Eygene Ryabinkin (1):
+      git-svn testsuite: use standard configuration for Subversion tools
+
+Felipe Contreras (2):
+      Change prettify_ref to prettify_refname
+      Prettify log decorations even more
+
+Frank Lichtenheld (2):
+      Git.pm: Set GIT_WORK_TREE if we set GIT_DIR
+      Git.pm: Always set Repository to absolute path if autodetecting
+
+Giuseppe Bilotta (11):
+      git-am foreign patch support: introduce patch_format
+      git-am foreign patch support: autodetect some patch formats
+      git-am foreign patch support: StGIT support
+      git-am: refactor 'cleaning up and aborting'
+      gitweb: refactor author name insertion
+      gitweb: uniform author info for commit and commitdiff
+      gitweb: use git_print_authorship_rows in 'tag' view too
+      gitweb: (gr)avatar support
+      gitweb: gravatar url cache
+      gitweb: picon avatar provider
+      gitweb: add empty alt text to avatar img
+
+Heiko Voigt (2):
+      Extend sample update hook, disable modifying of existing tags
+      Extend sample pre-commit hook to check for non ascii filenames
+
+Hunter, D. Seth (1):
+      http-push: fix xml_entities() string parsing overrun
+
+Jakub Narebski (10):
+      gitweb: Remove function prototypes (cleanup)
+      gitweb: Do not use bareword filehandles
+      gitweb: Always use three argument form of open
+      gitweb: Always use three argument form of open
+      gitweb: Use block form of map/grep in a few cases more
+      gitweb: Replace wrongly added tabs with spaces
+      gitweb: Use capturing parentheses only when you intend to capture
+      gitweb: Simplify snapshot format detection logic in evaluate_path_info
+      gitweb: Remove unused $hash_base parameter from normalize_link_target
+      gitweb: Sanitize title attribute in format_subject_html
+
+Jeff King (7):
+      parseopt: add OPT_NEGBIT
+      convert bare readlink to strbuf_readlink
+      git-add: no need for -f when resolving a conflict in already tracked path
+      Makefile: refactor regex compat support
+      Makefile: use compat regex on Solaris
+      log-tree: fix confusing comment
+      Makefile: install 'git' in execdir
+
+Jim Meyering (2):
+      post-receive-email: hooks.showrev: show how to include both web link and patch
+      avoid NULL dereference on failed malloc
+
+Johan Herland (2):
+      Rename submodule.<name>.rebase to submodule.<name>.update
+      git-submodule: add support for --merge.
+
+Johannes Schindelin (12):
+      git-add: introduce --edit (to edit the diff vs. the index)
+      t3702: fix reliance on SHELL_PATH being '/bin/sh'
+      MinGW: the path separator to split GITPERLLIB is ';' on Win32
+      MinGW: use POSIX signature of waitpid()
+      MinGW: Add a simple getpass()
+      MinGW: Fix compiler warning in merge-recursive
+      MinGW: GCC >= 4 does not need SNPRINTF_SIZE_CORR anymore
+      Quiet make: do not leave Windows behind
+      Work around a regression in Windows 7, causing erase_in_line() to crash sometimes
+      test-chmtime: work around Windows limitation
+      MinGW: fix warning about implicit declaration of _getch()
+      Fix warnings in nedmalloc when compiling with GCC 4.4.0
+
+Johannes Sixt (10):
+      gitk: Use --textconv to generate diff text
+      Simplify some instances of run_command() by using run_command_v_opt().
+      Simplify some 'fprintf(stderr); return -1;' by using 'return error()'
+      Fix typo in nedmalloc warning fix
+      compat/ has subdirectories: do not omit them in 'make clean'
+      daemon: send stderr of service programs to the syslog
+      upload-pack: squelch progress indicator if client cannot see it
+      receive-pack: do not send error details to the client
+      git-mv: fix directory separator treatment on Windows
+      MinGW: truncate exit()'s argument to lowest 8 bits
+
+Josh Micich (3):
+      mktree --missing: updated usage message and man page
+      mktree --batch: build more than one tree object
+      mktree: validate entry type in input
+
+Junio C Hamano (22):
+      Start 1.6.4 development
+      build-in git-mktree
+      mktree: use parse-options
+      builtin-mktree.c: use a helper function to handle one line of input
+      mktree: do not barf on a submodule commit
+      t1010: add mktree test
+      mktree --missing: allow missing objects
+      t3900: ISO-2022-JP has more than one popular variants
+      write-tree --ignore-cache-tree
+      Teach Solaris that _XOPEN_SOURCE=600 really menas XPG6
+      OpenSolaris 200811 (SunOS 5.11) does not want OLD_ICONV
+      cache-tree.c::cache_tree_find(): simplify internal API
+      t4007: modernize the style
+      Optimize "diff-index --cached" using cache-tree
+      Avoid "diff-index --cached" optimization under --find-copies-harder
+      Update draft release notes to 1.6.4
+      completion: fix PS1 display during an AM on detached HEAD
+      Documentation/git.txt: update links to release notes
+      Makefile: introduce SANE_TOOL_PATH for prepending required elements to PATH
+      Makefile: test-parse-options depends on parse-options.h
+      Makefile: insert SANE_TOOL_PATH to PATH before /bin or /usr/bin
+      die_errno(): double % in strerror() output just in case
+
+Kjetil Barvik (1):
+      symlinks.c: small style cleanup
+
+Larry D'Anna (1):
+      add --porcelain option to git-push
+
+Linus Torvalds (3):
+      Clean up and simplify rev_compare_tree()
+      Fix various sparse warnings in the git source code
+      git log: add '--merges' flag to match '--no-merges'
+
+Marc Branchaud (3):
+      git svn: Support multiple branch and tag paths in the svn repository.
+      git svn: cleanup t9138-multiple-branches
+      git svn: Doc update for multiple branch and tag paths
+
+Marius Storm-Olsen (2):
+      MinGW readdir reimplementation to support d_type
+      Add custom memory allocator to MinGW and MacOS builds
+
+Mark Lodato (3):
+      git-svn: add --authors-prog option
+      http.c: prompt for SSL client certificate password
+      http.c: add http.sslCertPasswordProtected option
+
+Markus Heidelberg (10):
+      show-branch: color the commit status signs
+      bash completion: show-branch color support
+      diff: do not color --stat output like patch context
+      gitk: Allow diff view without context lines
+      add a test for git-send-email for non-threaded mails
+      send-email: fix non-threaded mails
+      doc/send-email: clarify the behavior of --in-reply-to with --no-thread
+      add a test for git-send-email for threaded mails without chain-reply-to
+      send-email: fix threaded mails without chain-reply-to
+      send-email: fix a typo in a comment
+
+Martin Renold (1):
+      Remove filename from conflict markers
+
+Michael J Gruber (9):
+      Documentation: clarify / requirement in 'git check-ref-format'
+      Test tracking of non-commit upstreams
+      Fix behavior with non-commit upstream references
+      Allow push and fetch urls to be different
+      t5516: Check pushurl config setting
+      technical/api-remote: Describe new struct remote member pushurl
+      git-repack.txt: Clarify implications of -a for dumb protocols
+      builtin-remote: Show push urls as well
+      builtin-remote: Make "remote -v" display push urls
+
+Michael S. Tsirkin (1):
+      Add --reference option to git submodule.
+
+Michael Witten (6):
+      Docs: send-email: Put options back into alphabetical order
+      Docs: send-email: Refer to CONFIGURATION section for sendemail.multiedit
+      Docs: send-email: --smtp-server-port can take symbolic ports
+      send-email: Handle "GIT:" rather than "GIT: " during --compose
+      send-email: 'References:' should only reference what is sent
+      send-email: Remove superfluous `my $editor = ...'
+
+Michal Marek (1):
+      apply: handle filenames with double slashes better
+
+Michele Ballabio (1):
+      gitk: Add another string to translation
+
+Mike Hommey (7):
+      Don't expect verify_pack() callers to set pack_size
+      transport.c::get_refs_via_curl(): do not leak refs_url
+      http.c: new functions for the http API
+      transport.c::get_refs_via_curl(): use the new http API
+      http.c::http_fetch_ref(): use the new http API
+      http-push.c::remote_exists(): use the new http API
+      http-push.c::fetch_symref(): use the new http API
+
+Nguyễn Thái Ngọc Duy (3):
+      doc/git-rebase.txt: remove mention of multiple strategies
+      Terminate argv with NULL before calling setup_revisions()
+      t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C
+
+Nick Edelen (1):
+      diff-tree -r -t: include added/removed directories in the output
+
+Nick Woolley (3):
+      git-cvsexportcommit can't commit files which have been removed from CVS
+      Remove archaic use of regex capture \1 in favour of $1
+      Avoid generating a warning if $fullname{$file} is undefined
+
+Paolo Bonzini (1):
+      Test cccmd in t9001-send-email.sh and fix some bugs
+
+Pat Thoyts (2):
+      gitk: Handle msysGit version during version comparisons
+      git: browsing paths with spaces when using the start command
+
+Paul Mackerras (1):
+      gitk: Check git version before using --textconv flag
+
+Peter Harris (1):
+      MinGW: Scan for \r in addition to \n when reading shbang lines
+
+Peter Hutterer (1):
+      git-submodule: add support for --rebase.
+
+Pierre Habouzit (1):
+      parse-options: add parse_options_check to validate option specs.
+
+Ralf Wildenhues (1):
+      configure: test whether -lresolv is needed
+
+René Scharfe (13):
+      parseopt: add OPT_NEGBIT
+      parseopt: add OPT_NUMBER_CALLBACK
+      parseopt: add PARSE_OPT_NODASH
+      grep: remove global variable builtin_grep
+      grep: use parseopt
+      grep: make callback functions static
+      userdiff: add xdiff_clear_find_func()
+      grep: move context hunk mark handling into show_line()
+      grep: print context hunk marks between files
+      grep: handle pre context lines on demand
+      grep: add option -p/--show-function
+      grep -p: support user defined regular expressions
+      grep: simplify -p output
+
+Robin Rosenberg (1):
+      Disallow '\' in ref names
+
+SZEDER Gábor (3):
+      bash: remove always true if statement from __git_ps1()
+      Documentation: mention 'git stash pop --index' option explicitly
+      bash: add support for 'git stash pop --index' option
+
+Santi Béjar (3):
+      parse-remote: function to get the tracking branch to be merge
+      parse-remote: support default reflist in get_remote_merge_branch
+      parse-remote: remove unused functions
+
+Sitaram Chamarty (1):
+      allow -t abbreviation for --track in git branch
+
+Steffen Prohaska (1):
+      MinGW: Teach Makefile to detect msysgit and apply specific settings
+
+Stephen Boyd (22):
+      bash completion: complete variable names for "git config" with options
+      format-patch: migrate to parse-options API
+      parse-options: add PARSE_OPT_LITERAL_ARGHELP for complicated argh's
+      show-branch: migrate to parse-options API
+      parse-opts: prepare for OPT_FILENAME
+      parse-opts: add OPT_FILENAME and transition builtins
+      t5500: Modernize test style
+      t9120: don't expect failure with SVN_HTTPD_PORT unset
+      config.txt: document add.ignore-errors
+      git-show-branch.txt: document --date-order option
+      parse-options: make OPT_INTEGER's argh explicit
+      parse-options: simplify usage argh handling
+      show-branch: don't use LASTARG_DEFAULT with OPTARG
+      t4150: test applying with a newline in subject
+      am: suppress apply errors when using 3-way
+      git-sh-setup: introduce say() for quiet options
+      submodule, repack: migrate to git-sh-setup's say()
+      am, rebase: teach quiet option
+      stash: teach quiet option
+      show-ref: migrate to parse-options
+      completion: add missing config variables
+      completion: __git_config_get_set_variables() handle values with spaces
+
+Tay Ray Chuan (15):
+      t5540-http-push: test fetching of loose objects
+      t5540-http-push: test fetching of packed objects
+      http-push: send out fetch requests on queue
+      http-push: fix missing "#ifdef USE_CURL_MULTI" around "is_running_queue"
+      t5550-http-fetch: test fetching of packed objects
+      http-push, http-walker: style fixes
+      http-walker: verify remote packs
+      http*: copy string returned by sha1_to_hex
+      http-push: do not SEGV after fetching a bad pack idx file
+      http*: move common variables and macros to http.[ch]
+      http: create function end_url_with_slash
+      http*: add http_get_info_packs
+      http: use new http API in fetch_index()
+      http*: add helper methods for fetching packs
+      http*: add helper methods for fetching objects (loose)
+
+Thomas Rast (5):
+      Documentation: teach stash/pop workflow instead of stash/apply
+      git-svn: let 'dcommit $rev' work on $rev instead of HEAD
+      Introduce die_errno() that appends strerror(errno) to die()
+      Convert existing die(..., strerror(errno)) to die_errno()
+      Use die_errno() instead of die() when checking syscalls
+
+Todd Zullinger (1):
+      completion: Add --full-diff to log options
+
+Trent Piepho (1):
+      send-email: Add config option for sender address
+
+Ulrich Dangel (1):
+      git-svn: Canonicalize svn urls to prevent libsvn assertion
+
+Uwe Kleine-König (2):
+      more tests for git rev-parse --parse-opt
+      parse-opt: make PARSE_OPT_STOP_AT_NON_OPTION available to git rev-parse
+
+Yann Dirson (4):
+      git-svn.txt: stop using dash-form of commands.
+      git-svn.txt: make formatting more consistent.
+      git-svn.txt: fix fetch flags incorrectly documented as init flags.
+      git-svn.txt: fix description of fetch flags accepted by clone.
+
+
+Version v1.6.3.4; changes since v1.6.3.3:
+-----------------------------------------
+
+Brandon Casey (2):
+      refs.c: release file descriptor on error return
+      sha1_name.c: avoid unnecessary strbuf_release
+
+Chris Frey (1):
+      git-remote: fix missing .uploadpack usage for show command
+
+Clemens Buchacher (1):
+      fetch: do not create ref from empty name
+
+Giuseppe Bilotta (1):
+      gitweb/README: fix AliasMatch in example
+
+Johannes Sixt (2):
+      t3700-add: add a POSIXPERM prerequisite to a new test
+      Makefile: git.o depends on library headers
+
+Junio C Hamano (9):
+      request-pull: really disable pager
+      checkout -f: deal with a D/F conflict entry correctly
+      combine-diff.c: fix performance problem when folding common deleted lines
+      diff --cc: a lost line at the beginning of the file is shown incorrectly
+      do_one_ref(): null_sha1 check is not about broken ref
+      SunOS grep does not understand -C<n> nor -e
+      Fix severe breakage in "git-apply --whitespace=fix"
+      t8005: Nobody writes Russian in shift_jis
+      GIT 1.6.3.4
+
+Linus Torvalds (3):
+      git branch: fix performance problem
+      git branch: avoid unnecessary object lookups
+      git branch: clean up detached branch handling
+
+Matthias Andree (1):
+      Fix export_marks() error handling.
+
+Michal Marek (1):
+      request-pull: really really disable pager
+
+Miklos Vajna (1):
+      git-submodule documentation: fix foreach example
+
+René Scharfe (1):
+      attr: plug minor memory leak
+
+Roel Kluin (1):
+      fread does not return negative on error
+
+SZEDER Gábor (1):
+      Trailing whitespace and no newline fix
+
+Sitaram Chamarty (1):
+      Documentation: update description of shell aliases
+
+Stephen Boyd (2):
+      add: allow configurations to be overriden by command line
+      config.txt: document add.ignore-errors
+
+Thadeu Lima de Souza Cascardo (1):
+      Makes some cleanup/review in gittutorial
+
+Thomas Rast (2):
+      Test git archive --remote
+      Test grep --and/--or/--not
+
+Tom Grennan (1):
+      request-pull: allow ls-remote to notice remote.$nickname.uploadpack
+
+
+Version v1.6.3.3; changes since v1.6.3.2:
+-----------------------------------------
+
+Anders Kaseorg (1):
+      for-each-ref: Do not lookup objects when they will not be used
+
+Clemens Buchacher (1):
+      refuse to merge during a merge
+
+Jim Meyering (1):
+      use xstrdup, not strdup in ll-merge.c
+
+Johannes Schindelin (1):
+      import-tars: support symlinks
+
+Johannes Sixt (2):
+      fetch-pack: close output channel after sideband demultiplexer terminates
+      diff.c: plug a memory leak in an error path
+
+Junio C Hamano (3):
+      t3505: fix abuse of test_expect_code
+      attribute: whitespace set to true detects all errors known to git
+      GIT 1.6.3.3
+
+Linus Torvalds (1):
+      Fix big left-shifts of unsigned char
+
+Marco Nelissen (1):
+      fix handling of iconv configuration options
+
+Mark Lodato (1):
+      http.c: fix compiling with libcurl 7.9.2
+
+Michael J Gruber (1):
+      builtin-remote: Make "remote show" display all urls
+
+Miklos Vajna (1):
+      git-svn documentation: fix typo in 'rebase vs. pull/merge' section
+
+Nanako Shiraishi (1):
+      .gitattributes: CR at the end of the line is an error
+
+Paolo Bonzini (2):
+      Documentation: git-send-mail can take rev-list arg to drive format-patch
+      avoid exponential regex match for java and objc function names
+
+René Scharfe (1):
+      upload-archive: fix infinite loop on Cygwin
+
+Shawn O. Pearce (1):
+      daemon: Strictly parse the "extra arg" part of the command
+
+Stephen Boyd (3):
+      git-rerere.txt: grammatical fixups and cleanups
+      pull, rebase: simplify to use die()
+      git-show-ref.txt: remove word and make consistent
+
+Tay Ray Chuan (1):
+      http*: cleanup slot->local after fclose
+
+Thomas Rast (1):
+      Documentation: refer to gitworkflows(7) from tutorial and git(1)
+
+Uwe Kleine-König (1):
+      rebase--interactive: remote stray closing parenthesis
+
+
+Version v1.6.3.2; changes since v1.6.3.1:
+-----------------------------------------
+
+Alex Riesen (7):
+      Introduce an unlink(2) wrapper which gives warning if unlink failed
+      replace direct calls to unlink(2) with unlink_or_warn
+      print unlink(2) errno in copy_or_link_directory
+      Clarify kind of conflict in merge-one-file helper
+      ls-tree manpage: use "unless" instead of "when ... is not"
+      ls-tree manpage: output of ls-tree is compatible with update-index
+      http-push.c::remove_locks(): fix use after free
+
+Charles Bailey (2):
+      t6023: merge-file fails to output anything for a degenerate merge
+      Change xdl_merge to generate output even for null merges
+
+Clemens Buchacher (1):
+      fix segfault showing an empty remote
+
+Dan McGee (1):
+      Fix type-punning issues
+
+Daniel Cordero (1):
+      builtin-checkout: Don't tell user that HEAD has moved before it has
+
+Dave Olszewski (1):
+      merge-recursive: never leave index unmerged while recursing
+
+Giuseppe Bilotta (1):
+      completion: use git rev-parse to detect bare repos
+
+Jeff King (6):
+      fix GIT_TRACE segfault with shell-quoted aliases
+      add: don't complain when adding empty project root
+      for-each-ref: fix segfault in copy_email
+      lock_ref: inform callers of unavailable ref
+      fetch: report ref storage DF errors more accurately
+      fix cat-file usage message and documentation
+
+Jim Meyering (2):
+      format-patch let -k override a config-specified format.numbered
+      pre-commit.sample: don't print incidental SHA1
+
+Johannes Schindelin (2):
+      Add NO_CROSS_DIRECTORY_HARDLINKS support to the Makefile
+      Cope better with a _lot_ of packs
+
+Johannes Sixt (1):
+      t3701: ensure correctly set up repository after skipped tests
+
+Junio C Hamano (8):
+      Revert "git-add--interactive: remove hunk coalescing"
+      completion: fix PS1 display during a merge on detached HEAD
+      completion: simplify "current branch" in __git_ps1()
+      completion: enhance "current branch" display
+      Prepare for 1.6.3.2
+      Update draft release notes for 1.6.3.2
+      blame: correctly handle a path that used to be a directory
+      GIT 1.6.3.2
+
+Linus Torvalds (3):
+      Avoid unnecessary 'lstat()' calls in 'get_stat_data()'
+      Teach 'git checkout' to preload the index contents
+      dir.c: clean up handling of 'path' parameter in read_directory_recursive()
+
+Matt Graham (1):
+      Splitting a hunk that adds a line at the top fails in "add -p"
+
+Michael J Gruber (1):
+      merge-options.txt: Clarify merge --squash
+
+Nanako Shiraishi (1):
+      test: checkout shouldn't say that HEAD has moved if it didn't
+
+Nicolas Pitre (1):
+      allow OFS_DELTA objects during a push
+
+René Scharfe (4):
+      grep: fix word-regexp colouring
+      grep: fix word-regexp at the beginning of lines
+      grep: fix colouring of matches with zero length
+      grep: fix empty word-regexp matches
+
+Stephen Boyd (6):
+      api-parse-options.txt: use 'func' instead of 'funct'
+      tests: Add tests for missing format-patch long options
+      completion: add missing options to show-branch and show
+      show-branch: Fix die message in parse_reflog_param()
+      commit: -F overrides -t
+      apply, fmt-merge-msg: use relative filenames
+
+Thomas Rast (2):
+      Documentation: teach stash/pop workflow instead of stash/apply
+      add -i: do not dump patch during application
+
+Tony Kemp (1):
+      Turn on USE_ST_TIMESPEC for OpenBSD
+
+
+Version v1.6.3.1; changes since v1.6.3:
+---------------------------------------
+
+Alex Riesen (1):
+      Clarify kind of conflict in merge-one-file helper
+
+Alexander Potashev (1):
+      Documentation: cloning to empty directory is allowed
+
+Felipe Contreras (1):
+      git config: clarify --add and --get-color
+
+Junio C Hamano (4):
+      Start 1.6.3.1 maintenance series.
+      archive-tar.c: squelch a type mismatch warning
+      Revert "checkout branch: prime cache-tree fully"
+      GIT 1.6.3.1
+
+
+Version v1.6.3; changes since v1.6.3-rc4:
+-----------------------------------------
+
+Alex Riesen (1):
+      improve error message in config.c
+
+Allan Caffee (1):
+      dir.c: Fix two minor grammatical errors in comments
+
+Bernd Ahlers (1):
+      Work around BSD whose typeof(tv.tv_sec) != time_t
+
+Brandon Casey (7):
+      t4018-diff-funcname: add cpp xfuncname pattern to syntax test
+      t8005: use egrep when extended regular expressions are required
+      t4118: add missing '&&'
+      t4118: avoid sed invocation on file without terminating newline
+      t/annotate-tests.sh: avoid passing a non-newline terminated file to sed
+      t4200: remove two unnecessary lines
+      t4200: convert sed expression which operates on non-text file to perl
+
+Junio C Hamano (4):
+      GIT 1.6.1.4
+      GIT 1.6.2.5
+      git-clean doc: the command only affects paths under $(cwd)
+      GIT 1.6.3
+
+Nguyễn Thái Ngọc Duy (1):
+      t4029: use sh instead of bash
+
+Nicolas Pitre (1):
+      honor repack.usedeltabaseoffset when fetching packs
+
+Robin H. Johnson (1):
+      git-svn: fix a sloppy Getopt::Long usage
+
+Stephen Boyd (8):
+      completion: add missing configuration variables to _git_config()
+      completion: add {gui,diff,merge}tool, man, and pager config variables
+      completion: complete values for help.format
+      completion: complete values for log.date
+      completion: complete values for send-email
+      git-am.txt: add an 'a', say what 'it' is, simplify a sentence
+      git-am.txt: Use date or value instead of time or timestamp
+      git-am.txt: reword extra headers in message body
+
+
+Version v1.6.3-rc4; changes since v1.6.3-rc3:
+---------------------------------------------
+
+Alex Riesen (3):
+      git-gui: Update Russian translation
+      improve error message in config.c
+      gitk: Add Russian translation
+
+Alexander Gavrilov (3):
+      git-gui: Fix post-commit status with subject in non-locale encoding
+      git-gui: Avoid an infinite rescan loop in handle_empty_diff.
+      git-gui: Support more git version notations.
+
+Allan Caffee (2):
+      builtin-merge: fix a typo in an error message
+      Documentation: fix a grammatical error in api-builtin.txt
+
+Benjamin Kramer (1):
+      daemon.c: fix segfault on OS X
+
+Christian Stimming (1):
+      gitk: Mark forgotten string for translation
+
+Daniel A. Steffen (2):
+      gitk: Fixes for Mac OS X TkAqua
+      git-gui: Fixes for Mac OS X TkAqua
+
+Eric Blake (2):
+      Makefile: installing git in cygwin 1.7.0
+      doc: consistently use ASCIIDOC_EXTRA
+
+Felipe Contreras (2):
+      git config: error when editing a repo config and not being in one
+      Fix a bunch of pointer declarations (codestyle)
+
+Ferry Huberts (1):
+      git-gui: Ensure consistent usage of mergetool.keepBackup
+
+Giuseppe Bilotta (1):
+      gitk: Provide a window icon if possible
+
+Jeff King (1):
+      Makefile: fix NO_PERL bug with gitweb
+
+Jens Lehmann (4):
+      git-gui: Fix merge conflict display error when filename contains spaces
+      git-gui: When calling post-commit hook wrong variable was cleared.
+      git-gui: run post-checkout hook on checkout
+      git-gui: run post-checkout hook after clone
+
+Joerg Bornemann (1):
+      git-gui: fix use of undeclared variable diff_empty_count
+
+Johannes Schindelin (2):
+      t5701: do not get stuck in empty-push/
+      Rename core.unreliableHardlinks to core.createObject
+
+Johannes Sixt (1):
+      prune-packed: advanced progress even for non-existing fan-out directories
+
+Junio C Hamano (3):
+      diff -c -p: do not die on submodules
+      merge-recursive: do not die on a conflicting submodule
+      GIT 1.6.3-rc4
+
+Linus Torvalds (1):
+      grep: fix segfault when "git grep '('" is given
+
+Mark Drago (1):
+      Add semicolon to curly brace group in main Makefile
+
+Markus Heidelberg (5):
+      git-gui: don't hide the Browse button when resizing the repo chooser
+      git-gui: fix deleting from the context menu with empty selection
+      git-gui: use `git --html-path` to get the location of installed HTML docs
+      git-gui (Win): make "Explore Working Copy" more robust
+      git-gui (Win): make starting via "Git GUI Here" on .git/ possible
+
+Michele Ballabio (2):
+      gitk: Mark some more strings for translation
+      gitk: Map KP_Divide to focus the search box
+
+Pat Thoyts (4):
+      gitk: Handle blobs containing a DOS end-of-file marker
+      gitk: Remember and restore the window state with the geometry
+      gitk: Handle external diff tool with spaces in the path
+      gitk: Avoid crash if closed while reading references
+
+Patrick Welche (1):
+      NetBSD compilation fix
+
+Paul Mackerras (4):
+      gitk: Add a way to mark a commit, plus a "find descendant" command
+      gitk: Add a command to compare two strings of commits
+      gitk: Make .gitk a hidden file under windows
+      gitk: Fix compare-commits function when we have local changes
+
+Phil Lawrence (1):
+      Append ampersand to "Target" of lnk files created by do_cygwin_shortcut
+
+René Scharfe (1):
+      ctype.c: fix typo in comment
+
+Sam Hocevar (2):
+      git-gui: various French translation fixes
+      git-gui: minor spelling fix and string factorisation.
+
+Sam Vilain (1):
+      SubmittingPatches: itemize and reflect upon well written changes
+
+Stephen Boyd (1):
+      gitk: Provide a 32x32 window icon based on the git logo
+
+Uwe Kleine-König (1):
+      parseopt: fix documentation for --keep-dashdash
+
+
+Version v1.6.3-rc3; changes since v1.6.3-rc2:
+---------------------------------------------
+
+Benjamin Kramer (1):
+      connect: replace inet_ntop with getnameinfo
+
+Brandon Casey (2):
+      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
+      t7700-repack: repack -a now works properly, expect success from test
+
+Johannes Schindelin (1):
+      Add an option not to use link(src, dest) && unlink(src) when that is unreliable
+
+Linus Torvalds (1):
+      t4202: fix typo
+
+Nicolas Pitre (1):
+      progress bar: round to the nearest instead of truncating down
+
+Sitaram Chamarty (1):
+      Remove obsolete bug warning in man git-update-server-info
+
+Wesley J. Landaker (2):
+      Documentation: git-clean: fix minor grammatical errors
+      Documentation: git-clean: make description more readable
+
+
+Version v1.6.3-rc2; changes since v1.6.3-rc1:
+---------------------------------------------
+
+Alex Riesen (2):
+      Wait for git diff to finish in git difftool
+      Explain seemingly pointless use of system in difftool
+
+Allan Caffee (3):
+      t4202-log: extend test coverage of graphing
+      graph API: fix extra space during pre_commit_line state
+      graph API: fix a bug in the rendering of octopus merges
+
+Ben Jackson (1):
+      Work around ash "alternate value" expansion bug
+
+Bill Pemberton (1):
+      Add parsing of elm aliases to git-send-email
+
+Dan Loewenherz (1):
+      Convert to use quiet option when available
+
+Erik Faye-Lund (4):
+      test-suite: adding a test for fast-export with tag variants
+      builtin-fast-export.c: turn error into warning
+      builtin-fast-export.c: fix crash on tagged trees
+      builtin-fast-export.c: handle nested tags
+
+Frank Lichtenheld (1):
+      gitcvs-migration: Link to git-cvsimport documentation
+
+Holger Weiß (1):
+      gitweb: Fix snapshots requested via PATH_INFO
+
+Jeff King (2):
+      add-interactive: refactor mode hunk handling
+      t7800: respect NO_PERL
+
+Johan Herland (1):
+      Update docs on behaviour of 'core.sharedRepository' and 'git init --shared'
+
+Johannes Schindelin (1):
+      Fix off-by-one in read_tree_recursive
+
+Johannes Sixt (4):
+      Windows: Work around intermittent failures in mingw_rename
+      Windows: Skip fstat/lstat optimization in write_entry()
+      builtin-help: silently tolerate unknown keys
+      remote.c: do not trigger remote.<name>.<var> codepath for two-level names
+
+Junio C Hamano (9):
+      Speed up reflog pruning of unreachable commits
+      GIT 1.6.2.4
+      read-tree A B: do not corrupt cache-tree
+      Move prime_cache_tree() to cache-tree.c
+      read-tree -m A B: prime cache-tree from the switched-to tree
+      checkout branch: prime cache-tree fully
+      Revert "stat_tracking_info(): only count real commits"
+      Makefile: ignore perl/ subdirectory under NO_PERL
+      GIT 1.6.3-rc2
+
+Linus Torvalds (1):
+      Clean up reflog unreachability pruning decision
+
+Markus Heidelberg (1):
+      grep: don't support "grep.color"-like config options
+
+Matthieu Moy (3):
+      git add -p: new "quit" command at the prompt.
+      Update git-add.txt according to the new possibilities of 'git add -p'.
+      clone: add test for push on an empty clone.
+
+Michael J Gruber (2):
+      test-lib.sh: Help test_create_repo() find the templates dir
+      Fix more typos/spelling in comments
+
+Michał Kiedrowicz (3):
+      tests: test applying criss-cross rename patch
+      builtin-apply: keep information about files to be deleted
+      tests: make test-apply-criss-cross-rename more robust
+
+Mike Ralphson (3):
+      builtin-remote: fix typo in option description
+      Documentation: fix typos / spelling mistakes
+      Fix typos / spelling in comments
+
+Nguyễn Thái Ngọc Duy (1):
+      Makefile: remove {fetch,send}-pack from PROGRAMS as they are builtins
+
+Stephen Boyd (8):
+      test-genrandom: Add newline to usage string
+      config.txt: add missing format.{subjectprefix,cc,attach} variables
+      Documentation: use lowercase for shallow and deep threading
+      git-show-branch.txt: cleanup example description
+      git-format-patch.txt: general rewordings and cleanups
+      config.txt: add missing 'the's and make words plural
+      config.txt: clarify sentences in the configuration and syntax sections
+      config.txt: Make configuration paragraph more consistent
+
+Wesley J. Landaker (2):
+      Documentation: git-svn: fix spurious bolding that mangles the output
+      Documentation: git-svn: fix a grammatical error without awkwardness
+
+Wincent Colaiuta (1):
+      git add -p: add missing "q" to patch prompt
+
+
+Version v1.6.3-rc1; changes since v1.6.3-rc0:
+---------------------------------------------
+
+Allan Caffee (1):
+      graph API: Added logic for colored edges
+
+Bert Wesarg (3):
+      shorten_unambiguous_ref(): add strict mode
+      for-each-ref: utilize core.warnAmbiguousRefs for :short-format
+      rev-parse: --abbrev-ref option to shorten ref name
+
+David Aguilar (11):
+      difftool: remove merge options for opendiff, tkdiff, kdiff3 and xxdiff
+      difftool: remove the backup file feature
+      difftool: use perl built-ins when testing for msys
+      difftool: add a -y shortcut for --no-prompt
+      difftool: move 'git-difftool' out of contrib
+      difftool: add various git-difftool tests
+      difftool: add support for a difftool.prompt config variable
+      bash completion: add git-difftool
+      mergetool: use $( ... ) instead of `backticks`
+      difftool/mergetool: refactor commands to use git-mergetool--lib
+      mergetool--lib: simplify API usage by removing more global variables
+
+Erik Broes (1):
+      git-shell: Add 'git-upload-archive' to allowed commands.
+
+Ferry Huberts (1):
+      Fix misspelled mergetool.keepBackup
+
+Frank Lichtenheld (1):
+      init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
+
+Jeff King (7):
+      doc: clarify --no-track option
+      doc: refer to tracking configuration as "upstream"
+      doc/checkout: refer to git-branch(1) as appropriate
+      doc/checkout: split checkout and branch creation in synopsis
+      docs/checkout: clarify what "non-branch" means
+      add-interactive: refactor mode hunk handling
+      doc/gitattributes: clarify location of config text
+
+Johannes Sixt (1):
+      t1301-shared-repo: fix forced modes test
+
+Junio C Hamano (4):
+      gitignore git-bisect--helper
+      unpack-trees: do not muck with attributes when we are not checking out
+      Describe fixes since 1.6.2.3
+      Update draft release notes to 1.6.3
+
+Linus Torvalds (3):
+      Allow users to un-configure rename detection
+      process_{tree,blob}: show objects without buffering
+      show_object(): push path_name() call further down
+
+Markus Heidelberg (5):
+      doc/merge-config: list ecmerge as a built-in merge tool
+      git-mergetool/difftool: make (g)vimdiff workable under Windows
+      git-mergetool: add new merge tool TortoiseMerge
+      doc/git-daemon: add missing arguments to options
+      doc/git-daemon: add missing arguments to max-connections option
+
+Matthieu Moy (2):
+      git add -p: new "quit" command at the prompt.
+      Update git-add.txt according to the new possibilities of 'git add -p'.
+
+Michael J Gruber (1):
+      remote.c: use shorten_unambiguous_ref
+
+Michał Kiedrowicz (3):
+      tests: test applying criss-cross rename patch
+      builtin-apply: keep information about files to be deleted
+      Documentation: boolean value may be given by on/off
+
+Nanako Shiraishi (1):
+      git-am: teach git-am to apply a patch to an unborn branch
+
+Nguyễn Thái Ngọc Duy (3):
+      get_local_heads(): do not return random pointer if there is no head
+      attr: add GIT_ATTR_INDEX "direction"
+      archive: do not read .gitattributes in working directory
+
+Paul Bolle (1):
+      imap-send: use correct configuration variable in documentation
+
+Pierre Habouzit (1):
+      hook/update: example of how to prevent branch creation
+
+René Scharfe (2):
+      archive tests: do not use .gitattributes in working directory
+      archive test: attributes
+
+Sebastian Pipping (1):
+      difftool/mergetool: add diffuse as merge and diff tool
+
+Thomas Jarosch (1):
+      Fix buffer overflow in config parser
+
+Ulrich Windl (1):
+      git-apply: fix option description
+
+
+Version v1.6.3-rc0; changes since v1.6.2.5:
+-------------------------------------------
+
+Alex Riesen (4):
+      disable post-checkout test on Cygwin
+      Produce a nicer output in case of sha1_object_info failures in ls-tree -l
+      Microoptimize strbuf_cmp
+      Improve error message about fetch into current branch
+
+Ali Gholami Rudi (2):
+      builtin-clone.c: make junk_pid static
+      builtin-clone.c: no need to strdup for setenv
+
+Amos King (2):
+      Do not name "repo" struct "remote" in push_http.c
+      http-push.c: use a faux remote to pass to http_init
+
+Arjen Laarhoven (2):
+      Clean up use of ANSI color sequences
+      builtin-branch.c: Rename branch category color names
+
+Arto Jonsson (1):
+      bash completion: add options for 'git fsck'
+
+Ben Jackson (2):
+      git-svn: Add per-svn-remote ignore-paths config
+      git-svn: Save init/clone --ignore-paths in config
+
+Ben Walton (8):
+      configure: ensure settings from user are also usable in the script
+      configure: reorganize flow of argument checks
+      configure: add macros to stash FLAG variables
+      configure: wrap some library tests with GIT_STASH_FLAGS
+      configure: asciidoc version test cleanup
+      configure: make iconv tests aware of user arguments
+      configure: rework pthread handling to allow for user defined flags
+      documentation: Makefile accounts for SHELL_PATH setting
+
+Benjamin Kramer (4):
+      Remove unused function scope local variables
+      Move local variables to narrower scopes
+      Remove unused assignments
+      Fix various dead stores found by the clang static analyzer
+
+Björn Steinbrink (1):
+      Mailmap: Allow empty email addresses to be mapped
+
+Boris Byk (1):
+      git-svn: speed up blame command
+
+Brandon Casey (1):
+      builtin-send-pack.c: avoid empty structure initialization
+
+Brian Gernhardt (2):
+      Create USE_ST_TIMESPEC and turn it on for Darwin
+      Makefile: Set compiler switch for USE_NSEC
+
+Carlos Manuel Duclos Vergara (1):
+      git-archive: add --output=<file> to send output to a file
+
+Carlos Rica (1):
+      config: test for --replace-all with one argument and fix documentation.
+
+Chris Johnsen (13):
+      git-push.txt: describe how to default to pushing only current branch
+      Documentation: remove extra quoting/emphasis around literal texts
+      Documentation/Makefile: make most operations "quiet"
+      Documentation/Makefile: break up texi pipeline
+      Documentation: move callouts.xsl to manpage-{base,normal}.xsl
+      Documentation: use parametrized manpage-base.xsl with manpage-{1.72,normal}.xsl
+      Documentation: rename docbook-xsl-172 attribute to git-asciidoc-no-roff
+      Documentation: move quieting params into manpage-base.xsl
+      Documentation: move "spurious .sp" code into manpage-base.xsl
+      Documentation: asciidoc.conf: always use <literallayout> for [blocktext]
+      Documentation: asciidoc.conf: fix verse block with block titles
+      Documentation: option to render literal text as bold for manpages
+      Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set
+
+Christian Couder (24):
+      rev-list: estimate number of bisection step left
+      log-tree: fix patch filename computation in "git format-patch"
+      quote: implement "sq_dequote_many" to unwrap many args in one string
+      quote: add "sq_dequote_to_argv" to put unwrapped args in an argv array
+      refs: add "for_each_ref_in" function to refactor "for_each_*_ref" functions
+      rev-list: make "bisect_list" variable local to "cmd_rev_list"
+      rev-list: move bisect related code into its own file
+      rev-list: move code to show bisect vars into its own function
+      rev-list: make "show_bisect_vars" non static
+      rev-list: pass "revs" to "show_bisect_vars"
+      sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1
+      patch-ids: use the new generic "sha1_pos" function to lookup sha1
+      bisect: improve error message when branch checkout fails
+      rev-list: call new "filter_skip" function
+      bisect: use the new generic "sha1_pos" function to lookup sha1
+      bisect--helper: implement "git bisect--helper"
+      bisect: implement "read_bisect_paths" to read paths in "$GIT_DIR/BISECT_NAMES"
+      bisect: use "bisect--helper" and remove "filter_skipped" function
+      t6030: test bisecting with paths
+      rev-list: pass "int flags" as last argument of "show_bisect_vars"
+      bisect--helper: string output variables together with "&&"
+      list-objects: add "void *data" parameter to show functions
+      rev-list: remove last static vars used in "show_commit"
+      rev-list: add "int bisect_show_flags" in "struct rev_list_info"
+
+Dan McGee (1):
+      Update delta compression message to be less misleading
+
+Daniel Barkalow (8):
+      Make clone parse the default refspec with the normal code
+      Use a single function to match names against patterns
+      Use the matching function to generate the match results
+      Keep '*' in pattern refspecs
+      Support '*' in the middle of a refspec
+      Use a common function to get the pretty name of refs
+      Move push matching and reporting logic into transport.c
+      Include log_config module in apache.conf
+
+David Aguilar (1):
+      contrib/difftool: use a separate config namespace for difftool commands
+
+Deskin Miller (1):
+      add -i: revisit hunk on editor failure
+
+Elijah Newren (3):
+      git-filter-branch: avoid collisions with variables in eval'ed commands
+      Correct missing SP characters in grammar comment at top of fast-import.c
+      fast-export: Avoid dropping files from commits
+
+Emil Sit (1):
+      config.txt: Describe special 'none' handling in core.gitProxy.
+
+Eric Wong (1):
+      git-svn: fix ls-tree usage with dash-prefixed paths
+
+Erik Faye-Lund (5):
+      connect.c: remove a few globals by using git_config callback data
+      test-suite: adding a test for fast-export with tag variants
+      builtin-fast-export.c: turn error into warning
+      builtin-fast-export.c: fix crash on tagged trees
+      builtin-fast-export.c: handle nested tags
+
+Eugene Letuchy (1):
+      Make git blame's date output format configurable, like git log
+
+Felipe Contreras (14):
+      config: Add new option to open an editor.
+      git config: codestyle cleanups
+      git_config(): not having a per-repo config file is not an error
+      git config: trivial rename in preparation for parseopt
+      git config: reorganize get_color*
+      git config: reorganize to use parseopt
+      git config: don't allow multiple config file locations
+      git config: don't allow multiple variable types
+      git config: don't allow extra arguments for -e or -l.
+      git config: don't allow --get-color* and variable type
+      Add tests for git log --pretty, --format and --oneline.
+      user-manual: remove some git-foo usage
+      docbook: change css style
+      user-manual: the name of the hash function is SHA-1, not sha1
+
+Finn Arne Gangstad (7):
+      New config push.default to decide default behavior for push
+      Display warning for default git push with no push.default config
+      builtin-remote.c: Split out prune_remote as a separate function.
+      git remote update: New option --prune
+      git remote update: Report error for non-existing groups
+      remote: New function remote_is_configured()
+      git remote update: Fallback to remote if group does not exist
+
+Giuseppe Bilotta (1):
+      import-tars: separate author from committer
+
+Heiko Voigt (3):
+      Add warning about known issues to documentation of cvsimport
+      Cleanup warning about known issues in cvsimport documentation
+      Add configuration variable for sign-off to format-patch
+
+Janos Laube (1):
+      MinGW: implement mmap
+
+Jason Merrill (1):
+      git-svn: add fetch --parent option
+
+Jay Soffian (30):
+      builtin-branch: improve output when displaying remote branches
+      move duplicated get_local_heads() to remote.c
+      move duplicated ref_newer() to remote.c
+      move locate_head() to remote.c
+      remote: simplify guess_remote_head()
+      remote: make copy_ref() perform a deep copy
+      remote: let guess_remote_head() optionally return all matches
+      remote: make match_refs() copy src ref before assigning to peer_ref
+      remote: make match_refs() not short-circuit
+      string-list: new for_each_string_list() function
+      builtin-remote: refactor duplicated cleanup code
+      builtin-remote: remove unused code in get_ref_states
+      builtin-remote: rename variables and eliminate redundant function call
+      builtin-remote: make get_remote_ref_states() always populate states.tracked
+      builtin-remote: fix two inconsistencies in the output of "show <remote>"
+      builtin-remote: teach show to display remote HEAD
+      builtin-remote: add set-head subcommand
+      builtin-remote: new show output style
+      builtin-remote: new show output style for push refspecs
+      send-email: add --confirm option and configuration setting
+      bash completion: fix completion issues with fetch, pull, and push
+      bash completion: refactor --strategy completion
+      bash completion: teach fetch, pull, and push to complete their options
+      send-email: refactor and ensure prompting doesn't loop forever
+      send-email: add tests for refactored prompting
+      send-email: don't attempt to prompt if tty is closed
+      send-email: ask_default should apply to all emails, not just the first
+      send-email: correct two tests which were going interactive
+      send-email: ensure quoted addresses are rfc2047 encoded
+      send-email: fix nasty bug in ask() function
+
+Jeff King (26):
+      valgrind: ignore ldso and more libz errors
+      branch: clean up repeated strlen
+      add basic branch display tests
+      test scripts: refactor start_httpd helper
+      add basic http clone/fetch tests
+      refactor find_ref_by_name() to accept const list
+      remote: make guess_remote_head() use exact HEAD lookup if it is available
+      clone: run post-checkout hook when checking out
+      improve missing repository error message
+      config: set help text for --bool-or-int
+      t3000: use test_cmp instead of diff
+      ls-files: fix broken --no-empty-directory
+      ls-files: require worktree when --deleted is given
+      make oneline reflog dates more consistent with multiline format
+      remote: improve sorting of "configure for git push" list
+      Makefile: turn on USE_ST_TIMESPEC for FreeBSD
+      t0060: fix whitespace in "wc -c" invocation
+      tests: remove exit after test_done call
+      for-each-ref: refactor get_short_ref function
+      for-each-ref: refactor refname handling
+      for-each-ref: add "upstream" format field
+      make get_short_ref a public function
+      branch: show upstream branch when double verbose
+      Makefile: allow building without perl
+      tests: skip perl tests if NO_PERL is defined
+      add tests for remote groups
+
+Jens Lehmann (1):
+      githooks documentation: post-checkout hook is also called after clone
+
+Jeremy White (2):
+      Enable setting attach as the default in .gitconfig for git-format-patch.
+      imap.preformattedHTML to tell Thunderbird to send non-flowed text
+
+Johannes Schindelin (23):
+      Add valgrind support in test scripts
+      Valgrind support: check for more than just programming errors
+      test-lib.sh: optionally output to test-results/$TEST.out, too
+      t/Makefile: provide a 'valgrind' target
+      Add a script to coalesce the valgrind outputs
+      Tests: let --valgrind imply --verbose and --tee
+      test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH
+      valgrind: do not require valgrind 3.4.0 or newer
+      Avoid segfault with 'git branch' when the HEAD is detached
+      Turn the flags in struct dir_struct into a single variable
+      git config: trivial cleanup for editor action
+      rebase -i: avoid 'git reset' when possible
+      MinGW: 64-bit file offsets
+      Brown paper bag fix for MinGW 64-bit stat
+      Add an (optional, since expensive) test for >2gb clones
+      MinGW: fix diff --no-index /dev/null ...
+      winansi: support ESC [ K (erase in line)
+      test: do not LoadModule log_config_module unconditionally
+      test-lib: write test results to test-results/<basename>-<pid>
+      gc --aggressive: make it really aggressive
+      t7300: fix clean up on Windows
+      Guard a few Makefile variables against user environments
+      git-svn: always initialize with core.autocrlf=false
+
+Johannes Sixt (30):
+      recv_sideband: Bands #2 and #3 always go to stderr
+      test-suite: Make test script numbers unique
+      t9400, t9401: Do not force hard-linked clone
+      test suite: Use 'say' to say something instead of 'test_expect_success'
+      Call 'say' outside test_expect_success
+      test-lib: Replace uses of $(expr ...) by POSIX shell features.
+      test-lib: Simplify test counting.
+      test-lib: Introduce test_chmod and use it instead of update-index --chmod
+      t2200, t7004: Avoid glob pattern that also matches files
+      t5300, t5302, t5303: Do not use /dev/zero
+      t5602: Work around path mangling on MSYS
+      test-lib: Work around incompatible sort and find on Windows
+      test-lib: Work around missing sum on Windows
+      Tests on Windows: $(pwd) must return Windows-style paths
+      t0050: Check whether git init detected symbolic link support correctly
+      test-lib: Infrastructure to test and check for prerequisites
+      t3600: Use test prerequisite tags
+      Skip tests that fail if the executable bit is not handled by the filesystem
+      t5302: Use prerequisite tags to skip 64-bit offset tests
+      t9100, t9129: Use prerequisite tags for UTF-8 tests
+      Use prerequisite tags to skip tests that depend on symbolic links
+      t0060: Fix tests on Windows
+      Skip tests that require a filesystem that obeys POSIX permissions
+      t3700: Skip a test with backslashes in pathspec
+      Use prerequisites to skip tests that need unzip
+      t7004: Use prerequisite tags to skip tests that need gpg
+      t5503: GIT_DEBUG_SEND_PACK is not supported on MinGW
+      MinGW: Quote arguments for subprocesses that contain a single-quote
+      t7005-editor: Use $SHELL_PATH in the editor scripts
+      t7502-commit: Skip SIGTERM test on Windows
+
+John Tapsell (4):
+      Modify description file to say what this file is
+      Google has renamed the imap folder
+      Improve error message for git-filter-branch
+      Documentation - More examples for git bisect
+
+Junio C Hamano (29):
+      git-blame: refactor code to emit "porcelain format" output
+      blame: show "previous" information in --porcelain/--incremental format
+      Make git-clone respect branch.autosetuprebase
+      Draft release notes: Carry forward the warning for behaviour changes
+      Update draft release notes to 1.6.3
+      builtin-remote.c: no "commented out" code, please
+      Not all systems use st_[cm]tim field for ns resolution file timestamp
+      grep: cast printf %.*s "precision" argument explicitly to int
+      http.c: style cleanups
+      Improve "git branch --tracking" output
+      http_init(): Fix config file parsing
+      http authentication via prompts
+      Update release notes to 1.6.3
+      http.c: CURLOPT_NETRC_OPTIONAL is not available in ancient versions of cURL
+      Read attributes from the index that is being checked out
+      Update draft release notes to 1.6.3
+      http tests: Darwin is not that special
+      Rename interpret/substitute nth_last_branch functions
+      strbuf_branchname(): a wrapper for branch name shorthands
+      check-ref-format --branch: give Porcelain a way to grok branch shorthand
+      Fix branch -m @{-1} newname
+      strbuf_check_branch_ref(): a helper to check a refname for a branch
+      check_ref_format(): tighten refname rules
+      Update draft release notes to 1.6.3
+      Speed up reflog pruning of unreachable commits
+      Update draft release notes to 1.6.3
+      sha1-lookup: fix up the assertion message
+      Update draft release notes to 1.6.3
+      GIT 1.6.3-rc0
+
+Keith Cascio (2):
+      Use DIFF_XDL_SET/DIFF_OPT_SET instead of raw bit-masking
+      Fix neglect of diff_setup()/diff_setup_done() symmetry.
+
+Kevin Ballard (1):
+      builtin-push.c: Fix typo: "anythig" -> "anything"
+
+Kevin McConnell (1):
+      Add --staged to bash completion for git diff
+
+Kjetil Barvik (18):
+      lstat_cache(): small cleanup and optimisation
+      lstat_cache(): generalise longest_match_lstat_cache()
+      lstat_cache(): swap func(length, string) into func(string, length)
+      unlink_entry(): introduce schedule_dir_for_removal()
+      create_directories(): remove some memcpy() and strchr() calls
+      write_entry(): cleanup of some duplicated code
+      write_entry(): use fstat() instead of lstat() when file is open
+      show_patch_diff(): remove a call to fstat()
+      lstat_cache(): print a warning if doing ping-pong between cache types
+      check_updates(): effective removal of cache entries marked CE_REMOVE
+      fix compile error when USE_NSEC is defined
+      make USE_NSEC work as expected
+      verify_uptodate(): add ce_uptodate(ce) test
+      write_index(): update index_state->timestamp after flushing to disk
+      stat_tracking_info(): only count real commits
+      Record ns-timestamps if possible, but do not use it without USE_NSEC
+      checkout bugfix: use stat.mtime instead of stat.ctime in two places
+      Revert "lstat_cache(): print a warning if doing ping-pong between cache types"
+
+Kristian Amlie (1):
+      Add a test for checking whether gitattributes is honored by checkout.
+
+Linus Torvalds (2):
+      Clean up reflog unreachability pruning decision
+      Allow users to un-configure rename detection
+
+Marius Storm-Olsen (2):
+      Add bare repository indicator for __git_ps1
+      Fixup: Add bare repository indicator for __git_ps1
+
+Markus Heidelberg (1):
+      add --html-path to get the location of installed HTML docs
+
+Martin Storsjö (1):
+      Allow curl to rewind the read buffers
+
+Matthieu Moy (2):
+      git-send-email.txt: clarify which options take an argument.
+      git-rev-list.txt: make ascii markup uniform with other pages.
+
+Michael Hendricks (1):
+      format-patch: add arbitrary email headers
+
+Michael J Gruber (6):
+      Typo and language fixes for git-checkout.txt
+      test-lib.sh: Test for presence of git-init in the right path.
+      test-lib.sh: Allow running the test suite against installed git
+      git-branch.txt: document -f correctly
+      Test for local branches being followed with --track
+      Make local branches behave like remote branches when --tracked
+
+Michael Lai (1):
+      git-svn: support intermediate paths when matching tags/branches
+
+Michele Ballabio (6):
+      apply: consistent spelling of "don't"
+      apply: hide unused options from short help
+      git log: avoid segfault with --all-match
+      document --force-rebase
+      rebase: add options passed to git-am
+      rebase: fix typo (force_rebas -> force-rebas)
+
+Mike Hommey (1):
+      Replace ",<,>,& with their respective XML entities in DAV requests
+
+Miklos Vajna (11):
+      parse-opt: migrate builtin-ls-files.
+      Tests: use test_cmp instead of diff where possible
+      http-push: using error() and warning() as appropriate
+      builtin-apply: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-checkout: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-fetch-pack: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-init-db: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-rm: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-show-branch: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-show-ref: use warning() instead of fprintf(stderr, "warning: ")
+      refs: use warning() instead of fprintf(stderr, "warning: ")
+
+Nanako Shiraishi (4):
+      Add --format that is a synonym to --pretty
+      Give short-hands to --pretty=tformat:%formatstring
+      Add --oneline that is a synonym to "--pretty=oneline --abbrev-commit"
+      Documentation/git.txt: GIT 1.6.2.2 has been out for a while
+
+Nate Case (1):
+      format-patch: Respect --quiet option
+
+Nguyễn Thái Ngọc Duy (1):
+      grep: prefer builtin over external one when coloring results
+
+Pete Wyckoff (1):
+      git-p4: remove tabs from usermap file
+
+Petr Kodl (2):
+      MinGW: a helper function that translates Win32 API error codes
+      MinGW: a hardlink implementation
+
+Ramsay Allan Jones (1):
+      git-instaweb: fix lighttpd configuration on cygwin
+
+René Scharfe (12):
+      grep: micro-optimize hit collection for AND nodes
+      grep: remove grep_opt argument from match_expr_eval()
+      grep: add pmatch and eflags arguments to match_one_pattern()
+      grep: color patterns in output
+      grep: add support for coloring with external greps
+      parseopt: add PARSE_OPT_KEEP_UNKNOWN
+      parseopt: add PARSE_OPT_NO_INTERNAL_HELP
+      parseopt: make usage optional
+      archive: use parseopt for local-only options
+      parseopt: document KEEP_ARGV0, KEEP_UNKNOWN, NO_INTERNAL_HELP
+      parseopt: prevent KEEP_UNKNOWN and STOP_AT_NON_OPTION from being used together
+      pickaxe: count regex matches only once
+
+SZEDER Gábor (1):
+      rerere: remove duplicated functions
+
+Santi Béjar (4):
+      Documentation: enhance branch.<name>.{remote,merge}
+      Documentation: push.default applies to all remotes
+      Documentation: branch.*.merge can also affect 'git-push'
+      Documentation: Introduce "upstream branch"
+
+Shawn O. Pearce (1):
+      Don't permit ref/branch names to end with ".lock"
+
+Simon Arlott (2):
+      git-svn: don't output git commits in quiet mode
+      git-svn: add a double quiet option to hide git commits
+
+Stephen Boyd (11):
+      git-send-email.txt: describe --compose better
+      pretty.c: add %f format specifier to format_commit_message()
+      format-patch: construct patch filename in one function
+      format-patch: pass a commit to reopen_stdout()
+      format-patch: move get_patch_filename() into log-tree
+      format-patch: --attach/inline uses filename instead of SHA1
+      format-patch: --numbered-files and --stdout aren't mutually exclusive
+      completion: add --annotate option to send-email
+      completion: add --cc and --no-attachment option to format-patch
+      completion: add --thread=deep/shallow to format-patch
+      format_sanitized_subject: Don't trim past initial length of strbuf
+
+Sverre Rabbelier (1):
+      Teach rebase to rebase even if upstream is up to date
+
+Tay Ray Chuan (1):
+      http.c: use strbuf API in quote_ref_url
+
+Ted Pavlic (4):
+      completion: For consistency, change "git rev-parse" to __gitdir calls
+      completion: Use consistent if [...] convention, not "test"
+      completion: Better __git_ps1 support when not in working directory
+      completion: More fixes to prevent unbound variable errors
+
+Teemu Likonen (1):
+      bash completion: add --format= and --oneline options for "git log"
+
+Thomas Rast (13):
+      format-patch: threading test reactivation
+      Support coverage testing with GCC/gcov
+      Test that diff can read from stdin
+      Test diff --dirstat functionality
+      Test log --graph
+      Test fsck a bit harder
+      Test log --decorate
+      Test rev-list --parents/--children
+      Test git-patch-id
+      format-patch: track several references
+      format-patch: thread as reply to cover letter even with in-reply-to
+      format-patch: support deep threading
+      Documentation: filter-branch: show --ignore-unmatch in main index-filter example
+
+Todd Zullinger (1):
+      bash completion: Update 'git am' options
+
+Tor Arne Vestbø (2):
+      git-rebase: Add --stat and --no-stat for producing diffstat on rebase
+      git-pull: Allow --stat and --no-stat to be used with --rebase
+
+Wesley J. Landaker (1):
+      Documentation: git-svn: fix trunk/fetch svn-remote key typo
+
+Wincent Colaiuta (2):
+      Grammar fixes to "merge" and "patch-id" docs
+      Grammar fix for "git merge" man page
+
+
+Version v1.6.2.5; changes since v1.6.2.4:
+-----------------------------------------
+
+Allan Caffee (2):
+      builtin-merge: fix a typo in an error message
+      Documentation: fix a grammatical error in api-builtin.txt
+
+Frank Lichtenheld (1):
+      gitcvs-migration: Link to git-cvsimport documentation
+
+Johannes Schindelin (1):
+      Fix off-by-one in read_tree_recursive
+
+Junio C Hamano (7):
+      read-tree A B: do not corrupt cache-tree
+      Move prime_cache_tree() to cache-tree.c
+      read-tree -m A B: prime cache-tree from the switched-to tree
+      checkout branch: prime cache-tree fully
+      diff -c -p: do not die on submodules
+      GIT 1.6.1.4
+      GIT 1.6.2.5
+
+Linus Torvalds (3):
+      process_{tree,blob}: show objects without buffering
+      show_object(): push path_name() call further down
+      grep: fix segfault when "git grep '('" is given
+
+Michał Kiedrowicz (3):
+      tests: test applying criss-cross rename patch
+      builtin-apply: keep information about files to be deleted
+      tests: make test-apply-criss-cross-rename more robust
+
+Nicolas Pitre (1):
+      honor repack.usedeltabaseoffset when fetching packs
+
+Stephen Boyd (1):
+      test-genrandom: Add newline to usage string
+
+Wincent Colaiuta (1):
+      git add -p: add missing "q" to patch prompt
+
+
+Version v1.6.2.4; changes since v1.6.2.3:
+-----------------------------------------
+
+Björn Steinbrink (1):
+      tree_entry_interesting: a pathspec only matches at directory boundary
+
+Clemens Buchacher (3):
+      add tests for merging with submodules
+      update cache for conflicting submodule entries
+      simplify output of conflicting merge
+
+Erik Faye-Lund (4):
+      test-suite: adding a test for fast-export with tag variants
+      builtin-fast-export.c: turn error into warning
+      builtin-fast-export.c: fix crash on tagged trees
+      builtin-fast-export.c: handle nested tags
+
+Frank Lichtenheld (1):
+      init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
+
+Jeff King (2):
+      doc/gitattributes: clarify location of config text
+      add-interactive: refactor mode hunk handling
+
+Johan Herland (1):
+      Update docs on behaviour of 'core.sharedRepository' and 'git init --shared'
+
+Johannes Schindelin (1):
+      Fix 'git checkout <submodule>' to update the index
+
+Johannes Sixt (1):
+      t1301-shared-repo: fix forced modes test
+
+Junio C Hamano (4):
+      match_tree_entry(): a pathspec only matches at directory boundaries
+      Describe fixes since 1.6.2.3
+      Speed up reflog pruning of unreachable commits
+      GIT 1.6.2.4
+
+Linus Torvalds (1):
+      Clean up reflog unreachability pruning decision
+
+Markus Heidelberg (2):
+      doc/git-daemon: add missing arguments to options
+      doc/git-daemon: add missing arguments to max-connections option
+
+Matthieu Moy (2):
+      git add -p: new "quit" command at the prompt.
+      Update git-add.txt according to the new possibilities of 'git add -p'.
+
+Nguyễn Thái Ngọc Duy (1):
+      Makefile: remove {fetch,send}-pack from PROGRAMS as they are builtins
+
+Paul Bolle (1):
+      imap-send: use correct configuration variable in documentation
+
+Thomas Jarosch (1):
+      Fix buffer overflow in config parser
+
+Ulrich Windl (1):
+      git-apply: fix option description
+
+
+Version v1.6.2.3; changes since v1.6.2.2:
+-----------------------------------------
+
+Björn Steinbrink (1):
+      process_{tree,blob}: Remove useless xstrdup calls
+
+Brandon Casey (6):
+      t7700-repack: add two new tests demonstrating repacking flaws
+      git-repack.sh: don't use --kept-pack-only option to pack-objects
+      pack-objects: only repack or loosen objects residing in "local" packs
+      Remove --kept-pack-only option and associated infrastructure
+      t7700: demonstrate repack flaw which may loosen objects unnecessarily
+      pack-objects: don't loosen objects available in alternate or kept packs
+
+Dan McGee (1):
+      git-repack: use non-dashed update-server-info
+
+Daniel Cheng (aka SDiZ) (1):
+      State the effect of filter-branch on graft explicitly
+
+Jari Aalto (1):
+      Change double quotes to single quotes in message
+
+Jason Merrill (1):
+      Documentation: clarify .gitattributes search
+
+Jeff King (2):
+      t1301: loosen test for forced modes
+      commit: abort commit if interactive add failed
+
+Johan Herland (1):
+      Move chmod(foo, 0444) into move_temp_to_file()
+
+Julien Danjou (1):
+      git submodule: fix usage line
+
+Junio C Hamano (12):
+      git-repack: resist stray environment variable
+      has_sha1_pack(): refactor "pretend these packs do not exist" interface
+      has_sha1_kept_pack(): take "struct rev_info"
+      Consolidate ignore_packed logic more
+      Simplify is_kept_pack()
+      is_kept_pack(): final clean-up
+      diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
+      "core.sharedrepository = 0mode" should set, not loosen
+      move_temp_to_file(): do not forget to chmod() in "Coda hack" codepath
+      set_shared_perm(): sometimes we know what the final mode bits should look like
+      Start 1.6.2.3 preparation
+      GIT 1.6.2.3
+
+Linus Torvalds (1):
+      process_{tree,blob}: Remove useless xstrdup calls
+
+Markus Heidelberg (1):
+      doc/git-pack-refs: fix two grammar issues
+
+Matthieu Moy (3):
+      git-checkout.txt: fix incorrect statement about HEAD and index
+      git-checkout.txt: clarify that <branch> applies when no path is given.
+      git-pull.sh: better warning message for "git pull" on detached head.
+
+
+Version v1.6.2.2; changes since v1.6.2.1:
+-----------------------------------------
+
+Allan Caffee (1):
+      Documentation: update graph api example.
+
+Brandon Casey (1):
+      git-branch: display "was sha1" on branch deletion rather than just "sha1"
+
+Carlo Marcelo Arenas Belon (1):
+      documentation: update cvsimport description of "-r" for recent clone
+
+Daniel Barkalow (1):
+      Give error when no remote is configured
+
+Daniel Cheng (aka SDiZ) (1):
+      Fix bash completion in path with spaces
+
+David Aguilar (1):
+      everyday: use the dashless form of git-init
+
+David J. Mellor (12):
+      Documentation: minor grammatical fixes in git-archive.txt.
+      Documentation: reword the "Description" section of git-bisect.txt.
+      Documentation: minor grammatical fixes in git-blame.txt.
+      Documentation: minor grammatical fixes in git-branch.txt.
+      Documentation: reworded the "Description" section of git-bisect.txt.
+      Documentation: reword example text in git-bisect.txt.
+      Documentation: remove some uses of the passive voice in git-bisect.txt
+      Documentation: minor grammatical fixes and rewording in git-bundle.txt
+      Documentation: minor grammatical fixes in git-cat-file.txt
+      Documentation: minor grammatical fixes in git-check-attr.txt
+      Documentation: minor grammatical fix in git-check-ref-format.txt
+      Documentation: Remove spurious uses of "you" in git-bisect.txt.
+
+Emil Sit (1):
+      test-lib: Clean up comments and Makefile.
+
+Eric Wong (1):
+      git-svn: fix ls-tree usage with dash-prefixed paths
+
+Holger Weiß (1):
+      Documentation: Remove an odd "instead"
+
+Jeff King (3):
+      doc: clarify how -S works
+      ls-files: require worktree when --deleted is given
+      fix portability problem with IS_RUN_COMMAND_ERR
+
+Johannes Schindelin (4):
+      rsync transport: allow local paths, and fix tests
+      Smudge the files fed to external diff and textconv
+      import-zips: fix thinko
+      mailmap: resurrect lower-casing of email addresses
+
+Johannes Sixt (2):
+      Propagate --exec-path setting to external commands via GIT_EXEC_PATH
+      diff --no-index: Do not generate patch output if other output is requested
+
+Junio C Hamano (6):
+      read-tree A B C: do not create a bogus index and do not segfault
+      Remove total confusion from git-fetch and git-push
+      blame: read custom grafts given by -S before calling setup_revisions()
+      Update draft release notes to 1.6.2.2
+      Update draft release notes to 1.6.2.2
+      GIT 1.6.2.2
+
+Linus Torvalds (1):
+      close_sha1_file(): make it easier to diagnose errors
+
+Michael J Gruber (2):
+      git submodule: Add test cases for git submodule add
+      git submodule: Fix adding of submodules at paths with ./, .. and //
+
+Nico -telmich- Schottelius (1):
+      git-tag(1): add hint about commit messages
+
+Nicolas Pitre (1):
+      avoid possible overflow in delta size filtering computation
+
+René Scharfe (3):
+      diffcore-pickaxe: use memmem()
+      optimize compat/ memmem()
+      pickaxe: count regex matches only once
+
+Shawn O. Pearce (1):
+      Increase the size of the die/warning buffer to avoid truncation
+
+Stephen Boyd (1):
+      format-patch: --numbered-files and --stdout aren't mutually exclusive
+
+Thomas Rast (4):
+      send-email: respect in-reply-to regardless of threading
+      send-email: test --no-thread --in-reply-to combination
+      Documentation: format-patch --root clarifications
+      bash completion: only show 'log --merge' if merging
+
+
+Version v1.6.2.1; changes since v1.6.2:
+---------------------------------------
+
+Chris Johnsen (1):
+      builtin-revert.c: release index lock when cherry-picking an empty commit
+
+Christian Couder (1):
+      Documentation: fix badly indented paragraphs in "--bisect-all" description
+
+Elijah Newren (1):
+      Ensure proper setup of git_dir for git-hash-object
+
+Finn Arne Gangstad (1):
+      Support "\" in non-wildcard exclusion entries
+
+Jay Soffian (4):
+      send-email: allow send-email to run outside a repo
+      send-email: handle multiple Cc addresses when reading mbox message
+      send-email: --suppress-cc improvements
+      send-email: don't create temporary compose file until it is needed
+
+Jeff King (3):
+      never fallback relative times to absolute
+      t1300: use test_must_fail as appropriate
+      document config --bool-or-int
+
+John Tapsell (1):
+      Make the 'lock file' exists error more informative
+
+Junio C Hamano (4):
+      git-add -i/-p: learn to unwrap C-quoted paths
+      Beginning of 1.6.2 maintenance track
+      Update draft release notes for 1.6.2.1
+      GIT 1.6.2.1
+
+René Scharfe (1):
+      cleanup: add isascii()
+
+
+Version v1.6.2; changes since v1.6.2-rc2:
+-----------------------------------------
+
+Ben Walton (1):
+      git-svn - return original format_svn_date semantics
+
+Christian Couder (2):
+      bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped
+      bisect: fix another instance of eval'ed string
+
+Danijel Tasov (1):
+      added missing backtick in git-apply.txt
+
+David J. Mellor (4):
+      Documentation: minor grammatical fixes.
+      Documentation: minor grammatical fixes.
+      Documentation: minor grammatical fixes.
+      Documentation: minor grammatical fixes.
+
+Eric Wong (1):
+      git-svn: disable broken symlink workaround by default
+
+Jay Soffian (1):
+      t5540-http-push.sh: avoid non-portable grep -P
+
+Johannes Sixt (1):
+      t3400-rebase: Move detached HEAD check earlier
+
+Junio C Hamano (2):
+      git-am: make --abort less dangerous
+      GIT 1.6.2
+
+Michael J Gruber (1):
+      git-am: Keep index in case of abort with dirty index
+
+Mike Ralphson (4):
+      Fix odb_mkstemp() on AIX
+      Documentation: Typos / spelling fixes in RelNotes
+      Documentation: Expand a couple of abbreviations
+      Documentation: Typo / spelling / formatting fixes
+
+Paul Mackerras (1):
+      gitk: Fix possible infinite loop and display corruption
+
+Roy Lee (1):
+      Documentation/git-archive.txt: Note attributes
+
+Todd Zullinger (1):
+      git-rebase: Update --whitespace documentation
+
+
+Version v1.6.2-rc2; changes since v1.6.2-rc1:
+---------------------------------------------
+
+Abhijit Menon-Sen (1):
+      Convert git-* invocations to "git *" in the svnimport example.
+
+Alexandre Julliard (3):
+      git.el: Make sure that file lists are sorted as they are created.
+      git.el: Improve the confirmation message on remove and revert.
+      Add a README in the contrib/emacs directory.
+
+Allan Caffee (1):
+      trace: Fixed a minor typo in an error message.
+
+Ben Walton (1):
+      git-svn fix to avoid using strftime %z
+
+Brian Gernhardt (1):
+      git-svn: Create leading directories in create-ignore
+
+Christian Couder (1):
+      README: fix path to "gitcvs-migration.txt" and be more consistent
+
+Eric Wong (1):
+      git-svn: fix delete+add branch tracking with empty files
+
+Felipe Contreras (2):
+      git add: trivial codestyle cleanup
+      sha1_file.c: fix typo
+
+Gerrit Pape (3):
+      Documentation/git-push: --all, --mirror, --tags can not be combined
+      Install builtins with the user and group of the installing personality
+      git-quiltimport: preserve standard input to be able to read user input
+
+Giuseppe Bilotta (1):
+      gitweb: fix wrong base URL when non-root DirectoryIndex
+
+Jay Soffian (2):
+      disallow providing multiple upstream branches to rebase, pull --rebase
+      Allow HTTP tests to run on Darwin
+
+Johannes Schindelin (2):
+      Introduce the function strip_path_suffix()
+      system_path(): simplify using strip_path_suffix(), and add suffix "git"
+
+Johannes Sixt (1):
+      gitattributes.txt: Path matching rules are explained in gitignore.txt
+
+Junio C Hamano (4):
+      git-svn: fix parsing of timestamp obtained from svn
+      tests: fix "export var=val"
+      Make sure objects/pack exists before creating a new pack
+      GIT 1.6.2-rc2
+
+Lars Noschinski (1):
+      filter-branch -d: Export GIT_DIR earlier
+
+Linus Torvalds (1):
+      Support 'raw' date format
+
+Marc Branchaud (1):
+      Docs: Expand explanation of the use of + in git push refspecs.
+
+Marcel M. Cary (2):
+      gitweb: Fix warnings with override permitted but no repo override
+      gitweb: Hyperlink multiple git hashes on the same commit message line
+
+Matthieu Moy (2):
+      Document git blame --reverse.
+      More friendly message when locking the index fails.
+
+Michael J Gruber (1):
+      Fix typo in contrib/examples/git-svnimport.txt
+
+Michael Spang (1):
+      Skip timestamp differences for diff --no-index
+
+Pete Wyckoff (1):
+      git-p4: avoid syncing duplicate changes
+
+Peter Oberndorfer (1):
+      git-svn: read the dcommit url from the config file on a per remote basis
+
+SZEDER Gábor (2):
+      bash: add missing 'git merge' options
+      bash: update 'git svn' options
+
+Thomas Rast (2):
+      bash completion: refactor common log, shortlog and gitk options
+      bash completion: only show 'log --merge' if merging
+
+Todd Zullinger (1):
+      Documentation: Note file formats send-email accepts
+
+
+Version v1.6.2-rc1; changes since v1.6.2-rc0:
+---------------------------------------------
+
+Alexandre Julliard (1):
+      Describe notable git.el changes in the release notes
+
+Anton Gyllenberg (1):
+      test case for regression caused by git-svn empty symlink fix
+
+Christian Couder (1):
+      rev-list: fix showing distance when using --bisect-all
+
+Deskin Miller (1):
+      git-svn: Print revision while searching for earliest use of path
+
+Dévai Tamás (1):
+      git-svn: Fix for rewriteRoot URL containing username.
+
+Elijah Newren (1):
+      fast-export: ensure we traverse commits in topological order
+
+Eric Kidd (1):
+      filter-branch: Add more error-handling
+
+Eric Wong (2):
+      git-svn: allow disabling expensive broken symlink checks
+      git-svn: fix broken symlink workaround when switching branches
+
+Fabian Franz (1):
+      submodule: add --no-fetch parameter to update command
+
+Jacob Helwig (1):
+      Add 'rm -f' equivalent to 'git rm' example of filter-branch --index-filter
+
+Jakub Narebski (1):
+      gitweb: Better regexp for SHA-1 committag match
+
+Jeff King (1):
+      symbolic-ref: allow refs/<whatever> in HEAD
+
+Jeremy White (1):
+      Update documentation to add further information about using Thunderbird with git-imap-send.
+
+Johannes Schindelin (4):
+      Let ls-files strip trailing slashes in submodules' paths
+      submodule: warn about non-submodules
+      Add two extra tests for git rebase
+      gc: make --prune useful again by accepting an optional parameter
+
+Johannes Sixt (4):
+      Make test-path-utils more robust against incorrect use
+      Move sanitary_path_copy() to path.c and rename it to normalize_path_copy()
+      Test and fix normalize_path_copy()
+      Remove unused normalize_absolute_path()
+
+Junio C Hamano (16):
+      Revert "Merge branch 'js/notes'"
+      Modernize t5400 test script
+      remote prune: warn dangling symrefs
+      Warn use of "origin" when remotes/origin/HEAD is dangling
+      Drop double-semicolon in C
+      receive-pack: receive.denyDeleteCurrent
+      builtin-receive-pack.c: do not initialize statics to 0
+      revision traversal and pack: notice and die on missing commit
+      Squelch overzealous "ignoring dangling symref" in an empty repository
+      Make repack less likely to corrupt repository
+      Prepare for 1.6.1.4.
+      Revert "validate_headref: tighten ref-matching to just branches"
+      Install the default "master" branch configuration after cloning a void
+      Teach the "@{-1} syntax to "git branch"
+      Teach @{-1} to git merge
+      RelNotes Update
+
+Keith Cascio (1):
+      Remove redundant bit clears from diff_setup()
+
+Lars Hjemli (1):
+      tree.c: allow read_tree_recursive() to traverse gitlink entries
+
+Marcel M. Cary (1):
+      git-sh-setup: Use "cd" option, not /bin/pwd, for symlinked work tree
+
+Marius Storm-Olsen (5):
+      Add mailmap.file as configurational option for mailmap location
+      Add find_insert_index, insert_at_index and clear_func functions to string_list
+      Add map_user() and clear_mailmap() to mailmap
+      Change current mailmap usage to do matching on both name and email of author/committer.
+      Move mailmap documentation into separate file
+
+Mark Burton (1):
+      git-rebase.txt: --interactive does not work with --whitespace
+
+Matt Kraai (1):
+      bash-completion: Complete the values of color.interactive, color.ui, color.pager
+
+Matt McCutchen (1):
+      gitweb: add $prevent_xss option to prevent XSS by repository content
+
+Michael J Gruber (1):
+      Fix the installation path for html documentation
+
+Nazri Ramliy (1):
+      Bugfix: GIT_EXTERNAL_DIFF with more than one changed files
+
+Pat Notz (1):
+      Fix contrib/hooks/post-receive-email for new duplicate branch
+
+René Scharfe (2):
+      Fix GIT_CEILING_DIRECTORIES on Windows
+      builtin-receive-pack.c: fix compiler warnings about format string
+
+SZEDER Gábor (3):
+      Move 'rev-parse --git-dir' test to t1500
+      t1500: more 'git rev-parse --git-dir' tests
+      bash: fix misspelled 'git svn' option
+
+Sam Vilain (1):
+      git-svn: abstract out a block into new method other_gs()
+
+Santi Béjar (1):
+      doc/bundle: Use the more conventional suffix '.bundle'
+
+Shawn O. Pearce (2):
+      Clear the delta base cache during fast-import checkpoint
+      Clear the delta base cache if a pack is rebuilt
+
+Sitaram Chamarty (1):
+      Documentation: clarify commits affected by gitk --merge
+
+Stephan Beyer (3):
+      add -p: get rid of Git.pm warnings about unitialized values
+      Makefile: resort filenames alphabetically
+      Generalize and libify index_is_dirty() to index_differs_from(...)
+
+Tay Ray Chuan (1):
+      use a hash of the lock token as the suffix for PUT/MOVE
+
+Ted Pavlic (2):
+      completion: Fix GIT_PS1_SHOWDIRTYSTATE to prevent unbound variable errors.
+      completion: Get rid of tabbed indentation in comments. Replace with spaces.
+
+Thomas Rast (2):
+      log: do not print ellipses with --abbrev-commit
+      Documentation: pruning recipe for destructive filter-branch
+
+Todd Zullinger (1):
+      git-web--browse: Fix check for /bin/start
+
+
+Version v1.6.2-rc0; changes since v1.6.1.4:
+-------------------------------------------
+
+Adeodato Simó (3):
+      builtin-shortlog.c: use string_list_append(), and don't strdup unnecessarily
+      git.c: make autocorrected aliases work
+      t7501-commit.sh: explicitly check that -F prevents invoking the editor
+
+Alexander Potashev (4):
+      remove trailing LF in die() messages
+      add is_dot_or_dotdot inline function
+      Allow cloning to an existing empty directory
+      Replace deprecated dashed git commands in usage
+
+Alexandre Julliard (8):
+      git.el: Add a checkout command.
+      git.el: Add a command to create a new branch.
+      git.el: Add commands for cherry-pick and revert.
+      git.el: Make git-run-command-region display the error if any.
+      git.el: Set a regexp for paragraph-separate in log-edit mode.
+      git.el: Use integer instead of character constants in case statement.
+      git.el: Add some notes about Emacs versions compatibility.
+      emacs: Remove the no longer maintained vc-git package.
+
+Arjen Laarhoven (1):
+      t/t4202-log.sh: Add testcases
+
+Benjamin Kramer (1):
+      Ignore test-ctype
+
+Boyd Stephen Smith Jr (2):
+      color-words: Support diff.wordregex config option
+      Change the spelling of "wordregex".
+
+Brandon Casey (2):
+      t7700: demonstrate misbehavior of 'repack -a' when local packs exist
+      Makefile: use shell for-loop rather than Make's foreach loop during install
+
+Charles Bailey (7):
+      Fix some tab/space inconsistencies in git-mergetool.sh
+      Add -y/--no-prompt option to mergetool
+      mergetool: Add prompt to continue after failing to merge a file
+      mergetool: Don't keep temporary merge files unless told to
+      mergetool: respect autocrlf by using checkout-index
+      mergetool: Add a test for running mergetool in a sub-directory
+      mergetool: fix running mergetool in sub-directories
+
+Christian Couder (1):
+      sha1_file: make "read_object" static
+
+Clemens Buchacher (2):
+      clean up pathspec matching
+      remove pathspec_match, use match_pathspec instead
+
+David Aguilar (4):
+      contrib: add 'git difftool' for launching common merge tools
+      difftool: fix documentation problems
+      difftool: put the cursor on the editable file for Vim
+      contrib/difftool: Don't repeat merge tool candidates
+
+David M. Syzdek (1):
+      autoconf: Enable threaded delta search when pthreads are supported
+
+Eric Wong (6):
+      git-svn: add --authors-file test
+      git-svn: handle empty files marked as symlinks in SVN
+      git-svn: better attempt to handle broken symlink updates
+      git-svn: fix SVN 1.1.x compatibility
+      git-svn: avoid importing nested git repos
+      git-svn: fix memory leak when checking for empty symlinks
+
+Fabian Emmes (2):
+      cvsserver: add option to configure commit message
+      cvsserver: change generation of CVS author names
+
+Giuseppe Bilotta (16):
+      gitweb: add patch view
+      gitweb: change call pattern for git_commitdiff
+      gitweb: add patches view
+      gitweb: link to patch(es) view in commit(diff) and (short)log view
+      gitweb: use href() when generating URLs in OPML
+      gitweb: don't use pathinfo for global actions
+      gitweb: suggest name for OPML view
+      gitweb: channel image in rss feed
+      gitweb: feed generator metadata
+      gitweb: rss feed managingEditor
+      gitweb: rss channel date
+      gitweb: last-modified time should be commiter, not author
+      gitweb: check if-modified-since for feeds
+      gitweb: make static files accessible with PATH_INFO
+      gitweb: webserver config for PATH_INFO
+      gitweb: align comments to code
+
+Jake Goulding (3):
+      Make opt_parse_with_commit() non-static
+      Make has_commit() non-static
+      git-tag: Add --contains option
+
+Jakub Narebski (4):
+      gitweb: Move 'lineno' id from link to row element in git_blame
+      gitweb: A bit of code cleanup in git_blame()
+      gitweb: cache $parent_commit info in git_blame()
+      gitweb: Update README that gitweb works better with PATH_INFO
+
+Jay Soffian (2):
+      git-am: minor cleanups
+      Makefile: minor improvements for Mac OS X (Darwin)
+
+Jeff King (10):
+      Makefile: clean up TEST_PROGRAMS definition
+      color: make it easier for non-config to parse color specs
+      expand --pretty=format color options
+      diff: refactor tempfile cleanup handling
+      chain kill signals for cleanup functions
+      refactor signal handling for cleanup functions
+      pager: do wait_for_pager on signal death
+      validate_headref: tighten ref-matching to just branches
+      symbolic ref: refuse non-ref targets in HEAD
+      t0005: use SIGTERM for sigchain test
+
+Johannes Gilger (1):
+      mergetool: Don't repeat merge tool candidates
+
+Johannes Schindelin (24):
+      Force t5302 to use a single thread
+      Introduce commit notes
+      Add a script to edit/inspect notes
+      git wrapper: Make while loop more reader-friendly
+      bundle: allow rev-list options to exclude annotated tags
+      show <tag>: reuse pp_user_info() instead of duplicating code
+      Implement the patience diff algorithm
+      Introduce the diff option '--patience'
+      bash completions: Add the --patience option
+      Speed up git notes lookup
+      Add an expensive test for git-notes
+      Add color_fwrite_lines(), a function coloring each line individually
+      color-words: refactor word splitting and use ALLOC_GROW()
+      color-words: change algorithm to allow for 0-character word boundaries
+      color-words: take an optional regular expression describing words
+      Fix parsing of @{-1}@{1}
+      rebase -i --root: fix check for number of arguments
+      t3404 & t3411: undo copy&paste
+      lib-rebase.sh: Document what set_fake_editor() does
+      test-lib.sh: introduce test_commit() and test_merge() helpers
+      Simplify t3410
+      Simplify t3411
+      Simplify t3412
+      Fix 'git diff --no-index' with a non-existing symlink target
+
+Johannes Sixt (2):
+      Windows: Fix signal numbers
+      Windows: Fix intermittent failures of t7701
+
+Jon Loeliger (1):
+      Fix Documentation typos surrounding the word 'handful'.
+
+Jonas Flodén (1):
+      git-am: Make it easier to see which patch failed
+
+Junio C Hamano (26):
+      Document "git-reset --merge"
+      Start 1.6.2 cycle
+      Resurrect "git apply --flags -" to read from the standard input
+      git-am: add --directory=<dir> option
+      Update 1.6.2 draft release notes
+      git-am: fix shell quoting
+      checkout: implement "@{-N}" shortcut name for N-th last branch
+      git-am: re-fix the diag message printing
+      interpret_nth_last_branch(): avoid traversing the reflog twice
+      Fix reflog parsing for a malformed branch switching entry
+      interpret_nth_last_branch(): plug small memleak
+      Introduce for_each_recent_reflog_ent().
+      Simplify parsing branch switching events in reflog
+      http-push.c: style fixes
+      am: Add --committer-date-is-author-date option
+      rebase -i: correctly remember --root flag across --continue
+      tests: Avoid single-shot environment export for shell function invocation
+      Update draft release notes to 1.6.2
+      fsck: HEAD is part of refs
+      fsck: check loose objects from alternate object stores by default
+      http-push.c: get_remote_object_url() is only used under USE_CURL_MULTI
+      receive-pack: explain what to do when push updates the current branch
+      t3412: further simplify setting of GIT_EDITOR
+      tests: fix test_commit() for case insensitive filesystems
+      Makefile: fix misdetection of relative pathnames
+      GIT 1.6.2-rc0
+
+Keith Cascio (1):
+      test more combinations of ignore-whitespace options to diff
+
+Kirill Smelkov (1):
+      mailinfo: cleanup extra spaces for complex 'From:'
+
+Kjetil Barvik (6):
+      Cleanup of unused symcache variable inside diff-lib.c
+      lstat_cache(): more cache effective symlink/directory detection
+      lstat_cache(): introduce has_symlink_or_noent_leading_path() function
+      lstat_cache(): introduce has_dirs_only_path() function
+      lstat_cache(): introduce invalidate_lstat_cache() function
+      lstat_cache(): introduce clear_lstat_cache() function
+
+Lee Marlow (2):
+      bash completion: Add '--intent-to-add' long option for 'git add'
+      bash completion: Use 'git add' completions for 'git stage'
+
+Linus Torvalds (1):
+      Add 'merge' mode to 'git reset'
+
+Marcel Koeppen (1):
+      git-svn: Show UUID in svn info for added directories with svn 1.5.5
+
+Markus Heidelberg (10):
+      git-cherry: make <upstream> parameter optional
+      Documentation: clarify which parameters are optional to git-cherry
+      contrib/vim: change URL to point to the latest syntax files
+      Documentation: let asciidoc align related options
+      mergetool: put the cursor on the editable file for Vim
+      contrib/difftool: change trap condition from SIGINT to INT
+      contrib/difftool: remove distracting 'echo' in the SIGINT handler
+      use uppercase POSIX compliant signals for the 'trap' command
+      bash completion: add 'rename' subcommand to git-remote
+      contrib/difftool: add support for Kompare
+
+Matt Kraai (1):
+      gitweb: unify boolean feature subroutines
+
+Michele Ballabio (1):
+      git-shortlog.txt: fix example about .mailmap
+
+Miklos Vajna (3):
+      Add support for a pdf version of the user manual
+      parse-opt: migrate builtin-apply.
+      gittutorial: remove misleading note
+
+Nanako Shiraishi (3):
+      git-am: Add --ignore-date option
+      Mention "local convention" rule in the CodingGuidelines
+      git-bundle doc: update examples
+
+Nicolas Pitre (2):
+      autodetect number of CPUs by default when using threads
+      pack-objects: don't use too many threads with few objects
+
+Pascal Obry (1):
+      config.mak.in: define paths without trailing slash
+
+Pete Harlan (1):
+      git-svn: Add --localtime option to "fetch"
+
+Pierre Habouzit (1):
+      filter-branch: add git_commit_non_empty_tree and --prune-empty.
+
+Ralf Wildenhues (1):
+      Fix naming scheme for configure cache variables.
+
+Ray Chuan (1):
+      http-push: refactor lock-related headers creation for curl requests
+
+René Scharfe (9):
+      diff: add option to show context between close hunks
+      strbuf: instate cleanup rule in case of non-memory errors
+      grep -w: forward to next possible position after rejected match
+      grep: don't call regexec() for fixed strings
+      Add ctype test
+      Reformat ctype.c
+      Change NUL char handling of isspecial()
+      Add is_regex_special()
+      Optimize color_parse_mem
+
+SZEDER Gábor (4):
+      bash: add '--merge' to 'git reset'
+      bash: remove unnecessary checks for long options with argument
+      bash: add missing format-patch command line options
+      bash: refactor 'git log --pretty=<format>' options
+
+Santi Béjar (2):
+      commit: more compact summary and without extra quotes
+      tutorial-2: Update with the new "git commit" ouput
+
+Serge van den Boom (1):
+      Makefile: Make 'configure --with-expat=path' actually work
+
+Stefan Karpinski (2):
+      git-cvsserver: handle CVS 'noop' command.
+      git-cvsserver: run post-update hook *after* update.
+
+Steffen Prohaska (6):
+      Move computation of absolute paths from Makefile to runtime (in preparation for RUNTIME_PREFIX)
+      git_extract_argv0_path(): Move check for valid argv0 from caller to callee
+      Add calls to git_extract_argv0_path() in programs that call git_config_*
+      Modify setup_path() to only add git_exec_path() to PATH
+      Compute prefix at runtime if RUNTIME_PREFIX is set
+      Windows: Revert to default paths and convert them by RUNTIME_PREFIX
+
+Stephan Beyer (5):
+      checkout: don't crash on file checkout before running post-checkout hook
+      Move run_hook() from builtin-commit.c into run-command.c (libgit)
+      api-run-command.txt: talk about run_hook()
+      run_hook(): check the executability of the hook before filling argv
+      run_hook(): allow more than 9 hook arguments
+
+Steve Haslam (1):
+      Refactor git_set_argv0_path() to git_extract_argv0_path()
+
+Sverre Rabbelier (1):
+      Allow cloning an empty repository
+
+Tay Ray Chuan (3):
+      http-push: refactor request url creation
+      http-push: add back underscore separator before lock token
+      http-push: wrap signature of get_remote_object_url
+
+Ted Pavlic (4):
+      bash-completion: Support running when set -u is enabled
+      bash-completion: Try bash completions before simple filetype
+      bash-completion: Add comments to remind about required arguments
+      make: Remove -pthread on Darwin (it is included by cstdlib).
+
+Teemu Likonen (3):
+      Fix the building of user-manual.texi and gitman.texi documents
+      Fix the building of gitman.info document
+      diff-options.txt: Fix asciidoc markup issue
+
+Thomas Rast (23):
+      rebase -i: execute hook only after argument checking
+      rebase: learn to rebase root commit
+      rebase -i: learn to rebase root commit
+      rebase: update documentation for --root
+      notes: fix core.notesRef documentation
+      color-words: enable REG_NEWLINE to help user
+      color-words: expand docs with precise semantics
+      color-words: make regex configurable via attributes
+      sha1_name: tweak @{-N} lookup
+      sha1_name: support @{-N} syntax in get_sha1()
+      checkout: implement "-" abbreviation, add docs and tests
+      bash completion: move pickaxe options to log
+      bash completion: refactor diff options
+      t1505: remove debugging cruft
+      t3412: clean up GIT_EDITOR usage
+      t3412: use log|name-rev instead of log --graph
+      bash: offer to show (un)staged changes
+      add -p: change prompt separator for 'g'
+      add -p: trap Ctrl-D in 'goto' mode
+      contrib git-resurrect: find traces of a branch name and resurrect it
+      add -p: prompt for single characters
+      add -p: print errors in separate color
+      add -p: import Term::ReadKey with 'require'
+
+Tor Arne Vestbø (1):
+      git-notes: fix printing of multi-line notes
+
+Vitaly "_Vi" Shukela (3):
+      git-svn: add --ignore-paths option for fetching
+      git-svn: documented --ignore-paths
+      git-svn: Add test for --ignore-paths parameter
+
+William Pursell (5):
+      Add subroutine to display one-line summary of hunks
+      Add 'g' command to go to a hunk
+      git-add -i/-p: Change prompt separater from slash to comma
+      Add / command in add --patch
+      In add --patch, Handle K,k,J,j slightly more gracefully.
+
+jidanni@jidanni.org (1):
+      git-show-branch doc: show -g as synonym to --reflog in the list
+
+martin f. krafft (1):
+      git-am: implement --reject option passed to git-apply
+
+
+Version v1.6.1.4; changes since v1.6.1.3:
+-----------------------------------------
+
+Allan Caffee (3):
+      Documentation: update graph api example.
+      builtin-merge: fix a typo in an error message
+      Documentation: fix a grammatical error in api-builtin.txt
+
+Björn Steinbrink (2):
+      tree_entry_interesting: a pathspec only matches at directory boundary
+      process_{tree,blob}: Remove useless xstrdup calls
+
+Brandon Casey (7):
+      t7700-repack: add two new tests demonstrating repacking flaws
+      git-repack.sh: don't use --kept-pack-only option to pack-objects
+      pack-objects: only repack or loosen objects residing in "local" packs
+      Remove --kept-pack-only option and associated infrastructure
+      git-branch: display "was sha1" on branch deletion rather than just "sha1"
+      t7700: demonstrate repack flaw which may loosen objects unnecessarily
+      pack-objects: don't loosen objects available in alternate or kept packs
+
+Chris Johnsen (1):
+      builtin-revert.c: release index lock when cherry-picking an empty commit
+
+Christian Couder (3):
+      rev-list: fix showing distance when using --bisect-all
+      bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped
+      bisect: fix another instance of eval'ed string
+
+Dan McGee (1):
+      git-repack: use non-dashed update-server-info
+
+Daniel Cheng (aka SDiZ) (2):
+      Fix bash completion in path with spaces
+      State the effect of filter-branch on graft explicitly
+
+Danijel Tasov (1):
+      added missing backtick in git-apply.txt
+
+David Aguilar (1):
+      everyday: use the dashless form of git-init
+
+David J. Mellor (1):
+      Documentation: minor grammatical fixes.
+
+Elijah Newren (2):
+      fast-export: ensure we traverse commits in topological order
+      Ensure proper setup of git_dir for git-hash-object
+
+Emil Sit (1):
+      test-lib: Clean up comments and Makefile.
+
+Eric Kidd (1):
+      filter-branch: Fix fatal error on bare repositories
+
+Finn Arne Gangstad (1):
+      Support "\" in non-wildcard exclusion entries
+
+Frank Lichtenheld (1):
+      init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
+
+Geoffrey Thomas (2):
+      utf8: add utf8_strwidth()
+      builtin-blame.c: Use utf8_strwidth for author's names
+
+Gerrit Pape (1):
+      Documentation/git-push: --all, --mirror, --tags can not be combined
+
+Holger Weiß (1):
+      Documentation: Remove an odd "instead"
+
+Jason Merrill (1):
+      Documentation: clarify .gitattributes search
+
+Jay Soffian (2):
+      builtin-remote: make rm() use properly named variable to hold return value
+      builtin-remote: make rm operation safer in mirrored repository
+
+Jeff King (5):
+      git: s/run_command/run_builtin/
+      run_command(): handle missing command errors more gracefully
+      run_command(): help callers distinguish errors
+      git: use run_command() to execute dashed externals
+      commit: abort commit if interactive add failed
+
+Johannes Schindelin (3):
+      Fix submodule squashing into unrelated commit
+      filter-branch: do not consider diverging submodules a 'dirty worktree'
+      import-zips: fix thinko
+
+Johannes Sixt (6):
+      Make test-path-utils more robust against incorrect use
+      Move sanitary_path_copy() to path.c and rename it to normalize_path_copy()
+      Test and fix normalize_path_copy()
+      Remove unused normalize_absolute_path()
+      Propagate --exec-path setting to external commands via GIT_EXEC_PATH
+      diff --no-index: Do not generate patch output if other output is requested
+
+Junio C Hamano (19):
+      revision traversal: allow UNINTERESTING objects to be missing
+      rebase -i squashes submodule changes into unrelated commit
+      add -u: do not fail to resolve a path as deleted
+      revision traversal and pack: notice and die on missing commit
+      Make repack less likely to corrupt repository
+      Prepare for 1.6.1.4.
+      tests: fix "export var=val"
+      Make sure objects/pack exists before creating a new pack
+      git-repack: resist stray environment variable
+      has_sha1_pack(): refactor "pretend these packs do not exist" interface
+      has_sha1_kept_pack(): take "struct rev_info"
+      Consolidate ignore_packed logic more
+      Simplify is_kept_pack()
+      is_kept_pack(): final clean-up
+      blame: read custom grafts given by -S before calling setup_revisions()
+      diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
+      match_tree_entry(): a pathspec only matches at directory boundaries
+      diff -c -p: do not die on submodules
+      GIT 1.6.1.4
+
+Kirill Smelkov (4):
+      mailinfo: correctly handle multiline 'Subject:' header
+      mailinfo: 'From:' header should be unfold as well
+      mailinfo: add explicit test for mails like '<a.u.thor@example.com> (A U Thor)'
+      mailinfo: tests for RFC2047 examples
+
+Linus Torvalds (3):
+      close_sha1_file(): make it easier to diagnose errors
+      process_{tree,blob}: Remove useless xstrdup calls
+      grep: fix segfault when "git grep '('" is given
+
+Markus Heidelberg (1):
+      doc/git-daemon: add missing arguments to options
+
+Matt McCutchen (1):
+      gitweb: add $prevent_xss option to prevent XSS by repository content
+
+Matthieu Moy (4):
+      Document git blame --reverse.
+      More friendly message when locking the index fails.
+      git-checkout.txt: fix incorrect statement about HEAD and index
+      git-checkout.txt: clarify that <branch> applies when no path is given.
+
+Michael Spang (1):
+      Skip timestamp differences for diff --no-index
+
+Mike Ralphson (1):
+      Fix odb_mkstemp() on AIX
+
+Nico -telmich- Schottelius (1):
+      git-tag(1): add hint about commit messages
+
+Nicolas Pitre (1):
+      avoid possible overflow in delta size filtering computation
+
+René Scharfe (1):
+      Fix GIT_CEILING_DIRECTORIES on Windows
+
+Shawn O. Pearce (2):
+      Clear the delta base cache during fast-import checkpoint
+      Clear the delta base cache if a pack is rebuilt
+
+Stephen Boyd (1):
+      test-genrandom: Add newline to usage string
+
+Thomas Jarosch (1):
+      Fix buffer overflow in config parser
+
+Thomas Rast (2):
+      Documentation: format-patch --root clarifications
+      bash completion: only show 'log --merge' if merging
+
+Todd Zullinger (1):
+      Documentation: Note file formats send-email accepts
+
+
+Version v1.6.1.3; changes since v1.6.1.2:
+-----------------------------------------
+
+Anders Melchiorsen (2):
+      Documentation: more git push examples
+      Documentation: rework src/dst description in git push
+
+David J. Mellor (1):
+      Fixed broken git help -w when installing from RPM
+
+Guanqun Lu (2):
+      fix typo in Documentation
+      add test-dump-cache-tree in Makefile
+
+Johannes Schindelin (2):
+      revision walker: include a detached HEAD in --all
+      apply: fix access to an uninitialized mode variable, found by valgrind
+
+Junio C Hamano (6):
+      bundle: allow the same ref to be given more than once
+      Documentation: simplify refspec format description
+      diff.c: output correct index lines for a split diff
+      builtin-apply.c: do not set bogus mode in check_preimage() for deleted path
+      grep: pass -I (ignore binary) down to external grep
+      GIT 1.6.1.3
+
+Keith Cascio (2):
+      test more combinations of ignore-whitespace options to diff
+      Fix combined use of whitespace ignore options to diff
+
+Linus Torvalds (1):
+      Wrap inflate and other zlib routines for better error reporting
+
+Matthieu Moy (3):
+      Missing && in t/t7001.sh.
+      Add a testcase for "git mv -f" on untracked files.
+      builtin-mv.c: check for unversionned files before looking at the destination.
+
+René Scharfe (1):
+      merge: fix out-of-bounds memory access
+
+SZEDER Gábor (1):
+      Fix gitdir detection when in subdir of gitdir
+
+Stefan Naewe (1):
+      urls.txt: document optional port specification in git URLS
+
+William Pursell (1):
+      User-manual: "git stash <comment>" form is long gone
+
+
+Version v1.6.1.2; changes since v1.6.1.1:
+-----------------------------------------
+
+Björn Steinbrink (1):
+      Rename detection: Avoid repeated filespec population
+
+Jeff King (1):
+      avoid 31-bit truncation in write_loose_object
+
+Johannes Schindelin (2):
+      get_sha1_basic(): fix invalid memory access, found by valgrind
+      test-path-utils: Fix off by one, found by valgrind
+
+Junio C Hamano (4):
+      ls-tree: add --full-tree option
+      Teach format-patch to handle output directory relative to cwd
+      send-pack: do not send unknown object name from ".have" to pack-objects
+      GIT 1.6.1.2
+
+Marcel M. Cary (1):
+      git-sh-setup: Fix scripts whose PWD is a symlink to a work-dir on OS X
+
+Markus Heidelberg (2):
+      git-commit: color status output when color.ui is set
+      git-status -v: color diff output when color.ui is set
+
+Nanako Shiraishi (1):
+      Document git-ls-tree --full-tree
+
+Nguyễn Thái Ngọc Duy (2):
+      grep: support --no-ext-grep to test builtin grep
+      grep: grep cache entries if they are "assume unchanged"
+
+Nicolas Pitre (1):
+      objects to be pruned immediately don't have to be loosened
+
+
+Version v1.6.1.1; changes since v1.6.1:
+---------------------------------------
+
+Adeodato Simó (2):
+      git-shortlog.txt: improve documentation about .mailmap files
+      git-send-email.txt: move --format-patch paragraph to a proper location
+
+Anders Melchiorsen (4):
+      Documentation: git push repository can also be a remote
+      Documentation: remove a redundant elaboration
+      Documentation: mention branches rather than heads
+      Documentation: avoid using undefined parameters
+
+Boyd Stephen Smith Jr (1):
+      Fix Documentation for git-describe
+
+Christian Couder (1):
+      builtin-fsck: fix off by one head count
+
+Clemens Buchacher (4):
+      modify/delete conflict resolution overwrites untracked file
+      unpack-trees: handle failure in verify_absent
+      unpack-trees: fix path search bug in verify_absent
+      unpack-trees: remove redundant path search in verify_absent
+
+Devin Doucette (1):
+      gitweb: Fix export check in git_get_projects_list
+
+Felipe Contreras (1):
+      fast-import: Cleanup mode setting.
+
+Henrik Austad (2):
+      Use capitalized names where appropriate
+      Be consistent in switch usage for tar
+
+Jay Soffian (1):
+      Git.pm: call Error::Simple() properly
+
+Joey Hess (1):
+      README: tutorial.txt is now called gittutorial.txt
+
+Johannes Schindelin (7):
+      merge-recursive: mark rename/delete conflict as unmerged
+      bisect view: call gitk if Cygwin's SESSIONNAME variable is set
+      git add: do not add files from a submodule
+      http-push: fix off-by-path_len
+      http-push: when making directories, have a trailing slash in the path name
+      t5540: clarify that http-push does not handle packed-refs on the remote
+      Rename diff.suppress-blank-empty to diff.suppressBlankEmpty
+
+Junio C Hamano (8):
+      merge-recursive: do not clobber untracked working tree garbage
+      Prepare for v1.6.1.1 maintenance release
+      builtin-apply: prevent non-explicit permission changes
+      git checkout: do not allow switching to a tree-ish that is not a commit
+      format-patch: show patch text for the root commit
+      Update draft release notes to 1.6.1.1
+      Update draft release notes for 1.6.1.1
+      GIT 1.6.1.1
+
+Kirill A. Korinskiy (1):
+      http-push: support full URI in handle_remote_ls_ctx()
+
+Lars Noschinski (1):
+      shell: Document that 'cvs server' is a valid command
+
+Markus Heidelberg (2):
+      doc/git-send-email: mention sendemail.cc config variable
+      Documentation: let asciidoc align related options
+
+Michael J Gruber (2):
+      add test cases for "git mv -k"
+      fix handling of multiple untracked files for git mv -k
+
+Miklos Vajna (2):
+      fast-export: print usage when no options specified
+      Make t3411 executable
+
+Paul Jarc (1):
+      configure clobbers LDFLAGS
+
+Philippe Bruhat (1):
+      Git.pm: correctly handle directory name that evaluates to "false"
+
+Pierre Habouzit (1):
+      Avoid spurious error messages on error mistakes.
+
+René Scharfe (8):
+      daemon: handle freopen() failure
+      daemon: cleanup: replace loop with if
+      daemon: cleanup: factor out xstrdup_tolower()
+      merge-file: handle freopen() failure
+      pretty: factor out skip_empty_lines()
+      pretty: factor out format_subject()
+      pretty: support multiline subjects with format:
+      shortlog: handle multi-line subjects like log --pretty=oneline et. al. do
+
+Shawn O. Pearce (1):
+      describe: Avoid unnecessary warning when using --all
+
+Stephan Beyer (5):
+      t3501: check that commits are actually done
+      t3404: Add test case for aborted --continue after "edit"
+      t3404: Add test case for auto-amending only edited commits after "edit"
+      builtin-commit.c: do not remove COMMIT_EDITMSG
+      githooks.txt: add missing word
+
+Thomas Rast (3):
+      diff: accept -- when using --no-index
+      diff --no-index: test for pager after option parsing
+      diff --no-index -q: fix endless loop
+
+jidanni@jidanni.org (4):
+      Documentation/diff-options.txt: unify options
+      Documentation/git-tag.txt: minor typo and grammar fix
+      Documentation/git-push.txt: minor: compress one option
+      contrib/examples/README: give an explanation of the status of these files
+
+
+Version v1.6.1; changes since v1.6.1-rc4:
+-----------------------------------------
+
+Johannes Schindelin (1):
+      rebase -i -p: leave a --cc patch when a merge could not be redone
+
+Johannes Sixt (2):
+      Show a failure of rebase -p if the merge had a conflict
+      rebase -i -p: Fix --continue after a merge could not be redone
+
+Junio C Hamano (1):
+      GIT 1.6.1
+
+Miklos Vajna (1):
+      t9129: skip the last three tests if UTF-8 locale is not available
+
+
+Version v1.6.1-rc4; changes since v1.6.1-rc3:
+---------------------------------------------
+
+Alexander Gavrilov (2):
+      git-gui: Fix handling of relative paths in blame.
+      git-gui: Fix commit encoding handling.
+
+Arjen Laarhoven (1):
+      Enable threaded delta search on Mac OS X/Darwin
+
+Boyd Stephen Smith Jr (1):
+      git-revert documentation: refer to new HOWTO on reverting faulty merges
+
+Christian Stimming (3):
+      git-gui: Update German (completed) translation.
+      gitk: Mark forgotten strings (header sentence parts in color chooser) for translation
+      gitk: Update German translation
+
+David Aguilar (1):
+      git-mergetool: properly handle "git mergetool -- filename"
+
+Fredrik Skolmli (1):
+      git-gui: Starting translation for Norwegian
+
+Giuseppe Bilotta (1):
+      gitk: Map / to focus the search box
+
+Johannes Schindelin (3):
+      fast-import: close pack before unlinking it
+      git-gui: Get rid of the last remnants of GIT_CONFIG_LOCAL
+      fast-export: deal with tag objects that do not have a tagger
+
+Johannes Sixt (3):
+      gitk: Use check-buttons' -text property instead of separate labels
+      gitk: Ensure that "Reset branch" menu entry is enabled
+      gitk: Force the focus to the main window on Windows
+
+Junio C Hamano (12):
+      git-show: do not segfault when showing a bad tag
+      pager: do not dup2 stderr if it is already redirected
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+      gitweb: do not run "git diff" that is Porcelain
+      make_absolute_path(): check bounds when seeing an overlong symlink
+      builtin-blame.c: use strbuf_readlink()
+      combine-diff.c: use strbuf_readlink()
+      fast-import: make tagger information optional
+      Make sure lockfiles are unlocked when dying on SIGPIPE
+      send-email: futureproof split_addrs() sub
+      GIT 1.6.1-rc4
+
+Kevin Ballard (1):
+      gitk: Allow unbalanced quotes/braces in commit headers
+
+Kirill A. Korinskiy (1):
+      Remove the requirement opaquelocktoken uri scheme
+
+Lee Marlow (2):
+      bash completion: Sort config completion variables
+      bash completion: Sync config variables with their man pages
+
+Linus Torvalds (5):
+      Add generic 'strbuf_readlink()' helper function
+      Make 'ce_compare_link()' use the new 'strbuf_readlink()'
+      Make 'index_path()' use 'strbuf_readlink()'
+      Make 'diff_populate_filespec()' use the new 'strbuf_readlink()'
+      Make 'prepare_temp_file()' ignore st_size for symlinks
+
+Marcel M. Cary (1):
+      git-sh-setup: Fix scripts whose PWD is a symlink into a git work-dir
+
+Markus Heidelberg (7):
+      Documentation: fix description for enabling hooks
+      doc/git-reset: add reference to git-stash
+      Documentation: sync example output with git output
+      Documentation: fix typos, grammar, asciidoc syntax
+      Documentation: fix typos, grammar, asciidoc syntax
+      Documentation/git-show-branch: work around "single quote" typesetting glitch
+      doc/git-fsck: change the way for getting heads' SHA1s
+
+Michael J Gruber (1):
+      test overlapping ignore patterns
+
+Michele Ballabio (1):
+      git gui: update Italian translation
+
+Miklos Vajna (4):
+      git-gui: Update Hungarian translation for 0.12
+      git-daemon documentation: use {tilde}
+      githooks documentation: add a note about the +x mode
+      SubmittingPatches: mention the usage of real name in Signed-off-by: lines
+
+Nanako Shiraishi (3):
+      git-gui: Update Japanese translation for 0.12
+      Clarify documentation of "git checkout <tree-ish> paths" syntax
+      Add a documentat on how to revert a faulty merge
+
+Paul Mackerras (1):
+      gitk: Fix bugs in blaming code
+
+Peter Krefting (2):
+      git-gui: Updated Swedish translation (515t0f0u).
+      git-gui: Fixed typos in Swedish translation.
+
+René Scharfe (3):
+      Fix type-mismatch compiler warning from diff_populate_filespec()
+      connect.c: stricter port validation, silence compiler warning
+      fast-import.c: stricter strtoul check, silence compiler warning
+
+Richard Hartmann (2):
+      Make help entries alphabetical
+      Always show which directory is not a git repository
+
+Robin Rosenberg (1):
+      git-revert: record the parent against which a revert was made
+
+Shawn O. Pearce (2):
+      git-gui: Update po template to include 'Mirroring %s' message
+      git-gui 0.12
+
+Wu Fengguang (1):
+      git-send-email: handle email address with quoted comma
+
+
+Version v1.6.1-rc3; changes since v1.6.1-rc2:
+---------------------------------------------
+
+Alexander Gavrilov (1):
+      Documentation: Describe git-gui Tools menu configuration options.
+
+Alexander Potashev (2):
+      Fix typos in documentation
+      Fix typo in comment in builtin-add.c
+
+Alexey Borzenkov (1):
+      Define linkgit macro in [macros] section
+
+Brandon Casey (1):
+      git-branch: display sha1 on branch deletion
+
+Deskin Miller (1):
+      git-svn: Make following parents atomic
+
+Jakub Narebski (1):
+      gitweb: Fix bug in insert_file() subroutine
+
+Jeff King (5):
+      reorder ALLOW_TEXTCONV option setting
+      diff: allow turning on textconv explicitly for plumbing
+      diff: fix handling of binary rewrite diffs
+      diff: respect textconv in rewrite diffs
+      rebase: improve error messages about dirty state
+
+Jim Meyering (1):
+      git-config.txt: fix a typo
+
+Johannes Schindelin (1):
+      Get rid of the last remnants of GIT_CONFIG_LOCAL
+
+Junio C Hamano (4):
+      builtin-checkout.c: check error return from read_cache()
+      read-cache.c: typofix in comment
+      work around Python warnings from AsciiDoc
+      Fix t4031
+
+Linus Torvalds (1):
+      fsck: reduce stack footprint
+
+Markus Heidelberg (1):
+      builtin-commit: remove unused message variable
+
+Nicolas Pitre (1):
+      make sure packs to be replaced are closed beforehand
+
+Ralf Wildenhues (1):
+      Improve language in git-merge.txt and related docs
+
+Tor Arvid Lund (1):
+      git-p4: Fix regression in p4Where method.
+
+YONETANI Tomokazu (1):
+      git-fast-import possible memory corruption problem
+
+
+Version v1.6.1-rc2; changes since v1.6.1-rc1:
+---------------------------------------------
+
+Alex Riesen (3):
+      Make some of fwrite/fclose/write/close failures visible
+      Make chdir failures visible
+      Report symlink failures in merge-recursive
+
+Alexander Gavrilov (2):
+      gitk: Make line origin search update the busy status
+      gitk: Add a menu option to start git gui
+
+Christian Couder (2):
+      bisect: fix "git bisect skip <commit>" and add tests cases
+      Documentation: describe how to "bisect skip" a range of commits
+
+Christian Stimming (1):
+      gitk: Update German translation
+
+Davide Libenzi (1):
+      xdiff: give up scanning similar lines early
+
+Deskin Miller (1):
+      git-svn: Make branch use correct svn-remote
+
+Giuseppe Bilotta (2):
+      gitweb: make gitweb_check_feature a boolean wrapper
+      Update comment on gitweb_check/get_feature
+
+Jakub Narebski (2):
+      gitweb: Fix handling of non-ASCII characters in inserted HTML files
+      gitweb: Make project specific override for 'grep' feature work
+
+Jeff King (2):
+      add stage to gitignore
+      tag: delete TAG_EDITMSG only on successful tag
+
+Johannes Sixt (1):
+      t4030-diff-textconv: Make octal escape sequence more portable
+
+Junio C Hamano (17):
+      builtin-rm.c: explain and clarify the "local change" logic
+      git add --intent-to-add: fix removal of cached emptiness
+      git add --intent-to-add: do not let an empty blob be committed by accident
+      gitweb: fix 'ctags' feature check and others
+      gitweb: rename gitweb_check_feature to gitweb_get_feature
+      Makefile: introduce NO_PTHREADS
+      Install git-stage in exec-path
+      git-am --whitespace: do not lose the command line option
+      git-am: propagate -C<n>, -p<n> options as well
+      git-am: propagate --3way options as well
+      Test that git-am does not lose -C/-p/--whitespace options
+      git-am: rename apply_opt_extra file to apply-opt
+      Update draft release notes to 1.6.1
+      GIT 1.6.0.5
+      Update draft release notes for 1.6.1
+      Revert "git-stash: use git rev-parse -q"
+      Point "stale" 1.6.0.5 documentation from the main git documentation page
+
+Linus Torvalds (1):
+      Add backslash to list of 'crud' characters in real name
+
+Mark Burton (1):
+      git-gui: Teach start_push_anywhere_action{} to notice when remote is a mirror.
+
+Matt McCutchen (1):
+      "git diff <tree>{3,}": do not reverse order of arguments
+
+Miklos Vajna (8):
+      User's Manual: remove duplicated url at the end of Appendix B
+      git-stash: use git rev-parse -q
+      filter-branch: use git rev-parse -q
+      lost-found: use git rev-parse -q
+      pull: use git rev-parse -q
+      rebase: use git rev-parse -q
+      submodule: use git rev-parse -q
+      http.c: use 'git_config_string' to get 'curl_http_proxy'
+
+Nguyễn Thái Ngọc Duy (1):
+      Extend index to save more flags
+
+Paul Mackerras (3):
+      gitk: Fix context menu items for generating diffs when in tree mode
+      gitk: Highlight only when search type is "containing:".
+      gitk: Fix bug in accessing undefined "notflag" variable
+
+Scott Chacon (1):
+      Add a built-in alias for 'stage' to the 'add' command
+
+Thomas Rast (1):
+      fetch-pack: Avoid memcpy() with src==dst
+
+Tor Arvid Lund (1):
+      git-p4: Fix bug in p4Where method.
+
+
+Version v1.6.1-rc1; changes since v1.6.0.6:
+-------------------------------------------
+
+Abhijit Menon-Sen (1):
+      Make cherry-pick use rerere for conflict resolution.
+
+Alex Riesen (11):
+      Extend "checkout --track" DWIM to support more cases
+      Remove calculation of the longest command name from where it is not used
+      Remove useless memset of static command name lists in builtin-merge.c
+      Make main_cmds and other_cmds local to builtin-help.c
+      Allow git help work without PATH set
+      list_commands: only call git_exec_path if it is needed
+      Add help.autocorrect to enable/disable autocorrecting
+      Cleanup remove_path
+      Fix potentially dangerous uses of mkpath and git_path
+      Fix handle leak in sha1_file/unpack_objects if there were damaged object data
+      Fix t4030-diff-textconv.sh
+
+Alexander Gavrilov (58):
+      git-gui: Support starting gitk from Gui Blame
+      git-gui: Support passing blame to a parent commit.
+      git-gui: Better positioning in Blame Parent Commit
+      git-gui: Allow specifying an initial line for git gui blame.
+      gitk: Add option to specify the default commit on command line
+      gitk: Add menu item for calling git gui blame
+      git-gui: Support resolving conflicts via the diff context menu.
+      git-gui: Support calling merge tools.
+      git-gui: Don't allow staging files with conflicts.
+      git-gui: Support more merge tools.
+      git-gui: Support conflict states _U & UT.
+      git-gui: Reimplement and enhance auto-selection of diffs.
+      git-gui: Make F5 reselect a diff, if an untracked file is selected.
+      git-gui: Show special diffs for complex conflict cases.
+      git-gui: Fix Blame Parent & Context for working copy lines.
+      git-gui: Restore ability to Stage Working Copy for conflicts.
+      gitk: Fix a bug in collapsing deeply nested trees
+      git-gui: Add more integration options to citool.
+      git-gui: Cleanup handling of the default encoding.
+      git-gui: Add a menu of available encodings.
+      git-gui: Allow forcing display encoding for diffs using a submenu.
+      git-gui: Optimize encoding name resolution using a lookup table.
+      git-gui: Support the encoding menu in gui blame.
+      git-gui: Reenable staging unmerged files by clicking the icon.
+      git-gui: Make Ctrl-T safe to use for conflicting files.
+      git-gui: Fix the blame window shape.
+      git-gui: Add a search command to the blame viewer.
+      git-gui: Fix the blame viewer destroy handler.
+      gitk: Enhance file encoding support
+      gitk: Implement batch lookup and caching of encoding attrs
+      gitk: Allow forcing branch creation if it already exists
+      gitk: Fix file list context menu for merge commits
+      builtin-blame: Reencode commit messages according to git-log rules.
+      gitk: Allow starting gui blame for a specific line
+      git-gui: Add a dialog that shows the OpenSSH public key.
+      git-gui: Add a simple implementation of SSH_ASKPASS.
+      Windows: Make OpenSSH properly detect tty detachment.
+      gitweb: Use single implementation of export_ok check.
+      gitweb: Add a per-repository authorization hook.
+      gitweb: Fix mod_perl support.
+      gitk: Add Return and Escape bindings to dialogs
+      gitk: Make gitk dialog windows transient
+      gitk: Make cherry-pick call git-citool on conflicts
+      gitk: Implement a user-friendly Edit View dialog
+      git-gui: Fix focus transition in the blame viewer.
+      git-gui: Add the Show SSH Key item to the clone dialog.
+      git-gui: Request blame metadata in utf-8.
+      gitk: Add accelerators to frequently used menu commands
+      gitk: Fix transient windows on Win32 and MacOS
+      gitk: Fix commit encoding support
+      Documentation: New GUI configuration and command-line options.
+      git-gui: Implement system-wide configuration handling.
+      git-gui: Fix the after callback execution in rescan.
+      git-gui: Add a Tools menu for arbitrary commands.
+      git-gui: Allow Tools request arguments from the user.
+      git-gui: Implement automatic rescan after Tool execution.
+      git-gui: Fix the search bar destruction handler.
+      gitk: Avoid handling the Return key twice in Add Branch
+
+Alexandre Julliard (9):
+      git.el: Improve error handling for commits.
+      git.el: Remove the env parameter in git-call-process and git-call-process-string.
+      git.el: Simplify handling of merge heads in the commit log-edit buffer.
+      git.el: Properly handle merge commits in git-amend-commit.
+      git.el: Fix git-amend-commit to support amending an initial commit.
+      git.el: Never clear the status buffer, only update the files.
+      git.el: Add an insert file command.
+      git.el: Add possibility to mark files directly in git-update-status-files.
+      git.el: Allow to commit even if there are no marked files.
+
+Anders Melchiorsen (2):
+      wt-status: Split header generation into three functions
+      wt-status: Teach how to discard changes in the working directory
+
+Andreas Ericsson (3):
+      Teach "git diff -p" to locate PHP class methods
+      git commit: Reformat output somewhat
+      rebase: Support preserving merges in non-interactive mode
+
+Arjen Laarhoven (1):
+      t6023-merge-file: Work around non-portable sed usage
+
+Bert Wesarg (1):
+      for-each-ref: `:short` format for `refname`
+
+Brandon Casey (9):
+      remote.c: add a function for deleting a refspec array and use it (twice)
+      dir.c: Avoid c99 array initialization
+      t4018-diff-funcname: test syntax of builtin xfuncname patterns
+      diff.c: remove duplicate bibtex pattern introduced by merge 92bb9785
+      xdiff-interface.c: strip newline (and cr) from line before pattern matching
+      Replace xmalloc/memset(0) pairs with xcalloc
+      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
+      Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer
+      t4018-diff-funcname: add objective-c xfuncname pattern to syntax test
+
+Brian Downing (4):
+      Make xdi_diff_outf interface for running xdiff_outf diffs
+      Use strbuf for struct xdiff_emit_state's remainder
+      Always initialize xpparam_t to 0
+      Allow alternate "low-level" emit function from xdl_diff
+
+Brian Gernhardt (2):
+      format-patch: autonumber by default
+      Avoid using non-portable `echo -n` in tests.
+
+Cheng Renquan (2):
+      git-remote: match usage string with the manual pages
+      git-remote: add verbose mode to git remote update
+
+Christian Couder (10):
+      merge-base: teach "git merge-base" to drive underlying merge_bases_many()
+      bisect: test merge base if good rev is not an ancestor of bad rev
+      bisect: only check merge bases when needed
+      bisect: remove "checkout_done" variable used when checking merge bases
+      refs: improve comments about "reading" argument of "resolve_ref"
+      bisect: fix missing "exit"
+      Documentation: user-manual: add information about "git help" at the beginning
+      Documentation: tutorial: add information about "git help" at the beginning
+      git-gui: french translation update
+      bisect: teach "skip" to accept special arguments like "A..B"
+
+Christian Stimming (5):
+      git-gui: Mark forgotten strings for translation.
+      git-gui: I18n fix sentence parts into full sentences for translation again.
+      git-gui: Updated German translation.
+      gitk: Add untranslated error messages to translation
+      git-gui: Update German translation.
+
+Dan Hensgen (1):
+      git-merge documentation: more details about resolving conflicts
+
+Daniel Lowe (1):
+      Fix non-literal format in printf-style calls
+
+David Aguilar (3):
+      git-submodule: replace duplicated code with a module_list function
+      git-submodule: add "sync" command
+      tests: add a testcase for "git submodule sync"
+
+David Bryson (1):
+      Use "git_config_string" to simplify "builtin-gc.c" code where "prune_expire" is set
+
+David M. Syzdek (5):
+      Build: add NO_UINTMAX_T to support ancient systems
+      Add Makefile check for FreeBSD 4.9-SECURITY
+      autoconf: Add link tests to each AC_CHECK_FUNC() test
+      Make Pthread link flags configurable
+      Add autoconf tests for pthreads
+
+David Soria Parra (1):
+      cast pid_t's to uintmax_t to improve portability
+
+David Symonds (1):
+      git-diff: Add --staged as a synonym for --cached.
+
+Davide Libenzi (1):
+      xdiff: give up scanning similar lines early
+
+Deskin Miller (4):
+      git-svn: testcase for partial rebuild
+      git-svn: do a partial rebuild if rev_map is out-of-date
+      git-svn: proper detection of bare repositories
+      git-svn: proper detection of bare repositories
+
+Dmitry Potapov (14):
+      teach index_fd to work with pipes
+      correct argument checking test for git hash-object
+      correct usage help string for git-hash-object
+      use parse_options() in git hash-object
+      add --path option to git hash-object
+      add --no-filters option to git hash-object
+      mingw: remove use of _getdrive() from lstat/fstat
+      add have_git_dir() function
+      mingw: move common functionality to win32.h
+      cygwin: Use native Win32 API for stat
+      do not segfault if make_cache_entry failed
+      print an error message for invalid path
+      check-attr: add an internal check_attr() function
+      check-attr: Add --stdin option
+
+Dotan Barak (1):
+      Use xmalloc() and friends to catch allocation failures
+
+Eric Wong (7):
+      git-svn: check error code of send_txstream
+      t9124: clean up chdir usage
+      git-svn: fix handling of even funkier branch names
+      git-svn: don't escape tilde ('~') for http(s) URLs
+      git-svn: respect i18n.commitencoding config
+      git-svn: don't escape tilde ('~') for http(s) URLs
+      git-svn: respect i18n.commitencoding config
+
+Florian Ragwitz (1):
+      Add git-svn branch to allow branch creation in SVN repositories
+
+Florian Weimer (3):
+      git-svn: extract base blob in generate_diff
+      git-svn: Introduce SVN::Git::Editor::_chg_file_get_blob
+      git-svn: Send deltas during commits
+
+Fredrik Skolmli (1):
+      Documentation: Spelling fix
+
+Garry Dolley (1):
+      Fixed some grammatical errors in git-rebase.txt documentation.
+
+Giovanni Funchal (1):
+      configure: auto detect dynamic library path switches
+
+Giuseppe Bilotta (12):
+      gitweb: ref markers link to named shortlogs
+      gitweb: shortlog now also obeys $hash_parent
+      gitweb: refactor input parameters parse/validation
+      gitweb: parse project/action/hash_base:filename PATH_INFO
+      gitweb: generate project/action/hash URLs
+      gitweb: use_pathinfo filenames start with /
+      gitweb: parse parent..current syntax from PATH_INFO
+      gitweb: generate parent..current URLs
+      gitweb: make the supported snapshot formats array global
+      gitweb: retrieve snapshot format from PATH_INFO
+      gitweb: embed snapshot format parameter in PATH_INFO
+      git-gui: try to provide a window icon under X
+
+Gustaf Hendeby (2):
+      Update .gitignore to ignore git-help
+      git-gui: Teach git gui about file type changes
+
+Heikki Orsila (1):
+      diff --dirstat-by-file: count changed files, not lines
+
+Jakub Narebski (1):
+      gitweb: Better processing format string in custom links in navbar
+
+Jan Krüger (1):
+      Introduce receive.denyDeletes
+
+Jeff King (28):
+      run-command: add pre-exec callback
+      spawn pager via run_command interface
+      format-patch: use default diff format even with patch options
+      tests: grep portability fixes
+      reformat informational commit message
+      tutorial: update output of git commit
+      tests: shell negation portability fix
+      t4012: use test_cmp instead of cmp
+      diff: unify external diff and funcname parsing code
+      diff: introduce diff.<driver>.binary
+      diff: add filter for converting binary to text
+      document "intent to add" option to git-add
+      rm: loosen safety valve for empty files
+      submodule: fix some non-portable grep invocations
+      diff: add missing static declaration
+      document the diff driver textconv feature
+      refactor userdiff textconv code
+      userdiff: require explicitly allowing textconv
+      only textconv regular files
+      wt-status: load diff ui config
+      add userdiff textconv tests
+      enable textconv for diff in verbose status/commit
+      t5400: expect success for denying deletion
+      t5516: refactor oddball tests
+      receive-pack: detect push to current branch of non-bare repo
+      define empty tree sha1 as a macro
+      wt-status: refactor initial commit printing
+      status: show "-v" diff even for initial commit
+
+Jim Meyering (4):
+      add boolean diff.suppress-blank-empty config option
+      SubmittingPatches: fix a typo
+      reword --full-index description
+      xdiff-interface.c: remove 10 duplicated lines
+
+Joey Hess (2):
+      git-daemon: set REMOTE_ADDR to client address
+      sha1_file: avoid bogus "file exists" error message
+
+Johan Herland (3):
+      Teach "git diff -p" HTML funcname patterns
+      Fix AsciiDoc errors in merge documentation
+      Fix submodule sync with relative submodule URLs
+
+Johannes Schindelin (7):
+      t9700: remove useless check
+      tests: Clarify dependencies between tests, 'aggregate-results' and 'clean'
+      Enable parallel tests
+      checkout --track: make up a sensible branch name if '-b' was omitted
+      test-lib: do not remove trash_directory if called with --debug
+      git wrapper: DWIM mistyped commands
+      Document levenshtein.c
+
+Johannes Sixt (11):
+      Revert "Windows: Use a customized struct stat that also has the st_blocks member."
+      filter-branch: Grok special characters in tag names
+      Windows: git-shell can be compiled again
+      compat/mingw: Support a timeout in the poll emulation if no fds are given
+      git-gui: Do not automatically stage file after merge tool finishes
+      git-gui: Remove space from the end of aspell's reply before processing
+      git-gui: Fix switch statement in lib/merge.tcl
+      git-gui: Show a round number of bytes of large untracked text files
+      git-gui: Mark-up strings in show_{other,unmerged}_diff() for localization
+      git-remote: list branches in vertical lists
+      git-gui: Do not munge conflict marker lines in a normal diff
+
+John Chapman (2):
+      git-p4: Support purged files and optimize memory usage
+      git-p4: Cache git config for performance
+
+Jonas Fonseca (1):
+      git-check-attr(1): use 'verse' for multi-line synopsis sections
+
+Jonathan del Strother (3):
+      Revert "Convert output messages in merge-recursive to past tense."
+      Add OS X support to the pre-auto-gc example hook
+      Teach git diff about Objective-C syntax
+
+Joshua Williams (1):
+      git-gui: Add support for calling out to the prepare-commit-msg hook
+
+Junio C Hamano (78):
+      builtin-add.c: restructure the code for maintainability
+      builtin-add.c: optimize -A option and "git add ."
+      imap-send.c: more style fixes
+      documentation: merge-base: explain "git merge-base" with more than 2 args
+      merge-base-many: add trivial tests based on the documentation
+      git-merge-octopus: use (merge-base A (merge B C D E...)) for stepwise merge
+      revision.c: whitespace fix
+      revision traversal: show full history with merge simplification
+      Topo-sort before --simplify-merges
+      update-index: refuse to add working tree items beyond symlinks
+      add: refuse to add working tree items beyond symlinks
+      xdiff-interface: hide the whole "xdiff_emit_state" business from the caller
+      revision --simplify-merges: use decoration instead of commit->util field
+      index: future proof for "extended" index entries
+      tests: use $TEST_DIRECTORY to refer to the t/ directory
+      Start 1.6.1 cycle
+      Makefile: Allow CC_LD_DYNPATH to be overriden
+      revision --simplify-merges: do not leave commits unprocessed
+      revision --simplify-merges: make it a no-op without pathspec
+      compat: introduce on_disk_bytes()
+      shell: do not play duplicated definition games to shrink the executable
+      Build-in "git-shell"
+      Update draft release notes for 1.6.1
+      Fix "git-merge -s bogo" help text
+      templates/Makefile: install is unnecessary, just use mkdir -p
+      t7606: fix custom merge test
+      Revert "Build-in "git-shell""
+      daemon.c: minor style fixup
+      checkout -f: allow ignoring unmerged paths when checking out of the index
+      checkout --ours/--theirs: allow checking out one side of a conflicting merge
+      xdl_fill_merge_buffer(): separate out a too deeply nested function
+      xdiff-merge: optionally show conflicts in "diff3 -m" style
+      xmerge.c: minimum readability fixups
+      xmerge.c: "diff3 -m" style clips merge reduction level to EAGER or less
+      rerere.c: use symbolic constants to keep track of parsing states
+      rerere: understand "diff3 -m" style conflicts with the original
+      merge.conflictstyle: choose between "merge" and "diff3 -m" styles
+      git-merge-recursive: learn to honor merge.conflictstyle
+      checkout -m: recreate merge when checking out of unmerged index
+      diff: vary default prefix depending on what are compared
+      git commit --author=$name: look $name up in existing commits
+      git-add --intent-to-add (-N)
+      checkout --conflict=<style>: recreate merge in a non-default style
+      git-merge documentation: describe how conflict is presented
+      Update draft release notes for 1.6.1
+      safe_create_leading_directories(): make it about "leading" directories
+      git-apply:--include=pathspec
+      Update draft release notes for 1.6.1
+      daemon.c: avoid setlinebuf()
+      is_directory(): a generic helper function
+      receive-pack: make it a builtin
+      push: prepare sender to receive extended ref information from the receiver
+      push: receiver end advertises refs from alternate repositories
+      Fix git-diff-tree --stdin
+      diff: use extended regexp to find hunk headers
+      diff: fix "multiple regexp" semantics to find hunk header comment
+      Update draft release notes to 1.6.1
+      t5510: test "git fetch" following tags minimally
+      Update draft release notes to 1.6.1
+      Fix reading of cloud tags
+      Update draft release notes for 1.6.1
+      Fix mismerge at cdb22c4 in builtin-checkout.c
+      rebase-i-p: minimum fix to obvious issues
+      git-rebase--interactive.sh: comparision with == is bashism
+      receive-pack: fix "borrowing from alternate object store" implementation
+      compat/cygwin.c: make runtime detection of lstat/stat lessor impact
+      Stop using compat/regex.c on platforms with working regexp library
+      Update draft release notes to 1.6.1
+      Update draft release notes to 1.6.1
+      Update draft release notes to 1.6.1
+      t5303: work around printf breakage in dash
+      t5303: fix printf format string for portability
+      git.html: Update the links to stale versions
+      Update draft release notes to 1.6.1
+      builtin-remote.c: plug a small memory leak in get_one_remote_for_updates()
+      send-email: do not reverse the command line arguments
+      Include git-gui--askpass in git-gui RPM package
+      GIT 1.6.1-rc1
+
+Karl Hasselström (4):
+      Refactoring: Split up diff_tree_stdin
+      diff-tree: Note that the commit ID is printed with --stdin
+      Teach git diff-tree --stdin to diff trees
+      Add test for diff-tree --stdin with two trees
+
+Kirill Smelkov (1):
+      Teach "git diff -p" Python funcname patterns
+
+Lee Marlow (2):
+      bash completion: Add 'workflows' to 'git help'
+      workflows documentation: fix link to git-request-pull[1]
+
+Linus Torvalds (8):
+      date/time: do not get confused by fractional seconds
+      Add a 'source' decorator for commits
+      revision: make tree comparison functions take commits rather than trees
+      Make '--decorate' set an explicit 'show_decorations' flag
+      revision traversal: '--simplify-by-decoration'
+      Add cache preload facility
+      Fix machine-parseability of 'git log --source'
+      Fix index preloading for racy dirty case
+
+Marcel Koeppen (1):
+      t9129-git-svn-i18n-commitencoding: Make compare_svn_head_with() compatible with OSX sed
+
+Marcus Griep (2):
+      count-objects: Add total pack size to verbose output
+      Update t/.gitignore to ignore all trash directories
+
+Marek Zawirski (1):
+      Make push more verbose about illegal combination of options
+
+Mark Burton (2):
+      Documentation: rev-list-options.txt: added --branches, --tags & --remotes.
+      git-commit.txt - mention that files listed on the command line must be known to git.
+
+Mark Levedahl (5):
+      git-submodule - Add 'foreach' subcommand
+      git-submodule.sh - Remove trailing / from URL if found
+      git-submodule.sh - Remove trailing / from URL if found
+      git-submodule - Use "get_default_remote" from git-parse-remote
+      compat/cygwin.c - Use cygwin's stat if core.filemode == true
+
+Markus Heidelberg (1):
+      Makefile: add install-man rules (quick and normal)
+
+Marten Svanfeldt (dev) (2):
+      Git.pm: Make _temp_cache use the repository directory
+      git-svn: Update git-svn to use the ability to place temporary files within repository directory
+
+Matt McCutchen (2):
+      "git diff <tree>{3,}": do not reverse order of arguments
+      git-merge-recursive: honor merge.conflictstyle once again
+
+Matthias Kestenholz (1):
+      bash-completion: Add all submodule subcommands to the completion list
+
+Michael J Gruber (3):
+      allow installation of man and html doc from the man and html branches
+      separate build targets for man and html documentation
+      make prune report removed objects on -v
+
+Michael Witten (9):
+      Docs: send-email's usage text and man page mention same options
+      Docs: send-email usage text much sexier
+      Docs: send-email: Man page option ordering
+      send-email: change --no-validate to boolean --[no-]validate
+      Docs: send-email: --chain_reply_to -> --[no-]chain-reply-to
+      Docs: send-email: Remove unnecessary config variable description
+      Docs: send-email: Create logical groupings for --help text
+      Docs: send-email: Create logical groupings for man text
+      send-email: signedoffcc -> signedoffbycc, but handle both
+
+Michele Ballabio (1):
+      git gui: update Italian translation
+
+Mikael Magnusson (1):
+      Correct output of git-count-objects.
+
+Mike Ralphson (1):
+      gitweb: Sort the list of forks on the summary page by age
+
+Miklos Vajna (36):
+      builtin-help: make some internal functions available to other builtins
+      builtin-merge: allow using a custom strategy
+      Add a new test for using a custom merge strategy
+      Add a second testcase for handling invalid strategies in git-merge
+      builtin-help: always load_command_list() in cmd_help()
+      Builtin git-help.
+      Split out merge_recursive() to merge-recursive.c
+      merge-recursive: introduce merge_options
+      builtin-merge: avoid run_command_v_opt() for recursive and subtree
+      cherry-pick/revert: make direct internal call to merge_tree()
+      merge-recursive: move call_depth to struct merge_options
+      merge-recursive: get rid of the index_only global variable
+      merge-recursive: move the global obuf to struct merge_options
+      merge-recursive: move current_{file,directory}_set to struct merge_options
+      merge-recursive: get rid of virtual_id
+      builtin-merge: release the lockfile in try_merge_strategy()
+      commit_tree(): add a new author parameter
+      builtin-commit: use commit_tree()
+      t7603: add new testcases to ensure builtin-commit uses reduce_heads()
+      builtin-merge: refresh the index before calling a strategy
+      builtin-commit: use reduce_heads() only when appropriate
+      Cleanup in sha1_file.c::cache_or_unpack_entry()
+      Implement git clone -v
+      Add Linux PPC support to the pre-auto-gc example hook
+      parse-opt: migrate builtin-checkout-index.
+      Implement git remote rename
+      remote: add a new 'origin' variable to the struct
+      git-remote rename: migrate from remotes/ and branches/
+      git-remote: document the migration feature of the rename subcommand
+      Update Hungarian translation. 100% completed.
+      builtin-branch: use strbuf in delete_branches()
+      builtin-branch: use strbuf in fill_tracking_info()
+      builtin-branch: use strbuf in rename_branch()
+      builtin-clone: use strbuf in guess_dir_name()
+      builtin-clone: use strbuf in clone_local() and copy_or_link_directory()
+      builtin_clone: use strbuf in cmd_clone()
+
+Nanako Shiraishi (22):
+      t/t91XX-svn: start removing use of "git-" from these tests
+      t/t91XX git-svn tests: run "git svn" not "git-svn"
+      t9200: use "git cvsexportcommit" without dash
+      t9300, t9301: use "git fast-import/fast-export" without dash
+      t9700: use "git config" without dash
+      tests: use "git foo" without dash in strings
+      t9101: use "git hash-object" without dash
+      Install git-cvsserver in $(bindir)
+      remote.c: make free_ref(), parse_push_refspec() and free_refspecs() static.
+      graph.c: make many functions static
+      usage.c: remove unused functions
+      Add contrib/rerere-train script
+      dir.c: make dir_add_name() and dir_add_ignored() static
+      run-command.c: remove run_command_v_opt_cd()
+      config.c: make git_parse_long() static
+      commit.c: make read_graft_file() static
+      archive.c: make archiver static
+      rebase --no-verify
+      rebase: Document --no-verify option to bypass pre-rebase hook
+      Document "git log --source"
+      Document "git log --simplify-by-decoration"
+      git-gui: update Japanese translation
+
+Neil Roberts (1):
+      config.mak.in: Pass on LDFLAGS from configure
+
+Nicolas Pitre (18):
+      sha1write: don't copy full sized buffers
+      pack-objects: don't include missing preferred base objects
+      t5300: improve SHA1 collision test
+      fix openssl headers conflicting with custom SHA1 implementations
+      index-pack: rationalize delta resolution code
+      index-pack: smarter memory usage during delta resolution
+      fix multiple issues in index-pack
+      improve index-pack tests
+      index-pack: don't leak leaf delta result
+      close another possibility for propagating pack corruption
+      better validation on delta base object offsets
+      make unpack_object_header() non fatal
+      make packed_object_info() resilient to pack corruptions
+      make check_object() resilient to pack corruptions
+      make find_pack_revindex() aware of the nasty world
+      pack-objects: allow "fixing" a corrupted pack without a full repack
+      extend test coverage for latest pack corruption resilience improvements
+      pack-objects: don't leak pack window reference when splitting packs
+
+Paolo Bonzini (1):
+      provide more errors for the "merge into empty head" case
+
+Paul Mackerras (17):
+      gitk: Use <Button-2> for context menus on OSX
+      gitk: Clean up file encoding code and add enable/disable option
+      gitk: Fix binding for <Return> in sha1 entry field
+      gitk: New way of constructing menus that allows for Alt+letter accelerators
+      gitk: Regenerate .po files
+      gitk: Turn short SHA1 names into links too
+      gitk: Fix some off-by-one errors in computing which line to blame
+      gitk: Add a menu item to show where a given line comes from
+      gitk: Make the background color of marked lines configurable
+      gitk: Unify handling of merge diffs with normal 2-way diffs
+      gitk: Make "show origin of this line" work on fake commits
+      gitk: Cope with unmerged files in local changes
+      gitk: Improve cherry-pick error handling
+      gitk: Fix linehtag undefined error with file highlighting
+      gitk: Index line[hnd]tag arrays by id rather than row number
+      gitk: Fix switch statement in parseviewargs
+      gitk: Show local changes properly when we have a path limit
+
+Paul Talacko (1):
+      git-svn: set auto_props when renaming files
+
+Pete Harlan (2):
+      contrib/hooks/post-receive-email: Put rev display in separate function
+      contrib/hooks/post-receive-email: Make revision display configurable
+
+Peter Krefting (1):
+      Updated Swedish translation (514t0f0u).
+
+Peter Valdemar Mørch (2):
+      Teach git log --check to return an appropriate exit code
+      Teach git log --exit-code to return an appropriate exit code
+
+Petr Baudis (22):
+      git-web--browse: Support for using /bin/start on MinGW
+      git-gui: Clarify the Remote -> Delete... action
+      git-gui: Squash populate_{push,fetch}_menu to populate_remotes_menu
+      git-gui: Add support for adding remotes
+      git-gui: Add support for removing remotes
+      git-gui: mkdir -p when initializing new remote repository
+      git-gui: Use git web--browser for web browsing
+      git-gui: Add Explore Working Copy to the Repository menu
+      git-gui: gui.autoexplore makes explorer to pop up automatically after picking
+      git-gui: Avoid using the term URL when specifying repositories
+      git-gui: Make input boxes in init/clone/open dialogs consistent
+      git-gui: Fix removing non-pushable remotes
+      git-gui: Fix fetching from remotes when adding them
+      gitweb: Clean-up sorting of project list
+      gitweb: Quote non-displayable characters in hex, not octal
+      config.c: Tolerate UTF8 BOM at the beginning of config file
+      gitweb: Identify all summary metadata table rows
+      gitweb: Add support for extending the action bar with custom links
+      gitweb: Support for tag clouds
+      gitweb: Make the by_tag filter delve in forks as well
+      gitweb: Support for simple project search form
+      Do not rename read-only files during a push
+
+Pierre Habouzit (8):
+      Enable threaded delta search on *BSD and Linux.
+      parse-opt: migrate fmt-merge-msg.
+      parse-opt: migrate git-merge-base.
+      parse-opt: migrate builtin-merge-file.
+      git send-email: make the message file name more specific.
+      git send-email: interpret unknown files as revision lists
+      git send-email: add --annotate option
+      git send-email: ask less questions when --compose is used.
+
+Pieter de Bie (3):
+      builtin-reflog: Allow reflog expire to name partial ref
+      builtin-commit.c: show on which branch a commit was added
+      git wrapper: also use aliases to correct mistyped commands
+
+Quy Tonthat (1):
+      Update RPM spec for the new location of git-cvsserver.
+
+Ralf Wildenhues (2):
+      Correct typos in RelNotes-1.6.1
+      Fix typos in the documentation.
+
+Raphael Zimmerer (1):
+      git grep: Add "-z/--null" option as in GNU's grep.
+
+René Scharfe (15):
+      log: add load_ref_decorations()
+      move load_ref_decorations() to log-tree.c and export it
+      add '%d' pretty format specifier to show decoration
+      add alloc_ref_with_prefix()
+      use alloc_ref_from_str() everywhere
+      make alloc_ref_from_str() the new alloc_ref()
+      blame: inline get_patch()
+      add xdi_diff_hunks() for callers that only need hunk lengths
+      blame: use xdi_diff_hunks(), get rid of struct patch
+      add strbuf_expand_dict_cb(), a helper for simple cases
+      merge-recursive: use strbuf_expand() instead of interpolate()
+      daemon: use strbuf_expand() instead of interpolate()
+      daemon: inline fill_in_extra_table_entries()
+      daemon: deglobalize variable 'directory'
+      remove the unused files interpolate.c and interpolate.h
+
+Richard Quirk (1):
+      gitk: Bind Key-Return to create on new branch dialog
+
+Robert Shearman (4):
+      git-imap-send: Allow the program to be run from subdirectories of a git tree
+      git-imap-send: Support SSL
+      imap-send.c: style fixes
+      Documentation: Improve documentation for git-imap-send(1)
+
+Romain Francoise (1):
+      builtin-help: fallback to GIT_MAN_VIEWER before man
+
+SZEDER Gábor (3):
+      bash: use for-each-ref format 'refname:short'
+      remove vim syntax highlighting in favor of upstream
+      bash: complete full refs
+
+Samuel Tardieu (1):
+      Fix deletion of last character in levenshtein distance
+
+Santi Béjar (1):
+      rev-list documentation: clarify the two parts of history simplification
+
+Shawn O. Pearce (7):
+      Make reflog query '@{1219188291}' act as '@{2008.8.19.16:24:51.-0700}'
+      git-gui: Hide commit related UI during citool --nocommit
+      git-gui: Use gitattribute "encoding" for file content display
+      git-gui: Assume `blame --incremental` output is in UTF-8
+      git-gui: Show/hide "Sign Off" based on nocommitmsg option
+      describe: Make --tags and --all match lightweight tags more often
+      Update the po template
+
+Simon Hausmann (1):
+      Make it possible to abort the submission of a change to Perforce
+
+Stephan Beyer (2):
+      Fix commit_tree() buffer leak
+      merge-recursive.c: Add more generic merge_recursive_generic()
+
+Stephen Haberman (8):
+      rebase--interactive: fix parent rewriting for dropped commits
+      rebase-i-p: test to exclude commits from todo based on its parents
+      rebase-i-p: use HEAD for updating the ref instead of mapping OLDHEAD
+      rebase-i-p: delay saving current-commit to REWRITTEN if squashing
+      rebase-i-p: fix 'no squashing merges' tripping up non-merges
+      rebase-i-p: only list commits that require rewriting in todo
+      rebase-i-p: do not include non-first-parent commits touching UPSTREAM
+      rebase-i-p: if todo was reordered use HEAD as the rewritten parent
+
+Stephen R. van den Berg (4):
+      git-daemon: call logerror() instead of error()
+      git-daemon: use LOG_PID, simplify logging code
+      git-daemon: Simplify dead-children reaping logic
+      git-daemon: rewrite kindergarden, new option --max-connections
+
+Teemu Likonen (1):
+      bash completion: Add --[no-]validate to "git send-email"
+
+Thomas Rast (19):
+      filter-branch: Extend test to show rewriting bug
+      filter-branch: fix ref rewriting with --subdirectory-filter
+      filter-branch: use --simplify-merges
+      Documentation: rev-list-options: move --simplify-merges documentation
+      rev-list: fix --reverse interaction with --parents
+      t6013: replace use of 'tac' with equivalent Perl
+      git svn: catch lack of upstream info for dcommit earlier
+      git svn info: tests: let 'init' test run with SVN 1.5
+      git svn info: tests: do not use set -e
+      git svn info: tests: use test_cmp instead of git-diff
+      git svn info: tests: fix ptouch argument order in setup
+      git svn info: make info relative to the current directory
+      git svn info: always quote URLs in 'info' output
+      git-svn: match SVN 1.5 behaviour of info' on unknown item
+      git-svn: fix 'info' tests for unknown items
+      Documentation: new upstream rebase recovery section in git-rebase
+      Documentation: Refer to git-rebase(1) to warn against rewriting
+      Documentation: remove stale howto/rebase-and-edit.txt
+      Documentation: add manpage about workflows
+
+Tom Preston-Werner (1):
+      connect.c: add a way for git-daemon to pass an error back to client
+
+Tommi Virtanen (1):
+      Install git-shell in bindir, too
+
+Tor Arvid Lund (1):
+      git-p4: Fix checkout bug when using --import-local.
+
+Trent Piepho (1):
+      send-email: Fix Pine address book parsing
+
+Tuncer Ayaz (2):
+      Teach/Fix pull/fetch -q/-v options
+      Retain multiple -q/-v occurrences in git pull
+
+
+Version v1.6.0.6; changes since v1.6.0.5:
+-----------------------------------------
+
+David Aguilar (1):
+      git-mergetool: properly handle "git mergetool -- filename"
+
+Deskin Miller (1):
+      git-svn: Make following parents atomic
+
+Jim Meyering (1):
+      git-config.txt: fix a typo
+
+Johannes Schindelin (2):
+      fast-import: close pack before unlinking it
+      fast-export: deal with tag objects that do not have a tagger
+
+Junio C Hamano (6):
+      work around Python warnings from AsciiDoc
+      git-show: do not segfault when showing a bad tag
+      pager: do not dup2 stderr if it is already redirected
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+      fast-import: make tagger information optional
+
+Linus Torvalds (1):
+      fsck: reduce stack footprint
+
+Markus Heidelberg (1):
+      Documentation: fix typos, grammar, asciidoc syntax
+
+Miklos Vajna (1):
+      SubmittingPatches: mention the usage of real name in Signed-off-by: lines
+
+Nicolas Pitre (1):
+      make sure packs to be replaced are closed beforehand
+
+Wu Fengguang (1):
+      git-send-email: handle email address with quoted comma
+
+
+Version v1.6.0.5; changes since v1.6.0.4:
+-----------------------------------------
+
+Alexandre Julliard (2):
+      checkout: Don't crash when switching away from an invalid branch.
+      git-submodule: Avoid printing a spurious message.
+
+Brandon Casey (12):
+      t7700: demonstrate mishandling of objects in packs with a .keep file
+      packed_git: convert pack_local flag into a bitfield and add pack_keep
+      pack-objects: new option --honor-pack-keep
+      repack: don't repack local objects in packs with .keep file
+      repack: do not fall back to incremental repacking with [-a|-A]
+      builtin-gc.c: use new pack_keep bitfield to detect .keep file existence
+      t7700: demonstrate mishandling of loose objects in an alternate ODB
+      sha1_file.c: split has_loose_object() into local and non-local counterparts
+      pack-objects: extend --local to mean ignore non-local loose objects too
+      t7700: test that 'repack -a' packs alternate packed objects
+      repack: only unpack-unreachable if we are deleting redundant packs
+      revision.c: use proper data type in call to sizeof() within xrealloc
+
+Bryan Drewery (1):
+      Fix misleading wording for git-cherry-pick
+
+Christian Couder (3):
+      Documentation: rev-list: change a few instances of "git-cmd" to "git cmd"
+      Documentation: bisect: change a few instances of "git-cmd" to "git cmd"
+      Documentation: fix links to "everyday.html"
+
+Daniel Lowe (1):
+      Fix non-literal format in printf-style calls
+
+Davide Libenzi (1):
+      xdiff: give up scanning similar lines early
+
+Jakub Narebski (1):
+      gitweb: Make project specific override for 'grep' feature work
+
+Jan Krüger (1):
+      Documentation: git-svn: fix example for centralized SVN clone
+
+Jeff King (2):
+      commit: Fix stripping of patch in verbose mode.
+      tag: delete TAG_EDITMSG only on successful tag
+
+Joey Hess (1):
+      sha1_file: avoid bogus "file exists" error message
+
+Johannes Schindelin (1):
+      fast-export: use an unsorted string list for extra_refs
+
+Johannes Sixt (1):
+      compat/mingw.c: Teach mingw_rename() to replace read-only files
+
+Junio C Hamano (8):
+      Makefile: help people who run 'make check' by mistake
+      checkout: Fix "initial checkout" detection
+      Start 1.6.0.5 cycle
+      builtin-ls-files.c: coding style fix.
+      Teach ls-files --with-tree=<tree> to work with options other than -c
+      Teach "git diff" to honour --[no-]ext-diff
+      Update draft release notes to 1.6.0.5
+      GIT 1.6.0.5
+
+Linus Torvalds (1):
+      date/time: do not get confused by fractional seconds
+
+Martin Koegler (1):
+      git push: Interpret $GIT_DIR/branches in a Cogito compatible way
+
+Matt Kraai (1):
+      Remove the period after the git-check-attr summary
+
+Matt McCutchen (3):
+      config.txt: alphabetize configuration sections
+      git checkout: don't warn about unborn branch if -f is already passed
+      "git diff <tree>{3,}": do not reverse order of arguments
+
+Miklos Vajna (3):
+      Add new testcase to show fast-export does not always exports all tags
+      User's Manual: remove duplicated url at the end of Appendix B
+      http.c: use 'git_config_string' to get 'curl_http_proxy'
+
+Nguyễn Thái Ngọc Duy (1):
+      generate-cmdlist.sh: avoid selecting synopsis at wrong place
+
+Nicolas Pitre (1):
+      Fix pack.packSizeLimit and --max-pack-size handling
+
+Pete Wyckoff (1):
+      git-p4: fix keyword-expansion regex
+
+Ralf Wildenhues (1):
+      Fix typos in the documentation.
+
+SZEDER Gábor (2):
+      bash: remove dashed command leftovers
+      bash: offer refs instead of filenames for 'git revert'
+
+Sam Vilain (1):
+      sha1_file.c: resolve confusion EACCES vs EPERM
+
+Samuel Tardieu (2):
+      tag: Check that options are only allowed in the appropriate mode
+      tag: Add more tests about mixing incompatible modes and options
+
+Stefan Naewe (2):
+      git ls-remote: make usage string match manpage
+      request-pull: make usage string match manpage
+
+Thomas Rast (1):
+      fetch-pack: Avoid memcpy() with src==dst
+
+
+Version v1.6.0.4; changes since v1.6.0.3:
+-----------------------------------------
+
+Alex Riesen (10):
+      Add mksnpath which allows you to specify the output buffer
+      Fix mkpath abuse in dwim_ref and dwim_log of sha1_name.c
+      Fix potentially dangerous uses of mkpath and git_path
+      Plug a memleak in builtin-revert
+      Add git_snpath: a .git path formatting routine with output buffer
+      Fix potentially dangerous use of git_path in ref.c
+      git_pathdup: returns xstrdup-ed copy of the formatted path
+      Use git_pathdup instead of xstrdup(git_path(...))
+      Add --verbose|-v to test-chmtime
+      Use test-chmtime -v instead of perl in t5000 to get mtime of a file
+
+Charles Bailey (1):
+      git-archive: work in bare repos
+
+Christian Jaeger (1):
+      Git.pm: do not break inheritance
+
+Clemens Buchacher (2):
+      do not force write of packed refs
+      push: fix local refs update if already up-to-date
+
+Deskin Miller (2):
+      git-svn: change dashed git-config to git config
+      git-svn: change dashed git-commit-tree to git commit-tree
+
+Gustaf Hendeby (1):
+      git-gui: Help identify aspell version on Windows too
+
+Jakub Narebski (1):
+      Documentation/gitattributes: Add subsection header for each attribute
+
+Jan Krüger (1):
+      Documentation: clarify information about 'ident' attribute
+
+Jeff King (5):
+      refactor handling of "other" files in ls-files and status
+      correct cache_entry allocation
+      pack-objects: avoid reading uninitalized data
+      fix overlapping memcpy in normalize_absolute_path
+      send-pack: do not send out single-level refs such as refs/stash
+
+Johannes Schindelin (1):
+      Fix fetch/pull when run without --update-head-ok
+
+Jonas Fonseca (1):
+      asciidoc: add minor workaround to add an empty line after code blocks
+
+Junio C Hamano (9):
+      pull: allow "git pull origin $something:$current_branch" into an unborn branch
+      Fix "checkout --track -b newbranch" on detached HEAD
+      reset --hard/read-tree --reset -u: remove unmerged new paths
+      demonstrate breakage of detached checkout with symbolic link HEAD
+      Enhance hold_lock_file_for_{update,append}() API
+      Start 1.6.0.4 cycle
+      Update draft 1.6.0.4 release notes
+      format-patch documentation: mention the special case of showing a single commit
+      GIT 1.6.0.4
+
+Linus Torvalds (1):
+      Add file delete/create info when we overflow rename_limit
+
+Markus Heidelberg (1):
+      bash completion: add doubledash to "git show"
+
+Mikael Magnusson (1):
+      Document that git-log takes --all-match.
+
+Miklos Vajna (5):
+      Fix git branch -m for symrefs.
+      rename_ref(): handle the case when the reflog of a ref does not exist
+      Fix git update-ref --no-deref -d.
+      git branch -m: forbid renaming of a symref
+      update-ref --no-deref -d: handle the case when the pointed ref is packed
+
+Nanako Shiraishi (1):
+      Install git-cvsserver in $(bindir)
+
+Pierre Habouzit (1):
+      git send-email: avoid leaking directory file descriptors.
+
+Quy Tonthat (1):
+      Update RPM spec for the new location of git-cvsserver.
+
+Thomas Rast (1):
+      add -p: warn if only binary changes present
+
+Tom Preston-Werner (1):
+      add instructions on how to send patches to the mailing list with Gmail
+
+Tommi Virtanen (1):
+      Install git-shell in bindir, too
+
+Yann Dirson (1):
+      Add reference for status letters in documentation.
+
+
+Version v1.6.0.3; changes since v1.6.0.2:
+-----------------------------------------
+
+Abhijit Bhopatkar (1):
+      Documentation: Clarify '--signoff' for git-commit
+
+Alec Berryman (2):
+      git-svn: factor out svnserve test code for later use
+      git-svn: Always create a new RA when calling do_switch for svn://
+
+Alex Riesen (3):
+      Remove empty directories in recursive merge
+      Add remove_path: a function to remove as much as possible of a path
+      Use remove_path from dir.c instead of own implementation
+
+Alexander Gavrilov (1):
+      builtin-blame: Fix blame -C -C with submodules.
+
+Björn Steinbrink (1):
+      force_object_loose: Fix memory leak
+
+Brandon Casey (14):
+      t9700/test.pl: avoid bareword 'STDERR' in 3-argument open()
+      t9700/test.pl: remove File::Temp requirement
+      diff.c: return pattern entry pointer rather than just the hunk header pattern
+      diff.c: associate a flag with each pattern and use it for compiling regex
+      diff.*.xfuncname which uses "extended" regex's for hunk header selection
+      t4018-diff-funcname: test syntax of builtin xfuncname patterns
+      builtin-prune.c: prune temporary packs in <object_dir>/pack directory
+      git-stash.sh: don't default to refs/stash if invalid ref supplied
+      builtin-merge.c: allocate correct amount of memory
+      git-stash.sh: fix flawed fix of invalid ref handling (commit da65e7c1)
+      remote.c: correct the check for a leading '/' in a remote name
+      t4018-diff-funcname: rework negated last expression test
+      t4018-diff-funcname: demonstrate end of line funcname matching flaw
+      xdiff-interface.c: strip newline (and cr) from line before pattern matching
+
+Charles Bailey (2):
+      Add new test to demonstrate git archive core.autocrlf inconsistency
+      Make git archive respect core.autocrlf when creating zip format archives
+
+Chris Frey (1):
+      Documentation: clarify the details of overriding LESS via core.pager
+
+Dan McGee (1):
+      contrib: update packinfo.pl to not use dashed commands
+
+Daniel Barkalow (1):
+      Check early that a new branch is new and valid
+
+David Soria Parra (1):
+      Solaris: Use OLD_ICONV to avoid compile warnings
+
+Deskin Miller (2):
+      maint: check return of split_cmdline to avoid bad config strings
+      git init: --bare/--shared overrides system/global config
+
+Dmitry Potapov (4):
+      git-rebase-interactive: do not squash commits on abort
+      git-rebase--interactive: auto amend only edited commit
+      make prefix_path() never return NULL
+      do not segfault if make_cache_entry failed
+
+Eric Raible (1):
+      completion: git commit should list --interactive
+
+Eric Wong (1):
+      git-svn: fix handling of even funkier branch names
+
+Fabrizio Chiarello (1):
+      builtin-clone: fix typo
+
+Garry Dolley (1):
+      Clarified gitattributes documentation regarding custom hunk header.
+
+Giuseppe Bilotta (1):
+      gitweb: remove PATH_INFO from $my_url and $my_uri
+
+Heikki Orsila (2):
+      Start conforming code to "git subcmd" style part 3
+      Cosmetical command name fix
+
+Imre Deak (1):
+      builtin-apply: fix typo leading to stack corruption
+
+Jakub Narebski (2):
+      gitweb: Fix two 'uninitialized value' warnings in git_tree()
+      gitweb: Add path_info tests to t/t9500-gitweb-standalone-no-errors.sh
+
+Jeff King (3):
+      Makefile: do not set NEEDS_LIBICONV for Solaris 8
+      git apply --directory broken for new files
+      tests: shell negation portability fix
+
+Joey Hess (1):
+      gitweb: avoid warnings for commits without body
+
+Johan Herland (2):
+      for-each-ref: Fix --format=%(subject) for log message without newlines
+      Use strchrnul() instead of strchr() plus manual workaround
+
+Johannes Schindelin (2):
+      git rm: refresh index before up-to-date check
+      rebase -i: do not fail when there is no commit to cherry-pick
+
+Johannes Sixt (2):
+      git-remote: do not use user input in a printf format string
+      git-push.txt: Describe --repo option in more detail
+
+Jonas Fonseca (2):
+      checkout: Do not show local changes when in quiet mode
+      git-check-attr(1): add output and example sections
+
+Junio C Hamano (15):
+      discard_cache: reset lazy name_hash bit
+      diff Porcelain: do not disable auto index refreshing on -C -C
+      diff --quiet: make it synonym to --exit-code >/dev/null
+      Don't verify host name in SSL certs when GIT_SSL_NO_VERIFY is set
+      Fix permission bits on sources checked out with an overtight umask
+      checkout: do not lose staged removal
+      diff/diff-files: do not use --cc too aggressively
+      Start draft release notes for 1.6.0.3
+      diff: use extended regexp to find hunk headers
+      diff hunk pattern: fix misconverted "\{" tex macro introducers
+      Update draft release notes to 1.6.0.3
+      diff(1): clarify what "T"ypechange status means
+      Hopefully the final draft release notes update before 1.6.0.3
+      Fix testcase failure when extended attributes are in use
+      GIT 1.6.0.3
+
+Linus Torvalds (1):
+      fix bogus "diff --git" header from "diff --no-index"
+
+Luc Heinrich (1):
+      git-svn: call 'fatal' correctly in set-tree
+
+Matt McCutchen (1):
+      t1301-shared-repo.sh: don't let a default ACL interfere with the test
+
+Michael J Gruber (1):
+      make "git remote" report multiple URLs
+
+Michael Prokop (1):
+      Replace svn.foo.org with svn.example.com in git-svn docs (RFC 2606)
+
+Mikael Magnusson (4):
+      Typo "bogos" in format-patch error message.
+      git-repack uses --no-repack-object, not --no-repack-delta.
+      Fix a few typos in relnotes
+      Typo "does not exists" when git remote update remote.
+
+Miklos Vajna (2):
+      test-lib: fix color reset in say_color()
+      Add testcase to ensure merging an early part of a branch is done properly
+
+Nanako Shiraishi (2):
+      docs: describe pre-rebase hook
+      Teach rebase -i to honor pre-rebase hook
+
+Nicolas Pitre (2):
+      fix pread()'s short read in index-pack
+      rehabilitate 'git index-pack' inside the object store
+
+Petr Baudis (1):
+      Do not perform cross-directory renames when creating packs
+
+Ping Yin (1):
+      git-submodule: Fix "Unable to checkout" for the initial 'update'
+
+Rafael Garcia-Suarez (1):
+      Clarify commit error message for unmerged files
+
+SZEDER Gábor (5):
+      t0024: add executable permission
+      Documentation: remove '\' in front of short options
+      rebase -i: proper prepare-commit-msg hook argument when squashing
+      rebase -i: remove leftover debugging
+      bash: remove fetch, push, pull dashed form leftovers
+
+Samuel Tardieu (1):
+      Do not use errno when pread() returns 0
+
+Shawn O. Pearce (3):
+      Update release notes for 1.6.0.3
+      Update release notes for 1.6.0.3
+      test-lib: fix broken printf
+
+Stephen Haberman (1):
+      Clarify how the user can satisfy stash's 'dirty state' check.
+
+Thomas Rast (1):
+      sha1_file: link() returns -1 on failure, not errno
+
+Todd Zullinger (1):
+      Use dashless git commands in setgitperms.perl
+
+Tuncer Ayaz (1):
+      Fix fetch/clone --quiet when stdout is connected
+
+Yann Dirson (1):
+      Bust the ghost of long-defunct diffcore-pathspec.
+
+martin f. krafft (1):
+      Improve git-log documentation wrt file filters
+
+
+Version v1.6.0.2; changes since v1.6.0.1:
+-----------------------------------------
+
+Alex Riesen (1):
+      Fix use of hardlinks in "make install"
+
+Alexander Gavrilov (1):
+      git-gui: Fix string escaping in po2msg.sh
+
+Alexandre Bourget (2):
+      git-gui: Update french translation
+      git-gui: update all remaining translations to French.
+
+Andreas Färber (1):
+      Makefile: always provide a fallback when hardlinks fail
+
+Arjen Laarhoven (1):
+      Use compatibility regex library for OSX/Darwin
+
+Ask Bjørn Hansen (1):
+      Document sendemail.envelopesender configuration
+
+Björn Steinbrink (1):
+      for-each-ref: Allow a trailing slash in the patterns
+
+Clemens Buchacher (2):
+      git gui: show diffs with a minimum of 1 context line
+      clone: fix creation of explicitly named target directory
+
+Gustaf Hendeby (1):
+      Document clarification: gitmodules, gitattributes
+
+Heikki Orsila (3):
+      Start conforming code to "git subcmd" style
+      Improve documentation for --dirstat diff option
+      Start conforming code to "git subcmd" style part 2
+
+Jeff King (4):
+      Fix "git log -i --grep"
+      pretty=format: respect date format options
+      checkout: fix message when leaving detached HEAD
+      Use compatibility regex library also on FreeBSD
+
+Johan Herland (1):
+      Bring local clone's origin URL in line with that of a remote clone
+
+Johannes Sixt (1):
+      Use compatibility regex library also on AIX
+
+Jonas Fonseca (1):
+      Fix passwd(5) ref and reflect that commit doens't use commit-tree
+
+Junio C Hamano (17):
+      ctype.c: protect tiny C preprocessor constants
+      shell: do not play duplicated definition games to shrink the executable
+      Fix example in git-name-rev documentation
+      git-apply: Loosen "match_beginning" logic
+      checkout: do not check out unmerged higher stages randomly
+      gitattributes: -crlf is not binary
+      diff: Help "less" hide ^M from the output
+      'git foo' program identifies itself without dash in die() messages
+      Start 1.6.0.2 maintenance cycle
+      diff --cumulative is a sub-option of --dirstat
+      log --author/--committer: really match only with name part
+      "blame -c" should be compatible with "annotate"
+      Mention the fact that 'git annotate' is only for backward compatibility.
+      stash: refresh the index before deciding if the work tree is dirty
+      Update draft release notes for 1.6.0.2
+      Update draft release notes for 1.6.0.2
+      GIT 1.6.0.2
+
+Linus Torvalds (2):
+      index-pack: be careful after fixing up the header/footer
+      Fix '--dirstat' with cross-directory renaming
+
+Marcus Griep (2):
+      Git.pm: Use File::Temp->tempfile instead of ->new
+      git-svn: Fixes my() parameter list syntax error in pre-5.8 Perl
+
+Miklos Vajna (2):
+      Makefile: add merge_recursive.h to LIB_H
+      t7501: always use test_cmp instead of diff
+
+Nanako Shiraishi (4):
+      tests: use "git xyzzy" form (t0000 - t3599)
+      tests: use "git xyzzy" form (t3600 - t6999)
+      tests: use "git xyzzy" form (t7000 - t7199)
+      tests: use "git xyzzy" form (t7200 - t9001)
+
+Nguyễn Thái Ngọc Duy (6):
+      index-pack: setup git repository
+      diff*: fix worktree setup
+      grep: fix worktree setup
+      read-tree: setup worktree if merge is required
+      update-index: fix worktree setup
+      setup_git_directory(): fix move to worktree toplevel directory
+
+Nicolas Pitre (7):
+      discard revindex data when pack list changes
+      pack-objects: improve returned information from write_one()
+      improve reliability of fixup_pack_header_footer()
+      pack-objects: use fixup_pack_header_footer()'s validation mode
+      index-pack: use fixup_pack_header_footer()'s validation mode
+      fixup_pack_header_footer(): use nicely aligned buffer sizes
+      improve handling of sideband message display
+
+Paolo Bonzini (1):
+      make git-shell paranoid about closed stdin/stdout/stderr
+
+Paolo Ciarrocchi (1):
+      tutorial: gentler illustration of Alice/Bob workflow using gitk
+
+Petr Baudis (1):
+      bash completion: Hide more plumbing commands
+
+Ralf Wildenhues (1):
+      Fix some manual typos.
+
+Ramsay Allan Jones (2):
+      Fix a warning (on cygwin) to allow -Werror
+      Suppress some bash redirection error messages
+
+SZEDER Gábor (3):
+      Documentation: fix reference to a for-each-ref option
+      Documentation: fix disappeared lines in 'git stash' manpage
+      Documentation: minor cleanup in a use case in 'git stash' manual
+
+Shawn O. Pearce (2):
+      pack-objects: Allow missing base objects when creating thin packs
+      git-gui: Fix diff parsing for lines starting with "--" or "++"
+
+Teemu Likonen (1):
+      config.txt: Add missing colons after option name
+
+Yann Dirson (1):
+      Document gitk --argscmd flag.
+
+
+Version v1.6.0.1; changes since v1.6.0:
+---------------------------------------
+
+Alexander Gavrilov (1):
+      Respect core.autocrlf in combined diff
+
+Brandon Casey (3):
+      t1002-read-tree-m-u-2way.sh: use 'git diff -U0' rather than 'diff -U0'
+      revision.h: make show_early_output an extern which is defined in revision.c
+      compat/snprintf.c: handle snprintf's that always return the # chars transmitted
+
+Don Zickus (1):
+      mailinfo: re-fix MIME multipart boundary parsing
+
+Eric Raible (1):
+      Completion: add missing '=' for 'diff --diff-filter'
+
+Eric Wong (1):
+      git-svn: fix dcommit to urls with embedded usernames
+
+Jeff King (2):
+      mailinfo: avoid violating strbuf assertion
+      decorate: allow const objects to be decorated
+
+Jim Meyering (2):
+      git format-patch: avoid underrun when format.headers is empty or all NLs
+      remote.c: remove useless if-before-free test
+
+Johannes Sixt (1):
+      Install templates with the user and group of the installing personality
+
+Jonathan Nieder (2):
+      Documentation: clarify pager.<cmd> configuration
+      Documentation: clarify pager configuration
+
+Junio C Hamano (9):
+      Start 1.6.0.X maintenance series
+      diff --check: do not get confused by new blank lines in the middle
+      for-each-ref: cope with tags with incomplete lines
+      completion: find out supported merge strategies correctly
+      "git-merge": allow fast-forwarding in a stat-dirty tree
+      Update draft release notes for 1.6.0.1
+      unpack_trees(): protect the handcrafted in-core index from read_cache()
+      merge: fix numerus bugs around "trivial merge" area
+      GIT 1.6.0.1
+
+Miklos Vajna (2):
+      Fix 'git help help'
+      Makefile: enable SNPRINTF_RETURNS_BOGUS for HP-UX
+
+Robert Schiele (1):
+      adapt git-cvsserver manpage to dash-free syntax
+
+Simon Hausmann (1):
+      Clean up the git-p4 documentation
+
+Tarmigan Casebolt (1):
+      Add hints to revert documentation about other ways to undo changes
+
+Tor Arvid Lund (1):
+      git-p4: Fix one-liner in p4_write_pipe function.
+
+
+Version v1.6.0; changes since v1.6.0-rc3:
+-----------------------------------------
+
+Alex Riesen (1):
+      Fix t3700 on filesystems which do not support question marks in names
+
+Alexander Gavrilov (1):
+      gitk: Allow safely calling nukefile from a run queue handler
+
+Anand Kumria (14):
+      Create a specific version of the read_pipe_lines command for p4 invocations
+      Utilise the new 'p4_read_pipe_lines' command
+      Have a command that specifically invokes 'p4' (via system)
+      Utilise the new 'p4_system' function.
+      Add a single command that will be used to construct the 'p4' command
+      If we are in verbose mode, output what we are about to run (or return)
+      Switch to using 'p4_build_cmd'
+      If the user has configured various parameters, use them.
+      Consistently use 'git-p4' for the configuration entries
+      Move git-p4.syncFromOrigin into a configuration parameters section
+      Put some documentation in about the parameters that have been added
+      Put in the two other configuration elements found in the source
+      Add p4 read_pipe and write_pipe wrappers
+      Utilise our new p4_read_pipe and p4_write_pipe wrappers
+
+Brandon Casey (2):
+      test-parse-options: use appropriate cast in length_callback
+      t5304-prune: adjust file mtime based on system time rather than file mtime
+
+Eric Blake (1):
+      Makefile: building git in cygwin 1.7.0
+
+Eric Raible (1):
+      bash completion: 'git apply' should use 'fix' not 'strip'
+
+Junio C Hamano (1):
+      GIT 1.6.0
+
+Kevin Ballard (1):
+      Fix escaping of glob special characters in pathspecs
+
+Lee Marlow (2):
+      bash completion: Add completion for 'git mergetool'
+      bash completion: Add '--merge' long option for 'git log'
+
+Marcus Griep (2):
+      bash-completion: Add non-command git help files to bash-completion
+      Git.pm: Make File::Spec and File::Temp requirement lazy
+
+Matt McCutchen (1):
+      git format-patch documentation: clarify what --cover-letter does
+
+Miklos Vajna (2):
+      Documentation: document the pager.* configuration setting
+      t9300: replace '!' with test_must_fail
+
+Robert Blum (1):
+      git-p4: chdir now properly sets PWD environment variable in msysGit
+
+Shawn O. Pearce (1):
+      git-gui 0.11
+
+Stephan Beyer (3):
+      git-am: ignore --binary option
+      git-stash: improve synopsis in help and manual page
+      Improve error output of git-rebase
+
+Thomas Rast (2):
+      rebase -i -p: handle index and workdir correctly
+      rebase -i -p: fix parent rewriting
+
+
+Version v1.6.0-rc3; changes since v1.6.0-rc2:
+---------------------------------------------
+
+Brandon Casey (2):
+      Makefile: set SHELL to value of SHELL_PATH
+      Makefile: add a target which will abort compilation with ancient shells
+
+Eric Wong (2):
+      git-svn: add ability to specify --commit-url for dcommit
+      git-svn: wrap long lines in a few places
+
+Francis Moreau (1):
+      git-bisect: fix wrong usage of read(1)
+
+Gustaf Hendeby (2):
+      gitattributes: Document built in hunk header patterns
+      Teach git diff about BibTeX head hunk patterns
+
+Ivan Stankovic (1):
+      Documentation: fix invalid reference to 'mybranch' in user manual
+
+Johannes Schindelin (1):
+      clone --mirror: avoid storing repeated tags
+
+Jonathan Nieder (1):
+      Documentation: user-manual: "git commit -a" doesn't motivate .gitignore
+
+Junio C Hamano (9):
+      asciidoc markup fixes
+      GIT-VERSION-GEN: mark the version 'dirty' only if there are modified files
+      mailinfo: fix MIME multi-part message boundary handling
+      Update draft RelNotes for 1.6.0
+      Fix deleting reflog entries from HEAD reflog
+      Re-fix rev-list-options documentation
+      diff --check: do not unconditionally complain about trailing empty lines
+      Do not talk about "diff" in rev-list documentation.
+      GIT 1.6.0-rc3
+
+Marcus Griep (5):
+      Fix multi-glob assertion in git-svn
+      git-svn: Allow deep branch names by supporting multi-globs
+      Git.pm: Add faculties to allow temp files to be cached
+      git-svn: Make it incrementally faster by minimizing temp files
+      git-svn: Reduce temp file usage when dealing with non-links
+
+Nguyễn Thái Ngọc Duy (1):
+      Fix typo in comments of longest_ancestor_length()
+
+Petr Baudis (2):
+      Fail properly when cloning from invalid HTTP URL
+      Adjust for the new way of enabling the default post-update hook
+
+Pieter de Bie (2):
+      builtin-rm: Add a --force flag
+      reflog test: add more tests for 'reflog delete'
+
+SZEDER Gábor (1):
+      bash: remove redundant check for 'git stash apply' options
+
+Stephen R. van den Berg (1):
+      git-daemon: SysV needs the signal handler reinstated.
+
+Thomas Rast (6):
+      Documentation: commit-tree: remove 16 parents restriction
+      Documentation: filter-branch: document how to filter all refs
+      filter-branch: be more helpful when an annotated tag changes
+      Documentation: rev-list-options: Fix -g paragraph formatting
+      Documentation: rev-list-options: Fix a typo
+      Documentation: rev-list-options: Rewrite simplification descriptions for clarity
+
+
+Version v1.6.0-rc2; changes since v1.6.0-rc1:
+---------------------------------------------
+
+Abhijit Menon-Sen (7):
+      `git submodule add` now requires a <path>
+      Make it clear that push can take multiple refspecs
+      Make the DESCRIPTION match <x>... items in the SYNOPSIS
+      Git.pm: localise $? in command_close_bidi_pipe()
+      Fix hash slice syntax error
+      Fix typo in perl/Git.pm
+      Fix typos in INSTALL
+
+Alex Riesen (1):
+      Make use of stat.ctime configurable
+
+Alexander Gavrilov (9):
+      git-gui: Fix the Remote menu separator.
+      git-gui: Preserve scroll position on reshow_diff.
+      Support copy and rename detection in fast-export.
+      gitk: Kill back-end processes on window close
+      gitk: Arrange to kill diff-files & diff-index on quit
+      gitk: On Windows, use a Cygwin-specific flag for kill
+      gitk: Fixed broken exception handling in diff
+      gitk: Fixed automatic row selection during load
+      gitk: Fallback to selecting the head commit upon load
+
+Anders Melchiorsen (4):
+      Advertise the ability to abort a commit
+      Documentation: fix diff.external example
+      Flush output in start_async
+      Add output flushing before fork()
+
+Avery Pennarun (2):
+      Teach "git diff -p" Pascal/Delphi funcname pattern
+      git-svn: Abort with an error if 'fetch' parameter is invalid.
+
+Brandon Casey (3):
+      t/t4202-log.sh: add newline at end of file
+      Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long
+      perl/Makefile: handle paths with spaces in the NO_PERL_MAKEMAKER section
+
+Brian Gernhardt (1):
+      Documentation: Remove mentions of git-svnimport.
+
+Cesar Eduardo Barros (1):
+      Documentation/git-rev-parse.txt: update for new git-describe output format
+
+Christian Couder (2):
+      merge-base: die with an error message if not passed a commit ref
+      documentation: user-manual: update "using-bisect" section
+
+Christian Stimming (2):
+      git-gui: Update German translation
+      gitk: Updated German translation
+
+Ciaran McCreesh (1):
+      Make git-add -i accept ranges like 7-
+
+David D. Kilzer (1):
+      Fix race condition in t9119-git-svn-info.sh
+
+Dmitry Potapov (1):
+      correct access right for git-svn-dcommit test
+
+Eric Wong (2):
+      git-svn: properly set path for "info" command
+      t9119: conditionally re-enable test depending on svn(1) version
+
+Giuseppe Bilotta (2):
+      diff: add ruby funcname pattern
+      diff: chapter and part in funcname for tex
+
+Jeff King (3):
+      init: handle empty "template" parameter
+      Compact commit template message
+      init: handle empty "template" parameter
+
+Jim Meyering (1):
+      git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout.
+
+Johannes Schindelin (3):
+      sort_in_topological_order(): avoid setting a commit flag
+      clone: Add an option to set up a mirror
+      clone --bare: Add ".git" suffix to the directory name to clone into
+
+Johannes Sixt (1):
+      git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core'
+
+Jon Jensen (1):
+      Fix reference to Everyday Git, which is an HTML document and not a man page.
+
+Jonathan Nieder (1):
+      git-diff(1): "--c" -> "--cc" typo fix
+
+Junio C Hamano (19):
+      Allow building without any git installed
+      Allow installing in the traditional way
+      ls-tree documentation: enhance notes on subdirectory and pathspec behaviour
+      Documentation: clarify what is shown in "git-ls-files -s" output
+      t7001: fix "git mv" test
+      Teach gitlinks to ie_modified() and ce_modified_check_fs()
+      Fix merge name generation in "merge in C"
+      Fix test-parse-options "integer" test
+      Teach --find-copies-harder to "git blame"
+      make sure parsed wildcard refspec ends with slash
+      Documentation: clarify diff --cc
+      Update my e-mail address
+      Start 1.5.6.5 RelNotes to describe accumulated fixes
+      builtin-name-rev.c: split deeply nested part from the main function
+      RelNotes 1.5.6.5 updates
+      fix diff-tree --stdin documentation
+      Files given on the command line are relative to $cwd
+      GIT 1.5.6.5
+      GIT 1.6.0-rc2
+
+Kevin Ballard (1):
+      format-patch: Produce better output with --inline or --attach
+
+Lee Marlow (11):
+      bash completion: remove unused function _git_diff_tree
+      bash completion: Add more long options for 'git log'
+      bash completion: Add completion for 'git grep'
+      bash completion: Add completion for 'git clone'
+      bash completion: Add completion for 'git clean'
+      bash completion: Add completion for 'git init'
+      bash completion: Add completion for 'git revert'
+      bash completion: More completions for 'git stash'
+      bash completion: Add completion for 'git archive'
+      bash completion: Add completion for 'git ls-files'
+      bash completion: Add completion for 'git mv'
+
+Linus Torvalds (1):
+      diff.renamelimit is a basic diff configuration
+
+Michele Ballabio (2):
+      git-gui: update po/it.po
+      git-gui: add a part about format strings in po/README
+
+Mikael Magnusson (2):
+      git-gui: Update swedish translation.
+      gitk: Update swedish translation.
+
+Mike Ralphson (2):
+      Documentation: typos / spelling fixes in older RelNotes
+      Documentation: typos / spelling fixes
+
+Nanako Shiraishi (1):
+      git-gui: update Japanese translation
+
+Olivier Marin (1):
+      builtin-verify-tag: fix -v option parsing
+
+Pierre Habouzit (2):
+      Allow "non-option" revision options in parse_option-enabled commands
+      git-submodule: move ill placed shift.
+
+Pieter de Bie (1):
+      git-name-rev: allow --name-only in combination with --stdin
+
+René Scharfe (2):
+      archive: allow --exec and --remote without equal sign
+      git-name-rev: don't use printf without format
+
+Shawn O. Pearce (2):
+      git-gui: Fix gitk search in $PATH to work on Windows
+      git-gui: Update git-gui.pot for 0.11 nearing release
+
+Steffen Prohaska (6):
+      Refactor, adding prepare_git_cmd(const char **argv)
+      run-command (Windows): Run dashless "git <cmd>"
+      git-gui: Correct installation of library to be $prefix/share
+      git-gui (Windows): Switch to relative discovery of oguilib
+      git-gui (Windows): Change wrapper to execdir 'libexec/git-core'
+      Modify mingw_main() workaround to avoid link errors
+
+Stephan Beyer (1):
+      builtin-revert.c: typofix
+
+Steve Haslam (1):
+      Propagate -u/--upload-pack option of "git clone" to transport.
+
+Steven Grimm (1):
+      Optimize sha1_object_info for loose objects, not concurrent repacks
+
+Todd Zullinger (1):
+      Replace uses of "git-var" with "git var"
+
+
+Version v1.6.0-rc1; changes since v1.6.0-rc0:
+---------------------------------------------
+
+Abhijit Menon-Sen (2):
+      git-gui: Look for gitk in $PATH, not $LIBEXEC/git-core
+      Clarify that "git log x.c y.h" lists commits that touch either file
+
+Alex Riesen (1):
+      Allow pager of diff command be enabled/disabled
+
+Alexander Gavrilov (4):
+      Fix pre-commit hooks under MinGW/MSYS
+      Add options to control the search for copies in blame.
+      Kill the blame back-end on window close.
+      Add a menu item to invoke full copy detection in blame.
+
+Anders Melchiorsen (1):
+      Documentation: fix diff.external example
+
+Björn Steinbrink (2):
+      index-pack.c: correctly initialize appended objects
+      rev-parse: Add support for the ^! and ^@ syntax
+
+Brad King (1):
+      git-svn: teach dcommit about svn auto-props
+
+Brandon Casey (7):
+      t/: Replace diff [-u|-U0] with test_cmp to allow compilation with old diff
+      t4116-apply-reverse.sh: use $TAR rather than tar
+      t3200,t7201: replace '!' with test_must_fail
+      t7502-commit.sh: rearrange test to make more portable
+      t/t4202-log.sh: add newline at end of file
+      Teach fsck and prune about the new location of temporary objects
+      perl/Makefile: update NO_PERL_MAKEMAKER section
+
+Cesar Eduardo Barros (1):
+      Documentation/git-submodule.txt: fix doubled word
+
+Daniel Barkalow (1):
+      In perforce, RCS keywords are case-sensitive
+
+Jakub Narebski (1):
+      gitweb: More about how gitweb gets 'owner' of repository
+
+Johannes Schindelin (9):
+      Rename .git/rebase to .git/rebase-apply
+      Rename path_list to string_list
+      Fix two leftovers from path_list->string_list
+      Ignore dirty submodule states in "git pull --rebase"
+      Add test to show that show-branch misses out the 8th column
+      sort_in_topological_order(): avoid setting a commit flag
+      builtin-commit: Two trivial style-cleanups
+      git daemon: avoid waking up too often
+      Avoid chdir() in list_commands_in_dir()
+
+Johannes Sixt (12):
+      rebase -i: When an 'edit' stops, mention the commit
+      Makefile: Do not install a copy of 'git' in $(gitexecdir)
+      Makefile: Normalize $(bindir) and $(gitexecdir) before comparing
+      Record the command invocation path early
+      Fix relative built-in paths to be relative to the command invocation
+      Allow the built-in exec path to be relative to the command invocation path
+      Allow add_path() to add non-existent directories to the path
+      Windows: Make $(gitexecdir) relative
+      Windows: Make sure argv[0] has a path
+      Windows: Do not compile git-shell
+      git-gui: Fix "Stage/Unstage Line" with one line of context.
+      git-gui: "Stage Line": Treat independent changes in adjacent lines better
+
+Jonathan Nieder (3):
+      git-diff(1): "--c" -> "--cc" typo fix
+      document that git-tag can tag more than heads
+      t6030 (bisect): work around Mac OS X "ls"
+
+Junio C Hamano (13):
+      Update my e-mail address
+      Revert "make git-status use a pager"
+      tests: do not rely on external "patch"
+      stash save: fix parameter handling
+      builtin-branch.c: remove unused code in append_ref() callback function
+      builtin-branch.c: optimize --merged and --no-merged
+      Documentation: clarify diff --cc
+      ignore non-existent refs in dwim_log()
+      tests: propagate $(TAR) down from the toplevel Makefile
+      Makefile: fix shell quoting
+      Documentation: clarify how to disable elements in core.whitespace
+      make sure parsed wildcard refspec ends with slash
+      GIT 1.6.0-rc1
+
+Lars Hjemli (3):
+      builtin-branch: remove duplicated code
+      builtin-branch: factor out merge_filter matching
+      builtin-branch: fix -v for --[no-]merged
+
+Lee Marlow (2):
+      bash completion: Add long options for 'git rm'
+      bash completion: Add completion for 'git help'
+
+Miklos Vajna (2):
+      builtin-merge: give a proper error message for invalid strategies in config
+      t7601: extend the 'merge picks up the best result' test
+
+Nikolaj Schumacher (1):
+      Don't cut off last character of commit descriptions.
+
+Olivier Marin (4):
+      git-am: remove dash from help message
+      parse-options: fix segmentation fault when a required value is missing
+      git am --skip: clean the index while preserving local changes
+      update test case to protect am --skip behaviour
+
+P. Christeas (1):
+      svnimport: newer libsvn wants us to ask for the root with "", not "/"
+
+Peter Valdemar Mørch (1):
+      send-email: find body-encoding correctly
+
+Petr Baudis (4):
+      git-filter-branch.sh: Allow running in bare repositories
+      Documentation/git-filter-branch: teach "rm" instead of "update-index --remove"
+      git-mv: Remove dead code branch
+      git-mv: Keep moved index entries inact
+
+Philippe Bruhat (1):
+      mailinfo: better parse email adresses containg parentheses
+
+Pierre Habouzit (4):
+      builtin-merge: add missing structure initialization
+      git-submodule: move ill placed shift.
+      git-checkout: fix command line parsing.
+      git-checkout: improve error messages, detect ambiguities.
+
+René Scharfe (5):
+      archive: add write_archive()
+      archive: move parameter parsing code to archive.c
+      archive: define MAX_ARGS where it's needed
+      archive: declare struct archiver where it's needed
+      archive: allow --exec and --remote without equal sign
+
+SZEDER Gábor (2):
+      checkout: mention '--' in the docs
+      bash: offer only paths after '--' for 'git checkout'
+
+Shawn O. Pearce (2):
+      git-gui: Correct 'Visualize Branches' on Mac OS X to start gitk
+      fsck: Don't require tmp_obj_ file names are 14 bytes in length
+
+Stephan Beyer (7):
+      git-am: Add colon before the subject that is printed out as being applied
+      am --abort: Add to bash-completion and mention in git-rerere documentation
+      Make non-static functions, that may be static, static
+      Move launch_editor() from builtin-tag.c to editor.c
+      editor.c: Libify launch_editor()
+      git-am: Mention --abort in usage string part of OPTIONS_SPEC
+      git-reset: Let -q hush "locally modified" messages
+
+Steve Haslam (2):
+      Propagate -u/--upload-pack option of "git clone" to transport.
+      Remove references to git-fetch-pack from "git clone" documentation.
+
+Thomas Rast (2):
+      git-completion.bash: provide completion for 'show-branch'
+      bash completion: Add long options for 'git describe'
+
+
+Version v1.6.0-rc0; changes since v1.5.6.6:
+-------------------------------------------
+
+Abhijit Menon-Sen (4):
+      git-gui: Move on to the next filename after staging/unstaging a change
+      git-gui: Don't select the wrong file if the last listed file is staged.
+      Implement "git stash branch <newbranch> <stash>"
+      Add a test for "git stash branch"
+
+Adam Brewster (2):
+      Move read_revisions_from_stdin from builtin-rev-list.c to revision.c
+      Teach git-bundle to read revision arguments from stdin like git-rev-list.
+
+Alex Riesen (1):
+      Fix use of "perl -i" on Windows
+
+Alexander Gavrilov (3):
+      Avoid rescanning unchanged entries in search for copies.
+      Do not try to detect move/copy for entries below threshold.
+      Support gitlinks in fast-import.
+
+Avery Pennarun (1):
+      Reword "your branch has diverged..." lines to reduce line length
+
+Brandon Casey (1):
+      t7701-repack-unpack-unreachable.sh: check timestamp of unpacked objects
+
+Brian Gernhardt (4):
+      Fix t4017-diff-retval for white-space from wc
+      Add test results directory to t/.gitignore
+      Documentation: Point to gitcli(7) from git(1)
+      Documentation: mention ORIG_HEAD in am, merge, and rebase
+
+Christian Couder (2):
+      help: check early if we have a command, if not try a documentation topic
+      Fix "config_error_nonbool" used with value instead of key
+
+Ciaran McCreesh (1):
+      Make git-add -i accept ranges like 7-
+
+Cristian Peraferrer (1):
+      Print errno upon failure to open the COMMIT_EDITMSG file
+
+Daniel Barkalow (1):
+      Only use GIT_CONFIG in "git config", not other programs
+
+David Reiss (4):
+      Implement normalize_absolute_path
+      Fold test-absolute-path into test-path-utils
+      Add support for GIT_CEILING_DIRECTORIES
+      Eliminate an unnecessary chdir("..")
+
+Dmitry Kakurin (1):
+      Fixed text file auto-detection: treat EOF character 032 at the end of file as printable
+
+Dmitry Potapov (4):
+      update-hook-example: optionally allow non-fast-forward
+      shrink git-shell by avoiding redundant dependencies
+      completion.bash: add 'skip' and 'run' to git-bisect
+      git-svn: fix git svn info to work without arguments
+
+Don Zickus (1):
+      git-apply: handle a patch that touches the same path more than once better
+
+Eric Hanchrow (2):
+      user-manual: typo and grammar fixes
+      Documentation: fix broken "linkgit" links
+
+Eric Raible (3):
+      Documentation: tweak use case in "git stash save --keep-index"
+      completion: add branch options --contains --merged --no-merged
+      Teach lookup_prog not to select directories
+
+Eric Wong (1):
+      t/lib-git-svn: fix SVN_HTTPD tests to work with "trash directory"
+
+Fabian Emmes (2):
+      Testsuite: Unset CVS_SERVER
+      testsuite for cvs co -c
+
+Frederik Schwarzer (1):
+      git-svn: typofix
+
+Ian Katz (1):
+      tutorial: use prompt with user names in example, to clarify who is doing what
+
+Jakub Narebski (4):
+      gitweb: Separate filling list of projects info
+      gitweb: Separate generating 'sort by' table header
+      t/README: Add 'Skipping Tests' section below 'Running Tests'
+      gitweb: Describe projects_index format in more detail
+
+Jeff King (9):
+      fix whitespace violations in test scripts
+      mask necessary whitespace policy violations in test scripts
+      avoid whitespace on empty line in automatic usage message
+      avoid trailing whitespace in zero-change diffstat lines
+      enable whitespace checking of test scripts
+      clone: create intermediate directories of destination repo
+      improve for-each-ref test script
+      Allow per-command pager config
+      avoid null SHA1 in oldest reflog
+
+Jing Xue (1):
+      Add 'git-p4.allowSubmit' to git-p4
+
+Johan Herland (4):
+      Incorporate fetched packs in future object traversal
+      Move pack_refs() and friends into libgit
+      Prepare testsuite for a "git clone" that packs refs
+      Teach "git clone" to pack refs
+
+Johannes Schindelin (12):
+      Windows: always chmod(, 0666) before unlink().
+      commit-tree: lift completely arbitrary limit of 16 parents
+      Allow git-apply to recount the lines in a hunk (AKA recountdiff)
+      Add another fast-import example, this time for .zip files
+      Teach "git apply" to prepend a prefix with "--root=<root>"
+      git fetch-pack: do not complain about "no common commits" in an empty repo
+      Allow cherry-picking root commits
+      Convert CR/LF to LF in tag signatures
+      Move MERGE_RR from .git/rr-cache/ into .git/
+      git-gui: MERGE_RR lives in .git/ directly with newer Git versions
+      shortlog: support --pretty=format: option
+      Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"
+
+Johannes Sixt (38):
+      Add compat/regex.[ch] and compat/fnmatch.[ch].
+      Compile some programs only conditionally.
+      Add target architecture MinGW.
+      Windows: Use the Windows style PATH separator ';'.
+      setup.c: Prepare for Windows directory separators.
+      Windows: Treat Windows style path names.
+      Windows: Handle absolute paths in safe_create_leading_directories().
+      Windows: Strip ".exe" from the program name.
+      Windows: Implement a wrapper of the open() function.
+      Windows: A minimal implemention of getpwuid().
+      Windows: Work around misbehaved rename().
+      Make my_mktime() public and rename it to tm_to_time_t()
+      Windows: Implement gettimeofday().
+      Windows: Fix PRIuMAX definition.
+      Windows: Implement setitimer() and sigaction().
+      Windows: Wrap execve so that shell scripts can be invoked.
+      Windows: A pipe() replacement whose ends are not inherited to children.
+      Windows: Implement start_command().
+      Windows: A rudimentary poll() emulation.
+      Windows: Disambiguate DOS style paths from SSH URLs.
+      Windows: Implement asynchronous functions as threads.
+      Windows: Work around incompatible sort and find.
+      Windows: Implement wrappers for gethostbyname(), socket(), and connect().
+      Windows: Implement a custom spawnve().
+      Windows: Add a custom implementation for utime().
+      Windows: Use a customized struct stat that also has the st_blocks member.
+      Turn builtin_exec_path into a function.
+      Windows: Compute the fallback for exec_path from the program invocation.
+      Windows: Use a relative default template_dir and ETC_GITCONFIG
+      When installing, be prepared that template_dir may be relative.
+      Windows: Make the pager work.
+      Windows: Work around an oddity when a pipe with no reader is written to.
+      Windows: Make 'git help -a' work.
+      Windows: TMP and TEMP environment variables specify a temporary directory.
+      git-gui: Implement "Stage/Unstage Line"
+      t4127-apply-same-fn: Avoid sed -i
+      Provide fallback definitions of PRIu32 and PRIx32
+      builtin-clone: rewrite guess_dir_name()
+
+Jonathan Nieder (23):
+      Documentation: don't assume git-sh-setup and git-parse-remote are in PATH
+      Documentation: fix links to tutorials and other new manual pages
+      whitespace fix in Documentation/git-repack.txt
+      Documentation: complicate example of "man git-command"
+      git-daemon(1): don't assume git-daemon is in /usr/bin
+      Documentation: prepare to be consistent about "git-" versus "git "
+      Documentation: be consistent about "git-" versus "git "
+      Documentation formatting and cleanup
+      git-format-patch(1): fix stray \ in output
+      Documentation: fix gitlinks
+      manpages: fix bogus whitespace
+      git(1): add comma
+      git-commit(1): depersonalize description
+      Documentation: rewrap to prepare for "git-" vs "git " change
+      Documentation: more "git-" versus "git " changes
+      gitdiffcore(7): fix awkward wording
+      manpages: italicize command names in synopses
+      manpages: italicize command names
+      manpages: italicize git command names (which were in teletype font)
+      manpages: italicize gitk's name (where it was in teletype font)
+      manpages: italicize nongit command names (if they are in teletype font)
+      manpages: italicize git subcommand names (which were in teletype font)
+      manpages: use teletype font for sample command lines
+
+João Abecasis (1):
+      git-svn: find-rev and rebase for SVN::Mirror repositories
+
+Junio C Hamano (65):
+      revision traversal: --children option
+      rev-list --children
+      builtin-blame.c: move prepare_final() into a separate function.
+      builtin-blame.c: allow more than 16 parents
+      git-blame --reverse
+      rerere: rerere_created_at() and has_resolution() abstraction
+      git-rerere: detect unparsable conflicts
+      rerere: remove dubious "tail_optimization"
+      t4200: fix rerere test
+      rerere.autoupdate
+      git-shell: accept "git foo" form
+      Prepare execv_git_cmd() for removal of builtins from the filesystem
+      pre-rebase hook update
+      Ship sample hooks with .sample suffix
+      Keep some git-* programs in $(bindir)
+      Start draft release notes for 1.6.0
+      diff --check: explain why we do not care whether old side is binary
+      check_and_emit_line(): rename and refactor
+      checkdiff: pass diff_options to the callback
+      Teach "diff --check" about new blank lines at end
+      diff --check: detect leftover conflict markers
+      Update sample pre-commit hook to use "diff --check"
+      Document the double-dash "rev -- path" disambiguator
+      t9700: skip when Test::More is not available
+      Update draft release notes for 1.6.0
+      Introduce get_merge_bases_many()
+      Introduce reduce_heads()
+      Update draft release notes for 1.6.0
+      apply --root: thinkofix.
+      Refactor "tracking statistics" code used by "git checkout"
+      git-status: show the remote tracking statistics
+      git-branch -v: show the remote tracking statistics
+      fast-export --export-marks: fix off by one error
+      stat_tracking_info(): clear object flags used during counting
+      branch -r -v: do not spit out garbage
+      git-apply --directory: make --root more similar to GNU diff
+      Update draft release notes for 1.6.0
+      Teach "am" and "rebase" to mark the original position with ORIG_HEAD
+      Tone down warning about GNU Interactive Tools
+      Documentation: update sections on naming revisions and revision ranges
+      branch --contains: default to HEAD
+      branch --merged/--no-merged: allow specifying arbitrary commit
+      apply: fix copy/rename breakage
+      Teach merge.log to "git-merge" again
+      Update draft release notes for 1.6.0
+      reduce_heads(): protect from duplicate input
+      git-rebase: report checkout failure
+      tutorial: clarify "pull" is "fetch + merge"
+      Update draft release notes to 1.6.0
+      t/aggregate-results: whitespace fix
+      Update draft release notes for 1.6.0
+      read-cache.c: typofix
+      mailinfo: off-by-one fix for [PATCH (foobar)] removal from Subject: line
+      rerere.autoupdate: change the message when autoupdate is in effect
+      builtin-remote.c: fix earlier "skip_prefix()" conversion
+      t9001 (send-email): Do not use hardcoded /bin/sh in test
+      .mailmap update
+      Getting closer to 1.6.0-rc0
+      builtin-add.c: restructure the code for maintainability
+      git-add --all: add all files
+      git-add --all: tests
+      git-add --all: documentation
+      Link shell with compat layer functions
+      Move read_in_full() and write_in_full() to wrapper.c
+      "needs update" considered harmful
+
+Karl Hasselström (2):
+      Clean up builtin-update-ref's option parsing
+      Make old sha1 optional with git update-ref -d
+
+Kevin Ballard (1):
+      git-send-email: Accept fifos as well as files
+
+Lars Noschinski (3):
+      cvsserver: Add support for packed refs
+      cvsserver: Add cvs co -c support
+      cvsserver: Add testsuite for packed refs
+
+Lea Wiemann (6):
+      test-lib.sh: add --long-tests option
+      t/test-lib.sh: add test_external and test_external_without_stderr
+      Git.pm: add test suite
+      gitweb: standarize HTTP status codes
+      test-lib.sh: show git init output when in verbose mode
+      GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy
+
+Linus Torvalds (1):
+      Shrink the git binary a bit by avoiding unnecessary inline functions
+
+Lukas Sandström (4):
+      Add a helper script to send patches with Mozilla Thunderbird
+      Make some strbuf_*() struct strbuf arguments const.
+      Add some useful functions for strbuf manipulation.
+      git-mailinfo: use strbuf's instead of fixed buffers
+
+Marius Storm-Olsen (4):
+      Add an optional <mode> argument to commit/status -u|--untracked-files option
+      Add argument 'no' commit/status option -u|--untracked-files
+      Add configuration option for default untracked files mode
+      Windows: Add a new lstat and fstat implementation based on Win32 API.
+
+Mark Levedahl (3):
+      install-doc-quick - use git --exec-path to find git-sh-setup
+      git-submodule - make "submodule add" more strict, and document it
+      git-submodule - register submodule URL if adding in place
+
+Michele Ballabio (3):
+      t9301-fast-export.sh: Remove debug line
+      builtin-merge.c: Fix option parsing
+      builtin-push.c: Cleanup - use OPT_BIT() and remove some variables
+
+Mike Hommey (4):
+      Catch failures from t5540-http-push
+      Fix http-push test
+      Skip t5540-http-push test when USE_CURL_MULTI is undefined
+      Avoid apache complaining about lack of server's FQDN
+
+Mike Pape (1):
+      We need to check for msys as well as Windows in add--interactive.
+
+Miklos Vajna (27):
+      A simple script to parse the results from the testcases
+      Move split_cmdline() to alias.c
+      Move commit_list_count() to commit.c
+      Move parse-options's skip_prefix() to git-compat-util.h
+      Add new test to ensure git-merge handles pull.twohead and pull.octopus
+      Move read_cache_unmerged() to read-cache.c
+      git-fmt-merge-msg: make it usable from other builtins
+      Introduce get_octopus_merge_bases() in commit.c
+      Add new test to ensure git-merge handles more than 25 refs.
+      Add new test case to ensure git-merge reduces octopus parents when possible
+      Retire 'stupid' merge strategy
+      INSTALL: Update section about git-frotz form.
+      hg-to-git: avoid raising a string exception
+      hg-to-git: abort if the project directory is not a hg repo
+      hg-to-git: rewrite "git-frotz" to "git frotz"
+      hg-to-git: use git init instead of git init-db
+      Add new test case to ensure git-merge prepends the custom merge message
+      git-commit-tree: make it usable from other builtins
+      Fix t7601-merge-pull-config.sh on AIX
+      Build in merge
+      t0001-init.sh: change confusing directory name
+      t1007-hash-object.sh: use quotes for the test description
+      git-bisect: use dash-less form on git bisect log
+      make remove-dashes: apply to scripts and programs as well, not just to builtins
+      t6021: add a new test for git-merge-resolve
+      Add a new test for git-merge-resolve
+      Teach 'git merge' that some merge strategies no longer exist
+
+Nanako Shiraishi (7):
+      environment.c: remove unused function
+      config.c: make git_env_bool() static
+      gitcli: Document meaning of --cached and --index
+      cache-tree.c: make cache_tree_find() static
+      builtin-describe.c: make a global variable "pattern" static
+      parse-options.c: make check_typos() static
+      git am --abort
+
+Nguyễn Thái Ngọc Duy (1):
+      Move all dashed-form commands to libexecdir
+
+Nicolas Pitre (11):
+      call init_pack_revindex() lazily
+      implement some resilience against pack corruptions
+      test case for pack resilience against corruptions
+      refactor pack structure allocation
+      optimize verify-pack a bit
+      move show_pack_info() where it belongs
+      verify-pack: check packed object CRC when using index version 2
+      verify-pack: test for detection of index v2 object CRC mismatch
+      repack.usedeltabaseoffset config option now defaults to "true"
+      pack.indexversion config option now defaults to 2
+      restore legacy behavior for read_sha1_file()
+
+Olivier Marin (3):
+      Documentation: remove {show,whatchanged}.difftree config options
+      show_stats(): fix stats width calculation
+      builtin-rerere: more carefully find conflict markers
+
+Patrick Higgins (1):
+      Remove the use of '--' in merge program invocation
+
+Pavel Roskin (1):
+      t9600: allow testing with cvsps 2.2, including beta versions
+
+Peter Harris (1):
+      Add ANSI control code emulation for the Windows console
+
+Petr Baudis (6):
+      Git.pm: Add remote_refs() git-ls-remote frontend
+      Documentation/git-submodule.txt: Add Description section
+      Documentation/RelNotes-1.6.0.txt: Expand on the incompatible packfiles
+      Documentation/git-submodule.txt: Further clarify the description
+      Documentation: How to ignore local changes in tracked files
+      Documentation/git-merge.txt: Partial rewrite of How Merge Works
+
+Pierre Habouzit (13):
+      parse-opt: have parse_options_{start,end}.
+      parse-opt: Export a non NORETURN usage dumper.
+      parse-opt: create parse_options_step.
+      parse-opt: do not print errors on unknown options, return -2 intead.
+      parse-opt: fake short strings for callers to believe in.
+      parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+      revisions: split handle_revision_opt() from setup_revisions()
+      git-blame: migrate to incremental parse-option [1/2]
+      git-blame: migrate to incremental parse-option [2/2]
+      parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
+      git-blame: fix lapsus
+      git-shortlog: migrate to parse-options partially.
+      revisions: refactor handle_revision_opt into parse_revision_opt.
+
+Pieter de Bie (1):
+      builtin-fast-export: Add importing and exporting of revision marks
+
+Rafael Garcia-Suarez (1):
+      gitweb: remove git_blame and rename git_blame2 to git_blame
+
+Ramsay Allan Jones (4):
+      Fix some warnings (on cygwin) to allow -Werror
+      t9113-*.sh: provide user feedback when test skipped
+      t9100-git-svn-basic.sh: Fix determination of utf-8 locale
+      git-request-pull: replace call to deprecated peek-remote
+
+René Scharfe (9):
+      Teach new attribute 'export-ignore' to git-archive
+      archive: remove args member from struct archiver
+      add context pointer to read_tree_recursive()
+      archive: add baselen member to struct archiver_args
+      archive: centralize archive entry writing
+      archive: unify file attribute handling
+      archive: remove extra arguments parsing code
+      archive: make zip compression level independent from core git
+      archive: remove unused headers
+
+Richard Quirk (1):
+      git-gui: Fix accidental staged state toggle when clicking top pixel row
+
+Robert Shearman (1):
+      git-send-email: Fix authenticating on some servers when using TLS.
+
+SZEDER Gábor (1):
+      stash: introduce 'stash save --keep-index' option
+
+Shawn O. Pearce (2):
+      Correct documentation for git-push --mirror
+      bash completion: Remove dashed command completion support
+
+Soeren Finster (1):
+      git-gui: Exit shortcut in MacOSX repaired
+
+Steffen Prohaska (5):
+      Windows: Fix ntohl() related warnings about printf formatting
+      compat/pread.c: Add a forward declaration to fix a warning
+      Move code interpreting path relative to exec-dir to new function system_path()
+      help.c: Add support for htmldir relative to git_exec_path()
+      help (Windows): Display HTML in default browser using Windows' shell API
+
+Stephan Beyer (10):
+      api-builtin.txt: update and fix typo
+      t3404: stricter tests for git-rebase--interactive
+      rerere: Separate libgit and builtin functions
+      t/test-lib.sh: exit with small negagive int is ok with test_must_fail
+      t/: Use "test_must_fail git" instead of "! git"
+      Make usage strings dash-less
+      git-am/git-mailsplit: correct synopsis for reading from stdin
+      t3404: test two "preserve merges with -p" cases
+      Make rebase--interactive use OPTIONS_SPEC
+      Link git-shell only to a subset of libgit.a
+
+SungHyun Nam (1):
+      t/Makefile: use specified shell when running aggregation script
+
+Sverre Hvammen Johansen (1):
+      reduce_heads(): thinkofix
+
+Sverre Rabbelier (2):
+      Modify test-lib.sh to output stats to t/test-results/*
+      Hook up the result aggregation in the test makefile.
+
+Ted Percival (1):
+      Don't use dash commands (git-foo) in tutorial-2
+
+Teemu Likonen (3):
+      bash: Add more option completions for 'git log'
+      Add target "install-html" the the top level Makefile
+      bash: Add long option completion for 'git send-email'
+
+Thomas Rast (7):
+      git-send-email: add support for TLS via Net::SMTP::SSL
+      git-send-email: prevent undefined variable warnings if no encryption is set
+      git-add--interactive: replace hunk recounting with apply --recount
+      git-add--interactive: remove hunk coalescing
+      git-add--interactive: manual hunk editing mode
+      git-send-email: Do not attempt to STARTTLS more than once
+      Fix apply --recount handling of no-EOL line
+
+
+Version v1.5.6.6; changes since v1.5.6.5:
+-----------------------------------------
+
+Alexander Gavrilov (1):
+      Fix quadratic performance in rewrite_one.
+
+Brandon Casey (1):
+      t5304-prune: adjust file mtime based on system time rather than file mtime
+
+Francis Moreau (1):
+      git-bisect: fix wrong usage of read(1)
+
+Ivan Stankovic (1):
+      Documentation: fix invalid reference to 'mybranch' in user manual
+
+Junio C Hamano (8):
+      Per-ref reflog expiry configuration
+      Make default expiration period of reflog used for stash infinite
+      asciidoc markup fixes
+      Fix deleting reflog entries from HEAD reflog
+      Re-fix rev-list-options documentation
+      Do not talk about "diff" in rev-list documentation.
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+
+Kevin Ballard (1):
+      Fix escaping of glob special characters in pathspecs
+
+Linus Torvalds (4):
+      Split up default "core" config parsing into helper routine
+      Split up default "user" config parsing into helper routine
+      Split up default "i18n" and "branch" config parsing into helper routines
+      Add config option to enable 'fsync()' of object files
+
+Petr Baudis (1):
+      Fail properly when cloning from invalid HTTP URL
+
+Pieter de Bie (1):
+      reflog test: add more tests for 'reflog delete'
+
+Thomas Rast (1):
+      Documentation: rev-list-options: Fix -g paragraph formatting
+
+
+Version v1.5.6.5; changes since v1.5.6.4:
+-----------------------------------------
+
+Anders Melchiorsen (1):
+      Documentation: fix diff.external example
+
+Björn Steinbrink (1):
+      index-pack.c: correctly initialize appended objects
+
+Brandon Casey (1):
+      t/t4202-log.sh: add newline at end of file
+
+Ciaran McCreesh (1):
+      Make git-add -i accept ranges like 7-
+
+Jeff King (1):
+      init: handle empty "template" parameter
+
+Jim Meyering (1):
+      git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout.
+
+Johannes Schindelin (1):
+      sort_in_topological_order(): avoid setting a commit flag
+
+Jonathan Nieder (2):
+      fix usage string for git grep
+      git-diff(1): "--c" -> "--cc" typo fix
+
+Junio C Hamano (12):
+      refresh-index: fix bitmask assignment
+      tests: propagate $(TAR) down from the toplevel Makefile
+      Makefile: fix shell quoting
+      make sure parsed wildcard refspec ends with slash
+      Documentation: clarify diff --cc
+      Update my e-mail address
+      Start 1.5.6.5 RelNotes to describe accumulated fixes
+      builtin-name-rev.c: split deeply nested part from the main function
+      RelNotes 1.5.6.5 updates
+      fix diff-tree --stdin documentation
+      Files given on the command line are relative to $cwd
+      GIT 1.5.6.5
+
+Linus Torvalds (1):
+      diff.renamelimit is a basic diff configuration
+
+Mike Ralphson (1):
+      Documentation: typos / spelling fixes in older RelNotes
+
+Peter Valdemar Mørch (1):
+      send-email: find body-encoding correctly
+
+Pierre Habouzit (2):
+      git-checkout: fix command line parsing.
+      git-submodule: move ill placed shift.
+
+Pieter de Bie (1):
+      git-name-rev: allow --name-only in combination with --stdin
+
+René Scharfe (1):
+      git-name-rev: don't use printf without format
+
+Stephan Beyer (1):
+      builtin-revert.c: typofix
+
+Steve Haslam (1):
+      Propagate -u/--upload-pack option of "git clone" to transport.
+
+
+Version v1.5.6.4; changes since v1.5.6.3:
+-----------------------------------------
+
+Dmitry Potapov (3):
+      Fix buffer overflow in git-grep
+      Fix buffer overflow in git diff
+      Fix buffer overflow in prepare_attr_stack
+
+Johannes Schindelin (3):
+      git daemon: avoid calling syslog() from a signal handler
+      Add pretty format %aN which gives the author name, respecting .mailmap
+      git fetch-pack: do not complain about "no common commits" in an empty repo
+
+Johannes Sixt (1):
+      t7600-merge: Use test_expect_failure to test option parsing
+
+Junio C Hamano (4):
+      Start preparing 1.5.6.4 release notes
+      rev-list: honor --quiet option
+      http-fetch: do not SEGV after fetching a bad pack idx file
+      GIT 1.5.6.4
+
+Lars Noschinski (1):
+      git-cvsserver: fix call to nonexistant cleanupWorkDir()
+
+Lukas Sandström (1):
+      git-mailinfo: Fix getting the subject from the in-body [PATCH] line
+
+Olivier Marin (1):
+      builtin-rm: fix index lock file path
+
+Petr Baudis (1):
+      Documentation/git-cherry-pick.txt et al.: Fix misleading -n description
+
+Shawn O. Pearce (9):
+      Correct pack memory leak causing git gc to try to exceed ulimit
+      bash completion: Improve responsiveness of git-log completion
+      bash completion: Don't offer "a.." as a completion for "a."
+      bash completion: Append space after file names have been completed
+      bash completion: Resolve git show ref:path<tab> losing ref: portion
+      index-pack: Refactor base arguments of resolve_delta into a struct
+      index-pack: Chain the struct base_data on the stack for traversal
+      index-pack: Track the object_entry that creates each base_data
+      index-pack: Honor core.deltaBaseCacheLimit when resolving deltas
+
+Stephan Beyer (2):
+      rebase-i: keep old parents when preserving merges
+      api-run-command.txt: typofix
+
+
+Version v1.5.6.3; changes since v1.5.6.2:
+-----------------------------------------
+
+Alex Riesen (1):
+      git-clone: remove leftover debugging fprintf().
+
+Brian Hetro (5):
+      builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix'
+      convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
+      diff.c: Use 'git_config_string' to get 'diff.external'
+      http.c: Use 'git_config_string' to clean up SSL config.
+      builtin-commit.c: Use 'git_config_string' to get 'commit.template'
+
+Christian Couder (1):
+      Fix "config_error_nonbool" used with value instead of key
+
+Gerrit Pape (1):
+      git-svn.perl: workaround assertions in svn library 1.5.0
+
+Jeff King (1):
+      make deleting a missing ref more quiet
+
+Johannes Schindelin (1):
+      run_command(): respect GIT_TRACE
+
+Junio C Hamano (6):
+      attribute documentation: keep EXAMPLE at end
+      clone -q: honor "quiet" option over native transports.
+      mailinfo: feed the correct line length to decode_transfer_encoding()
+      Start preparing release notes for 1.5.6.3
+      t0004: fix timing bug
+      GIT 1.5.6.3
+
+Linus Torvalds (1):
+      racy-git: an empty blob has a fixed object name
+
+Lukas Sandström (1):
+      git-mailinfo: document the -n option
+
+Mark Levedahl (1):
+      git-submodule - Fix bugs in adding an existing repo as a module
+
+Matthew Ogilvie (1):
+      Documentation cvs: Clarify when a bare repository is needed
+
+Mikael Magnusson (1):
+      Fix grammar in git-rev-parse(1).
+
+Nikolaus Schulz (1):
+      Documentation: be precise about which date --pretty uses
+
+Petr Baudis (1):
+      Fix backwards-incompatible handling of core.sharedRepository
+
+SZEDER Gábor (1):
+      bash: offer only paths after '--'
+
+Shawn O. Pearce (1):
+      Remove unnecessary pack-*.keep file after successful git-clone
+
+Stephan Beyer (1):
+      git-am: Do not exit silently if committer is unset
+
+
+Version v1.5.6.2; changes since v1.5.6.1:
+-----------------------------------------
+
+Avery Pennarun (1):
+      git-svn: avoid filling up the disk with temp files.
+
+Björn Steinbrink (1):
+      git cat-file: Fix memory leak in batch mode
+
+Eric Wong (1):
+      git-svn: don't sanitize remote names in config
+
+Jeff King (3):
+      fetch: report local storage errors in status table
+      doc/rev-parse: clarify reflog vs --until for specifying revisions
+      fetch: give a hint to the user when local refs fail to update
+
+Jochen Voss (1):
+      avoid off-by-one error in run_upload_archive
+
+Joey Hess (1):
+      fix git config example syntax
+
+Johannes Schindelin (2):
+      clone: respect url.insteadOf setting in global configs
+      clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
+
+Junio C Hamano (9):
+      Allow "git-reset path" when unambiguous
+      diff --check: do not discard error status upon seeing a good line
+      git-shell: accept "git foo" form
+      GIT 1.5.4.6
+      GIT 1.5.5.5
+      Start draft release notes for 1.5.6.2
+      Work around gcc warnings from curl headers
+      Fix executable bits in t/ scripts
+      GIT 1.5.6.2
+
+Shawn O. Pearce (1):
+      Fix describe --tags --long so it does not segfault
+
+Thomas Rast (1):
+      Fix 'git show' on signed tag of signed tag of commit
+
+
+Version v1.5.6.1; changes since v1.5.6:
+---------------------------------------
+
+Brandon Casey (2):
+      git-merge.sh: fix typo in usage message: sucesses --> succeeds
+      t7502-commit.sh: test_must_fail doesn't work with inline environment variables
+
+Dan McGee (1):
+      completion: add --graph to log command completion
+
+Dmitry Potapov (1):
+      fix update-hook-example to work with packed tag references
+
+Jan Krüger (2):
+      Documentation: fix formatting in git-svn
+      git-svn: make rebuild respect rewriteRoot option
+
+Jeff King (2):
+      for-each-ref: implement missing tag values
+      clone: create intermediate directories of destination repo
+
+Junio C Hamano (2):
+      diff -c/--cc: do not include uninteresting deletion before leading context
+      GIT 1.5.6.1
+
+Linus Torvalds (1):
+      Make git_dir a path relative to work_tree in setup_work_tree()
+
+Michele Ballabio (1):
+      parse-options.c: fix documentation syntax of optional arguments
+
+Patrick Higgins (1):
+      Workaround for AIX mkstemp()
+
+Stephan Beyer (4):
+      git-rebase.sh: Add check if rebase is in progress
+      api-builtin.txt: update and fix typo
+      api-parse-options.txt: Introduce documentation for parse options API
+      Extend parse-options test suite
+
+
+Version v1.5.6; changes since v1.5.6-rc3:
+-----------------------------------------
+
+Alejandro Mery (1):
+      git-am: head -1 is obsolete and doesn't work on some new systems
+
+Christian Couder (1):
+      Documentation: RelNotes-1.5.6: talk about renamed HTML files
+
+Jeff King (1):
+      clean up error conventions of remote.c:match_explicit
+
+Johan Herland (3):
+      cpio is no longer used by git-clone
+      Consistency: Use "libcurl" instead of "cURL library" and "curl"
+      The "curl" executable is no longer required
+
+Junio C Hamano (7):
+      Makefile: update check-docs target
+      Update RPM spec to drop curl executable requirement
+      diff.c: fix emit_line() again not to add extra line
+      create_tempfile: make sure that leading directories can be accessible by peers
+      sha1_file.c: simplify parse_pack_index()
+      builtin-rerere: fix a small leak
+      GIT 1.5.6
+
+Lea Wiemann (2):
+      gitweb: quote commands properly when calling the shell
+      gitweb: remove unused parse_ref method
+
+Linus Torvalds (1):
+      write_loose_object: don't bother trying to read an old object
+
+Miklos Vajna (2):
+      run-command documentation: fix "memset()" parameter
+      path-list documentation: document all functions and data structures
+
+Olivier Marin (1):
+      Fix approxidate("never") to always return 0
+
+Pierre Habouzit (1):
+      Make git reflog expire honour core.sharedRepository.
+
+SZEDER Gábor (1):
+      diff: reset color before printing newline
+
+
+Version v1.5.6-rc3; changes since v1.5.6-rc2:
+---------------------------------------------
+
+Ask Bjørn Hansen (2):
+      gitweb setup instruction: rewrite HEAD and root as well
+      send-email: Allow the envelope sender to be set via configuration
+
+Avery Pennarun (2):
+      git-svn: don't append extra newlines at the end of commit messages.
+      git-svn: test that extra blank lines aren't inserted in commit messages.
+
+Boyd Lynn Gerber (2):
+      progress.c: avoid use of dynamic-sized array
+      Port to 12 other Platforms.
+
+Chris Ridd (1):
+      Improve sed portability
+
+Christian Couder (1):
+      documentation: bisect: remove bits talking about a bisection branch
+
+Flavio Poletti (1):
+      git-instaweb: improve auto-discovery of httpd and call conventions.
+
+Fred Maranhão (1):
+      fix typo in tutorial
+
+Geoffrey Irving (1):
+      doc: adding gitman.info and *.texi to .gitignore
+
+Jakub Narebski (2):
+      gitweb: Make it work with $GIT containing spaces
+      Use 'trash directory' thoroughly in t/test-lib.sh
+
+Jeff King (1):
+      document --pretty=tformat: option
+
+Johannes Schindelin (1):
+      merge-recursive: respect core.autocrlf when writing out the result
+
+Johannes Sixt (2):
+      make_nonrelative_path: Use is_absolute_path()
+      Remove exec bit from builtin-fast-export.c
+
+Junio C Hamano (8):
+      http-push.c: remove duplicated code
+      "remote prune": be quiet when there is nothing to prune
+      Documentation/git-pull.txt: Use more standard [NOTE] markup
+      Documentation: exclude @pxref{[REMOTES]} from texinfo intermediate output
+      user-manual: describe how higher stages are set during a merge
+      t4126: fix test that happened to work due to timing
+      sha1_file.c: dead code removal
+      GIT 1.5.6-rc3
+
+Lea Wiemann (4):
+      t1006-cat-file.sh: typo
+      cat-file --batch / --batch-check: do not exit if hashes are missing
+      Documentation/git-cat-file.txt: add missing line break
+      t/.gitattributes: only ignore whitespace errors in test files
+
+Linus Torvalds (4):
+      Consolidate SHA1 object file close
+      Avoid cross-directory renames and linking on object creation
+      Make loose object file reading more careful
+      Simplify and rename find_sha1_file()
+
+Marius Storm-Olsen (1):
+      Add testcase for merging in a CRLF repo
+
+Mark Levedahl (1):
+      git-submodule - Fix errors regarding resolve_relative_url
+
+Mikael Magnusson (1):
+      Typo in RelNotes.
+
+Mike Hommey (1):
+      Don't allocate too much memory in quote_ref_url
+
+Miklos Vajna (3):
+      Remove unused code in parse_commit_buffer()
+      git-rebase -i: mention the short command aliases in the todo list
+      git-read-tree: document -v option.
+
+Olivier Marin (4):
+      remote show: fix the -n option
+      builtin-remote: split show_or_prune() in two separate functions
+      remote prune: print the list of pruned branches
+      remote show: list tracked remote branches with -n
+
+Paul Mackerras (1):
+      gitk: Handle detached heads better
+
+Philippe Bruhat (1):
+      git-cvsimport: do not fail when CVSROOT is /
+
+Pieter de Bie (1):
+      git-send-email: allow whitespace in addressee list
+
+René Scharfe (1):
+      Ignore .gitattributes in bare repositories
+
+SZEDER Gábor (2):
+      git add: add long equivalents of '-u' and '-f' options
+      completion: add more 'git add' options
+
+Shawn O. Pearce (1):
+      fast-export: Correctly generate initial commits with no parents
+
+Stephan Beyer (6):
+      git-commit.txt: Correct option alternatives
+      git-commit.txt: Add missing long/short options
+      Docs: Use "-l::\n--long\n" format in OPTIONS sections
+      Docs: add some long/short options
+      git-describe.txt: document --always
+      git-name-rev.txt: document --no-undefined and --always
+
+
+Version v1.5.6-rc2; changes since v1.5.6-rc1:
+---------------------------------------------
+
+Adam Simpkins (2):
+      graph API: fix "git log --graph --first-parent"
+      git log --graph: print '*' for all commits, including merges
+
+Alex Riesen (1):
+      Fix t5516 on cygwin: it does not like double slashes at the beginning of a path
+
+Björn Steinbrink (1):
+      name-rev: Fix segmentation fault when using --all
+
+Christian Couder (2):
+      documentation: convert "diffcore" and "repository-layout" to man pages
+      documentation: move git(7) to git(1)
+
+Daniel Barkalow (1):
+      Use nonrelative paths instead of absolute paths for cloned repositories
+
+Dirk Süsserott (1):
+      Documentation/git-mailsplit: Enhanced description of -o option
+
+Jakub Narebski (1):
+      gitweb: Add charset info to "raw" output of 'text/plain' blobs
+
+Jeff King (1):
+      Fix "git clone http://$URL" to check out the worktree when asked
+
+Junio C Hamano (6):
+      t7502: do not globally unset GIT_COMMITTER_* environment variables
+      t7502: tighten loosely written test sequence
+      Documentation: git-log cannot use rev-list specific options
+      t7502: honor SHELL_PATH
+      GIT 1.5.5.4
+      GIT 1.5.6-rc2
+
+Lea Wiemann (2):
+      cat-file --batch: flush stdout also when objects are missing
+      git-for-each-ref.txt: minor improvements
+
+Michael Dressel (1):
+      describe: match pattern for lightweight tags too
+
+Miklos Vajna (1):
+      Strbuf documentation: document most functions
+
+Teemu Likonen (1):
+      Print info about "git help COMMAND" on git's main usage pages
+
+
+Version v1.5.6-rc1; changes since v1.5.6-rc0:
+---------------------------------------------
+
+Adam Simpkins (2):
+      graph API: improve display of merge commits
+      graph API: avoid printing unnecessary padding before some octopus merges
+
+Christian Couder (2):
+      bisect: use "$GIT_DIR/BISECT_START" to check if we are bisecting
+      Documentation: convert "glossary" and "core-tutorial" to man pages
+
+Christian Engwer (1):
+      git-svn fails in prop_walk if $self->{path} is not empty
+
+Dmitry V. Levin (1):
+      builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value
+
+Gerrit Pape (2):
+      Documentation/git-bundle.txt: fix synopsis
+      commit --interactive: properly update the index before commiting
+
+Jakub Narebski (2):
+      gitweb: Remove gitweb/test/ directory
+      gitweb: Fix "next" link on bottom of page
+
+Jamis Buck (1):
+      git-reset: honor -q and do not show progress message
+
+Jeff King (1):
+      clone: make sure we support the transport type
+
+Johannes Schindelin (1):
+      hg-to-git: add --verbose option
+
+Johannes Sixt (3):
+      t5700-clone-reference: Quote $U
+      Revert "filter-branch: subdirectory filter needs --full-history"
+      rebase --interactive: Compute upstream SHA1 before switching branches
+
+John J. Franey (1):
+      Clarify description of <repository> argument to pull/fetch for naming remotes.
+
+Junio C Hamano (25):
+      tests: do not use implicit "git diff --no-index"
+      diff-files: do not play --no-index games
+      "git diff": do not ignore index without --no-index
+      Update draft release notes for 1.5.6
+      log --graph: do not accept log --graphbogus
+      log --pretty: do not accept bogus "--prettyshort"
+      Release Notes for 1.5.5.2
+      Documentation/git.txt: link to 1.5.5.2 documentation.
+      Makefile: fix dependency on wt-status.h
+      show-branch --current: do not barf on detached HEAD
+      git-diff: allow  --no-index semantics a bit more
+      git diff --no-index: default to page like other diff frontends
+      GIT 1.5.5.3
+      t5100: Avoid filename "nul"
+      Git::cat_blob: allow using an empty blob to fix git-svn breakage
+      fix sha1_pack_index_name()
+      Manual subsection to refer to other pages is SEE ALSO
+      Documentation: git-cherry uses git-patch-id
+      "git checkout -- paths..." should error out when paths cannot be written
+      checkout: make reset_clean_to_new() not die by itself
+      checkout: consolidate reset_{to_new,clean_to_new}()
+      unpack_trees(): allow callers to differentiate worktree errors from merge errors
+      checkout: "best effort" checkout
+      commit: drop duplicated parents
+      GIT v1.5.6-rc1
+
+Karl Hasselström (3):
+      Add some tests for git update-ref -d
+      Fix path duplication in git svn commit-diff
+      Revert "git.el: Set process-environment instead of invoking env"
+
+Kevin Ballard (1):
+      Documentation/git-filter-branch.txt: Fix description of --commit-filter
+
+Lea Wiemann (5):
+      gitweb: only display "next" links in logs if there is a next page
+      t/test-lib.sh: resolve symlinks in working directory, for pathname comparisons
+      Git.pm: fix documentation of hash_object
+      glossary: improve a few links
+      Git.pm: fix return value of config method
+
+Linus Torvalds (2):
+      Make pack creation always fsync() the result
+      Remove now unnecessary 'sync()' calls
+
+Luciano Rocha (1):
+      git-init: accept --bare option
+
+Marius Storm-Olsen (2):
+      Clearify the documentation for core.ignoreStat
+      Add shortcut in refresh_cache_ent() for marked entries.
+
+Michele Ballabio (1):
+      Documentation: fix graph in git-rev-parse.txt
+
+Miklos Vajna (1):
+      Revision walking documentation: document most important functions
+
+Nicolas Pitre (1):
+      make verify-pack a bit more useful with bad packs
+
+Paolo Bonzini (1):
+      rollback lock files on more signals than just SIGINT
+
+Pieter de Bie (1):
+      builtin-fast-export: Only output a single parent per line
+
+Seth Falcon (1):
+      Add a --dry-run option to git-svn rebase
+
+Shawn O. Pearce (8):
+      git-gui: Add a --trace command line option
+      git-gui: Handle workdir detection when CYGWIN=nowinsymlinks
+      Don't diff empty tree on branch creation in paranoid update hook
+      Don't load missing ACL files in paranoid update hook
+      Ignore no-op changes in paranoid update hook
+      Remove unused remote_prefix member in builtin-remote
+      Make "git-remote prune" delete refs according to fetch specs
+      Make "git-remote rm" delete refs acccording to fetch specs
+
+Stephan Beyer (2):
+      Add test cases for git-am
+      Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh
+
+Twiinz (1):
+      git-gui: Vertically align textboxes with labels
+
+
+Version v1.5.6-rc0; changes since v1.5.5.6:
+-------------------------------------------
+
+Adam Roben (11):
+      Add tests for git cat-file
+      git-cat-file: Small refactor of cmd_cat_file
+      git-cat-file: Make option parsing a little more flexible
+      git-cat-file: Add --batch-check option
+      git-cat-file: Add --batch option
+      Move git-hash-object tests from t5303 to t1007
+      Add more tests for git hash-object
+      git-hash-object: Add --stdin-paths option
+      Git.pm: Add command_bidi_pipe and command_close_bidi_pipe
+      Git.pm: Add hash_and_insert_object and cat_blob
+      git-svn: Speed up fetch
+
+Adam Simpkins (11):
+      Remove dead code: show_log() sep argument and diff_options.msg_sep
+      log: print log entry terminator even if the message is empty
+      revision API: split parent rewriting and parent printing options
+      Add history graph API
+      log and rev-list: add --graph option
+      graph API: eliminate unnecessary indentation
+      graph API: fix graph mis-alignment after uninteresting commits
+      graph API: don't print branch lines for uninteresting merge parents
+      log --graph --left-right: show left/right information in place of '*'
+      Fix output of "git log --graph --boundary"
+      get_revision(): honor the topo_order flag for boundary commits
+
+Alex Riesen (10):
+      Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh
+      Improve reporting of errors in config file routines
+      Make the exit code of add_file_to_index actually useful
+      Extend interface of add_files_to_cache to allow ignore indexing errors
+      Add --ignore-errors to git-add to allow it to skip files with read errors
+      Add a test for git-add --ignore-errors
+      Add a config option to ignore errors for git-add
+      Ensure that a test is run in the trash directory
+      Fix t6031 on filesystems without working exec bit
+      Fix t3701 if core.filemode disabled
+
+Anders Waldenborg (1):
+      gitweb: Convert string to internal form before chopping in chop_str
+
+Avery Pennarun (3):
+      git-svn: add documentation for --use-log-author option.
+      git-svn: Add --add-author-from option.
+      git-svn: add documentation for --add-author-from option.
+
+Bart Trojanowski (1):
+      make git-status use a pager
+
+Brandon Casey (7):
+      filter-branch.sh: support nearly proper tag name filtering
+      compat/fopen.c: avoid clobbering the system defined fopen macro
+      repack: modify behavior of -A option to leave unreferenced objects unpacked
+      git-gc: always use -A when manually repacking
+      builtin-gc.c: deprecate --prune, it now really has no effect
+      builtin-clone.c: Need to closedir() in copy_or_link_directory()
+      t/Makefile: "trash" directory was renamed recently
+
+Bryan Donlan (10):
+      git-rebase.sh: Fix --merge --abort failures when path contains whitespace
+      config.c: Escape backslashes in section names properly
+      git-send-email.perl: Handle shell metacharacters in $EDITOR properly
+      test-lib.sh: Add a test_set_editor function to safely set $VISUAL
+      Use test_set_editor in t9001-send-email.sh
+      test-lib.sh: Fix some missing path quoting
+      lib-git-svn.sh: Fix quoting issues with paths containing shell metacharacters
+      Don't use the 'export NAME=value' in the test scripts.
+      Fix tests breaking when checkout path contains shell metacharacters
+      Rename the test trash directory to contain spaces.
+
+Caio Marcelo de Oliveira Filho (1):
+      git-format-patch: add --no-binary to omit binary changes in the patch.
+
+Chris Frey (2):
+      Documentation/git-prune.txt: document unpacked logic
+      Documentation/git-repack.txt: document new -A behaviour
+
+Chris Parsons (1):
+      Updated status to show 'Not currently on any branch' in red
+
+Christian Couder (21):
+      bisect: add "git bisect help" subcommand to get a long usage string
+      help: use man viewer path from "man.<tool>.path" config var
+      documentation: help: add "man.<tool>.path" config variable
+      help: use "man.<tool>.cmd" as custom man viewer command
+      documentation: help: add info about "man.<tool>.cmd" config var
+      documentation: web--browse: add a note about konqueror
+      rev-parse: teach "--verify" to be quiet when using "-q" or "--quiet"
+      rev-parse: fix --verify to error out when passed junk after a good rev
+      Documentation: hooks: fix missing verb in pre-applypatch description
+      Documentation: rename "hooks.txt" to "githooks.txt" and make it a man page
+      Documentation: improve "add", "pull" and "format-patch" examples
+      Documentation: bisect: add a few "git bisect run" examples
+      rev-parse: add test script for "--verify"
+      rev-parse: fix using "--default" with "--verify"
+      rev-parse --verify: do not output anything on error
+      Documentation: rev-parse: add a few "--verify" and "--default" examples
+      bisect: add test cases to check that "git bisect start" is atomic
+      bisect: fix left over "BISECT_START" file when starting with junk rev
+      bisect: trap critical errors in "bisect_start"
+      bisect: use a detached HEAD to bisect
+      Documentation: convert tutorials to man pages
+
+Christian Stimming (3):
+      git-gui: Update German translation
+      gitk: Update German translation
+      gitk: German translation again updated
+
+Clemens Buchacher (2):
+      Reset the signal being handled
+      http-push: remove remote locks on exit signals
+
+Clifford Caoile (1):
+      git.el: Set process-environment instead of invoking env
+
+Dan McGee (3):
+      completion: allow 'git remote' subcommand completion
+      completion: remove use of dashed git commands
+      Allow cherry-pick (and revert) to add signoff line
+
+Daniel Barkalow (12):
+      Make walker.fetch_ref() take a struct ref.
+      Make ls-remote http://... list HEAD, like for git://...
+      Mark the list of refs to fetch as const
+      Add a lockfile function to append to a file
+      Add a library function to add an alternate to the alternates file
+      Have a constant extern refspec for "--tags"
+      Allow for having for_each_ref() list extra refs
+      Add a function to set a non-default work tree
+      Provide API access to init_db()
+      Build in clone
+      clone: fall back to copying if hardlinking fails
+      Test that --reference actually suppresses fetching referenced objects
+
+Dmitry Potapov (1):
+      git-init: autodetect core.ignorecase
+
+Dustin Sallings (2):
+      Allow tracking branches to set up rebase by default.
+      Allow tracking branches to set up rebase by default.
+
+Eric Wong (1):
+      git-svn: fix cloning of HTTP URLs with '+' in their path
+
+Frank Lichtenheld (4):
+      var: Don't require to be in a git repository.
+      Git.pm: Don't require a repository instance for config
+      Git.pm: Don't require repository instance for ident
+      send-email: Don't require to be called in a repository
+
+Gerrit Pape (3):
+      gitweb: fallback to system-wide config file if default config does not exist
+      gitweb: fallback to system-wide config file (fixup)
+      gitk: Makefile/install: force permissions when installing files and dirs
+
+Govind Salinas (1):
+      pretty.c: add %x00 format specifier.
+
+Gustaf Hendeby (6):
+      git-svn: Make create-ignore use git add -f
+      Documentation: Add create-ignore to git svn manual
+      Documentation/config.txt: Add git-gui options
+      Documentation: Add missing git svn commands
+      Documentation: Fix skipped section level
+      Make git add -n and git -u -n output consistent
+
+Heikki Orsila (7):
+      Make core.sharedRepository more generic
+      Document functions xmemdupz(), xread() and xwrite()
+      Die for an early EOF in a file reading loop
+      Make read_in_full() and write_in_full() consistent with xread() and xwrite()
+      Cleanup xread() loops to use read_in_full()
+      Add log.date config variable
+      Remove redundant code, eliminate one static variable
+
+Imran M Yousuf (1):
+      Use '-f' option to point to the .gitmodules file
+
+Jakub Narebski (1):
+      gitweb: Use feed link according to current view
+
+Jeff King (12):
+      add--interactive: ignore mode change in 'p'atch command
+      add--interactive: allow user to choose mode update
+      git-fetch: always show status of non-tracking-ref fetches
+      git-remote: show all remotes with "git remote show"
+      Documentation: point git-prune users to git-gc
+      add merge.renamelimit config option
+      bump rename limit defaults
+      diff: make "too many files" rename warning optional
+      fix bsd shell negation
+      t5000: tar portability fix
+      clone: bsd shell portability fix
+      filter-branch: fix variable export logic
+
+Johan Herland (2):
+      Add a test for another combination of --reference
+      Add test for cloning with "--reference" repo being a subset of source repo
+
+Johannes Schindelin (10):
+      Provide git_config with a callback-data parameter
+      builtin-clone: fix initial checkout
+      cvsexportcommit: chomp only removes trailing whitespace
+      diff options: Introduce --ignore-submodules
+      Teach update-index about --ignore-submodules
+      Ignore dirty submodule states during rebase and stash
+      cvsexportcommit: introduce -W for shared working trees (between Git and CVS)
+      submodule update: add convenience option --init
+      pull --rebase: exit early when the working directory is dirty
+      mailsplit and mailinfo: gracefully handle NUL characters
+
+Johannes Sixt (3):
+      builtin-commit.c: Remove a redundant assignment.
+      git-gui: Report less precise object estimates for database compression
+      compat-util: avoid macro redefinition warning
+
+Jon Loeliger (1):
+      Add otherwise missing --strict option to unpack-objects summary.
+
+Junio C Hamano (24):
+      Optimize rename detection for a huge diff
+      t5300: add test for "unpack-objects --strict"
+      unpack-objects: fix --strict handling
+      rebase [--onto O] A B: omit needless checkout
+      sha1-lookup: more memory efficient search in sorted list of SHA-1
+      diff: make --dirstat binary-file safe
+      sha1-lookup: make selection of 'middle' less aggressive
+      log: teach "terminator" vs "separator" mode to "--pretty=format"
+      git_config_bool_or_int()
+      write_index(): optimize ce_smudge_racily_clean_entry() calls with CE_UPTODATE
+      diff-files: mark an index entry we know is up-to-date as such
+      Fix git_config_bool_or_int
+      First batch of post 1.5.5 updates
+      diff: a submodule not checked out is not modified
+      diff-lib.c: rename check_work_tree_entity()
+      is_racy_timestamp(): do not check timestamp for gitlinks
+      git-svn: add test for --add-author-from and --use-log-author
+      builtin-apply: typofix
+      builtin-apply: accept patch to an empty file
+      builtin-apply: do not declare patch is creation when we do not know it
+      unpack-trees: allow Porcelain to give different error messages
+      "git-add -n -u" should not add but just report
+      mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepaths
+      mailsplit: minor clean-up in read_line_with_nul()
+
+Jörg Sommer (1):
+      post-merge: Add it's not executed if merge failed.
+
+Krzysztof Kowalczyk (1):
+      alloc_ref_from_str(): factor out a common pattern of alloc_ref from string
+
+Lars Hjemli (8):
+      Add platform-independent .git "symlink"
+      Teach resolve_gitlink_ref() about the .git file
+      Teach git-submodule.sh about the .git file
+      Teach GIT-VERSION-GEN about the .git file
+      git-branch: add support for --merged and --no-merged
+      git-branch.txt: compare --contains, --merged and --no-merged
+      Add tests for `branch --[no-]merged`
+      revision.c: really honor --first-parent
+
+Linus Torvalds (12):
+      Make unpack_trees_options bit flags actual bitfields
+      Move name hashing functions into a file of its own
+      Make "index_name_exists()" return the cache_entry it found
+      Make hash_name_lookup able to do case-independent lookups
+      Add 'core.ignorecase' option
+      Make branch merging aware of underlying case-insensitive filsystems
+      Make unpack-tree update removed files before any updated files
+      When adding files to the index, add support for case-independent matches
+      Make git-add behave more sensibly in a case-insensitive environment
+      Optimize match_pathspec() to avoid fnmatch()
+      Avoid some unnecessary lstat() calls
+      Optimize symlink/directory detection
+
+Liu Yubao (1):
+      Documentation on --git-dir and --work-tree
+
+Marcel Koeppen (2):
+      Replace in-place sed in t7502-commit
+      Fix prepare-commit-msg hook and replace in-place sed
+
+Mark Hills (1):
+      Be more careful with objects directory permissions on clone
+
+Martin Koegler (3):
+      unpack-objects: prevent writing of inconsistent objects
+      receive-pack: allow using --strict mode for unpacking objects
+      t5300: add test for "index-pack --strict"
+
+Matthew Ogilvie (3):
+      git-cvsserver: add mechanism for managing working tree and current directory
+      implement gitcvs.usecrlfattr
+      git-cvsserver: add ability to guess -kb from contents
+
+Matthias Kestenholz (1):
+      Use color.ui variable in scripts too
+
+Matthieu Moy (1):
+      git-svn: detect and fail gracefully when dcommitting to a void
+
+Michele Ballabio (4):
+      gitk: Disable "Reset %s branch to here" when on a detached head
+      gitk: Move es.po where it belongs
+      builtin-cat-file.c: use parse_options()
+      change quoting in test t1006-cat-file.sh
+
+Mike Ralphson (1):
+      Makefile: update the default build options for AIX
+
+Miklos Vajna (11):
+      git-gc --auto: add pre-auto-gc hook
+      Documentation/hooks: add pre-auto-gc hook
+      contrib/hooks: add an example pre-auto-gc hook
+      git checkout: add -t alias for --track
+      git-format-patch: add a new format.cc configuration variable
+      git-send-email: add a new sendemail.cc configuration variable
+      Add tests for sendemail.cc configuration variable
+      INSTALL: add a note about GNU interactive tools has been renamed
+      git-fast-import: rename cmd_*() functions to parse_*()
+      git-merge: exclude unnecessary options from OPTIONS_SPEC
+      CodingGuidelines: Add a note to avoid assignments inside if()
+
+Nicolas Pitre (9):
+      pack-objects: small cleanup
+      pack-objects: remove some double negative logic
+      pack-objects: simplify the condition associated with --all-progress
+      pack-objects: clean up write_object() a bit
+      pack-objects: move compression code in a separate function
+      pack-objects: allow for early delta deflating
+      pack-objects: fix early eviction for max depth delta objects
+      add a force_object_loose() function
+      let pack-objects do the writing of unreachable objects as loose objects
+
+Paolo Bonzini (2):
+      Add a remote.*.mirror configuration option
+      add special "matching refs" refspec
+
+Paul Mackerras (40):
+      gitk: Use git log without --topo-order and reorganize the commits ourselves
+      gitk: Fix bug in assigning row numbers to arcs
+      gitk: Fix bug in parsing multiple revision arguments
+      gitk: Compute row numbers and order tokens lazily
+      gitk: Fix a couple of bugs
+      gitk: Fix more bugs resulting in Tcl "no such element in array" errors
+      gitk: More bug fixes and cleanups
+      gitk: Implement date mode in the new framework
+      gitk: Fix another collection of bugs
+      gitk: Don't try to show local changes from a head that isn't shown
+      gitk: Keep the same commits visible as other commits come in
+      gitk: Fix some corner cases in the targetid/targetrow stuff
+      gitk: Fix a couple of bugs in the find function
+      gitk: Fix potential bug with fake commit IDs in renumbervarc
+      gitk: Index [fnvr]highlights by id rather than row
+      gitk: Fix handling of flag arguments
+      gitk: Fix a bug in make_disporder
+      gitk: Select head of current branch by default
+      gitk: Select something appropriate on cherry-pick, branch reset and checkout
+      gitk: Fix bug where editing an existing view would cause an infinite loop
+      gitk: Fix bug causing Tcl error when no commits are selected
+      gitk: Fix cherry-picking to insert a real row not a fake row
+      gitk: Cope better with getting commits that we have already seen
+      gitk: Fix bug where arcs could get lost
+      gitk: Handle updating with path limiting better
+      gitk: Fix problems with target row stuff
+      gitk: Don't filter view arguments through git rev-parse
+      gitk: Correct a few strings and comments to say "git log"
+      gitk: Fix some corner cases in computing vrowmod and displayorder
+      gitk: Avoid a crash in selectline if commitinfo($id) isn't set
+      gitk: Fix problem with target row not being in scroll region
+      gitk: Reorganize processing of arguments for git log
+      gitk: Fix handling of tree file list with special chars in names
+      gitk: Make updates go faster
+      gitk: Synchronize highlighting in file view for 'f' and 'b' commands
+      gitk: Show current row number and total number of rows
+      gitk: Add a progress bar for checking out a head
+      gitk: Fix "wrong # coordinates" error on reload
+      gitk: Fix bug where current row number display stops working
+      gitk: Fix bug introduced by "gitk: Fix "wrong # coordinates" error on reload"
+
+Paul Oliver (1):
+      Make git-cvsimport remove ['s from tags, as bad_ref_char doesn't allow them.
+
+Peter Karlsson (1):
+      gitk: Initial Swedish translation.
+
+Ping Yin (5):
+      git-submodule summary: --for-status option
+      builtin-status: submodule summary support
+      builtin-status: Add tests for submodule summary
+      t4027: test diff for submodule with empty directory
+      Add t7506 to test submodule related functions for git-status
+
+Rafael Garcia-Suarez (1):
+      Spelling fixes in the gitweb documentation
+
+Richard Quirk (2):
+      bash: Add completion for gitk --merge
+      Documentation gitk: Describe what --merge does
+
+SZEDER Gábor (5):
+      doc: moved merge.* config variables into separate merge-config.txt
+      merge, pull: introduce '--(no-)stat' option
+      add 'merge.stat' config variable
+      fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable
+      merge, pull: add '--(no-)log' command line option
+
+Santi Béjar (3):
+      Preparation to call determine_author_info from prepare_to_commit
+      commit: Show author if different from committer
+      commit: Show committer if automatic
+
+Santiago Gala (1):
+      gitk: Spanish translation of gitk
+
+Sebastian Schuberth (1):
+      mergetool: Make ECMerge use the settings as specified by the user in the GUI
+
+Shawn O. Pearce (3):
+      git-gui: Don't use '$$cr master' with aspell earlier than 0.60
+      git-gui: Setup branch.remote,merge for shorthand git-pull
+      git-gui: Delete branches with 'git branch -D' to clear config
+
+Steffen Prohaska (4):
+      t0050: Test autodetect core.ignorecase
+      t0050: Set core.ignorecase case to activate case insensitivity
+      t0050: Add test for case insensitive add
+      t0050: Fix merge test on case sensitive file systems
+
+Stephan Beyer (1):
+      builtin-apply.c: use git_config_string() to get apply_default_whitespace
+
+Stephen R. van den Berg (2):
+      Simplify and fix --first-parent implementation
+      git-svn: Same default as cvsimport when using --use-log-author
+
+Steven Grimm (1):
+      Add svn-compatible "blame" output format to git-svn
+
+Teemu Likonen (1):
+      Documentation/git-web--browse.txt: fix small typo
+
+Thomas Arcila (1):
+      gitk: Allow users to view diffs in external diff viewer
+
+Trent Piepho (1):
+      cvsexportcommit: Create config option for CVS dir
+
+
+Version v1.5.5.6; changes since v1.5.5.5:
+-----------------------------------------
+
+Junio C Hamano (2):
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+
+
+Version v1.5.5.5; changes since v1.5.5.4:
+-----------------------------------------
+
+Fred Maranhão (1):
+      fix typo in tutorial
+
+Johannes Sixt (1):
+      Remove exec bit from builtin-fast-export.c
+
+Junio C Hamano (4):
+      diff.c: fix emit_line() again not to add extra line
+      git-shell: accept "git foo" form
+      GIT 1.5.4.6
+      GIT 1.5.5.5
+
+Miklos Vajna (1):
+      git-read-tree: document -v option.
+
+SZEDER Gábor (1):
+      diff: reset color before printing newline
+
+
+Version v1.5.5.4; changes since v1.5.5.3:
+-----------------------------------------
+
+Björn Steinbrink (1):
+      name-rev: Fix segmentation fault when using --all
+
+Junio C Hamano (1):
+      GIT 1.5.5.4
+
+Lea Wiemann (1):
+      git-for-each-ref.txt: minor improvements
+
+Michael Dressel (1):
+      describe: match pattern for lightweight tags too
+
+
+Version v1.5.5.3; changes since v1.5.5.2:
+-----------------------------------------
+
+Christian Couder (1):
+      bisect: print an error message when "git rev-list --bisect-vars" fails
+
+Gerrit Pape (3):
+      git-bisect.sh: don't accidentally override existing branch "bisect"
+      Documentation/git-bundle.txt: fix synopsis
+      commit --interactive: properly update the index before commiting
+
+Horst H. von Brand (1):
+      Fix recipient santitization
+
+Jeff King (2):
+      send-email: specify content-type of --compose body
+      send-email: rfc2047-quote subject lines with non-ascii characters
+
+Johannes Sixt (1):
+      Revert "filter-branch: subdirectory filter needs --full-history"
+
+Junio C Hamano (3):
+      Release Notes for 1.5.5.2
+      show-branch --current: do not barf on detached HEAD
+      GIT 1.5.5.3
+
+Lea Wiemann (1):
+      gitweb: only display "next" links in logs if there is a next page
+
+Michele Ballabio (1):
+      Documentation: fix graph in git-rev-parse.txt
+
+Pieter de Bie (1):
+      builtin-fast-export: Only output a single parent per line
+
+
+Version v1.5.5.2; changes since v1.5.5.1:
+-----------------------------------------
+
+A Large Angry SCM (1):
+      git-repack: re-enable parsing of -n command line option
+
+Alex Riesen (2):
+      Use "=" instead of "==" in condition as it is more portable
+      Fix use after free() in builtin-fetch
+
+Andy Parkins (1):
+      post-receive-email: fix accidental removal of a trailing space in signature line
+
+Ariel Badichi (2):
+      copy.c: copy_fd - correctly report write errors
+      archive.c: format_subst - fixed bogus argument to memchr
+
+Brandon Casey (1):
+      git-clone.txt: Adjust note to --shared for new pruning behavior of git-gc
+
+Dan McGee (1):
+      Remove 'header' from --signoff option description
+
+Dmitry Potapov (1):
+      git-gc --prune is deprecated
+
+Dustin Sallings (1):
+      Documentation/config.txt: Mention branch.<name>.rebase applies to "git pull"
+
+Florian Ragwitz (1):
+      filter-branch: Documentation fix.
+
+Gerrit Pape (1):
+      diff-options.txt: document the new "--dirstat" option
+
+Heikki Orsila (1):
+      Add missing "short" alternative to --date in rev-list-options.txt
+
+Ian Hilt (1):
+      Documentation/git-describe.txt: make description more readable
+
+Jeff King (11):
+      Don't force imap.host to be set when imap.tunnel is set
+      t5516: remove ambiguity test (1)
+      doc/git-gc: add a note about what is collected
+      push: allow unqualified dest refspecs to DWIM
+      remote: create fetch config lines with '+'
+      fix reflog approxidate parsing bug
+      cvsimport: always pass user data to "system" as a list
+      checkout: don't rfc2047-encode oneline on detached HEAD
+      doc: clarify definition of "update" for git-add -u
+      doc/git-daemon: s/uploadarchive/uploadarch/
+      git-am: fix typo in usage message
+
+Johannes Sixt (2):
+      wt-status.h: declare global variables as extern
+      rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref
+
+Jon Loeliger (2):
+      git-filter-branch: Clarify file removal example.
+      git-show.txt: Not very stubby these days.
+
+Junio C Hamano (3):
+      write-tree: properly detect failure to write tree objects
+      clone: detect and fail on excess parameters
+      fetch-pack: brown paper bag fix
+
+Linus Torvalds (1):
+      fetch-pack: do not stop traversing an already parsed commit
+
+Matt Graham (1):
+      Linked glossary from cvs-migration page
+
+Matthew Ogilvie (1):
+      gitattributes: Fix subdirectory attributes specified from root directory
+
+Michael Weber (1):
+      svn-git: Use binmode for reading/writing binary rev maps
+
+Miklos Vajna (1):
+      diff options documentation: refer to --diff-filter in --name-status
+
+Sam Vilain (1):
+      Amend git-push refspec documentation
+
+Shawn O. Pearce (1):
+      Clarify repack -n documentation
+
+Sitaram Chamarty (1):
+      builtin-commit.c: add -u as short name for --untracked-files
+
+Teemu Likonen (1):
+      bash: Add completion for git diff --base --ours --theirs
+
+Thomas Guyot-Sionnest (1):
+      git-svn bug with blank commits and author file
+
+martin f. krafft (2):
+      Escape project name in regexp
+      Escape project names before creating pathinfo URLs
+
+
+Version v1.5.5.1; changes since v1.5.5:
+---------------------------------------
+
+Alberto Bertogli (1):
+      builtin-apply: Show a more descriptive error on failure when opening a patch
+
+Björn Steinbrink (1):
+      Fix section about backdating tags in the git-tag docs
+
+Carlos Rica (2):
+      Fix documentation syntax of optional arguments in short options.
+      core-tutorial.txt: Fix showing the current behaviour.
+
+Christian Couder (4):
+      bisect: fix bad rev checking in "git bisect good"
+      bisect: report bad rev better
+      bisect: squelch "fatal: ref HEAD not a symref" misleading message
+      git-bisect: make "start", "good" and "skip" succeed or fail atomically
+
+Clifford Caoile (1):
+      Docs gitk: Explicitly mention the files that gitk uses (~/.gitk)
+
+Daniel Barkalow (1):
+      Fix config key miscount in url.*.insteadOf
+
+Dirk Süsserott (1):
+      Documentation/git-request-pull: Fixed a typo ("send" -> "end")
+
+Jakub Narebski (1):
+      gitweb: Fix 'history' view for deleted files with history
+
+Jeff King (1):
+      git-fetch: fix status output when not storing tracking ref
+
+Johannes Sixt (1):
+      Document option --only of git commit
+
+Jon Loeliger (1):
+      Clarify and fix English in "git-rm" documentation
+
+Jonas Fonseca (1):
+      git-remote: reject adding remotes with invalid names
+
+Junio C Hamano (7):
+      Document -w option to shortlog
+      Documentation/git-submodule: typofix
+      t7401: squelch garbage output
+      rebase: do not munge commit log message
+      git-am: minor cleanup
+      am: POSIX portability fix
+      GIT 1.5.5.1
+
+Linus Torvalds (2):
+      Ignore leading empty lines while summarizing merges
+      git-am: cope better with an empty Subject: line
+
+Mark Levedahl (1):
+      git-submodule - possibly use branch name to describe a module
+
+Matthieu Moy (1):
+      Document that WebDAV doesn't need git on the server, and works over SSL
+
+Michele Ballabio (1):
+      revision.c: make --date-order overriddable
+
+Pedro Melo (1):
+      Force the medium pretty format on calls to git log
+
+Ping Yin (1):
+      git-submodule: Avoid 'fatal: cannot describe' message
+
+René Scharfe (1):
+      git-archive: ignore prefix when checking file attribute
+
+Scott Collins (1):
+      Clarify documentation of git-cvsserver, particularly in relation to git-shell
+
+Shawn Bohrer (2):
+      git clean: Don't automatically remove directories when run within subdirectory
+      git clean: Add test to verify directories aren't removed with a prefix
+
+
+Version v1.5.5; changes since v1.5.5-rc3:
+-----------------------------------------
+
+Christian Couder (2):
+      git-gui: Update french translation
+      test suite: remove useless TERM cruft in "t7005-editor.sh"
+
+Eric Wong (1):
+      git-svn: fix following renamed paths when tracking a single path
+
+Gerrit Pape (1):
+      gitk: Fix changing colors through Edit->Preferences
+
+Jakub Narebski (1):
+      Revert "gitweb: Add 'status_str' to parse_difftree_raw_line output"
+
+Junio C Hamano (2):
+      Fix "git apply" to correctly enforce "match at the beginning"
+      GIT 1.5.5
+
+Kevin Ballard (1):
+      git-fetch: Don't trigger a bus error when given the refspec "tag"
+
+Michele Ballabio (1):
+      git-gui: use +/- instead of ]/[ to show more/less context in diff
+
+Pascal Obry (2):
+      Add interactive option in rebase command completion list.
+      Add prefix oriented completions for diff and format-patch commands.
+
+Peter Eriksen (2):
+      git-pack-objects.txt: Make wording slightly less ambiguous
+      Add description of OFS_DELTA to the pack format description
+
+Shawn O. Pearce (1):
+      git-gui: Switch keybindings for [ and ] to bracketleft and bracketright
+
+
+Version v1.5.5-rc3; changes since v1.5.5-rc2:
+---------------------------------------------
+
+Brandon Casey (2):
+      mktag.c: improve verification of tagger field and tests
+      mktag.c: tweak validation of tagger field and adjust test script
+
+Bryan Donlan (1):
+      Silence cpio's "N blocks" output when cloning locally
+
+Christian Couder (1):
+      help: Add a missing OPT_END().
+
+Damien Diederen (7):
+      cvsserver: Respond to the 'editors' and 'watchers' commands
+      cvsserver: Only print the file part of the filename in status header
+      cvsserver: Do not include status output for subdirectories if -l is passed
+      cvsserver: Add a few tests for 'status' command
+      cvsserver: Implement update -p (print to stdout)
+      cvsserver: Add test for update -p
+      cvsserver: Use the user part of the email in log and annotate results
+
+Eric Wong (1):
+      git-svn: remove redundant slashes from show-ignore
+
+Johannes Sixt (3):
+      filter-branch: Test renaming directories in a tree-filter
+      verify-tag: Clean up the temporary file if gpg cannot be started.
+      t7004-tag: Skip more tests if gpg is not available.
+
+Jonathan del Strother (1):
+      git-gui: Add shortcut keys for Show More/Less Context
+
+Josh Elsasser (1):
+      Allow git-cvsserver database table name prefix to be specified.
+
+Junio C Hamano (5):
+      Add corner case tests for diff-index and diff-files
+      diff-index: careful when inspecting work tree items
+      diff-files: careful when inspecting work tree items
+      Accept git aliases outside a git repository
+      GIT 1.5.5-rc3
+
+Marius Storm-Olsen (1):
+      git-p4: Handle Windows EOLs properly after removal of p4 submit template handling.
+
+Paolo Bonzini (1):
+      git-cvsserver: handle change type T
+
+Shawn O. Pearce (1):
+      git-gui 0.10
+
+Teemu Likonen (1):
+      Describe the bug in handling filenames with funny characters in 'git add -i'
+
+veillette@yahoo.ca (1):
+      filter-branch: Fix renaming a directory in the tree-filter
+
+
+Version v1.5.5-rc2; changes since v1.5.5-rc1:
+---------------------------------------------
+
+Brandon Casey (1):
+      t/t3800-mktag.sh: use test_must_fail rather than '!'
+
+Daniel Barkalow (2):
+      Tighten refspec processing
+      Fix branches file configuration
+
+Dirk Süsserott (1):
+      Documentation: git-tag '-m'/'-F' implies '-a'
+
+Frank Lichtenheld (1):
+      t9600-cvsimport.sh: set HOME before checking for cvsps availability
+
+Gerrit Pape (1):
+      imap-send: properly error out if imap.host is not set in config
+
+Guanqun Lu (2):
+      Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.
+      Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.
+
+Jeff King (1):
+      Documentation: clarify use of .git{ignore,attributes} versus .git/info/*
+
+Johannes Schindelin (2):
+      RelNotes: mention checkout/branch's --track option, too
+      init: show "Reinit" message even in an (existing) empty repository
+
+Johannes Sixt (1):
+      builtin-remote: Fix missing newline at end of listing of pushed branches
+
+Julian Phillips (1):
+      Documentation/git-checkout: Update summary to reflect current abilities
+
+Junio C Hamano (7):
+      refspec: allow colon-less wildcard "refs/category/*"
+      git-fetch test: test tracking fetch results, not just FETCH_HEAD
+      test_must_fail: 129 is a valid error code from usage()
+      Update draft release notes for 1.5.4.5
+      Update draft release notes for 1.5.5
+      builtin-prune: protect objects listed on the command line
+      GIT 1.5.4.5
+
+Michele Ballabio (3):
+      parse-options.c: introduce OPT_DATE
+      Add tests for git-prune
+      builtin-prune.c: use parse_options()
+
+SZEDER Gábor (1):
+      Always set *nongit_ok in setup_git_directory_gently()
+
+
+Version v1.5.5-rc1; changes since v1.5.5-rc0:
+---------------------------------------------
+
+Brandon Casey (2):
+      builtin-gc.c: allow disabling all auto-gc'ing by assigning 0 to gc.auto
+      t/t7003-filter-branch.sh: use test_must_fail rather than '!'
+
+Daniel Barkalow (3):
+      Tighten refspec processing
+      Fix t3200 config
+      Fix tag following
+
+Eyvind Bernhardsen (2):
+      fast-import: Allow "reset" to delete a new branch without error
+      fast-import: Document the effect of "merge" with no "from" in a commit
+
+Johannes Schindelin (1):
+      remote show: do not show symbolic refs
+
+Junio C Hamano (10):
+      Makefile: DIFF_OBJS is not special at all these days
+      Makefile: flatten enumeration of headers, objects and programs
+      t1000: use "test_must_fail git frotz", not "! git frotz"
+      git-merge-one-file: fix longstanding stupid thinko
+      Test: catch if trash cannot be removed
+      Add tests to catch problems with un-unlinkable symlinks
+      Fix read-tree not to discard errors
+      remote.c: Fix overtight refspec validation
+      gc --auto: raise default auto pack limit from 20 to 50
+      GIT 1.5.5-rc1
+
+Kevin Ballard (4):
+      Add --reverse to the git-rev-list usage string
+      Document the sendemail.smtpserverport config variable
+      Don't try and percent-escape existing percent escapes in git-svn URIs
+      Make git-svn tests behave better on OS X
+
+Linus Torvalds (3):
+      Don't update unchanged merge entries
+      Fix possible Solaris problem in 'checkout_entry()'
+      Make revision limiting more robust against occasional bad commit dates
+
+Marius Storm-Olsen (1):
+      git-p4: Optimize the fetching of data from perforce.
+
+Miklos Vajna (1):
+      Documentation/git-merge: document subtree strategy.
+
+Nicolas Pitre (1):
+      make it easier for people who just want to get rid of 'git gc --auto'
+
+Ralf Wildenhues (1):
+      Improve description of git filter-branch.
+
+Shawn Bohrer (2):
+      git-p4: Unset P4DIFF environment variable when using 'p4 -du diff'
+      git-p4: Use P4EDITOR environment variable when set
+
+
+Version v1.5.5-rc0; changes since v1.5.4.7:
+-------------------------------------------
+
+Adam Piątyszek (1):
+      git-gui: Add option for changing the width of the commit message text box
+
+Alex Riesen (4):
+      Fix builtin checkout crashing when given an invalid path
+      Fix test for cleanup failure in t7300 on Windows
+      Do not use GUID on dir in git init --shared=all on FreeBSD
+      git-gui: update russian translation
+
+Alexandre Julliard (5):
+      git.el: Support for showing unknown/ignored directories.
+      git.el: Added a command to amend a commit.
+      git.el: Check for existing buffers on revert.
+      git.el: Better handling of subprocess errors.
+      git.el: Do not display empty directories.
+
+Andreas Ericsson (1):
+      pack-objects: Add runtime detection of online CPU's
+
+Brandon Casey (13):
+      builtin-reflog.c: fix typo that accesses an unset variable
+      Add compat/fopen.c which returns NULL on attempt to open directory
+      builtin-reflog.c: don't install new reflog on write failure
+      reflog-delete: parse standard reflog options
+      git-reflog: add option --rewrite to update reflog entries while expiring
+      refs.c: make close_ref() and commit_ref() non-static
+      git-reflog: add option --updateref to write the last reflog sha1 into the ref
+      git-stash: add new 'drop' subcommand
+      git-stash: add new 'pop' subcommand
+      pack-objects: Print a message describing the number of threads for packing
+      t3903-stash.sh: Add missing '&&' to body of testcase
+      git-reflog.txt: Document new commands --updateref and --rewrite
+      t3903-stash.sh: Add tests for new stash commands drop and pop
+
+Brian Downing (1):
+      compat: Add simplified merge sort implementation from glibc
+
+Bruno Ribas (2):
+      gitweb: Make use of the $git_dir variable at sub git_get_project_url_list
+      gitweb: Use the config file to set repository owner's name.
+
+Carl Worth (1):
+      Eliminate confusing "won't bisect on seeked tree" failure
+
+Carlos Rica (1):
+      Make builtin-reset.c use parse_options.
+
+Charles Bailey (6):
+      Tidy up git mergetool's backup file behaviour
+      Changed an internal variable of mergetool to support custom commands
+      Teach git mergetool to use custom commands defined at config time
+      Add a very basic test script for git mergetool
+      git-mergetool documentaiton: show toolnames in typewriter font
+      merge-tool documentation: describe custom command usage
+
+Christian Couder (17):
+      help: make 'git-help--browse' usable outside 'git-help'.
+      help--browse: add '--config' option to check a config option for a browser.
+      Rename 'git-help--browse.sh' to 'git-web--browse.sh'.
+      instaweb: use 'git-web--browse' to launch browser.
+      config: add test cases for empty value and no value config variables.
+      Documentation: instaweb: add 'git-web--browse' information.
+      web--browse: Add a few quotes in 'init_browser_path'.
+      Documentation: add 'git-web--browse.txt' and simplify other docs.
+      help.c: use 'git_config_string' to get 'help_default_format'.
+      run-command: Redirect stderr to a pipe before redirecting stdout to stderr
+      help: add "man.viewer" config var to use "woman" or "konqueror"
+      Documentation: help: describe 'man.viewer' config variable
+      help: implement multi-valued "man.viewer" config option
+      Documentation: help: explain 'man.viewer' multiple values
+      help: warn if specified 'man.viewer' is unsupported, instead of erroring out
+      web--browse: use custom commands defined at config time
+      Documention: web--browse: add info about "browser.<tool>.cmd" config var
+
+Christian Stimming (4):
+      git-gui: (i18n) Fix a bunch of still untranslated strings.
+      git-gui: Update German translation.
+      git-gui: (i18n) Add newly added translation strings to template.
+      git-gui: Update German translation.
+
+Clemens Buchacher (2):
+      http-push: push <remote> :<branch> deletes remote branch
+      http-push: add regression tests
+
+Daniel Barkalow (33):
+      Test :/string form for checkout
+      Reduce the number of connects when fetching
+      Allow callers of unpack_trees() to handle failure
+      Add flag to make unpack_trees() not print errors.
+      Send unpack-trees debugging output to stderr
+      Discard "deleted" cache entries after using them to update the working tree
+      Add "skip_unmerged" option to unpack_trees.
+      Build-in merge-recursive
+      Move create_branch into a library file
+      Use diff -u instead of diff in t7201
+      Library function to check for unmerged index entries
+      Move code to clean up after a branch change to branch.c
+      Build in checkout
+      Clean up reporting differences on branch switch
+      API documentation for remote.h
+      Add more tests for format-patch
+      Improve message-id generation flow control for format-patch
+      Export some email and pretty-printing functions
+      Use ALLOC_GROW in remote.{c,h}
+      Add a --cover-letter option to format-patch
+      Add tests for extra headers in format-patch
+      Fix format.headers not ending with a newline
+      Combine To: and Cc: headers
+      Support a --cc=<email> option in format-patch
+      Resolve value supplied for no-colon push refspecs
+      builtin-checkout.c: Remove unused prefix arguments in switch_branches path
+      Add support for url aliases in config files
+      Add API access to shortlog
+      Improve collection of information for format-patch --cover-letter
+      Always use the current connection's remote ref list in git protocol
+      Use diff_tree() directly in making cover letter
+      Write index file on any checkout of files
+      Write diff output to a file in struct diff_options
+
+David Aguilar (1):
+      gitk: Don't show local changes when we there is no work tree
+
+David Brown (1):
+      git-send-email: Generalize auto-cc recipient mechanism.
+
+David Kågedal (1):
+      git.el: Set process-environment instead of invoking env
+
+Denis Cheng (4):
+      cleanup: remove unused git_checkout_config
+      whatchanged documentation: share description of --pretty with others
+      specify explicit "--pretty=medium" with `git log/show/whatchanged`
+      log/show/whatchanged: introduce format.pretty configuration
+
+Dmitry Potapov (3):
+      git-web--browse: do not start the browser with nohup
+      Make private quote_path() in wt-status.c available as quote_path_relative()
+      git-clean: correct printing relative path
+
+Eric Wong (1):
+      git-svn: improve repository URL matching when following parents
+
+Florian La Roche (1):
+      gitweb: Make feed entries point to commitdiff view
+
+Frank Lichtenheld (1):
+      gc: Add --quiet option
+
+Gerrit Pape (4):
+      gitk: properly deal with tag names containing / (slash)
+      git-merge-index documentation: clarify synopsis
+      builtin-tag.c: remove cruft
+      hash-object: cleanup handling of command line options
+
+Jakub Narebski (11):
+      gitweb: Fix displaying unchopped argument in chop_and_escape_str
+      gitweb: Add new option -nohtml to quot_xxx subroutines
+      gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form
+      gitweb: Fix bugs in git_search_grep_body: it's length(), not len()
+      gitweb: Better cutting matched string and its context
+      Add '--fixed-strings' option to "git log --grep" and friends
+      gitweb: Change parse_commits signature to allow for multiple options
+      gitweb: Simplify fixed string search
+      Documentation: Remove --{min,max}-age option from git-log(1)
+      gitweb: Mark first match when searching commit messages
+      gitweb: Fix and simplify pickaxe search
+
+James Bowes (1):
+      Add a BuildRequires for gettext in the spec file.
+
+Jason McMullan (1):
+      Remove $Id: ..$ $Header: ..$ etc from +ko and +k files during import
+
+Jay Soffian (8):
+      git-web--browse: fix misplaced quote in init_browser_path()
+      git-help--browse: improve browser support under OS X
+      builtin-checkout.c: fix possible usage segfault
+      branch: optionally setup branch.*.merge from upstream local branches
+      doc: documentation update for the branch track changes
+      Correct git-pull documentation
+      send-email: fix In-Reply-To regression
+      pull: pass --strategy along to to rebase
+
+Jean-Luc Herren (1):
+      fast-import: exit with proper message if not a git dir
+
+Jeff King (31):
+      allow suppressing of global and system config
+      fix config reading in tests
+      hard-code the empty tree object
+      add--interactive: handle initial commit better
+      git_config_*: don't assume we are parsing a config file
+      t3404: use configured shell instead of /bin/sh
+      diff: fix java funcname pattern for solaris
+      t9001: enhance fake sendmail test harness
+      send-email: test compose functionality
+      help: use parseopt
+      make alias lookup a public, procedural function
+      help: respect aliases
+      use build-time SHELL_PATH in test scripts
+      rename: warn user when we have turned off rename detection
+      allow git-am to run in a subdirectory
+      Add a test for read-tree -u --reset with a D/F conflict
+      gitk: make autoselect optional
+      tr portability fixes
+      t0050: perl portability fix
+      more tr portability test script fixes
+      grep portability fix: don't use "-e" or "-q"
+      remove use of "tail -n 1" and "tail -1"
+      add test_cmp function for test scripts
+      t4020: don't use grep -a
+      t6000lib: tr portability fix
+      add NO_EXTERNAL_GREP build option
+      filter-branch: don't use xargs -0
+      filter-branch: use $SHELL_PATH instead of 'sh'
+      t9112: add missing #!/bin/sh header
+      t7505: use SHELL_PATH in hook
+      t6000lib: re-fix tr portability
+
+Jim Meyering (1):
+      Avoid unnecessary "if-before-free" tests.
+
+Johan Herland (2):
+      Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR
+      Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR
+
+Johannes Schindelin (21):
+      Teach "git reflog" a subcommand to delete single entries
+      Also use unpack_trees() in do_diff_cache()
+      Fix "git clone" for git:// protocol
+      Adjust .gitignore for 5884f1(Rename 'git-help--browse.sh'...)
+      Introduce the config variable pack.packSizeLimit
+      bisect view: check for MinGW32 and MacOSX in addition to X11
+      xdl_merge(): make XDL_MERGE_ZEALOUS output simpler
+      xdl_merge(): introduce XDL_MERGE_ZEALOUS_ALNUM
+      completion: support format-patch's --cover-letter option
+      path-list: add functions to work with unsorted lists
+      parseopt: add flag to stop on first non option
+      Test "git remote show" and "git remote prune"
+      Make git-remote a builtin
+      builtin-remote: prune remotes correctly that were added with --mirror
+      Fix make_absolute_path() for parameters without a slash
+      format-patch: use the diff options for the cover letter, too
+      format-patch: wrap cover-letter's shortlog sensibly
+      remote show: Clean up connection correctly if object fetch wasn't done
+      remote: fix "update [group...]"
+      builtin remote rm: remove symbolic refs, too
+      gc: call "prune --expire 2.weeks.ago" by default
+
+Johannes Sixt (7):
+      Fix misuse of prefix_path()
+      gitk: Heed the lines of context in merge commits
+      Technical documentation of the run-command API.
+      prefix_path: use is_absolute_path() instead of *orig == '/'
+      start_command(), .in/.out/.err = -1: Callers must close the file descriptor
+      start_command(), if .in/.out > 0, closes file descriptors, not the callers
+      git-submodule summary: fix that some "wc" flavors produce leading spaces
+
+Jonas Fonseca (2):
+      man pages are littered with .ft C and others
+      shortlog: do not require to run from inside a git repository
+
+Junichi Uekawa (1):
+      git-blame.el: show the when, who and what in the minibuffer.
+
+Junio C Hamano (93):
+      index: be careful when handling long names
+      Avoid running lstat(2) on the same cache entry.
+      read-cache.c: fix a couple more CE_REMOVE conversion
+      read-cache.c: introduce is_racy_timestamp() helper
+      lazy index hashing
+      Sane use of test_expect_failure
+      test: reword the final message of tests with known breakages
+      known breakage: revision range computation with clock skew
+      fix misuse of prefix_path()
+      builtin-apply.c: refactor small part that matches context
+      builtin-apply.c: restructure "offset" matching
+      builtin-apply.c: push match-beginning/end logic down
+      builtin-apply.c: make it more line oriented
+      builtin-apply.c: optimize match_beginning/end processing a bit.
+      builtin-apply.c: mark common context lines in lineinfo structure.
+      builtin-apply.c: clean-up apply_one_fragment()
+      builtin-apply.c: simplify calling site to apply_line()
+      builtin-apply.c: do not feed copy_wsfix() leading '+'
+      builtin-apply.c: move copy_wsfix() function a bit higher.
+      builtin-apply.c: pass ws_rule down to match_fragment()
+      git-apply --whitespace=fix: fix whitespace fuzz introduced by previous run
+      core.whitespace: cr-at-eol
+      Documentation/SubmittingPatches: Instruct how to use [PATCH] Subject header
+      Documentation/SubmittingPatches: discuss first then submit
+      Documentation/SubmittingPatches: What's Acked-by and Tested-by?
+      Make error messages from cherry-pick/revert more sensible
+      setup: sanitize absolute and funny paths in get_pathspec()
+      git-add: adjust to the get_pathspec() changes.
+      builtin-mv: minimum fix to avoid losing files
+      gitignore(5): Allow "foo/" in ignore list to match directory "foo"
+      gitignore: lazily find dtype
+      Define the project whitespace policy
+      apply: do not barf on patch with too large an offset
+      Update the main documentation (stale notes section)
+      .mailmap: adjust to a recent patch application glitch.
+      diff --relative: output paths as relative to the current subdirectory
+      diff --relative: help working in a bare repository
+      checkout: notice when the switched branch is behind or forked
+      Documentation/SubmittingPatches - a suggested patch flow
+      Sync with 1.5.4.2 and start 1.5.5 Release Notes
+      sending errors to stdout under $PAGER
+      merge-recursive: split low-level merge functions out.
+      expose a helper function peel_to_type().
+      checkout: tone down the "forked status" diagnostic messages
+      checkout: work from a subdirectory
+      git-reset --hard and git-read-tree --reset: fix read_cache_unmerged()
+      checkout: updates to tracking report
+      gitweb: Better chopping in commit search results
+      Add merge-subtree back
+      checkout: show progress when checkout takes long time while switching branches
+      ws_fix_copy(): move the whitespace fixing function to ws.c
+      checkout: error out when index is unmerged even with -m
+      diff --dirstat: saner handling of binary and unmerged files
+      url rewriting: take longest and first match
+      git-apply --whitespace=fix: fix off by one thinko
+      Revert "pack-objects: Print a message describing the number of threads for packing"
+      git-remote: do not complain on multiple URLs for a remote
+      format-patch: remove a leftover debugging message
+      tests: introduce test_must_fail
+      Update draft release notes for 1.5.5
+      t6024: move "git reset" to prepare for a test inside the test itself
+      CodingGuidelines: spell out how we use grep in our scripts
+      find_unique_abbrev(): redefine semantics
+      Clean up find_unique_abbrev() callers
+      diff-lib.c: constness strengthening
+      diff: make sure work tree side is shown as 0{40} when different
+      Update draft release notes for 1.5.5
+      describe --always: fall back to showing an abbreviated object name
+      git-describe: use tags found in packed-refs correctly
+      describe: fix --long output
+      describe: re-fix display_name()
+      t6120 (describe): check --long properly
+      Revert "receive-pack: use strict mode for unpacking objects"
+      Revert "unpack-objects: prevent writing of inconsistent objects"
+      fsck.c: fix bogus "empty tree" check
+      am: read from the right mailbox when started from a subdirectory
+      am: remove support for -d .dotest
+      am: --rebasing
+      get_pathspec(): die when an out-of-tree path is given
+      Revert part of 744dacd (builtin-mv: minimum fix to avoid losing files)
+      Revert part of 1abf095 (git-add: adjust to the get_pathspec() changes)
+      Revert part of d089eba (setup: sanitize absolute and funny paths in get_pathspec())
+      git-clean: add tests for relative path
+      send-email: --no-signed-off-cc should suppress 'sob' cc
+      traverse_trees_recursive(): propagate merge errors up
+      git-gui: Simplify MSGFMT setting in Makefile
+      Documentation/config: typofix
+      Documentation/git-help: typofix
+      read-tree() and unpack_trees(): use consistent limit
+      Redo "add test_cmp function for test scripts"
+      git-gui: Improve directions regarding POT update in po/README
+      Resurrect git-rerere to contrib/examples
+      Update draft release notes for 1.5.5
+
+Karl Hasselström (2):
+      git-svn: Don't call git-repack anymore
+      Let "git svn" run "git gc --auto" occasionally
+
+Kevin Ballard (1):
+      bash: Properly quote the GIT_DIR at all times to fix subdirectory paths with spaces
+
+Kristian Høgsberg (1):
+      wt-status.c: no need for dup() dance anymore
+
+Lars Hjemli (1):
+      Simplify setup of $GIT_DIR in git-sh-setup.sh
+
+Linus Torvalds (22):
+      Make on-disk index representation separate from in-core one
+      Make run_diff_index() use unpack_trees(), not read_tree()
+      Create pathname-based hash-table lookup into index
+      Add "--dirstat" for some directory statistics
+      gitk: learn --show-all output
+      Add "--show-all" revision walker flag for debugging
+      Fix name re-hashing semantics
+      Name hash fixups: export (and rename) remove_hash_entry
+      Use helper function for copying index entry information
+      Be more verbose when checkout takes a long time
+      Add 'df_name_compare()' helper function
+      Make 'traverse_tree()' use linked structure rather than 'const char *base'
+      Add return value to 'traverse_tree()' callback
+      Make 'traverse_trees()' traverse conflicting DF entries in parallel
+      Move 'unpack_trees()' over to 'traverse_trees()' interface
+      Fix tree-walking compare_entry() in the presense of --prefix
+      Add 'const' where appropriate to index handling functions
+      Make 'unpack_trees()' take the index to work on as an argument
+      Make 'unpack_trees()' have a separate source and destination index
+      unpack_trees(): minor memory leak fix in unused destination index
+      unpack_trees(): fix diff-index regression.
+      Fix recent 'unpack_trees()'-related changes breaking 'git stash'
+
+Marco Costalba (1):
+      Avoid a useless prefix lookup in strbuf_expand()
+
+Mark Levedahl (1):
+      git-submodule - Allow adding a submodule in-place
+
+Martin Koegler (28):
+      git-fsck: report missing author/commit line in a commit as an error
+      parse_object_buffer: don't ignore errors from the object specific parsing functions
+      deref_tag: handle return value NULL
+      deref_tag: handle tag->tagged = NULL
+      check return code of prepare_revision_walk
+      read_object_with_reference: don't read beyond the buffer
+      get_sha1_oneline: check return value of parse_object
+      mark_blob/tree_uninteresting: check for NULL
+      reachable.c::add_one_tree: handle NULL from lookup_tree
+      list-objects.c::process_tree/blob: check for NULL
+      check results of parse_commit in merge_bases
+      process_tag: handle tag->tagged == NULL
+      reachable.c::process_tree/blob: check for NULL
+      revision.c: handle tag->tagged == NULL
+      parse_commit: don't fail, if object is NULL
+      check return value from parse_commit() in various functions
+      peel_onion: handle NULL
+      add generic, type aware object chain walker
+      builtin-fsck: move away from object-refs to fsck_walk
+      Remove unused object-ref code
+      builtin-fsck: reports missing parent commits
+      builtin-fsck: move common object checking code to fsck.c
+      add common fsck error printing function
+      unpack-object: cache for non written objects
+      unpack-objects: prevent writing of inconsistent objects
+      index-pack: introduce checking mode
+      receive-pack: use strict mode for unpacking objects
+      fetch-pack: check parse_commit/object results
+
+Matthias Kestenholz (1):
+      Add color.ui variable which globally enables colorization if set
+
+Michael Witten (3):
+      git-send-email: ssh/login style password requests
+      git-send-email: SIG{TERM,INT} handlers
+      git-send-email: Better handling of EOF
+
+Michal Rokos (2):
+      Add compat/snprintf.c for systems that return bogus
+      autoconf: Test FREAD_READS_DIRECTORIES
+
+Michele Ballabio (7):
+      gitk: Fix "Key bindings" message
+      git-gui: fix typo in lib/spellcheck.tcl
+      builtin-for-each-ref.c: fix typo in error message
+      gitk: Mark another string for translation
+      git-gui: update Italian translation
+      gitk: initial Italian translation
+      git-gui: remove spurious "fuzzy" attributes in po/it.po
+
+Mike Hommey (5):
+      Work around curl-gnutls not liking to be reinitialized
+      Add test for git rebase --abort
+      Documentation/git-rebase.txt: Add --strategy to synopsys
+      git rebase --abort: always restore the right commit
+      t3407-rebase-abort.sh: Enhance existing tests, and add test for rebase --merge
+
+Miklos Vajna (4):
+      git-clean: handle errors if removing files fails
+      Improve t6029 to check the real "subtree" case
+      Update Hungarian translation. 100% completed.
+      git-gui: Updated Hungarian translation (e5fba18)
+
+Nanako Shiraishi (2):
+      git-gui: Update Japanese translation
+      git-gui: Update Japanese translation
+
+Nicolas Pitre (5):
+      factorize revindex code out of builtin-pack-objects.c
+      make verify_one_pack() a bit less wrong wrt packed_git structure
+      fix unimplemented packed_object_info_detail() features
+      add storage size output to 'git verify-pack -v'
+      pack-objects: proper pack time stamping with --max-pack-size
+
+Paolo Bonzini (4):
+      git-commit: support variable number of hook arguments
+      git-commit: set GIT_EDITOR=: if editor will not be launched
+      git-commit: Refactor creation of log message.
+      git-commit: add a prepare-commit-msg hook
+
+Paul Mackerras (3):
+      gitk: Only restore window size from ~/.gitk, not position
+      gitk: Avoid Tcl error when switching views
+      gitk: Default to using po2msg.sh if msgfmt doesn't grok --tcl, -l and -d
+
+Pekka Kaitaniemi (1):
+      gitk: Add horizontal scrollbar to the diff view
+
+Peter Karlsson (2):
+      git-gui: Regenerated po template and merged translations with it
+      git-gui: updated Swedish translation
+
+Petr Baudis (1):
+      gitweb: Clearly distinguish regexp / exact match searches
+
+Philipp A. Hartmann (1):
+      git-gui: if a background colour is set, set foreground colour as well
+
+Philippe Bruhat (3):
+      cvsimport: have default merge regex allow for dashes in the branch name
+      cvsimport: allow for multiple -M options
+      cvsimport: document that -M can be used multiple times
+
+Pierre Habouzit (4):
+      git-describe: Add a --match option to limit considered tags.
+      git-name-rev: add a --(no-)undefined option.
+      parse-opt: bring PARSE_OPT_HIDDEN and NONEG to git-rev-parse --parseopt
+      parse-options: new option type to treat an option-like parameter as an argument.
+
+Ping Yin (5):
+      git-submodule summary: code framework
+      git-submodule summary: show commit summary
+      git-submodule summary: limit summary size
+      git-submodule summary: documentation
+      git-submodule summary: test
+
+Rafael Garcia-Suarez (1):
+      Make git-remote.perl "use strict" compliant
+
+Ralf Wildenhues (1):
+      Fix doc typos.
+
+Robin Rosenberg (2):
+      Make blame accept absolute paths
+      Improve bash prompt to detect various states like an unfinished merge
+
+SZEDER Gábor (9):
+      bash: add git-branch options
+      bash: git-branch -d and -m lists only local branches
+      bash: remove unnecessary conditions when checking for subcommands
+      bash: refactor searching for subcommands on the command line
+      bash: add new 'git stash' subcommands
+      bash: add 'git svn' subcommands and options
+      bash: use __gitdir when completing 'git rebase' options
+      bash: fix long option with argument double completion
+      update 'git rebase' documentation
+
+Samuel Tardieu (1):
+      "remote update": print remote name being fetched from
+
+Santi Béjar (3):
+      git-bundle.txt: Add different strategies to create the bundle
+      git-describe: --long shows the object name even for a tagged commit
+      clone: support cloning full bundles
+
+Sebastian Noack (1):
+      git-svn: Don't prompt for client cert password everytime.
+
+Shawn O. Pearce (37):
+      git-gui: Automatically spell check commit messages as the user types
+      git-gui: Paper bag fix bad string length call in spellchecker
+      git-gui: Correct size of dictionary name widget in options dialog
+      Include annotated tags in fast-import crash reports
+      Include the fast-import marks table in crash reports
+      Finish current packfile during fast-import crash handler
+      Update fast-import documentation to discuss crash reports
+      Teach git-grep --name-only as synonym for -l
+      git-gui: Ensure all spellchecker 'class' variables are initialized
+      git-gui: Remove explicit references to 'aspell' in message strings
+      git-gui: Only bind the spellcheck popup suggestion hook once
+      git-gui: Catch and display aspell startup failures to the user
+      git-gui: Gracefully display non-aspell version errors to users
+      git-gui: Shorten Aspell version strings to just Aspell version number
+      Optimize peel_ref for the current ref of a for_each_ref callback
+      Teach git-describe to use peeled ref information when scanning tags
+      Avoid accessing non-tag refs in git-describe unless --all is requested
+      Teach git-describe --exact-match to avoid expensive tag searches
+      Use git-describe --exact-match in bash prompt on detached HEAD
+      Teach git-describe to verify annotated tag names before output
+      Remove unused variable in builtin-fetch find_non_local_tags
+      Remove unnecessary delaying of free_refs(ref_map) in builtin-fetch
+      Ensure tail pointer gets setup correctly when we fetch HEAD only
+      Allow builtin-fetch's find_non_local_tags to append onto a list
+      Free the path_lists used to find non-local tags in git-fetch
+      Teach upload-pack to log the received need lines to an fd
+      Make git-fetch follow tags we already have objects for sooner
+      Teach git-fetch to grab a tag at the same time as a commit
+      Don't allow git-describe failures to go unnoticed in t6120
+      Test for packed tags in git-describe output
+      Add git-describe test for "verify annotated tag names on output"
+      git-pack-objects: Automatically pack annotated tags if object was packed
+      Teach fetch-pack/upload-pack about --include-tag
+      Teach git-fetch to exploit server side automatic tag following
+      bash: Remove completion of core.legacyheaders option
+      git-gui: Don't translate the special Apple menu
+      git-gui: Adjusted Japanese translation to updated POT
+
+Simon Hausmann (7):
+      git-p4: Fix submit user-interface.
+      git-p4: Ensure the working directory and the index are clean before "git-p4 rebase"
+      git-p4: Remove --log-substitutions feature.
+      git-p4: Clean up git-p4 submit's log message handling.
+      git-p4: Removed git-p4 submit --direct.
+      git-p4: git-p4 submit cleanups.
+      git-p4: Fix import of changesets with file deletions
+
+Steffen Prohaska (4):
+      safecrlf: Add mechanism to warn about irreversible crlf conversions
+      gitk: Add checkbutton to ignore space changes
+      t4014: Replace sed's non-standard 'Q' by standard 'q'
+      Add tests for filesystem challenges (case and unicode normalization)
+
+Teemu Likonen (1):
+      bash: Add more long options to be completed with "git --<TAB>"
+
+Tim Stoakes (1):
+      Add `git svn blame' command
+
+Toby Allsopp (1):
+      git-p4: Fix indentation from tab to spaces
+
+Tommy Thorn (2):
+      git-p4: Fix an obvious typo
+      git-p4: support exclude paths
+
+Tor Arvid Lund (1):
+      git-p4: Support usage of perforce client spec
+
+Uwe Kleine-König (1):
+      rev-list: add --branches, --tags and --remotes
+
+Yann Dirson (1):
+      Add an --argscmd flag to get the list of refs to show
+
+eric miao (1):
+      git-gui: translate the remaining messages in zh_cn.po to chinese
+
+
+Version v1.5.4.7; changes since v1.5.4.6:
+-----------------------------------------
+
+Junio C Hamano (2):
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+
+
+Version v1.5.4.6; changes since v1.5.4.5:
+-----------------------------------------
+
+A Large Angry SCM (1):
+      git-repack: re-enable parsing of -n command line option
+
+Alberto Bertogli (1):
+      builtin-apply: Show a more descriptive error on failure when opening a patch
+
+Ariel Badichi (2):
+      copy.c: copy_fd - correctly report write errors
+      archive.c: format_subst - fixed bogus argument to memchr
+
+Björn Steinbrink (1):
+      Fix section about backdating tags in the git-tag docs
+
+Carlos Rica (2):
+      Fix documentation syntax of optional arguments in short options.
+      core-tutorial.txt: Fix showing the current behaviour.
+
+Christian Couder (4):
+      bisect: fix bad rev checking in "git bisect good"
+      bisect: report bad rev better
+      bisect: squelch "fatal: ref HEAD not a symref" misleading message
+      git-bisect: make "start", "good" and "skip" succeed or fail atomically
+
+Clifford Caoile (1):
+      Docs gitk: Explicitly mention the files that gitk uses (~/.gitk)
+
+Dan McGee (1):
+      Remove 'header' from --signoff option description
+
+Dirk Süsserott (1):
+      Documentation/git-request-pull: Fixed a typo ("send" -> "end")
+
+Dustin Sallings (1):
+      Documentation/config.txt: Mention branch.<name>.rebase applies to "git pull"
+
+Florian Ragwitz (1):
+      filter-branch: Documentation fix.
+
+Ian Hilt (1):
+      Documentation/git-describe.txt: make description more readable
+
+Jeff King (6):
+      t5516: remove ambiguity test (1)
+      fix reflog approxidate parsing bug
+      cvsimport: always pass user data to "system" as a list
+      doc: clarify definition of "update" for git-add -u
+      doc/git-daemon: s/uploadarchive/uploadarch/
+      git-am: fix typo in usage message
+
+Johannes Sixt (3):
+      Document option --only of git commit
+      wt-status.h: declare global variables as extern
+      rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref
+
+Jon Loeliger (1):
+      Clarify and fix English in "git-rm" documentation
+
+Junio C Hamano (7):
+      Fix "git apply" to correctly enforce "match at the beginning"
+      Document -w option to shortlog
+      git-am: minor cleanup
+      am: POSIX portability fix
+      write-tree: properly detect failure to write tree objects
+      git-shell: accept "git foo" form
+      GIT 1.5.4.6
+
+Linus Torvalds (2):
+      Ignore leading empty lines while summarizing merges
+      git-am: cope better with an empty Subject: line
+
+Matt Graham (1):
+      Linked glossary from cvs-migration page
+
+Matthew Ogilvie (1):
+      gitattributes: Fix subdirectory attributes specified from root directory
+
+Michael Weber (1):
+      svn-git: Use binmode for reading/writing binary rev maps
+
+Michele Ballabio (1):
+      revision.c: make --date-order overriddable
+
+Miklos Vajna (1):
+      diff options documentation: refer to --diff-filter in --name-status
+
+Pieter de Bie (1):
+      builtin-fast-export: Only output a single parent per line
+
+René Scharfe (1):
+      git-archive: ignore prefix when checking file attribute
+
+Scott Collins (1):
+      Clarify documentation of git-cvsserver, particularly in relation to git-shell
+
+Sitaram Chamarty (1):
+      builtin-commit.c: add -u as short name for --untracked-files
+
+Thomas Guyot-Sionnest (1):
+      git-svn bug with blank commits and author file
+
+
+Version v1.5.4.5; changes since v1.5.4.4:
+-----------------------------------------
+
+Andy Whitcroft (1):
+      shortlog: take the first populated line of the description
+
+Bernt Hansen (1):
+      git-new-workdir: Share SVN meta data between work dirs and the repository
+
+Brandon Casey (1):
+      t/t3800-mktag.sh: use test_must_fail rather than '!'
+
+Clemens Buchacher (1):
+      merge-recursive: handle file mode changes
+
+Daniel Barkalow (2):
+      Tighten refspec processing
+      Fix branches file configuration
+
+Eric Wong (1):
+      git-svn: don't blindly append '*' to branch/tags config
+
+Guanqun Lu (1):
+      Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.
+
+Jakub Narebski (1):
+      gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form
+
+Jeff King (2):
+      t0021: tr portability fix for Solaris
+      Documentation: clarify use of .git{ignore,attributes} versus .git/info/*
+
+Johannes Schindelin (3):
+      launch_editor(): allow spaces in the filename
+      git fetch: Take '-n' to mean '--no-tags'
+      merge-file: handle empty files gracefully
+
+Jonas Fonseca (1):
+      Make man page building quiet when DOCBOOK_XSL_172 is defined
+
+Junio C Hamano (9):
+      filter-branch: handle "disappearing tree" case correctly in subdir filter
+      git-pull documentation: warn about the option order
+      quiltimport: fix misquoting of parsed -p<num> parameter
+      format-patch: generate MIME header as needed even when there is format.header
+      rebase -m: do not trigger pre-commit verification
+      Start draft ReleaseNotes for 1.5.4.5
+      git-fetch test: test tracking fetch results, not just FETCH_HEAD
+      Update draft release notes for 1.5.4.5
+      GIT 1.5.4.5
+
+Linus Torvalds (1):
+      rev-parse: fix meaning of rev~ vs rev~0.
+
+Marc-Andre Lureau (2):
+      git-svn: fix find-rev error message when missing arg
+      git-cvsimport: fix merging with remote parent branch
+
+Mike Hommey (1):
+      git rebase --abort: always restore the right commit
+
+Pierre Habouzit (1):
+      git-quiltimport: better parser to grok "enhanced" series files.
+
+Vineet Kumar (1):
+      Minor wording changes in the keyboard descriptions in git-add --interactive.
+
+
+Version v1.5.4.4; changes since v1.5.4.3:
+-----------------------------------------
+
+Adeodato Simó (1):
+      Really make the LF after reset in fast-import optional
+
+Björn Steinbrink (1):
+      receive-pack: Initialize PATH to include exec-dir.
+
+Brandon Casey (1):
+      builtin-reflog.c: don't install new reflog on write failure
+
+Bryan Donlan (1):
+      Documentation/git-am.txt: Pass -r in the example invocation of rm -f .dotest
+
+Caio Marcelo de Oliveira Filho (1):
+      filter-branch documentation: non-zero exit status in command abort the filter
+
+Carl Worth (1):
+      Eliminate confusing "won't bisect on seeked tree" failure
+
+Daniel Barkalow (3):
+      Use a single implementation and API for copy_file()
+      Don't use GIT_CONFIG in t5505-remote
+      Correct name of diff_flush() in API documentation
+
+Gerrit Pape (2):
+      templates/Makefile: don't depend on local umask setting
+      git-merge.sh: better handling of combined --squash,--no-ff,--no-commit options
+
+Jay Soffian (2):
+      rev-parse: fix potential bus error with --parseopt option spec handling
+      send-email: fix In-Reply-To regression
+
+Jeff King (1):
+      revert: actually check for a dirty index
+
+Johan Herland (2):
+      Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR
+      Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR
+
+Johannes Schindelin (4):
+      http-push: avoid invalid memory accesses
+      http-push: do not get confused by submodules
+      http-push: avoid a needless goto
+      cvsexportcommit: be graceful when "cvs status" reorders the arguments
+
+Johannes Sixt (2):
+      daemon: send more error messages to the syslog
+      daemon: ensure that base-path is an existing directory
+
+John Goerzen (1):
+      Fix dcommit, rebase when rewriteRoot is in use
+
+Jonathan del Strother (1):
+      Prompt to continue when editing during rebase --interactive
+
+Junio C Hamano (6):
+      Fix "git log --merge --left-right"
+      Start preparing for 1.5.4.4
+      tests: introduce test_must_fail
+      Update draft release notes for 1.5.4.4
+      test-lib: fix TERM to dumb for test repeatability
+      GIT 1.5.4.4
+
+Matthieu Moy (1):
+      Fix incorrect wording in git-merge.txt.
+
+Mike Hommey (2):
+      Set proxy override with http_init()
+      Fix random crashes in http_cleanup()
+
+Mike Ralphson (1):
+      Documentation cherry-pick: Fix cut-and-paste error
+
+Miklos Vajna (2):
+      Documentation/git-filter-branch: add a new msg-filter example
+      Documentation/git svn log: add a note about timezones.
+
+Pierre Habouzit (1):
+      unquote_c_style: fix off-by-one.
+
+Ping Yin (1):
+      git-submodule: Fix typo 'url' which should be '$url'
+
+Rémi Vanicat (1):
+      git.el: find the git-status buffer whatever its name is
+
+Santi Béjar (1):
+      ident.c: reword error message when the user name cannot be determined
+
+Sebastian Noack (1):
+      git-svn: Don't prompt for client cert password everytime.
+
+Shawn O. Pearce (6):
+      Ensure 'make dist' compiles git-archive.exe on Cygwin
+      Protect peel_ref fallback case from NULL parse_object result
+      Correct fast-export file mode strings to match fast-import standard
+      git-gui: Paper bag fix info dialog when no files are staged at commit
+      Fix 'git remote show' regression on empty repository in 1.5.4
+      git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl fails
+
+Steven Drake (1):
+      timezone_names[]: fixed the tz offset for New Zealand.
+
+Uwe Kleine-König (1):
+      config.txt: refer to --upload-pack and --receive-pack instead of --exec
+
+
+Version v1.5.4.3; changes since v1.5.4.2:
+-----------------------------------------
+
+Gerrit Pape (1):
+      git-clone.sh: properly configure remote even if remote's head is dangling
+
+Jay Soffian (2):
+      git-gui: support Git Gui.app under OS X 10.5
+      send-email: squelch warning due to comparing undefined $_ to ""
+
+Jeff King (4):
+      push: indicate partialness of error message
+      Documentation/push: clarify matching refspec behavior
+      push: document the status output
+      hash: fix lookup_hash semantics
+
+Junio C Hamano (1):
+      GIT 1.5.4.3
+
+Kristian Høgsberg (1):
+      Rename git-core rpm to just git and rename the meta-pacakge to git-all.
+
+Miklos Vajna (1):
+      Documentation/git-stash: document options for git stash list
+
+Pekka Kaitaniemi (1):
+      Clarified the meaning of git-add -u in the documentation
+
+Shawn O. Pearce (5):
+      git-gui: Ensure error dialogs always appear over all other windows
+      git-gui: Paper bag fix error dialogs opening over the main window
+      git-gui: Default TCL_PATH to same location as TCLTK_PATH
+      git-gui: Avoid hardcoded Windows paths in Cygwin package files
+      git-gui: Focus insertion point at end of strings in repository chooser
+
+Wincent Colaiuta (1):
+      git-gui: relax "dirty" version detection
+
+
+Version v1.5.4.2; changes since v1.5.4.1:
+-----------------------------------------
+
+Christian Couder (8):
+      config: add test cases for empty value and no value config variables.
+      diff.c: replace a 'strdup' with 'xstrdup'.
+      diff.c: remove useless check for value != NULL
+      config: add 'git_config_string' to refactor string config variables.
+      Add "const" qualifier to "char *pager_program".
+      Add "const" qualifier to "char *editor_program".
+      Add "const" qualifier to "char *excludes_file".
+      diff.c: add "const" qualifier to "char *cmd" member of "struct ll_diff_driver"
+
+Daniel Barkalow (1):
+      Validate nicknames of remote branches to prohibit confusing ones
+
+David Steven Tweed (1):
+      Make git prune remove temporary packs that look like write failures
+
+Frank Lichtenheld (1):
+      config: Fix --unset for continuation lines
+
+Gerrit Pape (2):
+      builtin-commit: remove .git/SQUASH_MSG upon successful commit
+      cvsimport: have default merge regex also match beginning of commit message
+
+James Bowes (1):
+      Add a BuildRequires for gettext in the spec file.
+
+Jay Soffian (1):
+      mailinfo: feed only one line to handle_filter() for QP input
+
+Jeff King (2):
+      status: suggest "git rm --cached" to unstage for initial commit
+      commit: discard index after setting up partial commit
+
+Johannes Schindelin (3):
+      bisect: allow starting with a detached HEAD
+      Document that the default of branch.autosetupmerge is true
+      bisect: use verbatim commit subject in the bisect log
+
+Johannes Sixt (1):
+      upload-pack: Initialize the exec-path.
+
+Jonas Fonseca (1):
+      man pages are littered with .ft C and others
+
+Junio C Hamano (31):
+      git-pull documentation: fix markup
+      archive-tar.c: guard config parser from value=NULL
+      Add config_error_nonbool() helper function
+      builtin-apply.c: guard config parser from value=NULL
+      builtin-branch.c: guard config parser from value=NULL
+      builtin-commit.c: guard config parser from value=NULL
+      builtin-config.c: guard config parser from value=NULL
+      builtin-log.c: guard config parser from value=NULL
+      builtin-reflog.c: guard config parser from value=NULL
+      builtin-show-branch.c: guard config parser from value=NULL
+      builtin-tag.c: guard config parser from value=NULL
+      connect.c: guard config parser from value=NULL
+      convert.c: guard config parser from value=NULL
+      diff.c: guard config parser from value=NULL
+      git.c: guard config parser from value=NULL
+      help.c: guard config parser from value=NULL
+      http.c: guard config parser from value=NULL
+      merge-recursive.c: guard config parser from value=NULL
+      remote.c: guard config parser from value=NULL
+      setup.c: guard config parser from value=NULL
+      wt-status.c: guard config parser from value=NULL
+      imap-send.c: guard config parser from value=NULL
+      builtin-log.c: guard config parser from value=NULL
+      config.c: guard config parser from value=NULL
+      Revert "pack-objects: only throw away data during memory pressure"
+      Protect get_author_ident_from_commit() from filenames in work tree
+      diff.c: fixup garding of config parser from value=NULL
+      diff: Fix miscounting of --check output
+      filter-branch: handle filenames that need quoting
+      Documentation/git-reset:
+      GIT 1.5.4.2
+
+Martin Koegler (1):
+      pack-objects: only throw away data during memory pressure
+
+Mike Hommey (1):
+      Work around curl-gnutls not liking to be reinitialized
+
+Miklos Vajna (2):
+      builtin-gc.c: guard config parser from value=NULL
+      git clone -s documentation: force a new paragraph for the NOTE
+
+Pieter de Bie (2):
+      Documentation/git-reset: don't mention --mixed for selected-paths reset
+      Documentation/git-reset: Add an example of resetting selected paths
+
+Sergei Organov (1):
+      git-cvsimport.txt: fix '-M' description.
+
+Shawn O. Pearce (1):
+      fast-import: check return value from unpack_entry()
+
+Stelian Pop (1):
+      hg-to-git: fix parent analysis
+
+Uwe Kleine-König (1):
+      rebase -i: accept -m as advertised in the man page
+
+
+Version v1.5.4.1; changes since v1.5.4:
+---------------------------------------
+
+Gerrit Pape (1):
+      INSTALL: git-merge no longer uses cpio
+
+Jari Aalto (1):
+      Documentation/git-stash.txt: Adjust SYNOPSIS command syntax (2)
+
+Junio C Hamano (3):
+      Update stale documentation links from the main documentation.
+      Fix "git-commit -C $tag"
+      gitattributes: fix relative path matching
+
+Jörg Sommer (2):
+      git-am: fix type in its usage string
+      git-remote documentation: fix synopsis to match description
+
+Tim Stoakes (1):
+      Fix typo in 'blame' documentation.
+
+Timo Hirvonen (1):
+      Fix parsing numeric color values
+
+
+Version v1.5.4; changes since v1.5.4-rc5:
+-----------------------------------------
+
+Brandon Casey (4):
+      git-relink: avoid hard linking in objects/info directory
+      filter-branch.sh: remove temporary directory on failure
+      filter-branch docs: remove brackets so not to imply revision arg is optional
+      filter-branch: assume HEAD if no revision supplied
+
+Bruno Ribas (1):
+      gitweb: Make use of the $git_dir variable at sub git_get_project_description
+
+Christian Couder (3):
+      Documentation: config: add "browser.<tool>.path".
+      Documentation: help: specify supported html browsers.
+      instaweb: use 'browser.<tool>.path' config option if it's set.
+
+Jakub Narebski (1):
+      gitweb: Add info about $projectroot and $projects_list to gitweb/README
+
+Jean-Luc Herren (1):
+      Documentation/git-cvsserver: Fix typo
+
+Jeff King (1):
+      t9001: add missing && operators
+
+Jim Meyering (1):
+      fix doc typos
+
+Johannes Schindelin (1):
+      Add test for rebase -i with commits that do not pass pre-commit
+
+Junio C Hamano (4):
+      reflog-expire: Avoid creating new files in a directory inside readdir(3) loop
+      Revert "filter-branch docs: remove brackets so not to imply revision arg is optional"
+      Fix "git checkout -b foo ':/substring'"
+      GIT 1.5.4
+
+Michele Ballabio (1):
+      Fix typo in a comment in t/test-lib.sh
+
+Miklos Vajna (1):
+      git rev-parse manpage: spelling fix
+
+Shawn O. Pearce (1):
+      Use 'printf %s $x' notation in t5401
+
+Yasushi SHOJI (1):
+      gitweb: Convert generated contents to utf8 in commitdiff_plain
+
+
+Version v1.5.4-rc5; changes since v1.5.4-rc4:
+---------------------------------------------
+
+Alex Riesen (1):
+      Make t5710 more strict when creating nested repos
+
+Brandon Casey (1):
+      git-commit: exit non-zero if we fail to commit the index
+
+Eric Wong (1):
+      git-svn: default to repacking every 1000 commits
+
+Gustaf Hendeby (1):
+      send-email, fix breakage in combination with --compose
+
+Jakub Narebski (1):
+      autoconf: define NO_SYS_SELECT_H on systems without <sys/select.h>.
+
+Johannes Schindelin (1):
+      pull --rebase: be cleverer with rebased upstream branches
+
+Junio C Hamano (5):
+      git-submodule: rename shell functions for consistency
+      git-submodule: fix subcommand parser
+      git-submodule: add test for the subcommand parser fix
+      Clarify that http-push being temporarily disabled with older cURL
+      GIT 1.5.4-rc5
+
+Mike Hommey (2):
+      Add a missing dependency on http.h
+      Documentation: add a bit about sendemail.to configuration
+
+Miklos Vajna (2):
+      git-clone -s: document problems with git gc --prune
+      git pull manpage: don't include -n from fetch-options.txt
+
+Nicolas Pitre (1):
+      pack-objects: Fix segfault when object count is less than thread count
+
+Pierre Habouzit (1):
+      parse-options: catch likely typo in presense of aggregated options.
+
+Robert Schiele (2):
+      pre-POSIX.1-2001 systems do not have <sys/select.h>
+      Makefile: customization for supporting HP-UX
+
+Sam Vilain (1):
+      git-svn(1): update instructions for resuming a git-svn clone
+
+Shawn O. Pearce (10):
+      git-gui: Honor the standard commit-msg hook
+      git-gui: Correct window title for hook failure dialogs
+      git-gui: Consolidate hook execution code into a single function
+      git-gui: Correct encoding of glossary/fr.po to UTF-8
+      Teach fast-import to honor pack.compression and pack.depth
+      Document the hairy gfi_unpack_entry part of fast-import
+      git-gui: Work around random missing scrollbar in revision list
+      git-gui: Fallback to Tcl based po2msg.sh if msgfmt isn't available
+      git-gui: Make the statistics of po2msg match those of msgfmt
+      git-gui: Correctly cleanup msgfmt '1 message untranslated' output
+
+Steffen Prohaska (3):
+      submodule: Document the details of the command line syntax
+      t9400-git-cvsserver-server: Wrap setup into test case
+      cvsserver: Fix for histories with multiple roots
+
+
+Version v1.5.4-rc4; changes since v1.5.4-rc3:
+---------------------------------------------
+
+Bill Lear (1):
+      Correct spelling in diff.c comment
+
+Brandon Casey (4):
+      close_lock_file(): new function in the lockfile API
+      Improve use of lockfile API
+      refs.c: rework ref_locks by abstracting from underlying struct lock_file
+      fast-import.c: don't try to commit marks file if write failed
+
+Christian Couder (2):
+      git-gui: Initial french translation
+      git-gui: add french glossary: glossary/fr.po
+
+Christian Stimming (4):
+      git-gui: Update glossary: add term "hunk"
+      git-gui: Update German translation
+      git-gui: Fix broken revert confirmation.
+      git-gui: Improve German translation.
+
+Dan McGee (3):
+      Remove usage of git- (dash) commands from email hook
+      cvsimport: remove last use of repo-config from git standard tools
+      Update git-completion for new 'remote rm' option
+
+Dave Peticolas (1):
+      Documentation: fix and clarify grammar in git-merge docs.
+
+Dmitry Potapov (1):
+      treat any file with NUL as binary
+
+Eric Wong (1):
+      git-svn: handle leading/trailing whitespace from svnsync revprops
+
+Grégoire Barbier (4):
+      http-push: disable http-push without USE_CURL_MULTI
+      http-push: fix webdav lock leak.
+      http-push: fail when info/refs exists and is already locked
+      http-push and http-fetch: handle URLs without trailing /
+
+Jakub Narebski (1):
+      autoconf: Add checking for unsetenv function
+
+Jean-Luc Herren (1):
+      Make default pre-commit hook less noisy
+
+Jeff King (5):
+      git-clean: fix off-by-one memory access when given no arguments
+      color unchanged lines as "plain" in "diff --color-words"
+      send-email: detect invocation errors earlier
+      send-email: validate patches before sending anything
+      send-email: add no-validate option
+
+Jim Meyering (2):
+      fast-import: Don't use a maybe-clobbered errno value
+      doc typo: s/prior committing/prior to committing/
+
+Johannes Schindelin (1):
+      gitk: make Ctrl "+" really increase the font size
+
+Junio C Hamano (8):
+      builtin-commit.c: remove useless check added by faulty cut and paste
+      Revert "builtin-commit.c: remove useless check added by faulty cut and paste"
+      Fix git-rerere documentation
+      Squelch bogus progress output from git-rebase--interactive
+      Document lockfile API
+      Officially deprecate repo-config.
+      http-push: clarify the reason of error from the initial PROPFIND request
+      GIT 1.5.4-rc4
+
+Kristian Høgsberg (1):
+      git-commit: fix double close(2) that can close a wrong file descriptor
+
+Lars Hjemli (1):
+      Move sha1_file_to_archive into libgit
+
+Linus Torvalds (4):
+      Fix performance regression for partial commits
+      Make builtin-commit.c more careful about parenthood
+      Make 'git fsck' complain about non-commit branches
+      Be more careful about updating refs
+
+Mark Drago (1):
+      hg-to-git: improve popen calls
+
+Mark Levedahl (1):
+      git-gui: Makefile - Handle $DESTDIR on Cygwin
+
+Martin Koegler (1):
+      parse_commit_buffer: tighten checks while parsing
+
+Miklos Vajna (3):
+      Add using merge subtree How-To
+      ls-remote: add -t and -h options.
+      Include rev-list options in git-log manpage.
+
+Peter Karlsson (1):
+      git-gui: Updated Swedish translation after mailing list review.
+
+Shawn O. Pearce (3):
+      git-gui: Allow 'Create New Repository' on existing directories
+      git-gui: Refresh file status description after hunk application
+      Fix random fast-import errors when compiled with NO_MMAP
+
+Thomas Zander (1):
+      core-tutorial typofix
+
+
+Version v1.5.4-rc3; changes since v1.5.4-rc2:
+---------------------------------------------
+
+Alexandre Julliard (6):
+      git.el: Support for getting diffs from inside the log-edit buffer.
+      git.el: Retrieve the permissions for up-to-date files.
+      git.el: Display file types and type changes.
+      git.el: Make sure we never insert the same file twice.
+      git.el: Refresh files from their real state upon commit.
+      git.el: Make status refresh faster.
+
+Bernt Hansen (1):
+      git-gui: Make commit log messages end with a newline
+
+Brandon Casey (1):
+      git-relink.txt: describe more clearly how hard linking occurs
+
+Charles Bailey (1):
+      gitk: Fix the Makefile to cope with systems lacking msgfmt
+
+Christian Couder (1):
+      Documentation: config: add 'help.*' and 'instaweb.*' variables.
+
+Christian Stimming (10):
+      gitk i18n: Add Makefile with rules for po file creation and installation
+      gitk i18n: Import msgcat for message string translation; load translation catalogs
+      gitk i18n: Markup several strings for translation
+      gitk i18n: Initial German translation
+      gitk i18n: More markup -- various options menus
+      gitk i18n: Recode gitk from latin1 to utf8 so that the (c) copyright character is valid utf8.
+      gitk: Update and fix Makefile
+      gitk: Update German translation
+      gitk: Fix typo in user message.
+      gitk: Update German translation.
+
+Dan McGee (1):
+      Documentation: rename gitlink macro to linkgit
+
+Eric Wong (4):
+      git-svn: allow dcommit --no-rebase to commit multiple, dependent changes
+      git-svn: unlink index files that were globbed, too
+      git-svn: support for funky branch and project names over HTTP(S)
+      git-svn: clarify the "Ignoring error from SVN" piece
+
+Florian La Roche (1):
+      Change git-gc documentation to reflect gc.packrefs implementation.
+
+Gerrit Pape (1):
+      gitk: use user-configured background in view definition dialog
+
+Grégoire Barbier (1):
+      Fix double-free() in http-push.c:remote_exists()
+
+Gustaf Hendeby (1):
+      Documentation/user-manual.txt: fix typo
+
+J. Bruce Fields (1):
+      Documentation: fix remote.<name>.skipDefaultUpdate description
+
+James Bowes (1):
+      Make the git metapackage require the same version of the subpackages.
+
+Jeff King (8):
+      config: handle lack of newline at end of file better
+      git-reset: refuse to do hard reset in a bare repository
+      add a "basic" diff config callback
+      diff: load funcname patterns in "basic" config
+      diff: remove lazy config loading
+      add--interactive: remove unused diff colors
+      add--interactive: allow diff colors without interactive colors
+      Document the color.interactive semantics
+
+Jim Meyering (3):
+      Fix grammar nits in documentation and in code comments.
+      Don't access line[-1] for a zero-length "line" from fgets.
+      bundle, fast-import: detect write failure
+
+Johannes Schindelin (2):
+      Optimize prefixcmp()
+      shortlog: mention the "-e" option in the usage
+
+Johannes Sixt (2):
+      git-gui: Move frequently used commands to the top of the context menu.
+      recv_sideband: Do not use ANSI escape sequence on dumb terminals.
+
+Junio C Hamano (27):
+      Documentation/git-submodule.txt: typofix
+      "git pull --tags": error out with a better message.
+      git-rebase -i behaves better on commits with incomplete messages
+      git-rebase -i: clean-up error check codepath.
+      lock_any_ref_for_update(): reject wildcard return from check_ref_format
+      Update callers of check_ref_format()
+      Uninline prefixcmp()
+      git-clean: make "Would remove ..." path relative to cwd again
+      t/t7600: avoid GNUism in grep
+      t/t{3600,3800,5401}: do not use egrep when grep would do
+      t/t3800: do not use a temporary file to hold expected result.
+      Update draft release notes for 1.5.4
+      git-stash clear: refuse to work with extra parameter for now
+      git-rev-parse --symbolic-full-name
+      filter-branch: work correctly with ambiguous refnames
+      custom pretty format: tolerate empty e-mail address
+      Documentation: remove gitman.info with "make clean"
+      Documentation: fix "gitlink::foobar[s]"
+      utf8: pick_one_utf8_char()
+      utf8_width(): allow non NUL-terminated input
+      diff: do not chomp hunk-header in the middle of a character
+      Update draft release notes for 1.5.4
+      GIT 1.5.3.8
+      "git-apply --check" should not report "fixed"
+      pack-objects: remove redundant and wrong call to deflateEnd()
+      RPM spec: include gitk message files.
+      GIT 1.5.4-rc3
+
+Kevin Ballard (1):
+      Trim leading / off of paths in git-svn prop_walk
+
+Marco Costalba (2):
+      Document git-reset defaults to HEAD if no commit is given
+      git-stash: use stdout instead of stderr for non error messages
+
+Mark Levedahl (2):
+      git-gui: Unconditionally use absolute paths with Cygwin
+      Documentation/Makefile - honor $DESTDIR for quick-install target
+
+Martin Koegler (4):
+      receive-pack: check object type of sha1 before using them as commits
+      receive-pack: reject invalid refnames
+      parse_tag_buffer: don't parse invalid tags
+      tree-walk: don't parse incorrect entries
+
+Michael Stefaniuc (1):
+      git-am: Run git gc only once and not for every patch.
+
+Michele Ballabio (1):
+      Document some default values in config.txt
+
+Miklos Vajna (2):
+      git-sh-setup: document git_editor() and get_author_ident_from_commit()
+      t/t7001: avoid unnecessary ERE when using grep
+
+Nicolas Pitre (1):
+      slightly better auto gc message
+
+Paul Mackerras (2):
+      gitk: Recode de.po to UTF-8
+      gitk: Restore some widget options whose defaults changed in Tk 8.5
+
+Peter Karlsson (1):
+      Added Swedish translation.
+
+Ralf Wildenhues (1):
+      Documentation: typofix
+
+Rogan Dawes (1):
+      Allow git-mergetool to handle paths with a leading space
+
+Shawn O. Pearce (1):
+      git-gui: Handle file mode changes (644->755) in diff viewer
+
+
+Version v1.5.4-rc2; changes since v1.5.4-rc1:
+---------------------------------------------
+
+Alex Riesen (1):
+      Allow selection of different cleanup modes for commit messages
+
+Arjen Laarhoven (1):
+      Fix "git log --diff-filter" bug
+
+Charles Bailey (1):
+      Remove old generated files from .gitignore.
+
+Gustaf Hendeby (2):
+      Make git send-email accept $EDITOR with arguments
+      shortlog manpage documentation: work around asciidoc markup issues
+
+Jakub Narebski (1):
+      gitweb: fix whitespace in config_to_multi (indent with tab)
+
+Jeff King (2):
+      clean up 1.5.4 release notes
+      cvsimport: die on cvsps errors
+
+Jim Meyering (1):
+      Don't dereference NULL upon lookup failure.
+
+Johannes Schindelin (2):
+      Teach diff machinery to display other prefixes than "a/" and "b/"
+      Mention git-shell's "cvs" substitution in the RelNotes
+
+Junio C Hamano (14):
+      t4024: fix test script to use simpler sed pattern
+      fix git commit --amend -m "new message"
+      shell-scripts usage(): consistently exit with non-zero
+      Documentation: ls-files -v is about "assume unchanged".
+      Fix $EDITOR regression introduced by rewrite in C.
+      t7005: do not exit inside test.
+      builtin-commit: fix amending of the initial commit
+      builtin-commit: avoid double-negation in the code.
+      Documentation: describe 'union' low-level merge driver
+      Fix documentation of --first-parent in git-log and copy it to git-rev-list
+      combine-diff: Fix path quoting
+      Fix rewrite_diff() name quoting.
+      contrib: resurrect scripted git-revert.
+      GIT 1.5.4-rc2
+
+Linus Torvalds (1):
+      Re(-re)*fix trim_common_tail()
+
+Miklos Vajna (1):
+      everyday: replace 'prune' and 'repack' with 'gc'
+
+Pierre Habouzit (3):
+      git-tag: fix -l switch handling regression.
+      Force the sticked form for options with optional arguments.
+      parse-options: Add a gitcli(5) man page.
+
+René Scharfe (1):
+      Make "--pretty=format" parser a bit more careful.
+
+Shawn O. Pearce (2):
+      Reallow git-rebase --interactive --continue if commit is unnecessary
+      Improve error messages when int/long cannot be parsed from config
+
+Stefan Sperling (1):
+      Small comment fix for git-cvsimport.
+
+Wincent Colaiuta (1):
+      Emit helpful status for accidental "git stash" save
+
+
+Version v1.5.4-rc1; changes since v1.5.4-rc0:
+---------------------------------------------
+
+Andy Whitcroft (1):
+      git-svn: expand handling of From: and Signed-off-by:
+
+Charles Bailey (1):
+      Fix git-instaweb breakage on MacOS X due to the limited sed functionality
+
+Christian Couder (1):
+      git-help: add "help.format" config variable.
+
+David S. Miller (1):
+      fast-import: fix unalinged allocation and access
+
+Eric Wong (5):
+      git-svn: unlink internal index files after operations
+      git-svn: handle our top-level path being deleted and later re-added
+      git-svn: avoid leaving leftover committer/author info in rebase
+      git-svn: workaround a for broken symlinks in SVN
+      git-svn: avoid warning when run without arguments
+
+Finn Arne Gangstad (1):
+      Improved submodule merge support
+
+H.Merijn Brand (1):
+      the use of 'tr' in the test suite isn't really portable
+
+J. Bruce Fields (8):
+      whitespace: fix off-by-one error in non-space-in-indent checking
+      whitespace: reorganize initial-indent check
+      whitespace: minor cleanup
+      whitespace: fix initial-indent checking
+      whitespace: more accurate initial-indent highlighting
+      whitespace: fix config.txt description of indent-with-non-tab
+      builtin-apply: minor cleanup of whitespace detection
+      builtin-apply: stronger indent-with-on-tab fixing
+
+Jakub Narebski (2):
+      gitweb: disambiguate heads and tags withs the same name
+      gitweb: Teach "a=blob" action to be more lenient about blob/file mime type
+
+Jeff King (7):
+      cvsexportcommit: fix massive commits
+      trim_common_tail: brown paper bag fix.
+      teach bash completion to treat commands with "--" as a helper
+      rename git-browse--help to git-help--browse
+      clone: correctly report http_fetch errors
+      git-send-email: avoid duplicate message-ids
+      test "git clone -o"
+
+Jim Meyering (1):
+      git-filter-branch.sh: more portable tr usage: use \012, not \n.
+
+Johannes Schindelin (4):
+      Support config variable diff.external
+      Document diff.external and mergetool.<tool>.path
+      rebase -p -i: handle "no changes" gracefully
+      git show <tag>: show the tagger
+
+Johannes Sixt (4):
+      threaded pack-objects: Use condition variables for thread communication.
+      Plug a resource leak in threaded pack-objects code.
+      Clean up documentation that references deprecated 'git peek-remote'.
+      filter-branch: Remove broken and unnecessary summary of rewritten refs.
+
+Junio C Hamano (18):
+      git-commit: squelch needless message during an empty merge
+      xdl_diff: identify call sites.
+      xdi_diff: trim common trailing lines
+      diff --check: minor fixups
+      Add tests for "git diff --check" with core.whitespace options
+      xdiff tail trimming: use correct type.
+      commit: allow --amend to reuse message from another commit
+      remote: Fix bogus make_branch() call in configuration reader.
+      Rename git-browse-help helper to git-browse--help
+      Retire git-runstatus for real.
+      Start preparing the API documents.
+      Update draft release notes for 1.5.4
+      Re-re-re-fix common tail optimization
+      builtin-commit: fix summary output.
+      builtin-commit: make summary output consistent with status
+      Documentation/git-submodule: refer to gitmodules(5)
+      builtin-blame.c: remove unneeded memclr()
+      GIT 1.5.4-rc1
+
+Kristian Høgsberg (1):
+      Use a strbuf for building up section header and key/value pair strings.
+
+Li Hong (1):
+      Fix a memory leak
+
+Linus Torvalds (1):
+      unpack-trees: FLEX_ARRAY fix
+
+Marco Roeland (1):
+      clone: fix options '-o' and '--origin' to be recognised again
+
+Mike Hommey (8):
+      Fix some more memory leaks in http-push.c
+      Fix random sha1 in error message in http-fetch and http-push
+      Remove the default_headers variable from http-push.c
+      Remove a CURLOPT_HTTPHEADER (un)setting
+      Avoid redundant declaration of missing_target()
+      Use strbuf in http code
+      Fix various memory leaks in http-push.c and http-walker.c
+      Move fetch_ref from http-push.c and http-walker.c to http.c
+
+Nicolas Pitre (3):
+      provide advance warning of some future pack default changes
+      fix style of a few comments in diff-delta.c
+      make 'git describe --all --contains' work
+
+Petr Baudis (1):
+      gitweb: Make config_to_multi return [] instead of [undef]
+
+Pierre Habouzit (1):
+      Fix segfault in diff-delta.c when FLEX_ARRAY is 1
+
+Ralf Wildenhues (1):
+      Fix some documentation typos.
+
+Sam Vilain (1):
+      Clarify error response from 'git fetch' for bad responses
+
+Sean Estabrooks (1):
+      Fix interactive rebase to preserve author email address
+
+Shawn Bohrer (1):
+      Fix spelling mistakes in user manual
+
+Shawn O. Pearce (2):
+      Avoid update hook during git-rebase --interactive
+      Catch and handle git-commit failures in git-rebase --interactive
+
+Wincent Colaiuta (5):
+      "diff --check" should affect exit status
+      Unify whitespace checking
+      Make "diff --check" output match "git apply"
+      Use shorter error messages for whitespace problems
+      Test interaction between diff --check and --exit-code
+
+anonymous (1):
+      Documentation: describe pack idx v2
+
+
+Version v1.5.4-rc0; changes since v1.5.3.8:
+-------------------------------------------
+
+Alex Riesen (12):
+      fix t5403-post-checkout-hook.sh: built-in test in dash does not have "=="
+      Fix a crash in ls-remote when refspec expands into nothing
+      More updates and corrections to the russian translation of git-gui
+      Rework make_usage to print the usage message immediately
+      Updated russian translation of git-gui
+      Do no colorify test output if stdout is not a terminal
+      Add a test checking if send-pack updated local tracking branches correctly
+      Update the tracking references only if they were succesfully updated on remote
+      Fix dependencies of parse-options test program
+      Do not generate full commit log message if it is not going to be used
+      Simplify crud() in ident.c
+      Fix git-fast-export for zero-sized blobs
+
+Alexandre Julliard (12):
+      git.el: Keep the status buffer sorted by filename.
+      git.el: Allow selecting whether to display uptodate/unknown/ignored files.
+      git.el: Allow the add and remove commands to be applied to ignored files.
+      git.el: Preserve file marks when doing a full refresh.
+      git.el: Do not print a status message on every git command.
+      git.el: Update a file status in the git buffer upon save.
+      git.el: Reset the permission flags when changing a file state.
+      git.el: Fix typo in "Reverted file" message.
+      git.el: Fix typo in git-update-saved-file error handling.
+      git.el: Refresh only the changed file marks when marking/unmarking all.
+      git.el: Run git-gc --auto after commits.
+      git.el: Added a menu for git-status-mode.
+
+Andreas Ericsson (1):
+      Simplify strchrnul() compat code
+
+André Goddard Rosa (2):
+      Print the real filename that we failed to open.
+      Error out when user doesn't have access permission to the repository
+
+Andy Parkins (4):
+      parse_date_format(): convert a format name to an enum date_mode
+      Make for-each-ref allow atom names like "<name>:<something>"
+      Make for-each-ref's grab_date() support per-atom formatting
+      Add a test script for for-each-ref, including test of date formatting
+
+Andy Whitcroft (6):
+      Teach send-pack a mirror mode
+      git-push: plumb in --mirror mode
+      Add tests for git push'es mirror mode
+      git-push: add documentation for the newly added --mirror mode
+      git-quiltimport.sh fix --patches handling
+      git-svn: add support for pulling author from From: and Signed-off-by:
+
+Anton Gyllenberg (1):
+      gitview: import only one of gtksourceview and gtksourceview2
+
+Ask Bjørn Hansen (1):
+      send-email: Don't add To: recipients to the Cc: header
+
+Benoit Sigoure (7):
+      git-svn: add a generic tree traversal to fetch SVN properties
+      git-svn: implement git svn create-ignore
+      git-svn: add git svn propget
+      git-svn: add git svn proplist
+      git-svn: simplify the handling of fatal errors
+      core-tutorial: Catch up with current Git
+      git-svn: sort the options in the --help message.
+
+Björn Steinbrink (1):
+      git config: Don't rely on regexec() returning 1 on non-match
+
+Blake Ramsdell (1):
+      transport.c: squelch a gcc 4.0.1 complaint about an uninitialized variable
+
+Brandon Casey (2):
+      git-gc: by default use safer "-A" option to repack when not --prune'ing
+      git-gc --auto: simplify "repack" command line building
+
+Brian Ewins (2):
+      Add a --dry-run option to git-send-pack.
+      Add a --dry-run option to git-push.
+
+Brian Gernhardt (3):
+      format-patch: Add configuration and off switch for --numbered
+      format-patch: Test --[no-]numbered and format.numbered
+      t3502: Disambiguate between file and rev by adding --
+
+Brian M. Carlson (1):
+      git-gui: Reorder msgfmt command-line arguments
+
+Carlos Rica (5):
+      Function for updating refs.
+      Add tests for documented features of "git reset".
+      Move make_cache_entry() from merge-recursive.c into read-cache.c
+      Make "git reset" a builtin.
+      Make builtin-tag.c use parse_options.
+
+Charles Bailey (1):
+      Fix clone not to ignore depth when performing a local clone
+
+Chris Pettitt (3):
+      git-p4 support for perforce renames.
+      git-p4: Add a helper function to parse the full git diff-tree output.
+      git-p4: Detect changes to executable bit and include them in p4 submit.
+
+Christian Couder (27):
+      rev-list --bisect: Move finding bisection into do_find_bisection.
+      rev-list --bisect: Move some bisection code into best_bisection.
+      rev-list --bisect: Bisection "distance" clean up.
+      rev-list --bisect: Fix best == NULL case.
+      Test suite: reset TERM to its previous value after testing.
+      rev-list: implement --bisect-all
+      rev-list documentation: add "--bisect-all".
+      Bisect: fix some white spaces and empty lines breakages.
+      Bisect: implement "bisect skip" to mark untestable revisions.
+      Bisect: refactor "bisect_write_*" functions.
+      Bisect: refactor some logging into "bisect_write".
+      Bisect: refactor "bisect_{bad,good,skip}" into "bisect_state".
+      Bisect: add "bisect skip" to the documentation.
+      Bisect: add a "bisect replay" test case.
+      Bisect run: "skip" current commit if script exit code is 125.
+      Bisect: add "skip" to the short usage string.
+      Bisect reset: remove bisect refs that may have been packed.
+      Bisect visualize: use "for-each-ref" to list all good refs.
+      Bisect: use "$GIT_DIR/BISECT_NAMES" to check if we are bisecting.
+      Bisect reset: do nothing when not bisecting.
+      Documentation: add a new man page for "git-help"
+      Trace and quote with argv: get rid of unneeded count argument.
+      git-help: add -i|--info option to display info page.
+      Documentation: describe -i/--info option to "git-help"
+      git-help: add -w|--web option to display html man page in a browser.
+      Use {web,instaweb,help}.browser config options.
+      Documentation: describe -w/--web option to "git-help".
+
+Christian Stimming (14):
+      Mark strings for translation.
+      Makefile rules for translation catalog generation and installation.
+      Add glossary that can be converted into a po file for each language.
+      Add glossary translation template into git.
+      German translation for git-gui
+      German glossary for translation
+      git-gui: Add more words to translation glossary
+      git-gui: Update German glossary according to mailing list discussion
+      git-gui: Incorporate glossary changes into existing German translation
+      git-gui: Update German translation, including latest glossary changes
+      git-gui: Add more terms to glossary.
+      git-gui: Update German translation
+      Update git-gui.pot with latest (few) string additions and changes.
+      Update German translation. 100% completed.
+
+Dan McGee (1):
+      Remove outdated references to cogito in documentation
+
+Daniel Barkalow (23):
+      Refactor http.h USE_CURL_MULTI fill_active_slots().
+      Make function to refill http queue a callback
+      Remove obsolete commit-walkers
+      Modularize commit-walker
+      Add uploadpack configuration info to remote.
+      Report information on branches from remote.h
+      Make fetch-pack a builtin with an internal API
+      Push code for transport library
+      Add matching and parsing for fetch-side refspec rules
+      Add fetch methods to transport library.
+      Make fetch a builtin
+      Allow abbreviations in the first refspec to be merged
+      Fix adding a submodule with a remote url
+      Restore default verbosity for http fetches.
+      Remove duplicate ref matches in fetch
+      Correct handling of upload-pack in builtin-fetch-pack
+      Miscellaneous const changes and utilities
+      Build-in peek-remote, using transport infrastructure.
+      Use built-in send-pack.
+      Build-in send-pack, with an API for other programs to call.
+      Build in ls-remote
+      Use parseopts in builtin-push
+      Add more checkout tests
+
+David D. Kilzer (8):
+      git-svn log: fix ascending revision ranges
+      git-svn log: include commit log for the smallest revision in a range
+      git-svn log: handle unreachable revisions like "svn log"
+      git-send-email: show all headers when sending mail
+      git-svn: extract reusable code into utility functions
+      git-svn info: implement info command
+      git-svn: info --url [path]
+      git-svn: Remove unnecessary Git::SVN::Util package
+
+David Kastrup (3):
+      diff-delta.c: pack the index structure
+      diff-delta.c: Rationalize culling of hash buckets
+      git-commit.sh: Shell script cleanup
+
+David Reiss (1):
+      git-svn: Fix a typo and add a comma in an error message in git-svn
+
+David Symonds (7):
+      gitweb: Provide title attributes for abbreviated author names.
+      gitweb: Refactor abbreviation-with-title-attribute code.
+      gitweb: Use chop_and_escape_str in more places.
+      Rearrange git-format-patch synopsis to improve clarity.
+      git-checkout: Support relative paths containing "..".
+      git-checkout: Test for relative path use.
+      Mention that git-rm can be an appropriate resolution as well as git-add.
+
+Denis Cheng (1):
+      gitweb: the commitdiff is very commonly used, it's needed on search page, too
+
+Dmitry Potapov (1):
+      preserve executable bits in zip archives
+
+Douglas Stockwell (1):
+      send-email: Add support for SSL and SMTP-AUTH
+
+Emil Medve (2):
+      Fixed a command line option type for builtin-fsck.c
+      git-stash: Fix listing stashes
+
+Eric Wong (6):
+      git-svn: support for funky branch and project names over HTTP(S)
+      git-svn: add tests for command-line usage of init and clone commands
+      t9106: fix a race condition that caused svn to miss modifications
+      git-svn: allow `info' command to work offline
+      git-svn: replace .rev_db with a more space-efficient .rev_map format
+      git-svn: reinstate old rev_db optimization in new rev_map
+
+Eygene Ryabinkin (2):
+      git-svn: respect Subversion's [auth] section configuration values
+      git-svn: use "no warnings 'once'" to disable false-positives
+
+Eyvind Bernhardsen (1):
+      Fix mis-markup of the -p, --patch option in git-add(1)
+
+Frederick Akalin (1):
+      gtksourceview2 support for gitview
+
+Gerrit Pape (9):
+      No longer install git-svnimport, move to contrib/examples
+      git-reset: add -q option to operate quietly
+      contrib/hooks/post-receive-email: fix typo
+      contrib/hooks/post-receive-email: reformat to wrap comments at 76 chars
+      contrib/hooks/post-receive-email: make subject prefix configurable
+      hooks--update: fix test for properly set up project description file
+      hooks--update: decline deleting tags or branches by default, add config options
+      contrib/hooks/post-receive-email: remove cruft, $committer is not used
+      Don't cache DESTDIR in perl/perl.mak.
+
+Gordon Hopper (1):
+      git-cvsimport: fix handling of user name when it is not set in CVSROOT
+
+Guido Ostkamp (2):
+      Remove unreachable statements
+      Use compat mkdtemp() on Solaris boxes
+
+Gustaf Hendeby (1):
+      git-svn now reads settings even if called in subdirectory
+
+H.Merijn Brand (1):
+      Do not rely on the exit status of "unset" for unset variables
+
+Harri Ilari Tapio Liusvaara (1):
+      git-gui: Disambiguate "commit"
+
+Heikki Orsila (1):
+      git-clone: honor "--" to end argument parsing
+
+Irina Riesen (1):
+      git-gui: initial version of russian translation
+
+J. Bruce Fields (3):
+      git-rebase: support --whitespace=<option>
+      git-rebase: fix -C option
+      errors: "strict subset" -> "ancestor"
+
+Jakub Narebski (18):
+      gitweb: Fix and simplify "split patch" detection
+      gitweb: Always set 'from_file' and 'to_file' in parse_difftree_raw_line
+      gitweb: Add 'status_str' to parse_difftree_raw_line output
+      gitweb: Remove CGI::Carp::set_programname() call from t9500 gitweb test
+      gitweb: Easier adding/changing parameters to current URL
+      gitweb: Use href(-replay=>1, page=>...) to generate pagination links
+      gitweb: Use href(-replay=>1, action=>...) to generate alternate views
+      gitweb: Add tests for overriding gitweb config with repo config
+      gitweb: Read repo config using 'git config -z -l'
+      gitweb: Use config file for repository description and URLs
+      gitweb: Style all tables using CSS
+      gitweb: Put project README in div.readme, fix its padding
+      autoconf: Add tests for memmem, strtoumax and mkdtemp functions
+      Add config_int() method to the Git perl module
+      gitweb: Update and improve gitweb/README file
+      contrib: Make remotes2config.sh script more robust
+      autoconf: Add test for OLD_ICONV (squelching compiler warning)
+      autoconf: Check asciidoc version to automatically set ASCIIDOC8
+
+James Bowes (3):
+      remote: add 'rm' subcommand
+      remote: document the 'rm' subcommand
+      gc: use parse_options
+
+Jari Aalto (2):
+      git-remote: exit with non-zero status after detecting error in "rm".
+      On error, do not list all commands, but point to --help option
+
+Jeff King (36):
+      contrib/fast-import: add perl version of simple example
+      diffcore-rename: cache file deltas
+      git-rebase: document suppression of duplicate commits
+      send-pack: don't update tracking refs on error
+      t5516: test update of local refs on push
+      git-gc: improve wording of --auto notification
+      Documentation/git-gc: explain --auto in description
+      Documentation/git-gc: improve description of --auto
+      more terse push output
+      receive-pack: don't mention successful updates
+      send-pack: require --verbose to show update of tracking refs
+      git-ls-files: add --exclude-standard
+      send-pack: track errors for each ref
+      send-pack: check ref->status before updating tracking refs
+      send-pack: assign remote errors to each ref
+      make "find_ref_by_name" a public function
+      send-pack: tighten remote error reporting
+      send-pack: fix "everything up-to-date" message
+      avoid "defined but not used" warning for fetch_objs_via_walker
+      send-pack: cluster ref status reporting
+      git-tag: test that -s implies an annotated tag
+      Revert "t5516: test update of local refs on push"
+      git-commit: clean up die messages
+      Enable rewrite as well as rename detection in git-status
+      quote_path: fix collapsing of relative paths
+      t9600: require cvsps 2.1 to perform tests
+      t7300: add test for clean with wildcard pathspec
+      wt-status.c:quote_path(): convert empty path to "./"
+      add status.relativePaths config variable
+      git-status: documentation improvements
+      don't mention index refreshing side effect in git-status docs
+      Add git-browse-help to .gitignore
+      Support GIT_PAGER_IN_USE environment variable
+      git-svn: get color config from --get-colorbool
+      shortlog: document -e option
+      git-clone: print an error message when trying to clone empty repo
+
+Jeff Muizelaar (1):
+      fix contrib/hooks/post-receive-email hooks.recipients error message
+
+Jim Meyering (1):
+      hooks-pre-commit: use \t, rather than a literal TAB in regexp
+
+Johannes Schindelin (57):
+      Add po/git-gui.pot
+      Ignore po/*.msg
+      Teach "git remote" a mirror mode
+      verify-tag: also grok CR/LFs in the tag signature
+      apply: get rid of --index-info in favor of --build-fake-ancestor
+      Move bundle specific stuff into bundle.[ch]
+      Add bundle transport
+      git-gui: Deiconify startup wizard so it raises to the top
+      git-gui: add a simple msgfmt replacement
+      rebase -i: commit when continuing after "edit"
+      rebase -i: style fixes and minor cleanups
+      rebase -i: Fix numbers in progress report
+      rebase -i: avoid exporting GIT_AUTHOR_* variables
+      rebase -i: work on a detached HEAD
+      rebase -i: support single-letter abbreviations for the actions
+      Introduce remove_dir_recursively()
+      fetch/push: readd rsync support
+      Support cvs via git-shell
+      Fix compilation when NO_CURL is defined
+      cvsexportcommit: get rid of temporary directory
+      fetch: if not fetching from default remote, ignore default merge
+      Deduce exec_path also from calls to git with a relative path
+      Add tests for parse-options.c
+      parse-options: Allow abbreviated options when unambiguous
+      po2msg: ignore entries marked with "fuzzy"
+      po2msg: ignore untranslated messages
+      po2msg: actually output statistics
+      git-reset: do not be confused if there is nothing to reset
+      Split off the pretty print stuff into its own file
+      parse-options: abbreviation engine fix.
+      builtin-reset: do not call "ls-files --unmerged"
+      builtin-reset: avoid forking "update-index --refresh"
+      Deprecate git-lost-found
+      rebase: operate on a detached HEAD
+      builtin-blame: set up the work_tree before the first file access
+      rebase: fix "rebase --continue" breakage
+      Close files opened by lock_file() before unlinking.
+      rebase -i: move help to end of todo file
+      launch_editor(): read the file, even when EDITOR=:
+      builtin-commit: fix reflog message generation
+      git status: show relative paths when run in a subdirectory
+      builtin-commit: fix --signoff
+      builtin-commit --s: add a newline if the last line was not a S-o-b
+      builtin-commit: resurrect behavior for multiple -m options
+      builtin-commit: Add newline when showing which commit was created
+      Replace "runstatus" with "status" in the tests
+      filter-branch: fix dirty way to provide the helpers to commit filters
+      git checkout's reflog: even when detaching the HEAD, say from where
+      bash completion: add diff options
+      Replace instances of export VAR=VAL with VAR=VAL; export VAR
+      Teach 'git pull' about --rebase
+      rebase -i: give rerere a chance
+      receive-pack: allow deletion of corrupt refs
+      Add "--expire <time>" option to 'git prune'
+      Add 'git fast-export', the sister of 'git fast-import'
+      fast-export: rename the signed tag mode 'ignore' to 'verbatim'
+      Allow ':/<oneline-prefix>' syntax to work with save_commit_buffer == 0
+
+Johannes Sixt (38):
+      git-gui: Change main window layout to support wider screens
+      gitk: Do not pick up file names of "copy from" lines
+      Change git_connect() to return a struct child_process instead of a pid_t.
+      Use start_command() in git_connect() instead of explicit fork/exec.
+      Use start_command() to run content filters instead of explicit fork/exec.
+      Use run_command() to spawn external diff programs instead of fork/exec.
+      Use start_comand() in builtin-fetch-pack.c instead of explicit fork/exec.
+      Have start_command() create a pipe to read the stderr of the child.
+      upload-pack: Use start_command() to run pack-objects in create_pack_file().
+      Add infrastructure to run a function asynchronously.
+      Use the asyncronous function infrastructure in builtin-fetch-pack.c.
+      upload-pack: Move the revision walker into a separate function.
+      upload-pack: Run rev-list in an asynchronous function.
+      t0021-conversion.sh: Test that the clean filter really cleans content.
+      Avoid a dup2(2) in apply_filter() - start_command() can do it for us.
+      Use the asyncronous function infrastructure to run the content filter.
+      Fix an infinite loop in sq_quote_buf().
+      upload-pack: Use finish_{command,async}() instead of waitpid().
+      Give git-am back the ability to add Signed-off-by lines.
+      git-clean: Fix error message if clean.requireForce is not set.
+      Fix preprocessor logic that determines the availablity of strchrnul().
+      t5300-pack-object.sh: Split the big verify-pack test into smaller parts.
+      t7501-commit.sh: Not all seds understand option -i
+      t5302-pack-index: Skip tests of 64-bit offsets if necessary.
+      Skip t3902-quoted.sh if the file system does not support funny names.
+      Use is_absolute_path() in sha1_file.c.
+      Move #include <sys/select.h> and <sys/ioctl.h> to git-compat-util.h.
+      builtin run_command: do not exit with -1.
+      Allow a relative builtin template directory.
+      Introduce git_etc_gitconfig() that encapsulates access of ETC_GITCONFIG.
+      Allow ETC_GITCONFIG to be a relative path.
+      refs.c: Remove unused get_ref_sha1()
+      fetch-pack: Prepare for a side-band demultiplexer in a thread.
+      Flush progress message buffer in display().
+      git-gui: Improve the application icon on Windows.
+      git-commit: Allow to amend a merge commit that does not change the tree
+      for-each-ref: Fix quoting style constants.
+      Fix a typo in checkout.sh and cleanup one-line help messages
+
+Jonas Fonseca (2):
+      Update manpages to reflect new short and long option aliases
+      Documentation: Fix references to deprecated commands
+
+Jonathan del Strother (2):
+      Fixing path quoting in git-rebase
+      gitk: Add support for OS X mouse wheel
+
+Josh England (4):
+      Add post-merge hook, related documentation, and tests.
+      Added example hook script to save/restore permissions/ownership.
+      post-checkout hook, tests, and docs
+      Minor usage update in setgitperms.perl
+
+Junio C Hamano (157):
+      Keep last used delta base in the delta window
+      git-gui po/README: Guide to translators
+      Start 1.5.4 cycle
+      Implement git gc --auto
+      Invoke "git gc --auto" from commit, merge, am and rebase.
+      archive - leakfix for format_subst()
+      git-commit: Allow partial commit of file removal.
+      An additional test for "git-reset -- path"
+      Simplify cache API
+      git-commit: partial commit of paths only removed from the index
+      Document ls-files --with-tree=<tree-ish>
+      builtin-pack-objects.c: avoid bogus gcc warnings
+      stash: implement "stash create"
+      rebase: allow starting from a dirty tree.
+      Export matches_pack_name() and fix its return value
+      pack-objects --keep-unreachable
+      repack -A -d: use --keep-unreachable when repacking
+      git-gc --auto: move threshold check to need_to_gc() function.
+      git-gc --auto: add documentation.
+      git-gc --auto: protect ourselves from accumulated cruft
+      git-gc --auto: restructure the way "repack" command line is built.
+      git-gc --auto: run "repack -A -d -l" as necessary.
+      builtin-apply.c: fix a tiny leak introduced during xmemdupz() conversion.
+      builtin-for-each-ref.c::copy_name() - do not overstep the buffer.
+      git-remote rm: add tests and minor fix-ups
+      Start RelNotes for 1.5.4
+      strbuf_setlen(): do not barf on setting length of an empty buffer to 0
+      send-email --smtp-server-port: allow overriding the default port
+      rerere: Fix use of an empty strbuf.buf
+      git-am: make the output quieter.
+      bundle transport: fix an alloc_ref() call
+      Update stale documentation link in the k.org site
+      git-am: fix typo in the previous one.
+      dateformat: parse %(xxdate) %(yydate:format) correctly
+      builtin-apply: fix conversion error in strbuf series
+      Update state documentation link for 1.5.3.4
+      k.org git toppage: Add link to 1.5.3 release notes.
+      help: remove extra blank line after "See 'git --help'" message
+      revert/cherry-pick: work on merge commits as well
+      git-fetch: do not fail when remote branch disappears
+      RelNotes-1.5.4: describe recent updates
+      git-gui: Update Japanese strings (part 2)
+      Revert "rebase: allow starting from a dirty tree."
+      git-merge: no reason to use cpio anymore
+      format-patch -s: add MIME encoding header if signer's name requires so
+      cherry-pick/revert -m: add tests
+      test format-patch -s: make sure MIME content type is shown as needed
+      War on whitespace: first, a bit of retreat.
+      git-diff: complain about >=8 consecutive spaces in initial indent
+      core.whitespace: add test for diff whitespace error highlighting
+      clean: require -f to do damage by default
+      gc: --prune prunes unreferenced objects.
+      scripts: Add placeholders for OPTIONS_SPEC
+      git-rev-parse --parseopt
+      git-sh-setup: fix parseopt `eval` string underquoting
+      send-pack: segfault fix on forced push
+      Style: place opening brace of a function definition at column 1
+      git-am: -i does not take a string parameter.
+      Update draft release notes for 1.5.4
+      Documentation: lost-found is now deprecated.
+      Make check-docs target detect removed commands
+      Documentation: remove documentation for removed tools.
+      git-commit: a bit more tests
+      Resurrect git-revert.sh example and add comment to builtin-revert.c
+      core.excludesfile clean-up
+      Fix per-directory exclude handing for "git add"
+      git-bisect: war on "sed"
+      git-bisect: use update-ref to mark good/bad commits
+      git-bisect: modernize branch shuffling hack
+      Update draft release notes for 1.5.4
+      Draft release notes: fix clean.requireForce description
+      Update draft release notes for 1.5.4
+      Move gitk to its own subdirectory
+      git-clean: Fix error message if clean.requireForce is not set.
+      git-compat-util.h: auto-adjust to compiler support of FLEX_ARRAY a bit better
+      Fix "quote" misconversion for rewrite diff output.
+      Make test scripts executable.
+      file_exists(): dangling symlinks do exist
+      builtin-commit: do not color status output shown in the message template
+      builtin-commit: run commit-msg hook with correct message file
+      Export three helper functions from ls-files
+      Fix add_files_to_cache() to take pathspec, not user specified list of files
+      builtin-commit: fix partial-commit support
+      Addendum to "MaintNotes"
+      git-add -i: allow multiple selection in patch subcommand
+      git-branch --contains=commit
+      git-branch --contains: doc and test
+      builtin-tag: accept and process multiple -m just like git-commit
+      Add a few more tests for git-commit
+      builtin-apply: rename "whitespace" variables and fix styles
+      t4119: correct overeager war-on-whitespace
+      builtin-apply: teach whitespace_rules
+      core.whitespace: documentation updates.
+      Deprecate peek-remote
+      Update draft release notes for 1.5.4
+      builtin-add: fix command line building to call interactive
+      add -i: Fix running from a subdirectory
+      "git-tag -s" should create a signed annotated tag
+      revert/cherry-pick: do not mention the original ref
+      "color.diff = true" is not "always" anymore.
+      git-config --get-color: get configured color
+      dir.c: minor clean-up
+      per-directory-exclude: lazily read .gitignore files
+      Update draft release notes for 1.5.4
+      Resurrect peek-remote
+      Consolidate command list to one.
+      Update draft release notes for 1.5.4
+      rename: Break filepairs with different types.
+      git-am: catch missing author date early.
+      Fix --signoff in builtin-commit differently.
+      git-commit: Allow to amend a merge commit that does not change the tree
+      git-commit --allow-empty
+      git-commit --allow-empty
+      git-commit documentation: fix unfinished sentence.
+      Add git-fast-export to list of commands.
+      Update draft release notes for 1.5.4
+      Run the specified perl in Documentation/
+      Formatting fix for Documentation/git-help.txt
+      Documentation: rerere is enabled by default these days.
+      Documentation/git.txt: typofix
+      t5510: add a bit more tests for fetch
+      git-cvsserver runs hooks/post-update
+      Revert "git-am: catch missing author date early."
+      Documentation: color.* = true means "auto"
+      git config --get-colorbool
+      Color support for "git-add -i"
+      git-clean: Honor pathspec.
+      config --get-colorbool: diff.color is a deprecated synonym to color.diff
+      Use gitattributes to define per-path whitespace rule
+      hg-to-git: handle an empty dir in hg.
+      do not discard status in fetch_refs_via_pack()
+      git-status documentation: mention subdirectory behaviour
+      Update draft release notes to 1.5.4
+      git-bisect visualize: work in non-windowed environments better
+      mailmap: fix bogus for() loop that happened to be safe by accident
+      shortlog: code restructuring and clean-up
+      git-shortlog -e: show e-mail address as well
+      ls-remote: resurrect pattern limit support
+      Fix commit-msg hook to allow editing
+      Re-fix "builtin-commit: fix --signoff"
+      Re-fix ls-remote
+      Update draft Release Notes for 1.5.4
+      Documentation: add gitman.info target
+      git-help -i: invoke info with document and node name
+      git-help -i: show info documentation from matching version of git
+      send-email: do not muck with initial-reply-to when unset.
+      commit: do not add extra LF at the end of the summary.
+      Support a merge with conflicting gitlink change
+      blame: drop blob data after passing blame to the parent
+      shortlog: default to HEAD when the standard input is a tty
+      git-diff --numstat -z: make it machine readable
+      disable t9119 for now.
+      Documentation: rename git.texi to user-manual.texi
+      git.spec.in: remove python_path
+      git-help -w: do not require to be in git repository
+      RPM spec: Adjust htmldir
+      GIT 1.5.4-rc0
+
+Kevin Leung (1):
+      git-stash: Display help message if git-stash is run with wrong sub-commands
+
+Kirill (1):
+      Updated Russian translation.
+
+Konstantin V. Arkhipov (1):
+      git-svn's dcommit must use subversion's config
+
+Kristian Høgsberg (18):
+      Enable wt-status output to a given FILE pointer.
+      Enable wt-status to run against non-standard index file.
+      Add strbuf_read_file().
+      Clean up stripspace a bit, use strbuf even more.
+      Introduce entry point add_interactive and add_files_to_cache
+      Export rerere() and launch_editor().
+      Port builtin-add.c to use the new option parser.
+      Add testcase for amending and fixing author in git commit.
+      Export launch_editor() and make it accept ':' as a no-op editor.
+      Port git commit to C.
+      builtin-commit: Refresh cache after adding files.
+      Call refresh_cache() when updating the user index for --only commits.
+      builtin-commit: Clean up an unused variable and a debug fprintf().
+      t7501-commit: Add test for git commit <file> with dirty index.
+      builtin-commit: Include the diff in the commit message when verbose.
+      Fix off-by-one error when truncating the diff out of the commit message.
+      Use a strbuf for copying the command line for the reflog.
+      Rewrite builtin-fetch option parsing to use parse_options().
+
+Kristof Provost (1):
+      makefile: Add a cscope target
+
+Lars Hjemli (11):
+      git-svn: add support for --first-parent
+      git-svn: always use --first-parent
+      Add test-script for git-merge porcelain
+      git-merge: fix faulty SQUASH_MSG
+      git-merge: refactor option parsing
+      git-merge: add support for branch.<name>.mergeoptions
+      git-merge: add support for --commit and --no-squash
+      git-merge: add --ff and --no-ff options
+      Make merge-recursive honor diff.renamelimit
+      Teach git-pull about --[no-]ff, --no-squash and --commit
+      for-each-ref: fix setup of option-parsing for --sort
+
+Lars Knoll (1):
+      Speedup scanning for excluded files.
+
+Linus Torvalds (18):
+      optimize diffcore-delta by sorting hash entries.
+      Add 'diffcore.h' to LIB_H
+      Split out "exact content match" phase of rename detection
+      Ref-count the filespecs used by diffcore
+      copy vs rename detection: avoid unnecessary O(n*m) loops
+      Do linear-time/space rename logic for exact renames
+      Do exact rename detection regardless of rename limits
+      Fix ugly magic special case in exact rename detection
+      Do the fuzzy rename detection limits with the exact renames removed
+      Simplify topo-sort logic
+      Add "--early-output" log flag for interactive GUI use
+      Enhance --early-output format
+      revision walker: mini clean-up
+      Fix rev-list when showing objects involving submodules
+      Fix parent rewriting in --early-output
+      Fix a pathological case in git detecting proper renames
+      Fix a pathological case in git detecting proper renames
+      "git tag -u keyname" broken
+
+Luke Lu (1):
+      gitweb: speed up project listing on large work trees by limiting find depth
+
+Marius Storm-Olsen (2):
+      Add 'git-p4 commit' as an alias for 'git-p4 submit'
+      Teach core.autocrlf to 'git blame'
+
+Mark Levedahl (1):
+      git-submodule - allow a relative path as the subproject url
+
+Matt Kraai (2):
+      Move convert-objects to contrib.
+      rebase -i: create .dotest-merge after validating options.
+
+Matthias Kestenholz (1):
+      Documentation: add --patch option to synopsis of git-add
+
+Michael Gebetsroither (1):
+      hg-to-git speedup through selectable repack intervals
+
+Michael W. Olson (2):
+      git-rebase--interactive.sh: Quote arguments to test
+      Documentation/git-tag.txt: Document how to backdate tags
+
+Michael Witten (2):
+      git-cvsexportcommit.perl: git-apply no longer needs --binary
+      git-cvsserver runs hooks/post-receive
+
+Michal Vitecek (1):
+      Don't use "<unknown>" for placeholders and suppress printing of empty user formats.
+
+Michele Ballabio (7):
+      git-gui: remove dots in some UI strings
+      git-gui: add some strings to translation
+      git-gui: fix typo in lib/blame.tcl
+      git-gui: update Italian translation
+      test-lib.sh: move error line after error() declaration
+      git-gui: fix a typo in lib/commit.tcl
+      git-gui: update it.po and glossary/it.po
+
+Mike Dalessio (2):
+      instaweb: allow for use of auto-generated scripts
+      instaweb: support for Ruby's WEBrick server
+
+Mike Hommey (13):
+      Reuse previous annotation when overwriting a tag
+      Add tests for git tag
+      Refactor working tree setup
+      Use setup_work_tree() in builtin-ls-files.c
+      Don't always require working tree for git-rm
+      Make git-blame fail when working tree is needed and we're not in one
+      Small code readability improvement in show_reference() in builtin-tag.c
+      Do git reset --hard HEAD when using git rebase --skip
+      Fix and improve t7004 (git-tag tests)
+      git-send-email.perl: Really add angle brackets to In-Reply-To if necessary
+      Cleanup variables in http.[ch]
+      Fix small memory leaks induced by diff_tree_setup_paths
+      Fix XML parser leaks in http-push
+
+Miklos Vajna (4):
+      Hungarian translation of git-gui
+      git-send-email: add a new sendemail.to configuration variable
+      Include diff options in the git-log manpage
+      Update Hungarian translation. 100% completed.
+
+Nanako Shiraishi (3):
+      Japanese translation of git-gui
+      git-gui: Update Japanese strings
+      Update ja.po for git-gui
+
+Nguyễn Thái Ngọc Duy (3):
+      contrib/fast-import: add simple shell example
+      git-sh-setup.sh: use "git rev-parse --show-cdup" to check for SUBDIRECTORY_OK
+      Remove repo version check from setup_git_directory
+
+Nicolas Pitre (42):
+      straighten the list of objects to deltify
+      localize window memory usage accounting
+      rearrange delta search progress reporting
+      basic threaded delta search
+      threaded delta search: refine work allocation
+      threaded delta search: better chunck split point
+      threaded delta search: specify number of threads at run time
+      fix threaded delta search locking
+      threaded delta search: add pack.threads config variable
+      threaded delta search: proper locking for cache accounting
+      more compact progress display
+      cope with multiple line breaks within sideband progress messages
+      pack-objects: no delta possible with only one object in the list
+      pack-objects.c: fix some global variable abuse and memory leaks
+      fix const issues with some functions
+      fix for more minor memory leaks
+      prune-packed: don't call display_progress() for every file
+      make struct progress an opaque type
+      relax usage of the progress API
+      add throughput to progress display
+      add throughput display to index-pack
+      add some copyright notice to the progress display code
+      add throughput display to git-push
+      return the prune-packed progress display to the inner loop
+      make sure throughput display gets updated even if progress doesn't move
+      Show total transferred as part of throughput progress
+      make the pack index version configurable
+      pack-objects: get rid of an ugly cast
+      git-fetch: more terse fetch output
+      fix display overlap between remote and local progress
+      sideband.c: ESC is spelled '\033' not '\e' for portability.
+      make display of total transferred more accurate
+      remove dead code from the csum-file interface
+      restore fetching with thin-pack capability
+      make display of total transferred fully accurate
+      nicer display of thin pack completion
+      add a howto document about corrupted blob recovery
+      rehabilitate some t5302 tests on 32-bit off_t machines
+      pack-objects: fix delta cache size accounting
+      pack-objects: reverse the delta search sort list
+      pack-objects: fix threaded load balancing
+      pack-objects: more threaded load balancing fix with often changed paths
+
+Paolo Ciarrocchi (1):
+      Italian translation of git-gui
+
+Pascal Obry (2):
+      git-stash: do not get fooled with "color.diff = true"
+      Set OLD_ICONV on Cygwin.
+
+Paul Mackerras (37):
+      gitk: Establish and use global left-to-right ordering for commits
+      gitk: Improve the drawing of links to parent lines
+      gitk: Eliminate diagonal arrows
+      gitk: Get rid of idrowranges and rowrangelist
+      gitk: Get rid of idinlist array
+      gitk: Fix some problems with the display of ids as links
+      gitk: Get rid of the rowchk array
+      gitk: Do only the parts of the layout that are needed
+      gitk: Fix bug causing incorrect ref list contents when switching view
+      gitk: Fix bug causing undefined variable error when cherry-picking
+      gitk: Add a cache for the topology info
+      gitk: Make it possible to lay out all the rows we have received so far
+      gitk: Fix bugs in setting rowfinal
+      gitk: Get rid of lookingforhead, use commitinterest instead
+      gitk: Fix bug in generating patches
+      gitk: Simplify highlighting interface and combine with Find function
+      gitk: Fix a couple of bugs
+      gitk: Add progress bars for reading in stuff and for finding
+      gitk: Fix the tab setting in the diff display window
+      gitk: Fix bug causing Tcl error when changing find match type
+      gitk: Use named fonts instead of the font specification
+      gitk: Keep track of font attributes ourselves instead of using font actual
+      gitk: Add a font chooser
+      gitk: Fix bug where the last few commits would sometimes not be visible
+      gitk: Get rid of the diffopts variable
+      gitk: Fix Tcl error: can't unset findcurline
+      gitk: Check that we are running on at least Tcl/Tk 8.4
+      gitk: Avoid an error when cherry-picking if HEAD has moved on
+      gitk: Fix "can't unset prevlines(...)" Tcl error
+      gitk: Limit diff display to listed paths by default
+      gitk: Ensure tabstop setting gets restored by Cancel button
+      gitk: Integrate the reset progress bar in the main frame
+      gitk: Use the status window for other functions
+      gitk: Fix some bugs with path limiting in the diff display
+      gitk: Fix a couple more bugs in the path limiting
+      gitk: Simplify the code for finding commits
+      gitk: Use the UI font for the diff/old version/new version radio buttons
+
+Pierre Habouzit (80):
+      Rework strbuf API and semantics.
+      Simplify strbuf uses in archive-tar.c using strbuf API
+      fast-import: Use strbuf API, and simplify cmd_data()
+      mktree: Simplify write_tree() using strbuf API
+      Use strbuf API in apply, blame, commit-tree and diff
+      Use strbuf API in buitin-rerere.c
+      Use strbuf API in cache-tree.c
+      Strbuf API extensions and fixes.
+      Change semantics of interpolate to work like snprintf.
+      Rework pretty_print_commit to use strbufs instead of custom buffers.
+      Use strbuf_read in builtin-fetch-tool.c.
+      Use strbufs to in read_message (imap-send.c), custom buffer--.
+      Replace all read_fd use with strbuf_read, and get rid of it.
+      New strbuf APIs: splice and attach.
+      Rewrite convert_to_{git,working_tree} to use strbuf's.
+      Now that cache.h needs strbuf.h, remove useless includes.
+      builtin-apply: use strbuf's instead of buffer_desc's.
+      Refactor replace_encoding_header.
+      Remove preemptive allocations.
+      Drop strbuf's 'eof' marker, and make read_line a first class citizen.
+      fast-import was using dbuf's, replace them with strbuf's.
+      fast-import optimization:
+      Add xmemdupz() that duplicates a block of memory, and NUL terminates it.
+      Use xmemdupz() in many places.
+      Fix the expansion pattern of the pseudo-static path buffer.
+      nfv?asprintf are broken without va_copy, workaround them.
+      strbuf API additions and enhancements.
+      Rework unquote_c_style to work on a strbuf.
+      Full rework of quote_c_style and write_name_quoted.
+      sq_quote_argv and add_to_string rework with strbuf's.
+      Add strbuf_cmp.
+      Make builtin-rerere use of strbuf nicer and more efficient.
+      Small cache_tree_write refactor.
+      double free in builtin-update-index.c
+      strbuf change: be sure ->buf is never ever NULL.
+      strbuf_read_file enhancement, and use it.
+      Make read_patch_file work on a strbuf.
+      Fix in-place editing functions in convert.c
+      Add some fancy colors in the test library when terminal supports it.
+      Support a --quiet option in the test-suite.
+      fast-import.c: fix regression due to strbuf conversion
+      Add a simple option parser.
+      parse-options: be able to generate usages automatically
+      parse-options: make some arguments optional, add callbacks.
+      Add shortcuts for very often used options.
+      parse-options: allow callbacks to take no arguments at all.
+      Make builtin-rm.c use parse_options.
+      Make builtin-mv.c use parse-options
+      Make builtin-branch.c use parse_options.
+      Make builtin-describe.c use parse_options
+      Make builtin-revert.c use parse_options.
+      Make builtin-update-ref.c use parse_options
+      Make builtin-symbolic-ref.c use parse_options.
+      Make builtin-for-each-ref.c use parse-opts.
+      Make builtin-fsck.c use parse_options.
+      Make builtin-count-objects.c use parse_options.
+      Make builtin-name-rev.c use parse_options.
+      Make builtin-pack-refs.c use parse_options.
+      git-fetch: be even quieter.
+      Some better parse-options documentation.
+      Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts.
+      Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt
+      Migrate git-clean.sh to use git-rev-parse --parseopt.
+      Migrate git-clone to use git-rev-parse --parseopt
+      Migrate git-am.sh to use git-rev-parse --parseopt
+      Migrate git-merge.sh to use git-rev-parse --parseopt
+      Migrate git-instaweb.sh to use git-rev-parse --parseopt
+      Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash
+      Migrate git-quiltimport.sh to use git-rev-parse --parseopt
+      Migrate git-repack.sh to use git-rev-parse --parseopt
+      sh-setup: don't let eval output to be shell-expanded.
+      parse-options new features.
+      Use OPT_SET_INT and OPT_BIT in builtin-branch
+      Use OPT_BIT in builtin-for-each-ref
+      Use OPT_BIT in builtin-pack-refs
+      Make the diff_options bitfields be an unsigned with explicit masks.
+      Reorder diff_opt_parse options more logically per topics.
+      parse-options: Allow to hide options from the default usage.
+      builtin-commit.c: export GIT_INDEX_FILE for launch_editor as well.
+      Invert numbers and names in the git-shortlog summary mode.
+
+Pini Reznik (1):
+      Open external merge tool with original file extensions for all three files
+
+Ralf Wildenhues (10):
+      manual: Fix or remove em dashes.
+      Fix some typos, punctuation, missing words, minor markup.
+      Fix wording in push definition.
+      manual: Fix example finding commits referencing given content.
+      manual: add some markup.
+      manual: use 'URL' instead of 'url'.
+      git-cherry-pick: improve description of -x.
+      Fix minor nits in configure.ac
+      git-bisect.sh: Fix sed script to work with AIX and BSD sed.
+      Document all help keys in "git add -i" patch mode.
+
+René Scharfe (13):
+      Export format_commit_message()
+      archive: specfile support (--pretty=format: in archive files)
+      Remove unused function convert_sha1_file()
+      add memmem()
+      archive: specfile syntax change: "$Format:%PLCHLDR$" instead of just "%PLCHLDR" (take 2)
+      archive: rename attribute specfile to export-subst
+      archive: fix subst file generation
+      Correct some sizeof(size_t) != sizeof(unsigned long) typing errors
+      Add strchrnul()
+      --pretty=format: on-demand format expansion
+      --pretty=format: parse commit message only once
+      add strbuf_adddup()
+      --format=pretty: avoid calculating expensive expansions twice
+
+Robert Boone (1):
+      Define NO_MEMMEM of FreeBSD as it lacks the function
+
+Robert Schiele (2):
+      git-gui: install-sh from automake does not like -m755
+      install-sh from automake does not like -m without delimiting space
+
+Robin Rosenberg (1):
+      cvsexportcommit: Add switch to specify CVS workdir
+
+Sam Vilain (6):
+      git-svn: fix test for trunk svn (commit message not needed)
+      git-svn: fix test for trunk svn (transaction out of date)
+      git-svn: handle changed svn command-line syntax
+      gitk: disable colours when calling git log
+      Allow HTTP proxy to be overridden in config
+      Add remote.<name>.proxy
+
+Scott R Parish (7):
+      "git" returns 1; "git help" and "git help -a" return 0
+      remove unused/unneeded "pattern" argument of list_commands
+      "current_exec_path" is a misleading name, use "argv_exec_path"
+      list_commands(): simplify code by using chdir()
+      use only the $PATH for exec'ing git commands
+      include $PATH in generating list of commands for "help -a"
+      shell should call the new setup_path() to setup $PATH
+
+Sergei Organov (7):
+      core-tutorial.txt: Fix git-show-branch example and its description
+      user-manual.txt: fix a few mistakes
+      user-manual: minor rewording for clarity.
+      Documentation: customize diff-options depending on particular command
+      user-manual.txt: minor clarification.
+      Documentation: fix git-clone manpage not to refer to itself
+      Let git-help prefer man-pages installed with this version of git
+
+Shawn Bohrer (4):
+      Add more tests for git-clean
+      Make git-clean a builtin
+      Teach git clean to use setup_standard_excludes()
+      Make git status usage say git status instead of git commit
+
+Shawn O. Pearce (106):
+      git-gui: Locate the library directory early during startup
+      git-gui: Initialize Tcl's msgcat library for internationalization
+      git-gui: Update po/README as symlink process is not necessary
+      git-gui: Correct stock message for 'Invalid font specified in %s'
+      git-gui: Quiet the msgfmt part of the make process
+      git-gui: Ensure msgfmt failure stops GNU make
+      Define NO_MEMMEM on Darwin as it lacks the function
+      git-gui: Mark revision chooser tooltip for translation
+      git-gui: Localize commit/author dates when displaying them
+      git-gui: Support context-sensitive i18n
+      git-gui: Document the new i18n context support
+      git-gui: Make the tree browser also use lightgray selection
+      git-gui: Paper bag fix missing translated strings
+      Correct builtin-fetch to handle + in refspecs
+      Fix off by one bug in reflog messages written by builtin-fetch
+      Remove unnecessary debugging from builtin-fetch
+      Remove unused unpacklimit variable from builtin-fetch
+      Replace custom memory growth allocator with ALLOC_GROW
+      Simplify fetch transport API to just one function
+      Refactor index-pack "keep $sha1" handling for reuse
+      Remove pack.keep after ref updates in git-fetch
+      Always ensure the pack.keep file is removed by git-fetch
+      Fix builtin-fetch memory corruption by not overstepping array
+      Backup the array passed to fetch_pack so we can free items
+      Properly cleanup in http_cleanup so builtin-fetch does not segfault
+      Don't bother passing ref log details to walker in builtin-fetch
+      Cleanup duplicate initialization code in transport_get
+      Add transport.h to LIB_H as transport.o is in LIB_OBJS
+      Remove unnecessary 'fetch' argument from transport_get API
+      Allow builtin-fetch to work on a detached HEAD
+      Don't configure remote "." to fetch everything to itself
+      Remove more debugging from builtin-fetch
+      builtin-fetch: Don't segfault on "fetch +foo"
+      Don't attempt to merge non-existant remotes in t5515
+      Correct handling of branch.$name.merge in builtin-fetch
+      Avoid printing unnecessary warnings during fetch and push
+      Use 'unsigned:1' when we mean boolean options
+      Rename remote.uri to remote.url within remote handling internals
+      Refactor struct transport_ops inlined into struct transport
+      Always obtain fetch-pack arguments from struct fetch_pack_args
+      Ensure builtin-fetch honors {fetch,transfer}.unpackLimit
+      Fix memory leaks when disconnecting transport instances
+      git-gui: Fix missing i18n markup in push/fetch windows
+      git-gui: Support native Win32 Tcl/Tk under Cygwin
+      git-gui: Refactor some UI init to occur earlier
+      git-gui: Allow users to choose/create/clone a repository
+      git-gui: Avoid console scrollbars unless they are necessary
+      git-gui: Don't bother showing OS error message about hardlinks
+      git-gui: Keep the UI responsive while counting objects in clone
+      git-gui: Copy objects/info/alternates during standard clone
+      Cleanup style nit of 'x == NULL' in remote.c
+      Cleanup unnecessary break in remote.c
+      Prevent send-pack from segfaulting when a branch doesn't match
+      git-gui: Don't delete console window namespaces too early
+      git-gui: Don't delete scrollbars in console windows
+      git-gui: Switch the git-gui logo to Henrik Nyh's logo
+      git-gui: Make the status bar easier to read in the setup wizard
+      git-gui: Use Henrik Nyh's git logo icon on Windows systems
+      git-gui: Support a native Mac OS X application bundle
+      git-gui: Refer to ourselves as "Git Gui" and not "git-gui"
+      git-gui: Allow forced push into remote repository
+      git-gui: Refactor Henrik Nyh's logo into its own procedure
+      git-gui: Refactor about dialog code into its own module
+      git-gui: Include our Git logo in the about dialog
+      git-gui: Use progress meter in the status bar during index updates
+      git-gui: Consolidate the Fetch and Push menus into a Remote menu
+      git-gui: Bind Cmd-, to Preferences on Mac OS X
+      git-gui: Shorten the staged/unstaged changes title bar text
+      git-gui: Updated po strings based on current sources
+      git-gui: Move load_config procedure below git-version selection
+      git-gui: Refactor git-config --list parsing
+      git-gui: Support LFs embedded in config file values
+      git-gui: Change repository browser radio buttons to hyperlinks
+      git-gui: Offer repository management features in menu bar
+      git-gui: Fix bind errors when switching repository chooser panels
+      git-gui: Disable the text widget in the repository chooser
+      git-gui: Bind n/c/o accelerators in repository chooser
+      git-gui: Ensure copyright message is correctly read as UTF-8
+      git-gui: Use proper Windows shortcuts instead of bat files
+      git-gui: Support cloning Cygwin based work-dirs
+      git-gui: Collapse $env(HOME) to ~/ in recent repositories on Windows
+      git-gui: Honor a config.mak in git-gui's top level
+      Fix 'push --all branch...' error handling
+      Support 'push --dry-run' for rsync transport
+      Support 'push --dry-run' for http transport
+      git-gui: Paper bag fix the global config parsing
+      Change 'Deltifying objects' to 'Compressing objects'
+      Teach prune-packed to use the standard progress meter
+      Stop displaying "Pack pack-$ID created." during git-gc
+      Avoid scary errors about tagged trees/blobs during git-fetch
+      Define compat version of mkdtemp for systems lacking it
+      Improved const correctness for strings
+      Use PRIuMAX instead of 'unsigned long long' in show-index
+      git-gui: Make sure we get errors from git-update-index
+      git-gui: Protect against bad translation strings
+      git-gui: Allow users to set font weights to bold
+      Reteach builtin-ls-remote to understand remotes
+      git-gui: Bind Meta-T for "Stage To Commit" menu action
+      git-fetch: Always fetch tags if the object they reference exists
+      run-command: Support sending stderr to /dev/null
+      rev-list: Introduce --quiet to avoid /dev/null redirects
+      git-fetch: avoid local fetching from alternate (again)
+      Handle broken vsnprintf implementations in strbuf
+      Fix warning about bitfield in struct ref
+      git-gui 0.9.0
+      Remove git-status from list of scripts as it is builtin
+
+Shun Kei Leung (1):
+      git-p4: Fix typo in --detect-labels
+
+Simon Hausmann (10):
+      git-p4: Always call 'p4 sync ...' before submitting to Perforce.
+      git-p4: After submission to p4 always synchronize from p4 again (into refs/remotes). Whether to rebase HEAD or not is still left as question to the end-user.
+      git-p4: Cleanup; moved the code for getting a sorted list of p4 changes for a list of given depot paths into a standalone method.
+      git-p4: Cleanup; moved the code to import a list of p4 changes using fast-import into a separate member function of P4Sync.
+      git-p4: Cleanup; Turn self.revision into a function local variable (it's not used anywhere outside the function).
+      git-p4: Cleanup; moved the code for the initial #head or revision import into a separate function, out of P4Sync.run.
+      git-p4: Cleanup; moved the (duplicated) code for turning a branch into a git ref (for example foo -> refs/remotes/p4/<project>/foo) into a separate method.
+      git-p4: Added support for automatically importing newly appearing perforce branches.
+      git-p4: When skipping a patch as part of "git-p4 submit" make sure we correctly revert to the previous state of the files using "p4 revert".
+      git-p4: Fix direct import from perforce after fetching changes through git from origin
+
+Simon Sasburg (1):
+      Make mailsplit and mailinfo strip whitespace from the start of the input
+
+Stefan Sperling (1):
+      Fix pool handling in git-svnimport to avoid memory leaks.
+
+Steffen Prohaska (16):
+      git-gui: add directory git-gui is located in to PATH (on Windows)
+      git-gui: set NO_MSGFMT to force using pure tcl replacement in msysgit
+      git-gui: add mingw specific startup wrapper
+      git-gui: offer a list of recent repositories on startup
+      mergetool: use path to mergetool in config var mergetool.<tool>.path
+      mergetool: add support for ECMerge
+      mergetool: avoid misleading message "Resetting to default..."
+      Fix comment in strbuf.h to use correct name strbuf_avail()
+      push: mention --verbose option in documentation
+      push: teach push to pass --verbose option to transport layer
+      push: support pushing HEAD to real branch name
+      add refname_match()
+      push: use same rules as git-rev-parse to resolve refspecs
+      refactor fetch's ref matching to use refname_match()
+      Use is_absolute_path() in diff-lib.c, lockfile.c, setup.c, trace.c
+      sha1_file.c: Fix size_t related printf format warnings
+
+Steven Grimm (3):
+      Add a message explaining that automatic GC is about to start
+      builtin-fetch: Add "-q" as a synonym for "--quiet"
+      git-svn: Don't create a "master" branch every time rebase is run
+
+Steven Walter (1):
+      Don't checkout the full tree if avoidable
+
+Theodore Ts'o (2):
+      Make the list of common commands more exclusive
+      Remove hint to use "git help -a"
+
+Thomas Harning (1):
+      git-merge-ours: make it a builtin.
+
+Uwe Kleine-König (1):
+      send-email: apply --suppress-from to S-o-b and cc-cmd
+
+Vineet Kumar (1):
+      git-svn: add a show-externals command.
+
+Väinö Järvelä (1):
+      Added a test for fetching remote tags when there is not tags.
+
+Wincent Colaiuta (21):
+      Further clarify clean.requireForce changes
+      Authenticate only once in git-send-email
+      Refactor patch_update_cmd
+      Teach builtin-add to pass multiple paths to git-add--interactive
+      Add path-limiting to git-add--interactive
+      Add "--patch" option to git-add--interactive
+      Fix typo in draft 1.5.4 release notes
+      Highlight keyboard shortcuts in git-add--interactive
+      revert/cherry-pick: Allow overriding the help text by the calling Porcelain
+      add -i: allow prefix highlighting for "Add untracked" as well.
+      git-add -i: add help text for list-and-choose UI
+      Silence iconv warnings on Leopard
+      Teach "git add -i" to colorize whitespace errors
+      Allow --no-verify to bypass commit-msg hook
+      Documentation: fix --no-verify documentation for "git commit"
+      Add tests for pre-commit and commit-msg hooks
+      Interactive editor tests for commit-msg hook
+      Style fixes for pre-commit hook tests
+      Use "whitespace" consistently
+      Documentation: minor grammar fix for "git apply"
+      Fix "diff --check" whitespace detection
+
+Xudong Guan (2):
+      Initial Chinese translation for git-gui
+      git-gui: Added initial version of po/glossary/zh_cn.po
+
+İsmail Dönmez (1):
+      gitweb: use Perl built-in utf8 function for UTF-8 decoding.
+
+
+Version v1.5.3.8; changes since v1.5.3.7:
+-----------------------------------------
+
+David Symonds (1):
+      Change from using email.com to example.com as example domain, as per RFC 2606.
+
+Eric Wong (2):
+      git-svn: support for funky branch and project names over HTTP(S)
+      git-svn: clarify the "Ignoring error from SVN" piece
+
+Jeff King (3):
+      t9600: test cvsimport from CVS working tree
+      clone: correctly report http_fetch errors
+      git-send-email: avoid duplicate message-ids
+
+Jim Meyering (1):
+      config.c:store_write_pair(): don't read the byte before a malloc'd buffer.
+
+Junio C Hamano (3):
+      git grep shows the same hit repeatedly for unmerged paths
+      git-am -i: report rewritten title
+      GIT 1.5.3.8
+
+Nguyễn Thái Ngọc Duy (3):
+      Add missing inside_work_tree setting in setup_git_directory_gently
+      Do check_repository_format() early
+      Do check_repository_format() early (re-fix)
+
+
+Version v1.5.3.7; changes since v1.5.3.6:
+-----------------------------------------
+
+Björn Steinbrink (3):
+      git-commit.sh: Fix usage checks regarding paths given when they do not make sense
+      t7005-editor.sh: Don't invoke real vi when it is in GIT_EXEC_PATH
+      git-commit: Add tests for invalid usage of -a/--interactive with paths
+
+Brian Downing (2):
+      config: correct core.loosecompression documentation
+      config: clarify compression defaults
+
+J. Bruce Fields (7):
+      git-remote.txt: fix example url
+      user-manual: mention "..." in "Generating diffs", etc.
+      Documentation: Fix references to deprecated commands
+      user-manual: define "branch" and "working tree" at start
+      user-manual: failed push to public repository
+      user-manual: clarify language about "modifying" old commits
+      user-manual: recovering from corruption
+
+Jan Hudec (1):
+      Improve description of git-branch -d and -D in man page.
+
+Jeff King (5):
+      send-email: add transfer encoding header with content-type
+      Add basic cvsimport tests
+      cvsimport: use rev-parse to support packed refs
+      cvsimport: miscellaneous packed-ref fixes
+      cvsimport: fix usage of cvsimport.module
+
+Johannes Schindelin (2):
+      bundle create: keep symbolic refs' names instead of resolving them
+      Replace the word 'update-cache' by 'update-index' everywhere
+
+Johannes Sixt (1):
+      t7003-filter-branch: Fix test of a failing --msg-filter.
+
+Junio C Hamano (11):
+      format-patch -s: add MIME encoding header if signer's name requires so
+      test format-patch -s: make sure MIME content type is shown as needed
+      ce_match_stat, run_diff_files: use symbolic constants for readability
+      git-add: make the entry stat-clean after re-adding the same contents
+      t2200: test more cases of "add -u"
+      Make test scripts executable.
+      Fix sample pre-commit hook
+      git-checkout: describe detached head correctly
+      scripts: do not get confused with HEAD in work tree
+      Fix typo in t4008 test title
+      GIT 1.5.3.7
+
+Linus Torvalds (1):
+      Fix rev-list when showing objects involving submodules
+
+Matthieu Moy (1):
+      Doc fix for git-reflog: mention @{...} syntax, and <ref> in synopsys.
+
+Rémi Vanicat (1):
+      Make GIT_INDEX_FILE apply to git-commit
+
+Steffen Prohaska (1):
+      user-manual: Add section "Why bisecting merge commits can be harder ..."
+
+
+Version v1.5.3.6; changes since v1.5.3.5:
+-----------------------------------------
+
+Alex Riesen (1):
+      stop t1400 hiding errors in tests
+
+Ask Bjørn Hansen (1):
+      When exec() fails include the failing command in the error message
+
+Benoit Sigoure (2):
+      git-send-email: Change the prompt for the subject of the initial message.
+      git-svn: prevent dcommitting if the index is dirty.
+
+Brad King (1):
+      cvsexportcommit: fix for commits that do not have parents
+
+Christian Couder (1):
+      for-each-ref: fix off by one read.
+
+David D. Kilzer (2):
+      RelNotes-1.5.3.5: fix typo
+      RelNotes-1.5.3.5: fix another typo
+
+David Symonds (1):
+      Improve accuracy of check for presence of deflateBound.
+
+Eric Wong (2):
+      git-svn: fix dcommit clobbering when committing a series of diffs
+      git-svn: t9114: verify merge commit message in test
+
+Gerrit Pape (4):
+      git-diff.txt: add section "output format" describing the diff formats
+      git-cvsimport: really convert underscores in branch names to dots with -u
+      git-daemon: fix remote port number in log entry
+      git-mailsplit: with maildirs not only process cur/, but also new/
+
+Jakub Narebski (1):
+      gitweb: Update config file example for snapshot feature in gitweb/INSTALL
+
+Jeff King (2):
+      git-branch: remove mention of non-existent '-b' option
+      git-send-email: add charset header if we add encoded 'From'
+
+Jing Xue (1):
+      replace reference to git-rm with git-reset in git-commit doc
+
+Johannes Schindelin (1):
+      Add Documentation/CodingGuidelines
+
+Jonas Fonseca (3):
+      Remove escaping of '|' in manpage option sections
+      instaweb: Minor cleanups and fixes for potential problems
+      Documentation: Fix man page breakage with DocBook XSL v1.72
+
+Jonathan del Strother (1):
+      Fixing path quoting in git-rebase
+
+Junio C Hamano (12):
+      grep with unmerged index
+      refresh_index_quietly(): express "optional" nature of index writing better
+      Makefile: add missing dependency on wt-status.h
+      Start preparing for 1.5.3.6
+      t/t3404: fix test for a bogus todo file.
+      revert/cherry-pick: allow starting from dirty work tree.
+      git-clean: honor core.excludesfile
+      core.excludesfile clean-up
+      Fix per-directory exclude handing for "git add"
+      Update draft release notes for 1.5.3.6
+      grep -An -Bm: fix invocation of external grep command
+      GIT 1.5.3.6
+
+Kristian Høgsberg (1):
+      Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites.
+
+Marco Costalba (1):
+      Remove a couple of duplicated include
+
+Mike Hommey (1):
+      Delay pager setup in git blame
+
+Nicolas Pitre (3):
+      print warning/error/fatal messages in one shot
+      git-hash-object should honor config variables
+      fix index-pack with packs >4GB containing deltas on 32-bit machines
+
+Ralf Wildenhues (3):
+      git-clone.txt: Improve --depth description.
+      Avoid a few unportable, needlessly nested "...`...".
+      Fix sed string regex escaping in module_name.
+
+Sergei Organov (6):
+      git-filter-branch.txt: fix a typo.
+      git-format-patch.txt: fix explanation of an example.
+      Documentation: quote commit messages consistently.
+      SubmittingPatches: improve the 'Patch:' section of the checklist
+      core-tutorial.txt: Fix argument mistake in an example.
+      git-remote.txt: fix typo
+
+Shawn O. Pearce (2):
+      Fix memory leak in traverse_commit_list
+      Don't allow fast-import tree delta chains to exceed maximum depth
+
+Vincent Zanotti (1):
+      gitweb: correct month in date display for atom feeds
+
+Wincent Colaiuta (2):
+      Grammar fixes for gitattributes documentation
+      Fix t9101 test failure caused by Subversion "auto-props"
+
+
+Version v1.5.3.5; changes since v1.5.3.4:
+-----------------------------------------
+
+Alex Bennée (1):
+      Ensure we add directories in the correct order
+
+Alex Riesen (1):
+      Fix generation of perl/perl.mak
+
+Andrew Clausen (1):
+      helpful error message when send-pack finds no refs in common.
+
+Aurelien Bompard (1):
+      honor the http.sslVerify option in shell scripts
+
+Benoit Sigoure (1):
+      Fix a small memory leak in builtin-add
+
+Björn Steinbrink (3):
+      Fix --strategy parsing in git-rebase--interactive.sh
+      git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick.
+      git-rebase--interactive.sh: Make 3-way merge strategies work for -p.
+
+Brian Gernhardt (1):
+      cvsserver: Use exit 1 instead of die when req_Root fails.
+
+Frank Lichtenheld (1):
+      git-config: don't silently ignore options after --list
+
+Gerrit Pape (2):
+      git-config: handle --file option with relative pathname properly
+      git-config: print error message if the config file cannot be read
+
+Jean-Luc Herren (2):
+      git add -i: Fix parsing of abbreviated hunk headers
+      git add -i: Remove unused variables
+
+Jeff King (1):
+      send-pack: respect '+' on wildcard refspecs
+
+Joakim Tjernlund (1):
+      Improve receive-pack error message about funny ref creation
+
+Johannes Schindelin (5):
+      clear_commit_marks(): avoid deep recursion
+      rebase -i: use diff plumbing instead of porcelain
+      Fix setup_git_directory_gently() with relative GIT_DIR & GIT_WORK_TREE
+      fix filter-branch documentation
+      filter-branch: update current branch when rewritten
+
+Julian Phillips (1):
+      fast-import: Fix argument order to die in file_change_m
+
+Junio C Hamano (8):
+      git-remote: fix "Use of uninitialized value in string ne"
+      sha1_file.c: avoid gcc signed overflow warnings
+      merge-recursive.c: mrtree in merge() is not used before set
+      RelNotes-1.5.3.5: describe recent fixes
+      Prevent send-pack from segfaulting (backport from 'master')
+      git-merge: document but discourage the historical syntax
+      Update GIT 1.5.3.5 Release Notes
+      GIT 1.5.3.5
+
+Lars Hjemli (1):
+      Make merge-recursive honor diff.renamelimit
+
+Linus Torvalds (6):
+      Fix embarrassing "git log --follow" bug
+      Clean up "git log" format with DIFF_FORMAT_NO_OUTPUT
+      git-blame shouldn't crash if run in an unmerged tree
+      Avoid scary errors about tagged trees/blobs during git-fetch
+      Fix directory scanner to correctly ignore files without d_type
+      Fix diffcore-break total breakage
+
+Mathias Megyei (1):
+      Do not remove distributed configure script
+
+Michael W. Olson (1):
+      Documentation/git-cvsexportcommit.txt: s/mgs/msg/ in example
+
+Michele Ballabio (2):
+      git-reflog: document --verbose
+      git-archive: document --exec
+
+Nicolas Pitre (1):
+      cherry-pick/revert: more compact user direction message
+
+Patrick Welche (1):
+      Define NI_MAXSERV if not defined by operating system
+
+Ralf Wildenhues (1):
+      gitk.txt: Fix markup.
+
+Robert Schiele (1):
+      fixing output of non-fast-forward output of post-receive-email
+
+Sergei Organov (1):
+      core-tutorial: Use new syntax for git-merge.
+
+Shawn O. Pearce (17):
+      git-gui: Display message box when we cannot find git in $PATH
+      git-gui: Handle starting on mapped shares under Cygwin
+      git-gui: Ensure .git/info/exclude is honored in Cygwin workdirs
+      git-gui: Allow gitk to be started on Cygwin with native Tcl/Tk
+      git-gui: Don't crash when starting gitk from a browser session
+      Whip post 1.5.3.4 maintenance series into shape.
+      Correct typos in release notes for 1.5.3.5
+      Avoid 'expr index' on Mac OS X as it isn't supported
+      Document additional 1.5.3.5 fixes in release notes
+      Yet more 1.5.3.5 fixes mentioned in release notes
+      Avoid invoking diff drivers during git-stash
+      Further 1.5.3.5 fixes described in release notes
+      Paper bag fix diff invocation in 'git stash show'
+      git-gui: Correctly report failures from git-write-tree
+      git-gui: Handle progress bars from newer gits
+      git-gui: Don't display CR within console windows
+      Describe more 1.5.3.5 fixes in release notes
+
+Simon Sasburg (1):
+      git-gui: Avoid using bold text in entire gui for some fonts
+
+Steffen Prohaska (2):
+      git-gui: accept versions containing text annotations, like 1.5.3.mingw.1
+      attr: fix segfault in gitattributes parsing code
+
+
+Version v1.5.3.4; changes since v1.5.3.3:
+-----------------------------------------
+
+Andy Parkins (1):
+      post-receive-hook: Remove the From field from the generated email header so that the pusher's name is used
+
+Carl Worth (1):
+      Add test case for ls-files --with-tree
+
+Federico Mena Quintero (4):
+      Say when --track is useful in the git-checkout docs.
+      Add documentation for --track and --no-track to the git-branch docs.
+      Note that git-branch will not automatically checkout the new branch
+      Make git-pull complain and give advice when there is nothing to merge with
+
+Jari Aalto (1):
+      git-remote: exit with non-zero status after detecting errors.
+
+Jean-Luc Herren (2):
+      git-add--interactive: Allow Ctrl-D to exit
+      git-add--interactive: Improve behavior on bogus input
+
+Jeff King (1):
+      diffcore-rename: cache file deltas
+
+Johan Herland (1):
+      Mention 'cpio' dependency in INSTALL
+
+Johannes Schindelin (2):
+      rebase -i: squash should retain the authorship of the _first_ commit
+      Fix typo in config.txt
+
+Junio C Hamano (5):
+      Whip post 1.5.3.3 maintenance series into shape.
+      git-commit: initialize TMP_INDEX just to be sure.
+      for-each-ref: fix %(numparent) and %(parent)
+      rename diff_free_filespec_data_large() to diff_free_filespec_blob()
+      GIT 1.5.3.4
+
+Keith Packard (1):
+      Must not modify the_index.cache as it may be passed to realloc at some point.
+
+Miklos Vajna (1):
+      git stash: document apply's --index switch
+
+Robert Schiele (1):
+      the ar tool is called gar on some systems
+
+Steffen Prohaska (1):
+      fixed link in documentation of diff-options
+
+
+Version v1.5.3.3; changes since v1.5.3.2:
+-----------------------------------------
+
+Carlos Rica (1):
+      Move make_cache_entry() from merge-recursive.c into read-cache.c
+
+Dan Nicholson (1):
+      quiltimport: Skip non-existent patches
+
+David Brown (1):
+      Detect exec bit in more cases.
+
+David Kastrup (1):
+      Supplant the "while case ... break ;; esac" idiom
+
+Eric Wong (1):
+      git-svn: don't attempt to spawn pager if we don't want one
+
+Glenn Rempe (1):
+      Fixed minor typo in t/t9001-send-email.sh test command line.
+
+J. Bruce Fields (1):
+      user-manual: don't assume refs are stored under .git/refs
+
+Jakub Narebski (2):
+      gitweb: Remove parse_from_to_diffinfo code from git_patchset_body
+      gitweb: No difftree output for trivial merge
+
+Jim Meyering (2):
+      unexpected Make output (e.g. from --debug) causes build failure
+      Do not over-quote the -f envelopesender value.
+
+Johannes Schindelin (1):
+      apply: get rid of --index-info in favor of --build-fake-ancestor
+
+Johannes Sixt (2):
+      gitattributes.txt: Remove a duplicated paragraph about 'ident' and 'crlf' interaction.
+      gitattributes.txt: Be more to the point in the filter driver description.
+
+Junio C Hamano (3):
+      Documentation/git-lost-found.txt: drop unnecessarily duplicated name.
+      Mergetool generating blank files (1.5.3)
+      GIT 1.5.3.3
+
+Linus Torvalds (1):
+      Fix revision log diff setup, avoid unnecessary diff generation
+
+Matt Kraai (2):
+      Move the paragraph specifying where the .idx and .pack files should be
+      Conjugate "search" correctly in the git-prune-packed man page.
+
+Michael Smith (1):
+      user-manual: Explain what submodules are good for.
+
+Miklos Vajna (2):
+      User Manual: add a chapter for submodules
+      git-bundle: fix commandline examples in the manpage
+
+Randy Dunlap (1):
+      core-tutorial: correct URL
+
+Shawn Bohrer (1):
+      Fix spelling of overridden in documentation
+
+Theodore Ts'o (2):
+      mergetool: fix emerge when running in a subdirectory
+      mergetool: Fix typo in options passed to kdiff3
+
+
+Version v1.5.3.2; changes since v1.5.3.1:
+-----------------------------------------
+
+Alexandre Julliard (1):
+      hooks--update: Explicitly check for all zeros for a deleted ref.
+
+Benoit Sigoure (1):
+      Add test to check recent fix to "git add -u"
+
+Carlos Rica (1):
+      git-tag -s must fail if gpg cannot sign the tag.
+
+David Kastrup (1):
+      git-send-email.perl: Add angle brackets to In-Reply-To if necessary
+
+Dmitry V. Levin (2):
+      Makefile: Add cache-tree.h to the headers list
+      git-commit: Disallow amend if it is going to produce an empty non-merge commit
+
+Eric Wong (3):
+      git-svn: fix "Malformed network data" with svn:// servers
+      git-svn: understand grafts when doing dcommit
+      Documentation/git-svn: updated design philosophy notes
+
+Gerrit Pape (2):
+      git-gui: lib/index.tcl: handle files with % in the filename properly
+      git-clone: improve error message if curl program is missing or not executable
+
+J. Bruce Fields (13):
+      user-manual: adjust section levels in "git internals"
+      user-manual: move object format details to hacking-git chapter
+      user-manual: rename "git internals" to "git concepts"
+      user-manual: create new "low-level git operations" chapter
+      user-manual: rewrite index discussion
+      user-manual: reorder commit, blob, tree discussion
+      user-manual: rewrite object database discussion
+      user-manual: move packfile and dangling object discussion
+      user-manual: fix introduction to packfiles
+      user-manual: todo updates and cleanup
+      documentation: replace Discussion section by link to user-manual chapter
+      core-tutorial: minor cleanup
+      git-apply: fix whitespace stripping
+
+Jari Aalto (1):
+      Documentation/git-archive.txt: a couple of clarifications.
+
+Jean-Luc Herren (1):
+      stash: end index commit log with a newline
+
+Jeff King (1):
+      git-push: documentation and tests for pushing only branches
+
+Johannes Schindelin (2):
+      revision walker: --cherry-pick is a limited operation
+      apply --index-info: fall back to current index for mode changes
+
+Junio C Hamano (13):
+      git-apply: do not read past the end of buffer
+      git-add -u: do not barf on type changes
+      git-format-patch --in-reply-to: accept <message@id> with angle brackets
+      diff --no-index: do not forget to run diff_setup_done()
+      Documentation/git-config.txt: AsciiDoc tweak to avoid leading dot
+      Split grep arguments in a way that does not requires to add /dev/null.
+      git-sh-setup: typofix in comments
+      send-email: make message-id generation a bit more robust
+      git-commit: Allow partial commit of file removal.
+      git-commit: partial commit of paths only removed from the index
+      Document ls-files --with-tree=<tree-ish>
+      t/t4014: test "am -3" with mode-only change.
+      GIT 1.5.3.2
+
+Linus Torvalds (1):
+      Fix the rename detection limit checking
+
+Matthias Urlichs (1):
+      git-svnimport: Use separate arguments in the pipe for git-rev-parse
+
+Michael Smith (1):
+      (cvs|svn)import: Ask git-tag to overwrite old tags.
+
+Michele Ballabio (2):
+      git-gui: show unstaged symlinks in diff viewer
+      git-gui: handle "deleted symlink" diff marker
+
+Mike Ralphson (1):
+      Documentation / grammer nit
+
+Nicolas Pitre (1):
+      fix doc for --compression argument to pack-objects
+
+Pierre Habouzit (1):
+      Fix lapsus in builtin-apply.c
+
+Ramsay Allan Jones (1):
+      Fix a test failure (t9500-*.sh) on cygwin
+
+Shawn O. Pearce (17):
+      git-gui: Correct starting of git-remote to handle -w option
+      git-gui: Fix detaching current branch during checkout
+      git-gui: Properly set the state of "Stage/Unstage Hunk" action
+      Don't allow contrib/workdir/git-new-workdir to trash existing dirs
+      Cleanup unnecessary file modifications in t1400-update-ref
+      Include a git-push example for creating a remote branch
+      git-gui: Disable Tk send in all git-gui sessions
+      git-gui: Avoid use of libdir in Makefile
+      git-gui: Assume untracked directories are Git submodules
+      git-gui: Trim trailing slashes from untracked submodule names
+      Make --no-thin the default in git-push to save server resources
+      git-gui: Don't delete send on Windows as it doesn't exist
+      git-gui: Make backporting changes from i18n version easier
+      git-gui: Font chooser to handle a large number of font families
+      git-gui: Provide 'uninstall' Makefile target to undo an installation
+      git-gui: Paper bag fix "Commit->Revert" format arguments
+      git-gui: Disable native platform text selection in "lists"
+
+Sven Verdoolaege (1):
+      git-diff: don't squelch the new SHA1 in submodule diffs
+
+Ulrik Sverdrup (1):
+      Remove duplicate note about removing commits with git-filter-branch
+
+Väinö Järvelä (1):
+      Fixed update-hook example allow-users format.
+
+
+Version v1.5.3.1; changes since v1.5.3:
+---------------------------------------
+
+Junio C Hamano (2):
+      Typofix: 1.5.3 release notes
+      GIT 1.5.3.1: obsolete git-p4 in RPM spec file.
+
+
+Version v1.5.3; changes since v1.5.3-rc7:
+-----------------------------------------
+
+Alex Riesen (1):
+      Temporary fix for stack smashing in mailinfo
+
+Carlos Rica (1):
+      git-tag: Fix -l option to use better shell style globs.
+
+Eric Wong (1):
+      git-svn: fix dcommit clobbering upstream when committing multiple changes
+
+Giuseppe Bilotta (2):
+      git-filter-branch: more detailed USAGE
+      git-filter-branch: document --original option
+
+Joe Perches (1):
+      git-send-email --cc-cmd
+
+Johannes Schindelin (5):
+      completion: also complete git-log's --left-right and --cherry-pick option
+      filter-branch: fix remnants of old syntax in documentation
+      rebase -i: mention the option to split commits in the man page
+      filter-branch: provide the convenience functions also for commit filters
+      filter-branch: introduce convenience function "skip_commit"
+
+Johannes Sixt (1):
+      rebase -m: Fix incorrect short-logs of already applied commits.
+
+Junio C Hamano (13):
+      git-daemon(1): assorted improvements.
+      ls-files --error-unmatch: do not barf if the same pattern is given twice.
+      Makefile: do not allow gnu make to remove test-*.o files
+      filter-branch: make sure orig_namespace ends with a single slash.
+      git-init: autodetect core.symlinks
+      Make "git-log --" without paths behave the same as "git-log" without --
+      Hopefully the final update to draft release notes for 1.5.3.
+      git-svn: Protect against "diff.color = true".
+      git-diff: resurrect the traditional empty "diff --git" behaviour
+      Avoid one-or-more (\+) non BRE in sed scripts.
+      Documentation: minor AsciiDoc mark-up fixes.
+      Update my contact address as the maintainer.
+      GIT 1.5.3
+
+Luben Tuikov (1):
+      URL: allow port specification in ssh:// URLs
+
+Miles Bader (1):
+      Make git-archimport log entries more consistent
+
+Nicolas Pitre (1):
+      fix same sized delta logic
+
+Paul Mackerras (1):
+      gitk: Fix bug causing undefined variable error when cherry-picking
+
+Robin Rosenberg (1):
+      Mention -m as an abbreviation for --merge
+
+Shawn O. Pearce (1):
+      Teach bash about completing arguments for git-tag
+
+Tom Clarke (1):
+      Fixing comment in merge strategies
+
+
+Version v1.5.3-rc7; changes since v1.5.3-rc6:
+---------------------------------------------
+
+Alex Riesen (1):
+      Fix git-remote for ActiveState Perl
+
+Alexandre Julliard (1):
+      git.el: Avoid a lisp error when there's no current branch (detached HEAD).
+
+Brian Hetro (5):
+      Documentation: For consistency, use CVS instead of cvs.
+      Documentation: Correct various misspellings and typos.
+      Make usage documentation for git-am consistent.
+      Make usage documentation for git-add consistent.
+      When nothing to git-commit, honor the git-status color setting.
+
+David Kastrup (4):
+      diff-delta.c: Fix broken skip calculation.
+      Documentation/user-manual.txt: fix a few omissions of gitlink commands.
+      Documentation/user-manual.txt: fix a few omissions of gitlink commands.
+      git-svn.txt: fix an obvious misspelling.
+
+David Kågedal (1):
+      git.el: Added colors for dark background
+
+Eric Wong (2):
+      git-svn: update documentation with CAVEATS section
+      git-svn: dcommit prints out the URL to be committed to
+
+J. Bruce Fields (5):
+      user-manual: edit "ignoring files" for conciseness
+      user-manual: minor editing for conciseness
+      user-manual: introduce the word "commit" earlier
+      user-manual: use pithier example commit
+      user-manual: fix incorrect header level
+
+Jakub Narebski (1):
+      gitweb: Fix escaping HTML of project owner in 'projects_list' and     'summary' views
+
+Jari Aalto (1):
+      git-tag(1): Remove duplicate text
+
+Johannes Schindelin (2):
+      rebase -i: fix squashing corner case
+      name-rev: Fix non-shortest description
+
+Junio C Hamano (11):
+      blame: check return value from read_sha1_file()
+      pack-objects: check return value from read_sha1_file()
+      RelNotes draft for 1.5.3 update.
+      Fix initialization of a bare repository
+      git --bare cmd: do not unconditionally nuke GIT_DIR
+      git-merge: do up-to-date check also for all strategies
+      Porcelain level "log" family should recurse when diffing.
+      "format-patch --root rev" is the way to show everything.
+      Documentation/git-diff: A..B and A...B cannot take tree-ishes
+      format-patch documentation: reword to hint "--root <one-commit>" more clearly
+      GIT 1.5.3-rc7
+
+Linus Torvalds (1):
+      Fix racy-git handling in git-write-tree.
+
+Mike Hommey (1):
+      Describe two-dot and three-dot notation for diff endpoints.
+
+Petr Baudis (4):
+      gitweb: Fix searchbox positioning
+      gitweb: Lift any characters restriction on searched strings
+      git-add: Make the "tried to add ignored file" error message less confusing
+      git-add: Make the filename globbing note a bit clearer
+
+Quy Tonthat (1):
+      Fix breakage in git-rev-list.txt
+
+René Scharfe (1):
+      Documentation: update tar.umask default
+
+Sean Estabrooks (1):
+      Reset terminal attributes when terminating git send-email
+
+Shawn O. Pearce (13):
+      git-gui: Fix window manager problems on ion3
+      git-gui: Allow git-merge to use branch names in conflict markers
+      git-gui: Paper bag fix "Stage Hunk For Commit" in diff context menu
+      git-gui: Fix "unoptimized loading" to not cause git-gui to crash
+      Fix new-workdir (again) to work on bare repositories
+      Suggest unsetting core.bare when using new-workdir on a bare repository
+      Update bash completion with new 1.5.3 command line options
+      Teach bash to complete ref arguments to git-describe
+      Teach bash about git-submodule and its subcommands
+      git-gui: Refactor diff pane popup support for future improvements
+      git-gui: Do not offer to stage three-way diff hunks into the index
+      git-gui: Correct 'git gui blame' in a subdirectory
+      Don't segfault if we failed to inflate a packed delta
+
+Simon Hausmann (2):
+      git-p4: Make 'git-p4 branches' work after an initial clone with git clone from an origin-updated repository.
+      git-p4: Fix warnings about non-existant refs/remotes/p4/HEAD ref when running git-p4 sync the first time after a git clone.
+
+Stefan Sperling (1):
+      Document -u option in git-svnimport man page
+
+martin f. krafft (2):
+      git-svn init/clone --stdlayout option to default-init trunk/tags/branches
+      Install man3 manpages to $PREFIX/share/man/man3 even for site installs
+
+
+Version v1.5.3-rc6; changes since v1.5.3-rc5:
+---------------------------------------------
+
+Alex Riesen (2):
+      Fix whitespace in "Format of STDIN stream" of fast-import
+      Avoid using va_copy in fast-import: it seems to be unportable.
+
+Arjen Laarhoven (2):
+      gitk: Make the date/time display configurable
+      t1301-shared-repo.sh: fix 'stat' portability issue
+
+Brian Downing (1):
+      Clarify actual behavior of 'git add' and ignored files
+
+Brian Gernhardt (1):
+      Minor clarifications to git-filter-branch usage and doc
+
+Dave Watson (1):
+      Fix misspelling of 'suppress' in docs
+
+Eric Wong (1):
+      git-svn: fix log with single revision against a non-HEAD branch
+
+Johannes Sixt (1):
+      gitk: Handle 'copy from' and 'copy to' in diff headers.
+
+Junio C Hamano (10):
+      Fix "git add -u" data corruption.
+      GIT 1.5.2.5
+      Fix read-tree merging more than 3 trees using 3-way merge
+      Update documentation links for older releases.
+      git-clone: allow --bare clone
+      Documentation/git-rebase: fix an example
+      Clean-up read-tree error condition.
+      fast-import pull request
+      git clone: do not issue warning while cloning locally across filesystems
+      GIT 1.5.3-rc6
+
+Lars Hjemli (1):
+      git-submodule: re-enable 'status' as the default subcommand
+
+Linus Torvalds (2):
+      Make thin-pack generation subproject aware.
+      Take binary diffs into account for "git rebase"
+
+Lukas Sandström (1):
+      Add the word reflog to Documentation/config.txt:core.logAllRefUpdates
+
+Mark Levedahl (1):
+      git-completion.bash - add support for git-bundle
+
+Matthieu Moy (1):
+      Add and document a global --no-pager option for git.
+
+Mike Hommey (1):
+      Clarify commit-tree documentation
+
+Nicolas Pitre (1):
+      pack-objects: remove bogus arguments to delta_cacheable()
+
+Paul Mackerras (3):
+      gitk: Fix warning when removing a branch
+      gitk: Fix bug in fix for warning when removing a branch
+      gitk: Add a window to list branches, tags and other references
+
+René Scharfe (1):
+      path-list.c: always free strdup'ed paths
+
+Salikh Zakirov (1):
+      git-add -u paths... now works from subdirectory
+
+Sean Estabrooks (1):
+      Fix small typo in git send-email man page.
+
+Shawn O. Pearce (11):
+      git-gui: Avoid Tcl error in popup menu on diff viewer
+      Actually allow TAG_FIXUP branches in fast-import
+      Use handy ALLOC_GROW macro in fast-import when possible
+      Teach fast-import to ignore lines starting with '#'
+      Make trailing LF following fast-import `data` commands optional
+      Make trailing LF optional for all fast-import commands
+      Allow frontends to bidirectionally communicate with fast-import
+      Generate crash reports on die in fast-import
+      Include recent command history in fast-import crash reports
+      Correct documentation of 'reflog show' to explain it shows HEAD
+      Don't allow combination of -g and --reverse as it doesn't work
+
+Steffen Prohaska (1):
+      gitk: Let user easily specify lines of context in diff view
+
+Steven Grimm (1):
+      Document what the stage numbers in the :$n:path syntax mean.
+
+Sven Verdoolaege (1):
+      git-apply: apply submodule changes
+
+Väinö Järvelä (1):
+      git-gui: Added support for OS X right click
+
+
+Version v1.5.3-rc5; changes since v1.5.3-rc4:
+---------------------------------------------
+
+Adam Roben (1):
+      Documentation/git-svn: how to clone a git-svn-created repository
+
+Alberto Bertogli (1):
+      Allow git-svnimport to take "" as the trunk directory.
+
+Alex Riesen (3):
+      Fix filehandle leak in "git branch -D"
+      gitk: Continue and show error message in new repos
+      gitk: Show an error and exit if no .git could be found
+
+Alexandre Julliard (3):
+      git.el: Add support for interactive diffs.
+      git.el: Always set the current directory in the git-diff buffer.
+      git-add: Add support for --refresh option.
+
+Brian Downing (2):
+      cvsserver: Fix for work trees
+      Add read_cache to builtin-check-attr
+
+Brian Gernhardt (1):
+      Fix t5701-clone-local for white space from wc
+
+Carlos Rica (3):
+      Make git tag a builtin.
+      builtin-tag.c: Fix two memory leaks and minor notation changes.
+      Make verify-tag a builtin.
+
+David Kastrup (6):
+      Documentation/git-commit.txt: correct bad list formatting.
+      Add support for an info version of the user manual
+      INSTALL: explain info installation and dependencies.
+      Documentation/Makefile: remove cmd-list.made before redirecting to it.
+      git-sh-setup.sh: make GIT_DIR absolute
+      Add a test for git-commit being confused by relative GIT_DIR
+
+Gerrit Pape (1):
+      git-am: initialize variable $resume on startup
+
+J. Bruce Fields (4):
+      user-manual: update for new default --track behavior
+      user-manual: mention git-gui
+      documentation: use the word "index" in the git-add manual page
+      documentation: use the word "index" in the git-commit man page
+
+Jakub Narebski (1):
+      gitweb: Fix handling of $file_name in feed generation
+
+Johannes Schindelin (4):
+      launch_editor(): Heed GIT_EDITOR and core.editor settings
+      Teach "git stripspace" the --strip-comments option
+      checkout-index needs a working tree
+      Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset
+
+Junio C Hamano (24):
+      git-clone: aggressively optimize local clone behaviour.
+      git-completion: add "git stash"
+      INSTALL: add warning on docbook-xsl 1.72 and 1.73
+      unpack-trees.c: assume submodules are clean during check-out
+      Fix install-doc-quick target
+      user-manual: mention git stash
+      setup.c:verify_non_filename(): don't die unnecessarily while disambiguating
+      pager: find out pager setting from configuration
+      Fix "make GZ=1 quick-install-doc"
+      Reorder the list of commands in the manual.
+      Fix formatting of git-blame documentation.
+      Fix an illustration in git-rev-parse.txt
+      tweak manpage formatting
+      Revert "tweak manpage formatting"
+      Optimize "diff --cached" performance.
+      allow git-bundle to create bottomless bundle
+      allow git-bundle to create bottomless bundle
+      t3404: fix "fake-editor"
+      builtin-bundle create - use lock_file
+      git-diff: squelch "empty" diffs
+      merge-recursive: do not rudely die on binary merge
+      attr.c: refactoring
+      attr.c: read .gitattributes from index as well.
+      GIT 1.5.3-rc5
+
+Jyotirmoy Bhattacharya (1):
+      Fixed git-push manpage
+
+Linus Torvalds (8):
+      connect: accept file:// URL scheme
+      apply: remove directory that becomes empty by renaming the last file away
+      Start moving unpack-trees to "struct tree_desc"
+      Fix "git commit directory/" performance anomaly
+      Move old index entry removal from "unpack_trees()" into the individual functions
+      Optimize the common cases of git-read-tree
+      Optimize the two-way merge of git-read-tree too
+      Optimize the three-way merge of git-read-tree
+
+Luiz Fernando N. Capitulino (3):
+      Avoid ambiguous error message if pack.idx header is wrong
+      Introduces xmkstemp()
+      Use xmkstemp() instead of mkstemp()
+
+Marco Costalba (1):
+      Add --log-size to git log to print message size
+
+Mark Levedahl (5):
+      builtin-bundle.c - use stream buffered input for rev-list
+      builtin-bundle - use buffered reads for bundle header
+      gitk: Enable selected patch text on Windows
+      gitk: Handle MouseWheel events on Windows
+      t3902 - skip test if file system doesn't support HT in names
+
+Paul Mackerras (4):
+      gitk: Add a context menu for file list entries
+      gitk: Fix bug causing the "can't unset idinlist(...)" error
+      gitk: Fix bug introduced in commit 67a4f1a7
+      gitk: Fix bug causing Tcl error when updating graph
+
+Randal L. Schwartz (1):
+      add "test-absolute-path" to .gitignore
+
+Reece H. Dunn (1):
+      git-p4: Fix the sorting of changelists when cloning a Perforce repository.
+
+René Scharfe (2):
+      diff: don't run pager if user asked for a diff style exit code
+      diff: squelch empty diffs even more
+
+Shawn O. Pearce (4):
+      Document GIT_SSH environment variable alongside other variables
+      Teach update-paranoid how to store ACLs organized by groups
+      Teach the update-paranoid to look at file differences
+      Use the empty tree for base diff in paranoid-update on new branches
+
+Simon Hausmann (2):
+      git-p4: Fix support for symlinks.
+      git-p4: Fix git-p4 submit to include only changed files in the perforce submit template.
+
+Steffen Prohaska (1):
+      Improved hint on how to set identity
+
+Steve Hoelzer (2):
+      git-stash documentation: stash numbering starts at zero, not one
+      git-stash documentation: add missing backtick
+
+Steven Grimm (1):
+      Add a note about the index being updated by git-status in some cases
+
+Uwe Kleine-König (3):
+      send-email: teach sanitize_address to do rfc2047 quoting
+      send-email: rfc822 forbids using <address@domain> without a non-empty "phrase"
+      send-email: get all the quoting of realnames right
+
+
+Version v1.5.3-rc4; changes since v1.5.3-rc3:
+---------------------------------------------
+
+Alex Riesen (4):
+      Add an option to specify a file to config builtin
+      Add a test for git-config --file
+      Make verse of git-config manpage more readable
+      Hack git-add--interactive to make it work with ActiveState Perl
+
+Alexandre Julliard (2):
+      git.el: Avoid using ewoc-set-data for compatibility with Emacs 21.
+      git.el: Take into account the core.excludesfile config option.
+
+Bradford C. Smith (2):
+      fully resolve symlinks when creating lockfiles
+      use lockfile.c routines in git_commit_set_multivar()
+
+Brian Gernhardt (1):
+      Document commit.template configuration variable.
+
+Christian Couder (1):
+      rev-list --bisect: fix allocation of "int*" instead of "int".
+
+Christian Stimming (1):
+      git-gui: Unify wording to say "to stage" instead of "to add"
+
+David Kastrup (3):
+      Makefile: use $(FIND) instead of find
+      git-sh-setup.sh: make GIT_EDITOR/core.editor/VISUAL/EDITOR accept commands
+      When generating manpages, delete outdated targets first.
+
+David Soria Parra (1):
+      Documentation/gitattributes.txt: typofix
+
+David Symonds (1):
+      Fix documentation for core.gitproxy to reflect code
+
+Han-Wen Nienhuys (2):
+      Sort output of "p4 change" in incremental import before further
+      Fix style nit in Python slicing.
+
+Jakub Narebski (3):
+      gitweb: Show submodule entries in the 'tree' view
+      gitweb: Simplify 'opt' parameter validation, add "no merges" feeds
+      gitweb: Allow for multivalued parameters passed to href subroutine
+
+Jeff King (2):
+      Documentation/git-diff: remove -r from --name-status example
+      git-diff: turn on recursion by default
+
+Jens Axboe (1):
+      --base-path-relaxed option
+
+Johannes Schindelin (11):
+      rebase -i: fix overzealous output redirection
+      rebase -i: fix interrupted squashing
+      white space fixes in setup.c
+      Add is_absolute_path() and make_absolute_path()
+      Add functions get_relative_cwd() and is_inside_dir()
+      Add set_git_dir() function
+      Clean up work-tree handling
+      get_relative_cwd(): clarify why it handles dir == NULL
+      rebase -i: ignore patches that are already in the upstream
+      rebase -i: fix for optional [branch] parameter
+      read-tree: remove unnecessary call to setup_git_directory()
+
+Julian Phillips (1):
+      git-gui: Handle git versions of the form n.n.n.GIT
+
+Junio C Hamano (23):
+      Make sure git-stash works from subdirectory.
+      gitweb: fix broken snapshot
+      git-submodule module_name: avoid using unwieldy "value_regexp" feature.
+      git-submodule: remove redundant call to git-describe
+      When locking in a symlinked repository, try to lock the original.
+      git_mkstemp(): be careful not to overflow the path buffer.
+      Update description of -z option.
+      git-stash: do not remove a ref by hand.
+      Add test for symlinked configuration file updates.
+      Fix git-stash apply --index
+      git-stash apply --index: optimize postprocessing
+      log_ref_write() -- do not chomp reflog message at the first LF
+      symbolic-ref, update-ref: do not refuse reflog message with LF
+      rebase: try not to munge commit log message
+      add_file_to_index: skip rehashing if the cached stat already matches
+      Unset GIT_EDITOR while running tests.
+      git.c: execution path
+      git-commit.sh: Permit the --amend message to be given with -m/-c/-C/-F.
+      RelNotes 1.5.3 updates before -rc4
+      Fix work-tree related breakages
+      gitweb: do not choke on recursive symlink
+      Fix bogus use of printf in t3700 test
+      GIT 1.5.3-rc4
+
+Kristian Høgsberg (1):
+      Add test case for basic commit functionality.
+
+Mark Levedahl (1):
+      gitk: Ignore ctrl-z as EOF on windows
+
+Nanako Shiraishi (1):
+      git-stash: Make sure reflog is created for refs/stash
+
+Nguyễn Thái Ngọc Duy (1):
+      git-write-tree should not crash if prefix does not exist
+
+Paul Mackerras (4):
+      gitk: Show changes in index and changes in working directory separately
+      gitk: Make the fake commit for the index changes green rather than magenta
+      gitk: Wait for the window to become visible after creating it
+      gitk: Fix bugs in the Find function
+
+Robert Ewald (1):
+      git-svn: Translate invalid characters in refname
+
+Robert Schiele (2):
+      add option to find zlib in custom path
+      make the name of the library directory a config option
+
+Robin Rosenberg (1):
+      Document --unified/-U option
+
+Seth Falcon (1):
+      Rename git-rebase interactive buffer: todo => git-rebase-todo
+
+Shawn O. Pearce (49):
+      git-gui: Skip -dirty suffix on core git versions
+      git-gui: Brown paper bag "dirty git version fix"
+      git-gui: Always disable the Tcl EOF character when reading
+      git-gui: Delay searching for 'nice' until its really asked for
+      git-gui: Don't crash in ask_popup if we haven't mapped main window yet
+      git-gui: Change our initial GC hint to be an estimate
+      git-gui: Let the user continue even if we cannot understand git version
+      git-gui: Delay the GC hint until after we are running
+      git-gui: Move feature option selection before GIT_DIR init
+      git-gui: Allow blame/browser subcommands on bare repositories
+      git-gui: Allow browser subcommand to start in subdirectory
+      git-gui: Allow users to browse any branch, not just the current one
+      git-gui: Clarify the visualize history menu options
+      git-gui: Increase the default height of the revision picker
+      git-gui: Convert merge dialog to use class system
+      Don't offer my special Tools/Migrate hack unless in multicommit
+      git-gui: Bind Ctrl/Cmd-M to merge action
+      git-gui: Avoid unnecessary global statements when possible
+      git-gui: Translate standard encoding names to Tcl ones
+      git-gui: Don't show blame tooltips that we have no data for
+      git-gui: Completely remove support for creating octopus merges
+      git-gui: Automatically backup the user's commit buffer
+      git-gui: Save the merge base during checkout_op processing
+      git-gui: Factor out common fast-forward merge case
+      git-gui: Simplify error case for unsupported merge types
+      git-gui: Skip unnecessary read-tree work during checkout
+      git-gui: Internally allow fetch without storing for future pull support
+      git-gui: Completely remove my Tools/Migrate hack
+      git-gui: Fix unnecessary fast-forward during checkout
+      gitk: Bind keyboard actions to the command key on Mac OS
+      git-gui: Clarify meaning of add tracked menu option
+      git-gui: Paper bag fix quitting crash after commit
+      git-gui: Refactor diff popup into a procedure to ease i18n work
+      git-gui: Refactor current branch menu items to make i18n easier
+      git-gui: Avoid unnecessary symbolic-ref call during checkout
+      git-gui: Save remote urls obtained from config/remotes setup
+      git-gui: Display commit/tag/remote info in tooltip of revision picker
+      git-gui: Show ref last update times in revision chooser tooltips
+      git-gui: Replace merge dialog with our revision picker widget
+      git-gui: Cleanup bindings within merge dialog
+      git-gui: Format tracking branch merges as though they were pulls
+      git-gui: Remove usernames from absolute SSH urls during merging
+      git-gui: Don't kill modified commit message buffer with merge templates
+      git-gui: Honor core.excludesfile when listing extra files
+      git-gui: Use progress bar while resetting/aborting files
+      git-gui: Make sure remotes are loaded when picking revisions
+      git-gui: Don't offer to stage hunks from untracked files
+      git-gui: Use more modern looking icons in the tree browser
+      git-gui: Minor refactoring of merge command line in merge support
+
+Simon Hausmann (1):
+      git-p4: Fix p4 user cache population on Windows.
+
+Steve Hoelzer (1):
+      Try to be consistent with capitalization in the documentation
+
+Thomas Schwinge (2):
+      Don't rely on unspecified behavior
+      Support building on GNU/Hurd
+
+
+Version v1.5.3-rc3; changes since v1.5.3-rc2:
+---------------------------------------------
+
+Adam Roben (1):
+      Add GIT_EDITOR environment and core.editor configuration variables
+
+Alexandre Julliard (2):
+      git.el: Support for incremental status updates.
+      git.el: Pass an explicit argument to enable smerge-mode.
+
+Carlos Rica (1):
+      Rename read_pipe() with read_fd() and make its buffer nul-terminated.
+
+David Kastrup (2):
+      contrib/emacs/Makefile: Also install .el files.
+      Documentation/gitignore.txt: Fix the seriously misleading priority explanation
+
+Eric Wong (1):
+      git-svn: fix commiting renames over DAV with funky file names
+
+Francis Moreau (1):
+      Fix git-branch documentation when using remote refs
+
+Jakub Narebski (3):
+      gitweb cleanup: Move @diff_opts declaration earlier
+      gitweb: Fix support for legacy gitweb config for snapshots
+      gitweb: More detailed error messages for snapshot format
+
+Jim Meyering (1):
+      pretty-options.txt: tiny doc fix
+
+Johannes Schindelin (11):
+      filter-branch: get rid of "set -e"
+      rebase -i: call editor just once for a multi-squash
+      fsck --lost-found: write blob's contents, not their SHA-1
+      mailinfo: fix 'fatal: cannot convert from utf-8 to utf-8'
+      Shut "git rebase -i" up when no --verbose was given
+      rebase -i: exchange all "if [ .. ]" by "if test .."
+      filter-branch: Big syntax change; support rewriting multiple refs
+      Teach revision machinery about --no-walk
+      git log -g: Complain, but do not fail, when no reflogs are there
+      Teach approxidate() to understand "never"
+      git am: skip pine's internal folder data
+
+Julian Phillips (1):
+      Force listingblocks to be monospaced in manpages
+
+Junio C Hamano (8):
+      Update INSTALL
+      Do not expect unlink(2) to fail on a directory.
+      Fix VISUAL/EDITOR preference order in Documentation/config.txt.
+      Synonyms: -i == --regexp-ignore-case, -E == --extended-regexp
+      Mark user-manual as UTF-8
+      user-manual: fix typolets.
+      t9200: Be careful when checking CVS/Entries
+      GIT 1.5.3-rc3
+
+Kumar Gala (1):
+      send-email: Update regex parsing for pine aliases
+
+Linus Torvalds (2):
+      Do a better job at guessing unknown character sets
+      Fix up duplicate parents removal
+
+Marco Costalba (1):
+      Avoid to duplicate commit message when is not encoded
+
+Matt McCutchen (1):
+      gitweb: snapshot cleanups & support for offering multiple formats
+
+Nanako Shiraishi (1):
+      Document "git stash message..."
+
+René Scharfe (2):
+      filter-branch: fix dash complaining about "Missing '))'"
+      cleanup unpack-trees.c: shrink struct tree_entry_list
+
+Richard MUSIL (1):
+      git-svn: Minimalistic patch which allows svn usernames with space(s).
+
+Robin Rosenberg (1):
+      cvsexportcommit: avoid racy CVS problem.
+
+Scott Lamb (2):
+      git-p4: use subprocess in p4CmdList
+      git-p4: input to "p4 files" by stdin instead of arguments
+
+Simon Hausmann (3):
+      git-p4: Cleanup, make listExistingP4Branches a global function for later use.
+      git-p4: Fix upstream branch detection for submit/rebase with multiple branches.
+      git-p4: Cleanup, used common function for listing imported p4 branches
+
+Steven Grimm (2):
+      Document how to tell git to not launch a pager
+      Teach git-commit about commit message templates.
+
+Sven Verdoolaege (1):
+      unpack-trees.c: assume submodules are clean during check-out
+
+
+Version v1.5.3-rc2; changes since v1.5.3-rc1:
+---------------------------------------------
+
+Alex Riesen (1):
+      Fix git-rebase -i to allow squashing of fast-forwardable commits
+
+Emil Medve (1):
+      Use $(RM) in Makefiles instead of 'rm -f'
+
+Eric Wong (1):
+      git-svn: remove leading slashes from fetch lines in the generate config
+
+Greg KH (1):
+      make git-send-email.perl handle email addresses with no names when Email::Valid is present
+
+Jakub Narebski (3):
+      Update git-merge documentation.
+      Document long options '--message=<msg>' and '--no-commit'
+      Document git commit --untracked-files and --verbose
+
+Jim Meyering (1):
+      git-cvsserver: detect/diagnose write failure, etc.
+
+Josh Triplett (1):
+      Remove useless uses of cat, and replace with filename arguments
+
+Junio C Hamano (7):
+      Make show_rfc2822_date() just another date output format.
+      Wire new date formats to --date=<format> parser.
+      Document new --date=<format>
+      Add contrib/stats/mailmap.pl script
+      Update .mailmap
+      Documentation/git-commit-tree: remove description of a nonexistent limitation
+      GIT v1.5.3-rc2
+
+Marius Storm-Olsen (1):
+      Fix git-p4 on Windows to not use the Posix sysconf function.
+
+Matthieu Moy (1):
+      More permissive "git-rm --cached" behavior without -f.
+
+Nicolas Pitre (1):
+      Pack-objects: properly initialize the depth value
+
+Paul Mackerras (1):
+      gitk: Fix bug introduced by previous commit
+
+Peter Hagervall (1):
+      Make every builtin-*.c file #include "builtin.h"
+
+Robin Rosenberg (1):
+      Support output ISO 8601 format dates
+
+Sean Estabrooks (3):
+      Remove "WITH_P4IMPORT" knob from the Makefile
+      Remove p4 rpm from git.spec.in.
+      Demote git-p4import to contrib status.
+
+Shawn O. Pearce (2):
+      Correct trivial typo in fast-import documentation
+      Teach fast-import to recursively copy files/directories
+
+Stephen Rothwell (1):
+      send-email: discard blank around address in extract_valid_address as well.
+
+Sven Verdoolaege (1):
+      lockfile.c: schedule remove_lock_file only once.
+
+
+Version v1.5.3-rc1; changes since v1.5.3-rc0:
+---------------------------------------------
+
+Alecs King (1):
+      fix remote.origin.url in tutorial.txt
+
+Alex Riesen (4):
+      Handle missing prefix for "Subject:" as if no prefix given
+      Handle format.subjectprefix for every command which accepts --pretty
+      Fix t5516 to create test repo without hooks
+      Add -v|--verbose to git remote to show remote url
+
+Andrew Ruder (2):
+      Remove USE_PAGER from git-pickaxe and git-annotate
+      Add urls.txt to git-clone man page
+
+Andy Parkins (1):
+      user-manual: grammar and style fixes
+
+Brian Downing (10):
+      pack-objects: Prefer shallower deltas if the size is equal
+      gitk: Fix for tree view ending in nested directories
+      Pack information tool
+      Correct shebang line for contrib/stats/packinfo.pl
+      Don't try to delta if target is much smaller than source
+      Support fetching the memory usage of a delta index
+      Add functions for parsing integers with size suffixes
+      Add pack-objects window memory usage limit
+      Add --window-memory option to git-repack
+      Add documentation for --window-memory, pack.windowMemory
+
+Brian Gernhardt (1):
+      Add core.pager config variable.
+
+CJ van den Berg (1):
+      git-submodule: Fix two instances of the same typo
+
+Carlos Rica (5):
+      t7004: Skip tests for signed tags in an old version of gpg.
+      t0030: Remove repeated instructions and add missing &&
+      t0030: Add tests with consecutive text lines and others with spaces added.
+      t7004: Add tests for the git tag -n option.
+      Function stripspace now gets a buffer instead file descriptors.
+
+Daniel Barkalow (2):
+      Add allocation and freeing functions for struct refs
+      Some cosmetic changes to remote library
+
+David Kastrup (1):
+      Add missing functions to contrib/emacs/vc-git.el
+
+Eric Wong (1):
+      git-svn: fix blocking with svn:// servers after do_switch
+
+Frank Lichtenheld (1):
+      cvsserver: always initialize state in argsplit()
+
+Gerrit Pape (2):
+      git-gui: properly popup error if gitk should be started but is not installed
+      git-commit: don't add multiple Signed-off-by: from the same identity
+
+J. Bruce Fields (2):
+      tutorial: Fix typo
+      user-manual: more explanation of push and pull usage
+
+James Bowes (1):
+      stash: allow running from a subdirectory
+
+Jim Meyering (1):
+      Don't smash stack when $GIT_ALTERNATE_OBJECT_DIRECTORIES is too long
+
+Johannes Schindelin (24):
+      diff --no-index: fix --name-status with added files
+      glossary: add 'reflog'
+      Document git-filter-branch
+      Add diff-option --ext-diff
+      filter-branch: add a test for the commit removal example
+      filter-branch: make output nicer
+      filter-branch: a few more touch ups to the man page
+      filter-branch documentation: clarify which filters are eval'ed
+      filter-branch: fail gracefully when a filter fails
+      Future-proof source for changes in xdemitconf_t
+      Teach git-stash to "apply --index"
+      Enable "git rerere" by the config variable rerere.enabled
+      git-branch: default to --track
+      Fix "apply --reverse" with regard to whitespace
+      branch.autosetupmerge: allow boolean values, or "all"
+      rebase -i: handle --continue more like non-interactive rebase
+      rebase -i: actually show the diffstat when being verbose
+      rebase -i: remember the settings of -v, -s and -p when interrupted
+      rebase -i: put a nice warning into the todo list
+      rerere: record resolution even if file is not in merge base
+      Fix core.sharedRepository = 2
+      Fix --cherry-pick with given paths
+      Add for_each_remote() function, and extend remote_find_tracking()
+      branch --track: code cleanup and saner handling of local branches
+
+Johannes Sixt (3):
+      filter-branch: Avoid an error message in the map function.
+      filter-branch documentation: some more touch-ups.
+      Allow rebase to run if upstream is completely merged
+
+Jonas Fonseca (1):
+      fsck --lost-found writes to subdirectories in .git/lost-found/
+
+Junio C Hamano (22):
+      Update draft Release Notes for 1.5.3
+      Update reflog message created for stashes
+      Do not check if getcwd() result begins with a slash.
+      Fix git-stash(1) markup.
+      git-stash: allow more descriptive reminder message when saving
+      Introduce diff_filespec_is_binary()
+      Per-path attribute based hunk header selection.
+      Fix configuration syntax to specify customized hunk header patterns.
+      diff: honor binariness specified in attributes
+      gitweb: make repeated calls to git_get_project_owner() bearable
+      diff.c: make built-in hunk header pattern a separate table
+      git-gui: use "blame -w -C -C" for "where did it come from, originally?"
+      git-stash: try reusing cached stat info as much as possible
+      Fix merge-one-file for our-side-added/our-side-removed cases
+      Document custom hunk header selection
+      revision.c: remove duplicated parents after history simplification
+      Revert 88494423 (removal of duplicate parents in the output codepath)
+      Re-code builtin-branch.c in UTF-8
+      Teach read-tree 2-way merge to ignore intermediate symlinks
+      GIT 1.5.2.4
+      Update list of older git docs
+      GIT v1.5.3-rc1
+
+Lars Hjemli (1):
+      git-submodule(1): update description and key names
+
+Marcus Fritzsch (1):
+      Fixed a formulation mistake in Documentation/user-manual.txt
+
+Matt Kraai (3):
+      Prefer EMAIL to username@hostname.
+      Change "added.moved or removed" to "added, moved or removed" in
+      Add [verse] to the SYNOPSIS section of git-submodule.txt.
+
+Matt McCutchen (3):
+      gitweb: make search form generate pathinfo-style URLs
+      gitweb: make "No commits" in project list gray, not bold green
+      Makefile: rebuild git.o on version change, clean up git$X flags
+
+Matthias Lederhofer (3):
+      git-init: set core.worktree if GIT_WORK_TREE is specified
+      git-clone: split up long &&-command-chain and use a function for cleanup
+      make git-clone GIT_WORK_TREE aware
+
+Michael Hendricks (2):
+      git-send-email: allow an email alias for --from
+      gitweb: configurable width for the projects list Description column
+
+Miklos Vajna (3):
+      Document -<n> for git-format-patch
+      gitweb: prefer git_get_project_owner() over get_file_owner()
+      gitweb: new cgi parameter: opt
+
+Nicolas Pitre (3):
+      apply delta depth bias to already deltified objects
+      script to display a distribution of longest common hash prefixes
+      reduce git-pack-objects memory usage a little more
+
+Paul Mackerras (6):
+      gitk: Fix the find and highlight functions
+      gitk: Fix bug in the anc_or_desc routine
+      gitk: Remove the unused stopfindproc function
+      gitk: Fix bug causing "can't read commitrow(0,n)" error
+      gitk: Use git log and add support for --left-right
+      gitk: Improve handling of -- and ambiguous arguments
+
+René Scharfe (1):
+      diff-lib.c: don't strdup twice
+
+Sean Estabrooks (1):
+      Alter git-checkout reflog message to include "from" branch
+
+Shawn O. Pearce (46):
+      git-gui: Unlock the index when cancelling merge dialog
+      git-gui: Start blame windows as tall as possible
+      git-gui: Correct resizing of remote branch delete dialog
+      git-gui: Don't bind F5/M1-R in all windows
+      git-gui: Bind M1-P to push action
+      git-gui: Include a Push action on the left toolbar
+      git-gui: Ensure windows shortcuts always have .bat extension
+      git-gui: Honor rerere.enabled configuration option
+      git-gui: New Git version check support routine
+      git-gui: Skip nicknames when selecting author initials
+      git-gui: Teach class system to support [$this cmd] syntax
+      git-gui: Abstract the revision picker into a mega widget
+      git-gui: Refactor the delete branch dialog to use class system
+      git-gui: Optimize for newstyle refs/remotes layout
+      git-gui: Maintain remote and source ref for tracking branches
+      git-gui: Allow users to match remote branch names locally
+      git-gui: Fast-forward existing branch in branch create dialog
+      git-gui: Enhance choose_rev to handle hundreds of branches
+      git-gui: Sort tags descending by tagger date
+      git-gui: Option to default new branches to match tracking branches
+      git-gui: Automatically refresh tracking branches when needed
+      git-gui: Better handling of detached HEAD
+      git-gui: Refactor our ui_status_value update technique
+      git-gui: Refactor branch switch to support detached head
+      git-gui: Unabbreviate commit SHA-1s prior to display
+      git-gui: Default selection to first matching ref
+      git-gui: Allow double-click in checkout dialog to start checkout
+      git-gui: Extract blame viewer status bar into mega-widget
+      git-gui: Change the main window progress bar to use status_bar
+      git-gui: Show a progress meter for checking out files
+      git-gui: Always use absolute path to all git executables
+      git-gui: Correct gitk installation location
+      git-gui: Assume unfound commands are known by git wrapper
+      git-gui: Treat `git version` as `git --version`
+      git-gui: Perform our own magic shbang detection on Windows
+      git-gui: Teach console widget to use git_read
+      git-gui: Improve the Windows and Mac OS X shortcut creators
+      git-gui: Correct ls-tree buffering problem in browser
+      git-gui: Don't linewrap within console windows
+      git-gui: Paper bag fix for Cygwin shortcut creation
+      git-gui: Use sh.exe in Cygwin shortcuts
+      git-gui: Include a space in Cygwin shortcut command lines
+      Clarify documentation of fast-import's D subcommand
+      Support wholesale directory renames in fast-import
+      git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
+      git-gui: Change prior tree SHA-1 verification to use git_read
+
+Steffen Prohaska (1):
+      filter-branch: added missing warn function
+
+Steven Walter (1):
+      Documentation for git-log --follow
+
+Uwe Kleine-König (2):
+      stash: end commit log with a newline
+      repack: don't report "Nothing new to pack." if -q is given
+
+William Pursell (1):
+      user-manual: fix directory name in git-archive example
+
+
+Version v1.5.3-rc0; changes since v1.5.2.5:
+-------------------------------------------
+
+Adam Roben (3):
+      git-send-email: Add --threaded option
+      git-send-email: make options easier to configure.
+      format-patch: Add format.subjectprefix config option
+
+Alex Riesen (11):
+      Fix the progress code to output LF only when it is really needed
+      Add run_command_v_opt_cd: chdir into a directory before exec
+      Add ability to specify environment extension to run_command
+      Allow environment variables to be unset in the processes started by run_command
+      Verbose connect messages to show the IP addresses used
+      Add another verbosity level to git-fetch
+      Add a configuration option to control diffstat after merge
+      Fix push with refspecs containing wildcards
+      Do not use h_errno after connect(2): the function does not set it
+      cvsserver: Actually implement --export-all
+      Avoid perl in t1300-repo-config
+
+Alexandre Julliard (1):
+      pack-check: Sort entries by pack offset before unpacking them.
+
+Alexandre Vassalotti (1):
+      git-tag: Fix "can't shift that many".
+
+Andy Whitcroft (3):
+      cvsimport: add support for new style remote layout
+      cvsimport: update documentation to include separate remotes option
+      cvsimport: add <remote>/HEAD reference in separate remotes more
+
+Aneesh Kumar K.V (2):
+      gitview: Fix the blame interface.
+      gitview: run blame with -C -C
+
+Benjamin Sergeant (1):
+      git-p4 fails when cloning a p4 depo.
+
+Brian Gernhardt (1):
+      Fix t5516-fetch for systems where `wc -l` outputs whitespace.
+
+Carlos Rica (3):
+      Fix git-stripspace to process correctly long lines and spaces.
+      Add test script for git-stripspace.
+      Add test-script for git-tag
+
+Dan McGee (1):
+      git-mergetool: Allow gvimdiff to be used as a mergetool
+
+Dana L. How (8):
+      Custom compression levels for objects and packs
+      Alter sha1close() 3rd argument to request flush only
+      git-repack --max-pack-size: new file statics and code restructuring
+      git-repack --max-pack-size: write_{object,one}() respect pack limit
+      git-repack --max-pack-size: split packs as asked by write_{object,one}()
+      git-repack --max-pack-size: add option parsing to enable feature
+      pack-objects: clarification & option checks for --max-pack-size
+      Ensure git-repack -a -d --max-pack-size=N deletes correct packs
+
+Daniel Barkalow (6):
+      Move remote parsing into a library file out of builtin-push.
+      Move refspec parser from connect.c and cache.h to remote.{c,h}
+      Add handlers for fetch-side configuration of remotes.
+      Update local tracking refs when pushing
+      Move refspec pattern matching to match_refs().
+      Fix pushing to a pattern with no dst
+
+Dave O'Neill (1):
+      Generate tags with correct timestamp (git-svnimport)
+
+Elvis Pranskevichus (1):
+      Use git-tag in git-cvsimport
+
+Emil Medve (1):
+      git-submodule: Instead of using only annotated tags, use any tags.
+
+Eric Wong (4):
+      git-svn: cleanup: factor out longest_common_path() function
+      git-svn: test for creating new directories over svn://
+      git-svn: reduce stat() calls for a backwards compatibility check
+      git-svn: allow dcommit to retain local merge information
+
+Fernando J. Pereda (1):
+      Teach mailsplit about Maildir's
+
+Frank Lichtenheld (11):
+      t9400: Add test cases for config file handling
+      t9400: Add some more cvs update tests
+      t9400: Add some basic pserver tests
+      t9400: Work around CVS' deficiencies
+      cvsserver: Handle 'cvs login'
+      cvsserver: Make req_Root more critical of its input data
+      cvsserver: Add some useful commandline options
+      cvsserver: Let --base-path and pserver get along just fine
+      cvsserver: Actually implement --export-all
+      config: Add --null/-z option for null-delimted output
+      config: add support for --bool and --int while setting values
+
+Geert Bosch (1):
+      Unify write_index_file functions
+
+Gerrit Pape (3):
+      git-branch: cleanup config file when deleting branches
+      git-svn: trailing slash in prefix is mandatory with --branches/-b
+      git-cvsimport: force checkout of working tree after initial import
+
+Han-Wen Nienhuys (28):
+      Cleanups
+      reformatting: break long lines.
+      rename apply() to applyCommit(); apply is a python builtin
+      add .dotest to .gitignore
+      Robustness fixes for pipes
+      cleanup
+      minor cleanups
+      clone and sync --keep-path to keep perforce path to module.
+      use string.strip() iso. slicing.
+      use strip() iso. slicing for removing \n
+      add --verbose to all commands.
+      Extract multiple paths concurrently.
+      Diverse cleanups
+      remove global .gitdir
+      Read p4 files in one batch.
+      Thinko, fix buglet.
+      store p4 user cache in home directory.
+      thinko.
+      read files before creating the commit.
+      don't p4 print deleted files.
+      only run p4 print if necessary
+      use p4CmdList() to get file contents in Python dicts. This is more robust.
+      Cleanups & import into p4/master for local import
+      remove debug print
+      thinko: really ignore deleted files.
+      look for 'text' and 'binary' files.
+      print error message when p4 print fails (eg. due to permission problems)
+      also strip p4/ from local imports.
+
+Jakub Narebski (16):
+      gitweb: Add test t9500 for gitweb (as standalone script)
+      Add an option to git-ls-tree to display also the size of blob
+      gitweb: Provide links to commitdiff to each parent in 'commitdiff' view
+      gitweb: Improve "next" link in commitdiff view
+      gitweb: Split git_patchset_body into separate subroutines
+      gitweb: Create special from-file/to-file header for combined diff
+      gitweb: Add links to blobdiffs in from-file/to-file header for merges
+      gitweb: '--cc' for merges in 'commitdiff' view
+      Document git rev-list --full-history
+      Document git read-tree --trivial
+      Document git rev-parse --is-inside-git-dir
+      Document git reflog --stale-fix
+      Document git rev-list --timestamp
+      Use tabs for indenting definition list for options in git-log.txt
+      Document git log --abbrev-commit, as a kind of pretty option
+      Document git log --full-diff
+
+James Bowes (2):
+      Add colour support in rebase and merge tree diff stats output.
+      rev-parse: Identify short sha1 sums correctly.
+
+Jeff King (12):
+      cmd_log_init: remove parsing of --encoding command line parameter
+      refactor dir_add_name
+      dir_struct: add collect_ignored option
+      builtin-add: simplify (and increase accuracy of) exclude handling
+      Fix ALLOC_GROW off-by-one
+      Fix ALLOC_GROW calls with obsolete semantics
+      git-stash: fix "no arguments" case in documentation
+      git-stash: fix "can't shift that many" with no arguments
+      git-stash: don't complain when listing in a repo with no stash
+      Documentation: quote {non-attributes} for asciidoc
+      Documentation: quote {non-attributes} for asciidoc
+      Documentation: minor cleanups to branch/checkout wording
+
+Jeffrey C. Ollie (2):
+      Add an option to quiet git-init.
+      Quiet the output from git-init when cloning, if requested.
+
+Jim Meyering (4):
+      Don't dereference a strdup-returned NULL
+      detect close failure on just-written file handles
+      Don't ignore a pack-refs write failure
+      git-log: detect dup and fdopen failure
+
+Johan Herland (1):
+      Remove unnecessary code and comments on non-existing 8kB tag object restriction
+
+Johannes Schindelin (23):
+      Update to SubmittingPatches
+      Add git-filter-branch
+      git-fsck: learn about --verbose
+      Move buffer_is_binary() to xdiff-interface.h
+      merge-recursive: refuse to merge binary files
+      git-merge-file: refuse to merge binary files
+      filter-branch: use $(($i+1)) instead of $((i+1))
+      filter-branch: fix behaviour of '-k'
+      t5000: skip ZIP tests if unzip was not found
+      Teach filter-branch about subdirectory filtering
+      Teach diff to imply --find-copies-harder upon -C -C
+      pp_header(): work around possible memory corruption
+      diffcore-rename: favour identical basenames
+      filter-branch: add example to move everything into a subdirectory
+      Move the pick_author code to git-sh-setup
+      Teach rebase an interactive mode
+      rebase -i: several cleanups
+      rebase -i: provide reasonable reflog for the rebased branch
+      Teach rebase -i about --preserve-merges
+      t7004: ship trustdb to avoid gpg warnings
+      git add: respect core.filemode with unmerged entries
+      Make '!' aliases more useful
+      git-fsck: add --lost-found option
+
+Johannes Sixt (9):
+      filter-branch: Use rev-list arguments to specify revision ranges.
+      filter-branch: also don't fail in map() if a commit cannot be mapped
+      Makefile: Remove git-merge-base from PROGRAMS.
+      filter-branch: Simplify parent computation.
+      filter-branch: subdirectory filter needs --full-history
+      Avoid double-slash in path names that depend on $(sharedir).
+      Remove trailing slash from $(template_dir).
+      git-remote show: Also shorten non-fast-forward refs in the 'push' listing
+      Test 'git add' for unmerged entries when core.symlinks=false.
+
+Jon Loeliger (1):
+      Add the --numbered-files option to git-format-patch.
+
+Jonas Fonseca (2):
+      Fix git-am(1) synopsis formatting
+      git-rebase: suggest to use git-add instead of git-update-index
+
+Josh Triplett (1):
+      Fix typo in git-mergetool
+
+Julian Phillips (2):
+      Makefile: Use generic rule to build test programs
+      new-workdir: handle rev-parse --git-dir not always giving full path
+
+Junio C Hamano (48):
+      git-apply: Fix removal of new trailing blank lines.
+      pack-objects: pass fullname down to add_object_entry()
+      Teach "delta" attribute to pack-objects.
+      builtin-pack-objects: remove unnecessary code for no-delta
+      Fix command line parameter parser of revert/cherry-pick
+      Remove git-applypatch
+      mailsplit: fix for more than one input files
+      Add DLH to .mailmap
+      Release Notes: start preparing for 1.5.3
+      git-apply: what is detected and fixed is not just trailing spaces.
+      t7003: make test repeatable
+      git-branch --track: fix tracking branch computation.
+      War on whitespace
+      Test wildcard push/fetch
+      More missing static
+      More missing static
+      Even more missing static
+      remote.c: refactor match_explicit_refs()
+      remote.c: refactor creation of new dst ref
+      remote.c: minor clean-up of match_explicit()
+      remote.c: fix "git push" weak match disambiguation
+      remote.c: "git-push frotz" should update what matches at the source.
+      git-push: Update description of refspecs and add examples
+      git-blame: do not indent with spaces.
+      git-blame -w: ignore whitespace
+      mktag: minimally update the description.
+      Lift 16kB limit of log message output
+      Extend --pretty=oneline to cover the first paragraph,
+      Makefile: common-cmds.h depends on generate-cmdlist.sh script
+      Makefile: allow generating git.o for debugging purposes
+      -Wold-style-definition fix
+      More static
+      Documentation: update "stale" links for 1.5.2.2
+      INSTALL: explain how to build documentation
+      Two trivial -Wcast-qual fixes
+      git-send-email: Do not make @-less message ID
+      Add core.quotepath configuration variable.
+      Update draft Release Notes for 1.5.3
+      diffcore_count_changes: pass diffcore_filespec
+      diffcore_filespec: add is_binary
+      diffcore-delta.c: update the comment on the algorithm.
+      diffcore-delta.c: Ignore CR in CRLF for text files
+      git-stash: require "save" to be explicit and update documentation
+      Update public documentation links for 1.5.2.3
+      "git-push $URL" without refspecs pushes only matching branches
+      Rewrite "git-frotz" to "git frotz"
+      git-stash: make "save" the default action again.
+      Mark disused commit walkers officially deprecated.
+
+Kevin Green (1):
+      git-p4: check for existence of repo dir before trying to create
+
+Lars Hjemli (10):
+      Add git-submodule command
+      Add basic test-script for git-submodule
+      git-submodule: move cloning into a separate function
+      git-submodule: clone during update, not during init
+      t7400: barf if git-submodule removes or replaces a file
+      git-submodule: remember to checkout after clone
+      Rename sections from "module" to "submodule" in .gitmodules
+      git-submodule: give submodules proper names
+      Add gitmodules(5)
+      gitmodules(5): remove leading period from synopsis
+
+Linus Torvalds (9):
+      Make "git gc" pack all refs by default
+      Make the pack-refs interfaces usable from outside
+      Makefile: add an explicit rule for building assembly output
+      Finally implement "git log --follow"
+      Fix up "git log --follow" a bit..
+      Clean up internal command handling
+      Check for IO errors after running a command
+      git: Try a bit harder not to lose errno in stdio
+      Start deprecating "git-command" in favor of "git command"
+
+Marco Costalba (1):
+      Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file
+
+Marius Storm-Olsen (7):
+      Make the command call silent
+      Replace \r\n with \n when importing from p4 on Windows
+      Ensure that the commit message is Windows formated (CRLF) before invoking the editor.
+      Fix git-p4 clone (defaultDestination)
+      Fix single branch import into remotes
+      Exclude the HEAD symbolic ref from the list of known branches
+      Only use double quotes on Windows
+
+Mark Levedahl (6):
+      gitk: Make selection highlight color configurable
+      gitk: Update fontsize in patch / tree list
+      gitk: Allow specifying tabstop as other than default 8 characters.
+      gitweb.perl - Optionally send archives as .zip files
+      gitk: Use a spinbox for setting tabstop settings
+      gitk: Update selection background colorbar in prefs dialog
+
+Martin Koegler (5):
+      builtin-pack-objects: don't fail, if delta is not possible
+      git-pack-objects: cache small deltas between big objects
+      builtin-pack-object: cache small deltas
+      diff-delta: use realloc instead of xrealloc
+      gitweb: Handle non UTF-8 text better
+
+Martin Waitz (1):
+      rename dirlink to gitlink.
+
+Matthias Lederhofer (18):
+      add git-filter-branch to .gitignore
+      make clean should remove all the test programs too
+      filter-branch: prevent filters from reading from stdin
+      chmod +x git-filter-branch.sh
+      rev-parse: document --is-inside-git-dir
+      rev-parse: introduce --is-bare-repository
+      test git rev-parse
+      introduce GIT_WORK_TREE to specify the work tree
+      Use new semantics of is_bare/inside_git_dir/inside_work_tree
+      extend rev-parse test for --is-inside-work-tree
+      test GIT_WORK_TREE
+      setup_git_directory: fix segfault if repository is found in cwd
+      filter-branch: always export GIT_DIR if it is set
+      gitweb: change filename/directory name of snapshots
+      make git barf when an alias changes environment variables
+      make dist: include configure script in tarball
+      ignore git-rebase--interactive
+      getenv/setenv: use constants if available
+
+Matthijs Melchior (1):
+      Teach git-tag about showing tag annotations.
+
+Michael Ellerman (2):
+      gitview: Use new-style classes
+      gitview: Define __slots__ for Commit
+
+Michael Krelin (1):
+      git-svn: honor ~/.subversion/ client cert file settings.
+
+Michael S. Tsirkin (1):
+      connect: display connection progress
+
+Nanako Shiraishi (3):
+      Cloning from a repo without "current branch"
+      Add git-stash script
+      Document git-stash
+
+Nicolas Pitre (8):
+      allow for undeltified objects not to be reused
+      make "repack -f" imply "pack-objects --no-reuse-object"
+      deprecate the new loose object header format
+      fixes to output of git-verify-pack -v
+      improve delta long block matching with big files
+      update diff-delta.c copyright
+      fix repack with --max-pack-size
+      always start looking up objects in the last used pack first
+
+Paul Mackerras (18):
+      gitk: Use the -q flag to git checkout
+      gitk: New infrastructure for working out branches & previous/next tags
+      gitk: Don't try to list large numbers of tags or heads in the details pane
+      gitk: Add some more comments to the optimize_rows procedure
+      gitk: Improve the behaviour of the initial selection
+      gitk: Implement a simple scheduler for the compute-intensive stuff
+      gitk: Cope with commit messages with carriage-returns and initial blank lines
+      gitk: Disable the head context menu entries for the checked-out branch
+      gitk: Store ids in rowrangelist and idrowranges rather than row numbers
+      gitk: New algorithm for drawing the graph lines
+      gitk: Show local uncommitted changes as a fake commit
+      gitk: Speed up the reading of references
+      gitk: Get rid of the childlist variable
+      gitk: Add a "reset branch to here" row context-menu operation
+      gitk: Limit how often we change the canvas scrolling region
+      gitk: Fix bug causing nearby tags/heads to sometimes not be displayed
+      gitk: Improve handling of whitespace and special chars in filenames
+      gitk: Add a progress bar to show progress while resetting
+
+Petr Baudis (2):
+      git-rev-list: Add regexp tuning options
+      git-applymbox: Remove command
+
+Pierre Habouzit (3):
+      $EMAIL is a last resort fallback, as it's system-wide.
+      Active_nr is unsigned, hence can't be < 0
+      Missing statics.
+
+Quy Tonthat (1):
+      git.spec: RPM failed, looking for wrong files.
+
+Randal L. Schwartz (1):
+      Add test-sha1 to .gitignore.
+
+René Scharfe (3):
+      t5000: silence unzip availability check
+      diffcore-rename: don't change similarity index based on basename equality
+      diff: round down similarity index
+
+Robin Rosenberg (1):
+      Add option to cvs update before export
+
+Sam Vilain (3):
+      git-svn: avoid string eval for defining functions
+      git-svn: use git-log rather than rev-list | xargs cat-file
+      git-svn: cache max revision in rev_db databases
+
+Shawn O. Pearce (24):
+      Teach git-describe how to run name-rev
+      Lazily open pack index files on demand
+      Micro-optimize prepare_alt_odb
+      Attempt to delay prepare_alt_odb during get_sha1
+      git gui 0.8.0
+      git-gui: GUI support for running 'git remote prune <name>'
+      git-gui: Show the git-gui library path in 'About git-gui'
+      git-gui: Enable verbose Tcl loading earlier
+      git-gui: Provide fatal error if library is unavailable
+      git-gui: Disable tearoff menus on Windows, Mac OS X
+      git-gui: Allow users to rename branches through 'branch -m'
+      git-gui: Allow users to delete remote branches
+      git-gui: Expose the merge.diffstat configuration option
+      Allow contrib new-workdir to link into bare repositories
+      Test for recent rev-parse $abbrev_sha1 regression
+      Simplify index access condition in count-objects, pack-redundant
+      Ensure the pack index is opened before access
+      Style nit - don't put space after function names
+      git-gui: Internalize symbolic-ref HEAD reading logic
+      git-gui: Quiet our installation process
+      Avoid src:dst syntax as default bash completion for git push
+      Document git-gui, git-citool as mainporcelain manual pages
+      Teach bash how to complete +refspec on git-push
+      Correct usages of sed in git-tag for Mac OS X
+
+Simon Hausmann (223):
+      Initial import of a python script to import changesets from Perforce into git.
+      Added basic support for specifying the depot path to import from as well as the range of perforce changes.
+      Slightly improved help usage output and made specifying the trailing slash for the depot path optional.
+      Implemented basic support for converting the date of the perforce change to the git format. The timezone isn't correctly set up yet though.
+      Some fixes to the timezone conversion between the date of a perforce change and the git commit.
+      Speed up the import of individual files from Perforce into git by passing the output of "p4 print" directly to git fast-import. Also try to set the mode of the file in git correctly based on file type heuristics.
+      Removed unused p4cat function and added helper function for the perforce python interface (p4Cmd).
+      Changed the import mechanism to write to git fast-import through a pipe instead of having p4-fast-export write to stdout and let the caller connect it to git fast-import.
+      Minor code cleanups and ported some p4 interfacing code over to the p4 python mode.
+      Instead of parsing the output of "p4 users" use the python objects of "p4 -G users".
+      Ported the remaining functions that parsed p4 shell output over to the p4 python interface.
+      Avoid calling fstat for every imported file (slow!) and instead read the file data first into the python process and use the length of the bytes read for the size field of git fast-import.
+      Permit calling p4-fast-export with a depot path that has the typical ... wildcard at the end.
+      Fixed displaying import progress by calling flush on stdout.
+      Create a git tag for every changeset imported from perforce.
+      Fix file permissions of p4-fast-export.py to be executable.
+      Started working on incremental imports from Perforce.
+      Simplify the incremental import by elimination the need for a temporary import branch.
+      Code cleanups, move the code to create a commit with fast-import into a separate function out of the main loop.
+      Initial support for importing a directory from Perforce at a specified revision.
+      Minor cleanups and print an error message of git fast-import if it fails.
+      Fixed incremental imports by using the correct "from" command instead of "merge" with git fast-import.
+      Make incremental imports easier to use by storing the p4 depot path after an import in .git/config and re-using it when we're invoked again later.
+      Make specifying the revision ranges more convenient.
+      Fix calculation of the newest imported revision for #head imports.
+      Catch io exceptions from git fast-import again and print the error message.
+      Made the name of the git branch used for the perforce import configurable through a new --branch=<name> commandline option.
+      Added a little helper script to debug the output of the p4 python interface.
+      Minor code cleanups.
+      Avoid the excessive use of git tags for every perforce change and instead just create one git tag for the last imported change.
+      Changed the default git import branch from "p4" to "master".
+      Added a little helper script to remove unused tags from the perforce import.
+      Create lightweight git tags (using the "reset" trick) for the incremental import instead of full-blown ones. Also fix parsing the output of git name-rev for figuring out the last imported p4 change number.
+      Cleanups, remove unused variable.
+      Code cleanups.
+      Started work on p4 branch detection (experimental!).
+      More fixes in heuristic p4 branch detection based on common path components.
+      After marking a p4 branch as merged don't ever merge it in git again.
+      Set git fast-import marks for every imported change for future use.
+      When trying to map p4 integrations to git merges just record it as a single merge with the newest p4 change as secondary parent.
+      Make it possible to specify the p4 changes to import through a text file (for debugging) and made various improvements to the branch/merge heuristic detection.
+      Use sets.Set() instead of set() to run also with older versions of Python.
+      Fix single-branch imports by skipping the branch/merge detection correctly.
+      Added p4 delete behavioural emulation as todo item.
+      Added support for --silent so that p4-fast-export can be called from cronjobs.
+      More work in --silent support.
+      Don't print a plain newline at the end of the execution (avoids bogus cron error mails).
+      Adjust the output parsing of git name-rev to handle the output of the latest git version.
+      Work in progress on detecting branches.
+      Changed --known-branches to take a file as argument instead of a comma separated list.
+      Fixed p4-debug file extension.
+      Make the p4 data/command cache configurable through the --cache-debug commandline option.
+      Minor code cleanups.
+      More code cleanups and preparations for more branch detection heuristics.
+      More work on branch detection by implementing changeIsBranchMerge().
+      Reduce the number of false "merges" by skipping "branch from" entries in the integrated output as well as by ignoring integrations of future (newer) changes.
+      Split up the cache commandline options into (command) cache and data cache.
+      First version of a new script to submit changes back to perforce from git repositories.
+      Fix git-dir option and allow reading log substitutions from a file
+      Lots of bugfixes to p4-git-sync.
+      Automatically operate on a temporary branch, needed for cherry-pick to work when applying changes to
+      Be nice and use /usr/bin/env python for the git-p4 scripts
+      Ignore Apple resource files when importing from perforce to git.
+      Auto-detect the current git branch before submitting back to perforce.
+      Use p4 revert ... instead of revert -a ... after submitting, to make sure the p4 checkout is clean.
+      Default to interactive syncing
+      Improved the git dir detection.
+      Pass the right number of arguments to commit, fixes single-branch imports.
+      Start moving the git-p4 tools into one single script.
+      Provide a little bit of help description for the git-p4 "tools".
+      First (untested) attempt at migrating p4-git-sync into the final git-p4 script
+      Part of the code is copyright by Trolltech ASA.
+      sync-to-perforce is now called submit and fixed the gitdir check a little bit
+      Completely untested "merge" of p4-fast-export.py into git-p4.py
+      Added missing "self"s to make the script evaluate correctly.
+      Fixed the initial version import by getting the file index correct by correctly skipping deleted files.
+      Removed p4-fast-export and p4-git-sync as they've been integrated into git-p4 now.
+      Start of the git-p4 documentation.
+      Documentation enhancements.
+      Added experimental but super-fast --apply-as-patch option to git-p4 submit
+      Fix support for deletions in git-p4 submit when using --apply-as-patch by filtering out deletions in the diff-tree output.
+      Made --apply-as-patch the default for git-p4 submit as it's significantly faster.
+      Make it possible to invoke git-p4 from within subdirectories of a git working tree.
+      Don't show the submit template and the diff first in less but show it in $editor right away
+      Removed the .py extension from git-p4 as it's annoying to type every time.
+      Changed the format of the imported log message slightly, so that it's easier to parse again.
+      Changed the default branch for imports from "master" to "p4"
+      Added some helper function(s) to parse the depot path and change number from the log message
+      Helper function to check the existance of a revision
+      Set the default branch in run, not in the constructor
+      Brand new smart incremental import that doesn't need tags or git repo-config :)
+      Make it possible to run git-p4 submit from within the git repository
+      Use the new incremental import style by default
+      Different versions of p4 have different output for the where command ;(
+      Minor cosmetic fixlet for the git-p4 submit sync question.
+      Prefer git command over git-command.
+      Don't try to parse any options with git-p4 debug but pass it straight on to p4
+      git-p4 debug doesn't need a git repository
+      Added support for mapping p4 labels to git tags
+      Fix variable usage in tag import
+      Fix the docs for git-p4 submit and turn git-p4 submit --master=foo into     simply git-p4 submit mytopicbranch.
+      Fix "compilation" :)
+      Clean up python class names.
+      Added git-p4 rebase convenience
+      Provide a tree summary after git-p4 rebase
+      Turn off potentially slow label detection by default
+      Honor --silent for labels
+      Added git-p4 clone convenience command
+      Fix file determination for #head imports
+      fix variable usage (oops)
+      Added a simple example of usage to the "documentation" :)
+      Allow for convenient rebasing after git-p4 submit
+      Print an error message of some sort if git fast-import fails.
+      Fix the timezone formatting. Now qgit also displays (parses) it correctly.
+      Removed the old patch apply code from git-p4 submit.
+      Slightly improved formatting of the raw_input questions.
+      A new attempt at fixing the child-fast-import-process-not-finished race condition     in the clone command
+      Handle patch errors in git-p4 submit better.
+      Doc cleanups.
+      Micro cleanup
+      cleanup, renamed self.globalPrefix to self.depotPath
+      Cleanup, removed the old tagging code
+      Document some implementation details, for the curious... :)
+      Use the subprocess module instead of popen2 to make it work on Windows.
+      Added a little .bat wrapper from Marius
+      Make sure all popen calls use binary mode (for Windows) and
+      Make submitting work on Windows.
+      Converted to unix newlines
+      Fix git-p4 clone //depot/project (head import)
+      Make git-p4 work with bare repositories.
+      Added the possibility of skipping patches during git-p4 submit
+      Give a better hint if git-p4 submit fails
+      Fix calling git-p4 rebase from within a subdirectory (git rebase wants to be in toplevel)
+      A little todo note before I forget it :), based on a suggestion from Lars.
+      Fixing syncing (gitdir discovery / cd) for bare repositories
+      Always pass a sha1 for the initial parent so that git-fast-import doesn't think     it's creating a new branch from itself. It's a sensible error in general but     in the case of incremental imports we have to apply force :)
+      Clean up code duplication for revision parsing and fix previous commit to not     import into remotes/p4 (yet!).
+      Removed cleantags command. It doesn't have any meaning anymore.
+      Removed ancient and unused code to find the last imported revision from previous imports     to use for the current import by looking at the p4 tags. The current approach of using     the log message works better.
+      Create the origin based import branch using git update-ref instead of git branch     so that it's possible to have the import branch in refs/remotes.
+      Changed the default p4 import branch to be refs/remotes/p4/{HEAD,master}     instead of refs/heads/p4.
+      Bite the bullet and automatically convert old style refs/heads/p4 repositories     to the new style refs/remotes/p4 branching.
+      Added support for git-p4 sync/rebase --with-origin. See git-p4.txt for details :)
+      Removed todo item that is implemented :)
+      Fix branch setup after initial clone.
+      Removed unused cache variables.
+      Started rewriting the branch detection, based on "p4 branches" and "p4 branch -o foo".
+      Give branches a nice project prefix and don't bail out on clone if we failed     to detect the master branch.
+      More work on the incremental importing of multiple branches.     Improved error detection by checking the exit code of git-fast-import.
+      Cleanup/speed up the branch<> file split and removed change range limitation that I added     for debugging (oops).
+      More cleanups and speedups for labels and branches
+      Removed unused variable, more cleanups
+      Cache the output of "p4 users" for faster syncs on high latency links.
+      Fix gitdir not being set when cloning. Needed for writing the p4 users cache.
+      Oops, not only /set/ gitdir on clone, also set it /correctly/ :)
+      Use git format-patch and git apply --apply when extracting patches from git and     applying them to a Perforce checkout. This should make it possible to apply git     commits with binary files that cannot be handled by path.
+      Added support for git-p4 submit --direct (experimental)
+      Specifying --detect-branches is now only needed for the initial clone/sync.     Afterwards it's turned on implicitly if more p4 branches than remotes/p4/master     are found.
+      Had an idea for debugging, record it :)
+      Another (potentially life-saving) idea for submit --direct
+      Improved output for multi branch imports and noted another little todo item
+      Fix conversion from old style heads/p4 to remotes/p4/master
+      Fix error detection with git-p4 submit when the requested depot path is not in the client view.
+      Fix git symbolic-ref warning on initial clone
+      Detect with git-p4 submit --direct when there are no changes in the working directory
+      Make git-p4 submit --direct safer by also creating a git commit
+      Added a rollback command for debugging. It sets back the heads of the p4 branches to the specified p4 change number or earlier.
+      Fix branch detection in multi-branch imports
+      Fixes for rollback, delete branches that did not exist at the specified p4 change
+      Added support for importing multiple branches into refs/heads instead of just refs/remotes     using --import-local. Needs some further microfix but seems to work otherwise.
+      Added support for --max-changes=<count> to ease import debugging
+      Use refs/heads/* instead of refs/heads/p4/* for local imports
+      Doc updates
+      Avoid calling git symbolic-ref refs/heads/p4//HEAD (double slash)
+      Make rollback work with locally imported branches
+      Don't make len(p4Cmd("p4 changes -m 1 //foo/...")) == 0 succeed when the p4 command itself failed.
+      Oops, fill the /list/ correct with the p4 exit code.
+      Catch p4 errors in rollback early enough (before deleting refs!)
+      Fix p4 execution in git-p4 rollback.
+      Fix multi-branch import with --silent.
+      Load the user map from p4 only once at run-time.
+      Fix creating the remotes/p4 branches based on origin/* for the multi-branch import
+      Forgot to remove this return statement from debugging
+      Added support for --with-origin with multi-branch imports
+      Oops, fix --with-origin to /really/ also call git fetch :)
+      Avoid creating non-p4 branches in remotes/p4 off of remotes/origin
+      Make git-p4 work with packed refs (don't use os.path.exists to check for the     existance of a ref)
+      Make --with-origin also work without origin :)
+      Make --with-origin the default for syncing.
+      Shortcut the case where we have no origin branch
+      Forgot to remove this TODO item when I made --with-origin the default :)
+      Added git-p4 submit --trust-me-like-a-fool for the adventurous users :)
+      Fix creation of refs/remotes/p4/HEAD symbolic ref
+      Fix my email address, this isn't really KDE related :)
+      In *_pipe print the command that failed if it fails.     Fixed old calls to mypopen.
+      Fix typo in listExistingP4Branches that broke sync.
+      Fix support for "depot-path" in older git-p4 imports
+      Fix common path "calculation" from logs of multiple branches.     Need to use min instead of max for prev/cur to avoid out-of-bounds     string access. Also treat "i" as index of the last match instead of     a length because in case of a complete match of the two strings     i was off by one.
+      Don't attempt to set the initialParent on multi-branch imports (useless).     At some point the code paths should be unified, but for now I need a working     git-p4 :)
+      Hack to make the multi-branch import work again with self.depotPaths now that     self.depotPath is gone
+      Fix git-p4 rebase
+      Fix git-p4 submit
+      Fix depot-path determination for git-p4 submit
+      Make clone behave like git clone by default again.
+      Make git-p4 submit detect the correct reference (origin) branch when     working with multi-branch imports.
+      Only get the expensive branch mapping from the p4 server when not     syncing with the help of an origin remote (which we instead then use     to get new branches from).
+      Fixed the check to make sure to exclude the HEAD symbolic refs when updating     the remotes/p4 branches from origin.
+      Fix updating/creating remotes/p4/* heads from origin/p4/*
+      Fix project name guessing
+      Fix depot-paths encoding for multi-path imports (don't split up //depot/path/foo)
+      Fix support for explicit disabling of syncing with the origin
+      Write out the options tag in the log message of imports only if we actually have     options
+      Provide some information for single branch imports where the commits go
+      Mention remotes/p4/master also in the documentation.
+      git-p4 submit: Fix missing quotes around p4 commands to make them work with spaces in filenames
+      Moved the code from git-p4 submit to figure out the upstream branch point     into a separate helper method.
+      Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally     always rebasing on top of remotes/p4/master
+      Fix initial multi-branch import.
+      Fix the branch mapping detection to be independent from the order of the "p4 branches" output.
+      Warn about conflicting p4 branch mappings and use the first one found.
+      Added git-p4 branches command that shows the mapping of perforce depot paths to imported git branches.
+      Make it possible to specify the HEAD for the internal findUpstreamBranchPoint function.
+      git-new-workdir: Fix shell warning about operator == used with test.
+
+Sven Verdoolaege (4):
+      git-update-ref: add --no-deref option for overwriting/detaching ref
+      t9500: skip gitweb tests if perl version is too old
+      git-submodule: provide easy way of adding new submodules
+      git-clone: fetch possibly detached HEAD over dumb http
+
+Theodore Ts'o (4):
+      Add --aggressive option to 'git gc'
+      Fix minor grammatical typos in the git-gc man page
+      git-mergetool: Make default selection of merge-tool more intelligent
+      Don't fflush(stdout) when it's not helpful
+
+İsmail Dönmez (1):
+      Change default man page path to /usr/share/man
+
+
+Version v1.5.2.5; changes since v1.5.2.4:
+-----------------------------------------
+
+Christian Couder (1):
+      rev-list --bisect: fix allocation of "int*" instead of "int".
+
+Julian Phillips (1):
+      Force listingblocks to be monospaced in manpages
+
+Junio C Hamano (4):
+      Do not expect unlink(2) to fail on a directory.
+      setup.c:verify_non_filename(): don't die unnecessarily while disambiguating
+      Fix "git add -u" data corruption.
+      GIT 1.5.2.5
+
+Linus Torvalds (1):
+      apply: remove directory that becomes empty by renaming the last file away
+
+Salikh Zakirov (1):
+      git-add -u paths... now works from subdirectory
+
+
+Version v1.5.2.4; changes since v1.5.2.3:
+-----------------------------------------
+
+Andy Parkins (2):
+      Make git-prune submodule aware (and fix a SEGFAULT in the process)
+      user-manual: grammar and style fixes
+
+Gerrit Pape (1):
+      git-gui: properly popup error if gitk should be started but is not installed
+
+J. Bruce Fields (2):
+      tutorial: Fix typo
+      user-manual: more explanation of push and pull usage
+
+Jim Meyering (1):
+      Don't smash stack when $GIT_ALTERNATE_OBJECT_DIRECTORIES is too long
+
+Johannes Schindelin (3):
+      diff --no-index: fix --name-status with added files
+      glossary: add 'reflog'
+      Fix "apply --reverse" with regard to whitespace
+
+Junio C Hamano (2):
+      Teach read-tree 2-way merge to ignore intermediate symlinks
+      GIT 1.5.2.4
+
+Michael Hendricks (1):
+      Correctly document the name of the global excludes file configuration
+
+Miklos Vajna (1):
+      Document -<n> for git-format-patch
+
+Shawn O. Pearce (10):
+      git-gui: Unlock the index when cancelling merge dialog
+      git-gui: Don't bind F5/M1-R in all windows
+      git-gui: Bind M1-P to push action
+      git-gui: Include a Push action on the left toolbar
+      git-gui: Ensure windows shortcuts always have .bat extension
+      git-gui: Skip nicknames when selecting author initials
+      git-gui: Correct ls-tree buffering problem in browser
+      git-gui: Don't linewrap within console windows
+      Clarify documentation of fast-import's D subcommand
+      git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
+
+William Pursell (1):
+      user-manual: fix directory name in git-archive example
+
+
+Version v1.5.2.3; changes since v1.5.2.2:
+-----------------------------------------
+
+Frank Lichtenheld (2):
+      config: Complete documentation of --get-regexp
+      config: Change output of --get-regexp for valueless keys
+
+Junio C Hamano (1):
+      GIT 1.5.2.3
+
+Linus Torvalds (1):
+      Fix zero-object version-2 packs
+
+Matt Kraai (1):
+      Correct the name of NO_R_TO_GCC_LINKER in the comment describing it.
+
+Sam Vilain (3):
+      cleanup merge-base test script
+      repack: improve documentation on -a option
+      git-remote: document -n
+
+Shawn O. Pearce (5):
+      git-gui: Correctly install to /usr/bin on Cygwin
+      git-gui: Bind Tab/Shift-Tab to cycle between panes in blame
+      git-gui: Don't require $DISPLAY just to get --version
+      git-gui: Don't nice git blame on MSYS as nice is not supported
+      git-gui: Don't require a .pvcsrc to create Tools/Migrate menu hack
+
+Sven Verdoolaege (1):
+      Ignore submodule commits when fetching over dumb protocols
+
+
+Version v1.5.2.2; changes since v1.5.2.1:
+-----------------------------------------
+
+Alex Riesen (3):
+      Make the installation target of git-gui a little less chatty
+      Fix clone to setup the origin if its name ends with .git
+      Add a local implementation of hstrerror for the system which do not have it
+
+Gerrit Pape (1):
+      Fix typo in remote branch example in git user manual
+
+J. Bruce Fields (4):
+      user-manual: quick-start updates
+      user-manual: add a missing section ID
+      Documentation: user-manual todo
+      tutorial: use "project history" instead of "changelog" in header
+
+Jakub Narebski (1):
+      Generated spec file to be ignored is named git.spec and not git-core.spec
+
+Johannes Schindelin (2):
+      Move buffer_is_binary() to xdiff-interface.h
+      merge-recursive: refuse to merge binary files
+
+Johannes Sixt (1):
+      Accept dates before 2000/01/01 when specified as seconds since the epoch
+
+Junio C Hamano (6):
+      checkout: do not get confused with ambiguous tag/branch names
+      $EMAIL is a last resort fallback, as it's system-wide.
+      git-branch --track: fix tracking branch computation.
+      Avoid diff cost on "git log -z"
+      Documentation: adjust to AsciiDoc 8
+      GIT 1.5.2.2
+
+Kristian Høgsberg (1):
+      Unquote From line from patch before comparing with given from address.
+
+Luiz Fernando N. Capitulino (1):
+      git-cherry: Document 'limit' command-line option
+
+Matthijs Melchior (1):
+      New selection indication and softer colors
+
+Michael Milligan (1):
+      git-cvsimport: Make sure to use $git_dir always instead of .git sometimes
+
+Sam Vilain (2):
+      fix documentation of unpack-objects -n
+      Don't assume tree entries that are not dirs are blobs
+
+Shawn O. Pearce (47):
+      git-gui: Allow creating a branch when none exists
+      git-gui: Allow as few as 0 lines of diff context
+      git-gui: Don't quit when we destroy a child widget
+      git-gui: Attach font_ui to all spinbox widgets
+      git-gui: Verify Tcl/Tk is new enough for our needs
+      Revert "Make the installation target of git-gui a little less chatty"
+      git-gui: Add a 4 digit commit abbreviation to the blame viewer
+      git-gui: Cleanup blame::new widget initialization
+      git-gui: Remove empty blank line at end of blame
+      git-gui: Improve the coloring in blame viewer
+      git-gui: Simplify consecutive lines that come from the same commit
+      git-gui: Use arror cursor in blame viewer file data
+      git-gui: Display tooltips in blame viewer
+      git-gui: Highlight the blame commit header from everything else
+      git-gui: Remove unnecessary reshow of blamed commit
+      git-gui: Cleanup minor style nit
+      git-gui: Space the commit group continuation out in blame view
+      git-gui: Show author initials in blame groups
+      git-gui: Allow the user to control the blame/commit split point
+      git-gui: Display a progress bar during blame annotation gathering
+      git-gui: Allow digging through history in blame viewer
+      git-gui: Combine blame groups only if commit and filename match
+      git-gui: Show original filename in blame tooltip
+      git-gui: Use a label instead of a button for the back button
+      git-gui: Clip the commit summaries in the blame history menu
+      git-gui: Remove the loaded column from the blame viewer
+      git-gui: Remove unnecessary space between columns in blame viewer
+      git-gui: Use lighter colors in blame view
+      git-gui: Make the line number column slightly wider in blame
+      git-gui: Automatically expand the line number column as needed
+      git-gui: Remove unused commit_list from blame viewer
+      git-gui: Better document our blame variables
+      git-gui: Cleanup redundant column management in blame viewer
+      git-gui: Switch internal blame structure to Tcl lists
+      git-gui: Label the uncommitted blame history entry
+      git-gui: Rename fields in blame viewer to better descriptions
+      git-gui: Display the "Loading annotation..." message in italic
+      git-gui: Run blame twice on the same file and display both outputs
+      git-gui: Display both commits in our tooltips
+      git-gui: Jump to original line in blame viewer
+      git-gui: Use three colors for the blame viewer background
+      git-gui: Improve our labeling of blame annotation types
+      git-gui: Favor the original annotations over the recent ones
+      git-gui: Changed blame header bar background to match main window
+      git-gui: Include 'war on whitespace' fixes from git.git
+      git-gui: Give amend precedence to HEAD over MERGE_MSG
+      git-gui: Save geometry before the window layout is damaged
+
+William Pursell (1):
+      Make command description imperative statement, not third-person present.
+
+
+Version v1.5.2.1; changes since v1.5.2:
+---------------------------------------
+
+Andy Parkins (2):
+      Fix mishandling of $Id$ expanded in the repository copy in convert.c
+      Add test case for $Id$ expanded in the repository
+
+Carlos Rica (1):
+      fix memory leak in parse_object when check_sha1_signature fails
+
+Eric Wong (1):
+      git-svn: avoid md5 calculation entirely if SVN doesn't provide one
+
+Fernando J. Pereda (1):
+      Use PATH_MAX instead of TEMPFILE_PATH_LEN
+
+Frank Lichtenheld (7):
+      t1300: Add tests for git-config --bool --get
+      git-config: Correct asciidoc documentation for --int/--bool
+      cvsserver: Correct inetd.conf example in asciidoc documentation
+      cvsserver: Note that CVS_SERVER can also be specified as method variable
+      cvsserver: Fix some typos in asciidoc documentation
+      git-config: Various small fixes to asciidoc documentation
+      git-config: Improve documentation of git-config file handling
+
+Jakub Narebski (3):
+      Documentation: Clean up links in GIT Glossary
+      Replace the last 'dircache's by 'index'
+      Documentation: Add definition of "evil merge" to GIT Glossary
+
+James Bowes (1):
+      Documentation: fix git-config.xml generation
+
+James Y Knight (1):
+      Fix git-svn to handle svn not reporting the md5sum of a file, and test.
+
+Jeff King (3):
+      git-am: use printf instead of echo on user-supplied strings
+      More echo "$user_message" fixes.
+      Documentation: robustify asciidoc GIT_VERSION replacement
+
+Jerald Fitzjerald (1):
+      decode_85(): fix missing return.
+
+Jim Meyering (1):
+      git-daemon: don't ignore pid-file write failure
+
+Johan Herland (1):
+      Fix stupid typo in lookup_tag()
+
+Johannes Schindelin (2):
+      SubmittingPatches: mention older C compiler compatibility
+      git-status: respect core.excludesFile
+
+Jonas Fonseca (2):
+      branch: fix segfault when resolving an invalid HEAD
+      Update bash completion to ignore some more plumbing commands
+
+Josh Triplett (1):
+      Create a new manpage for the gitignore format, and reference it elsewhere
+
+Junio C Hamano (6):
+      annotate: make it work from subdirectories.
+      git-cvsserver: fix disabling service via per-method config
+      name-rev: tolerate clock skew in committer dates
+      git-commit: use printf '%s\n' instead of echo on user-supplied strings
+      Add tests for the last two fixes.
+      GIT 1.5.2.1
+
+Kristian Høgsberg (1):
+      Use =20 when rfc2047 encoding spaces.
+
+Linus Torvalds (1):
+      fix signed range problems with hex conversions
+
+Nguyễn Thái Ngọc Duy (1):
+      Makefile: Remove git-fsck and git-verify-pack from PROGRAMS
+
+Paolo Bonzini (1):
+      Document branch.autosetupmerge.
+
+Shawn O. Pearce (12):
+      git-gui: Tighten internal pattern match for lib/ directory
+      Refactor fast-import branch creation from existing commit
+      Fix possible coredump with fast-import --import-marks
+      Hide the plumbing diff-{files,index,tree} from bash completion
+      Teach bash completion about git-shortlog
+      Remove a duplicate --not option in bash completion
+      Update bash completion header documentation
+      Teach bash completion about 'git remote update'
+      Teach bash completion about recent log long options
+      Update bash completion for git-config options
+      Correct key bindings to Control-<foo>
+      git-gui: Guess our share/git-gui/lib path at runtime if possible
+
+Simon Hausmann (2):
+      fast-import: Fix uninitialized variable
+      fast-import: Fix crash when referencing already existing objects
+
+Steffen Prohaska (1):
+      user-manual: fixed typo in example
+
+Stephan Springl (1):
+      Use git-for-each-ref to check whether the origin branch exists.
+
+Sven Verdoolaege (1):
+      unpack-trees.c: verify_uptodate: remove dead code
+
+
+Version v1.5.2; changes since v1.5.2-rc3:
+-----------------------------------------
+
+Alex Riesen (1):
+      Allow fetching references from any namespace
+
+Andy Parkins (2):
+      Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs
+      Fix crlf attribute handling to match documentation
+
+Andy Whitcroft (1):
+      git name-rev writes beyond the end of malloc() with large generations
+
+Eric Wong (6):
+      git-svn: don't drop the username from URLs when dcommit is run
+      git-svn: clean up caching of SVN::Ra functions
+      git-svn: fix segfaults due to initial SVN pool being cleared
+      git-svn: don't attempt to minimize URLs by default
+      git-svn: avoid crashing svnserve when creating new directories
+      git-svn: don't minimize-url when doing an init that tracks multiple paths
+
+Frank Lichtenheld (5):
+      cvsserver: Limit config parser to needed options
+      cvsserver: Don't send mixed messages to clients
+      builtin-log.c: Fix typo in comment
+      Documentation: format-patch has no --mbox option
+      git-am: Clean up the asciidoc documentation
+
+J. Bruce Fields (14):
+      user-manual: revise birdseye-view chapter
+      glossary: expand and clarify some definitions, prune cross-references
+      user-manual: move quick-start to an appendix
+      Documentation: remove howto's now incorporated into manual
+      user-manual: move howto/make-dist.txt into user manual
+      user-manual: move howto/using-topic-branches into manual
+      user-manual: add a "counting commits" example
+      user-manual: introduce git
+      user-manual: listing commits reachable from some refs not others
+      user-manual: reorganize public git repo discussion
+      tutorials: add user-manual links
+      tutorial: revise index introduction
+      user-manual: discourage shared repository
+      user-manual: finding commits referencing given file content
+
+Jakub Narebski (10):
+      gitweb: Test if $from_id and $to_id are defined before comparison
+      gitweb: Check if requested object exists
+      gitweb: Fix "Use of unitialized value" warnings in empty repository
+      Documentation: Split description of pretty formats of commit log
+      gitweb: Add a few comments about %feature hash
+      gitweb: Do not use absolute font sizes
+      gitweb: Separate search regexp from search text
+      gitweb: Empty patch for merge means trivial merge, not no differences
+      gitweb: Fix error in git_patchset_body for deletion in merge commit
+      gitweb: Fix "Use of uninitialized value" warning in git_feed
+
+Jan Hudec (2):
+      Updated documentation of hooks in git-receive-pack.
+      Minor fixup to documentation of hooks in git-receive-pack.
+
+Jeff King (3):
+      git-add: allow path limiting with -u
+      Documentation/git-add: clarify -u with path limiting
+      format-patch: add MIME-Version header when we add content-type.
+
+Johan Herland (3):
+      Fix signedness on return value from xread()
+      Ensure return value from xread() is always stored into an ssize_t
+      user-manual: Add section on ignoring files
+
+Johannes Schindelin (2):
+      import-tars: Use the "Link indicator" to identify directories
+      Add a birdview-on-the-source-code section to the user manual
+
+Junio C Hamano (17):
+      Minor copyediting on Release Notes for 1.5.2
+      Add has_symlink_leading_path() function.
+      apply: do not get confused by symlinks in the middle
+      read-tree -m -u: avoid getting confused by intermediate symlinks.
+      t9400: Use the repository config and nothing else.
+      checkout: allow detaching to HEAD even when switching to the tip of a branch
+      git-config: do not forget seeing "a.b.var" means we are out of "a.var" section.
+      Link to HTML version of external doc if available
+      Fix git-clone buglet for remote case.
+      Prepare for 1.5.1.5 Release Notes
+      gitweb: fix another use of undefined value
+      GIT v1.5.1.5
+      Add link to 1.5.1.5 release notes.
+      Documentation/git.txt: Update links to older documentation pages.
+      GIT 1.5.1.6
+      git-cvsserver: exit with 1 upon "I HATE YOU"
+      GIT 1.5.2
+
+Lars Hjemli (1):
+      git-archive: don't die when repository uses subprojects
+
+Marco Costalba (1):
+      Fix an unmatched comment end in arm/sha1_arm.S
+
+Matthias Kestenholz (2):
+      Documentation: Added [verse] to SYNOPSIS where necessary
+      Documentation: Reformatted SYNOPSIS for several commands
+
+Matthieu Castet (1):
+      Remove stale non-static-inline prototype for tree_entry_extract()
+
+Michael Hendricks (2):
+      git-send-email: allow leading white space on mutt aliases
+      Document core.excludesfile for git-add
+
+Petr Baudis (5):
+      gitweb: Normalize searchbar font size
+      gitweb: Add support for grep searches
+      gitweb: Allow arbitrary strings to be dug with pickaxe
+      Documentation: git-rev-list's "patterns"
+      gitweb: Remove redundant $searchtype setup
+
+Quy Tonthat (2):
+      RPM spec: include files in technical/ to package.
+      Documentation/branch: fix small typo in -D example
+
+René Scharfe (1):
+      git-archive: convert archive entries like checkouts do
+
+Shawn O. Pearce (1):
+      git-gui: Gracefully handle bad TCL_PATH at compile time
+
+Steffen Prohaska (4):
+      tiny fix in documentation of git-clone
+      git-config: test for 'do not forget "a.b.var" ends "a.var" section'.
+      Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file.
+      Fixed link in user-manual
+
+
+Version v1.5.2-rc3; changes since v1.5.2-rc2:
+---------------------------------------------
+
+Alex Riesen (1):
+      Use GIT_OBJECT_DIR for temporary files of pack-objects
+
+Amos Waterland (1):
+      wcwidth redeclaration
+
+Frank Lichtenheld (1):
+      cvsserver: Add test cases for git-cvsserver
+
+Gerrit Pape (1):
+      gitweb: choose appropriate view for file type if a= parameter missing
+
+J. Bruce Fields (7):
+      user-manual: more discussion of detached heads, fix typos
+      user-manual: add section ID's
+      user-manual: clean up fast-forward and dangling-objects sections
+      user-manual: fix .gitconfig editing examples
+      user-manual: miscellaneous editing
+      user-manual: stop deprecating the manual
+      user-manual: fix clone and fetch typos
+
+Jakub Narebski (6):
+      gitweb: Add parsing of raw combined diff format to parse_difftree_raw_line
+      gitweb: Add combined diff support to git_difftree_body
+      gitweb: Add combined diff support to git_patchset_body
+      gitweb: Make it possible to use pre-parsed info in git_difftree_body
+      gitweb: Show combined diff for merge commits in 'commitdiff' view
+      gitweb: Show combined diff for merge commits in 'commit' view
+
+Jari Aalto (1):
+      SPECIFYING RANGES typo fix: it it => it is
+
+Jeff King (1):
+      Documentation: don't reference non-existent 'git-cvsapplycommit'
+
+Johannes Sixt (1):
+      git-gui: Call changes "Staged" and "Unstaged" in file list titles.
+
+Junio C Hamano (10):
+      diff: release blobs after generating textual diff.
+      diff.c: do not use a separate "size cache".
+      diff -M: release the preimage candidate blobs after rename detection.
+      diff -S: release the image after looking for needle in it
+      GIT v1.5.1.4
+      Update documentation links to point at 1.5.1.4
+      t9400: skip cvsserver test if Perl SQLite interface is unavailable
+      git-clone: don't get fooled by $PWD
+      .mailmap: add some aliases
+      GIT v1.5.2-rc3
+
+Matthieu Moy (2):
+      Document git add -u introduced earlier.
+      Added a reference to git-add in the documentation for git-update-index
+
+Michael Hendricks (1):
+      Document 'git-log --decorate'
+
+Michael Spang (3):
+      dir.c: Omit non-excluded directories with dir->show_ignored
+      t7300: Basic tests for git-clean
+      Fix minor documentation errors
+
+Paul Mackerras (1):
+      gitk: Allow user to choose whether to see the diff, old file, or new file
+
+Petr Baudis (2):
+      Git.pm: config_boolean() -> config_bool()
+      gitweb: Do not use absolute font sizes
+
+Quy Tonthat (2):
+      Add howto files to rpm packages.
+      Added new git-gui library files to rpm spec
+
+Richard P. Curnow (2):
+      Fix documentation of tag in git-fast-import.txt
+      Fix documentation of tag in git-fast-import.txt
+
+Shawn O. Pearce (32):
+      git-gui: Correctly handle UTF-8 encoded commit messages
+      git-gui: Allow spaces in path to 'wish'
+      git-gui: Include the subject in the status bar after commit
+      git-gui: Warn users before making an octopus merge
+      git-gui: Correct line wrapping for too many branch message
+      git-gui: Cleanup common font handling for font_ui
+      git-gui: Use option database defaults to set the font
+      git-gui: Refactor to use our git proc more often
+      git-gui: Track our own embedded values and rebuild when they change
+      Properly handle '0' filenames in import-tars
+      git-gui: Refactor into multiple files to save my sanity
+      git-gui: Move console procs into their own namespace
+      git-gui: Allow vi keys to scroll the diff/blame regions
+      git-gui: Move merge support into a namespace
+      git-gui: Show all possible branches for merge
+      git-gui: Include commit id/subject in merge choices
+      git-gui: Use vi-like keys in merge dialog
+      Remove duplicate exports from Makefile
+      git-gui: Allow shift-{k,j} to select a range of branches to merge
+      git-gui: Define a simple class/method system
+      git-gui: Convert browser, console to "class" format
+      git-gui: Don't attempt to inline array reads in methods
+      git-gui: Convert blame to the "class" way of doing things
+      git-gui: Use prefix if blame is run in a subdirectory
+      git-gui: Smarter command line parsing for browser, blame
+      git-gui: Generate blame on uncommitted working tree file
+      git-gui: Cleanup minor nits in blame code
+      git-gui: Format author/committer times in ISO format
+      Use .git/MERGE_MSG in cherry-pick/revert
+      git-gui: Paperbag fix blame in subdirectory
+      git gui 0.7.0
+      Correct error message in revert/cherry-pick
+
+Theodore Ts'o (2):
+      Add pack.depth option to git-pack-objects.
+      Increase pack.depth default to 50
+
+
+Version v1.5.2-rc2; changes since v1.5.2-rc1:
+---------------------------------------------
+
+Alex Riesen (2):
+      Small correction in reading of commit headers
+      Handle return code of parse_commit in revision machinery
+
+Alexandre Julliard (1):
+      http-fetch: Disable use of curl multi support for libcurl < 7.16.
+
+Arjen Laarhoven (1):
+      Document 'opendiff' value in config.txt and git-mergetool.txt
+
+Bryan Larsen (2):
+      Allow PERL_PATH="/usr/bin/env perl"
+      posix compatibility for t4200
+
+Carl Worth (1):
+      Mention version 1.5.1 in tutorial and user-manual
+
+Dana L. How (1):
+      Create pack-write.c for common pack writing code
+
+Daniel Barkalow (1):
+      Make xstrndup common
+
+Frank Lichtenheld (1):
+      cvsserver: Handle re-added files correctly
+
+Jakub Narebski (1):
+      diff format documentation: describe raw combined diff format
+
+James Bowes (1):
+      Documentation: fix typo in git-remote.txt
+
+Johannes Schindelin (1):
+      Teach import-tars about GNU tar's @LongLink extension.
+
+Jonas Fonseca (1):
+      git-tag(1): -v option is a subcommand; fix code block
+
+Junio C Hamano (6):
+      blame: use .mailmap unconditionally
+      diff.c: fix "size cache" handling.
+      blame: Notice a wholesale incorporation of an existing file.
+      blame: -C -C -C
+      Add test for blame corner cases.
+      GIT v1.5.2-rc2
+
+Karl Hasselström (2):
+      Fix markup in git-svn man page
+      Add --no-rebase option to git-svn dcommit
+
+Linus Torvalds (1):
+      Fix --boundary output
+
+Martin Koegler (1):
+      Fix compilation of test-delta
+
+Shawn O. Pearce (3):
+      Reuse fixup_pack_header_footer in index-pack
+      Don't use seq in tests, not everyone has it
+      Improve request-pull to handle non-rebased branches
+
+İsmail Dönmez (1):
+      gitweb: use decode_utf8 directly
+
+
+Version v1.5.2-rc1; changes since v1.5.2-rc0:
+---------------------------------------------
+
+Adam Roben (5):
+      Remove usernames from all commit messages, not just when using svmprops
+      git-svn: Don't rely on $_ after making a function call
+      git-svn: Ignore usernames in URLs in find_by_url
+      git-svn: Added 'find-rev' command
+      git-svn: Add 'find-rev' command
+
+Alex Riesen (8):
+      Fix handle leak in write_tree
+      Avoid excessive rewrites in merge-recursive
+      Add a test for merging changed and rename-changed branches
+      Ignore merged status of the file-level merge
+      Use strlcpy instead of strncpy in mailmap.c
+      Fix read_mailmap to handle a caller uninterested in repo abbreviation
+      Remove pointless calls to access(2) when checking for .mailmap
+      Include mailmap.h in mailmap.c to catch mailmap interface changes
+
+Andrew Ruder (8):
+      Removing -n option from git-diff-files documentation
+      Document additional options for git-fetch
+      Update git-fmt-merge documentation
+      Update git-grep documentation
+      Update -L documentation for git-blame/git-annotate
+      Update git-http-push documentation
+      Update git-local-fetch documentation
+      Update git-http-fetch documentation
+
+Andy Parkins (3):
+      post-receive-email example hook: fastforward should have been fast_forward
+      post-receive-email example hook: detect rewind-only updates and output sensible message
+      post-receive-email example hook: sed command for getting description was wrong
+
+Brian Gernhardt (2):
+      Reverse the order of -b and --track in the man page.
+      Ignore all man sections as they are generated files.
+
+Gerrit Pape (1):
+      Documentation/git-reset.txt: suggest git commit --amend in example.
+
+Jari Aalto (3):
+      Clarify SubmittingPatches Checklist
+      git.7: Mention preformatted html doc location
+      send-email documentation: clarify --smtp-server
+
+Johannes Schindelin (3):
+      dir.c(common_prefix): Fix two bugs
+      t4201: Do not display weird characters on the terminal
+      import-tars: be nice to wrong directory modes
+
+Josh Triplett (5):
+      Add clean.requireForce option, and add -f option to git-clean to override it
+      Fix typo in git-am: s/Was is/Was it/
+      Create a sysconfdir variable, and use it for ETC_GITCONFIG
+      Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation
+      Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL
+
+Julian Phillips (1):
+      http.c: Fix problem with repeated calls of http_init
+
+Junio C Hamano (25):
+      Move index-related variables into a structure.
+      Make read-cache.c "the_index" free.
+      Document "diff=driver" attribute
+      t5302: avoid using tail -c
+      t6030: grab commit object name as we go
+      Build RPM with ETC_GITCONFIG=/etc/gitconfig
+      Diff between two blobs should take mode changes into account now.
+      t/test-lib.sh: Protect ourselves from common misconfiguration     that exports CDPATH to the environment
+      gitattributes documentation: clarify overriding
+      applymbox & quiltimport: typofix.
+      Add 'ident' conversion.
+      Add 'filter' attribute and external filter driver definition.
+      Add --date={local,relative,default}
+      Start preparing for 1.5.1.3
+      Do not barf on too long action description
+      Update .mailmap with "Michael"
+      Fix import-tars fix.
+      blame -s: suppress author name and time.
+      Split out mailmap handling out of shortlog
+      Apply mailmap in git-blame output.
+      Make macros to prevent double-inclusion in headers consistent.
+      Make sure test-genrandom and test-chmtime are builtas part of the main build.
+      Fix symlink handling in git-svn, related to PerlIO
+      GIT v1.5.1.3
+      GIT v1.5.2-rc1
+
+Luiz Fernando N. Capitulino (5):
+      remove_subtree(): Use strerror() when possible
+      entry.c: Use const qualifier for 'struct checkout' parameters
+      read_cache_from(): small simplification
+      core-tutorial: minor fixes
+      init_buffer(): Kill buf pointer
+
+Martin Koegler (5):
+      Add S_IFINVALID mode
+      add get_sha1_with_mode
+      add add_object_array_with_mode
+      store mode in rev_list, if <tree>:<filename> syntax is used
+      use mode of the tree in git-diff, if <tree>:<file> syntax is used
+
+Michele Ballabio (1):
+      git shortlog documentation: add long options and fix a typo
+
+Nicolas Pitre (1):
+      add file checkout progress
+
+OGAWA Hirofumi (1):
+      git-fetch: Fix "argument list too long"
+
+Robin H. Johnson (10):
+      Document --dry-run parameter to send-email.
+      Prefix Dry- to the message status to denote dry-runs.
+      Debugging cleanup improvements
+      Change the scope of the $cc variable as it is not needed outside of send_message.
+      Perform correct quoting of recipient names.
+      Validate @recipients before using it for sendmail and Net::SMTP.
+      Ensure clean addresses are always used with Net::SMTP
+      Allow users to optionally specify their envelope sender.
+      Document --dry-run and envelope-sender for git-send-email.
+      Sanitize @to recipients.
+
+Sami Farin (1):
+      fast-import: size_t vs ssize_t
+
+Shawn O. Pearce (4):
+      Don't repack existing objects in fast-import
+      Actually handle some-low memory conditions
+      Don't allow empty pathnames in fast-import
+      Catch empty pathnames in trees during fsck
+
+Uwe Kleine-König (1):
+      fix importing of subversion tars
+
+
+Version v1.5.2-rc0; changes since v1.5.1.6:
+-------------------------------------------
+
+Alex Riesen (7):
+      Fix passing of TCLTK_PATH to git-gui
+      Fix t4201: accidental arithmetic expansion
+      Fix permissions on test scripts
+      Tests for core subproject support
+      Simplify calling of CR/LF conversion routines
+      Fix a typo in crlf conversion code
+      Fix crash in t0020 (crlf conversion)
+
+Alexandre Julliard (1):
+      git.el: Add a commit description to the reflog.
+
+Andrew Ruder (1):
+      Add policy on user-interface changes
+
+Andy Parkins (1):
+      Show binary file size change in diff --stat
+
+Aneesh Kumar K.V (1):
+      gitview: annotation support
+
+Brian Gernhardt (2):
+      Remove unused WITH_OWN_SUBPROCESS_PY from RPM spec
+      Remove case-sensitive file in t3030-merge-recursive.
+
+Christian Couder (4):
+      Bisect: teach "bisect start" to optionally use one bad and many good revs.
+      Documentation: bisect: "start" accepts one bad and many good commits
+      Bisect: simplify "bisect start" logging.
+      Bisect: rename "t/t6030-bisect-run.sh" to "t/t6030-bisect-porcelain.sh".
+
+Eric Wong (1):
+      git-svn: bail out on incorrect command-line options
+
+Eygene Ryabinkin (11):
+      Add the WITH_P4IMPORT knob to the Makefile.
+      Added git-p4 package to the list of git RPMs.
+      Added correct Python path to the RPM specfile.
+      NO_TCLTK
+      Add --with-tcltk and --without-tcltk to configure.
+      Rewrite Tcl/Tk interpreter path for the GUI tools.
+      Eliminate checks of user-specified Tcl/Tk interpreter.
+      Allow wish interpreter to be defined with TCLTK_PATH
+      Teach git-gui to use the user-defined UI font everywhere.
+      Improve look-and-feel of the git-gui tool.
+      Do not break git-gui messages into multiple lines.
+
+Fernando J. Pereda (1):
+      Makefile: Add '+' to QUIET_SUBDIR0 to fix parallel make.
+
+Frank Lichtenheld (16):
+      cvsserver: Introduce new state variable 'method'
+      cvsserver: Handle three part keys in git config correctly
+      cvsserver: Allow to override the configuration per access method
+      cvsserver: Make the database backend configurable
+      cvsserver: Abort if connect to database fails
+      Documentation: Replace @@GIT_VERSION@@ in documentation
+      Documentation: Add version information to man pages
+      cvsserver: Use DBI->table_info instead of DBI->tables
+      cvsserver: Corrections to the database backend configuration
+      cvsserver: Add asciidoc documentation for new database backend configuration
+      gitweb: Allow forks with project list file
+      gitweb: Allow configuring the default projects order and add order 'none'
+      cvsserver: Allow to "add" a removed file
+      cvsserver: Reword documentation on necessity of write access
+      cvsserver: Document the GIT branches -> CVS modules mapping more prominently
+      config.txt: Add gitcvs.db* variables
+
+Jakub Narebski (2):
+      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (3)
+      gitweb: Quote hash keys, and do not use barewords keys
+
+James Bowes (1):
+      Document git-check-attr
+
+Jim Meyering (1):
+      sscanf/strtoul: parse integers robustly
+
+Johannes Schindelin (1):
+      Use print_wrapped_text() in shortlog
+
+Julian Phillips (1):
+      refs.c: add a function to sort a ref list, rather then sorting on add
+
+Junio C Hamano (83):
+      git-fetch: add --quiet
+      t6002: minor spelling fix.
+      git-rev-list: add --bisect-vars option.
+      git-rev-list --bisect: optimization
+      t6004: add a bit more path optimization test.
+      rev-list --bisect: Fix "halfway" optimization.
+      make the previous optimization work also on path-limited rev-list --bisect
+      Documentation: unbreak user-manual.
+      Optional Tck/Tk: ignore generated files.
+      checkout: allow detaching to HEAD even when switching to the tip of a branch
+      _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file.
+      git-read-tree --index-output=<file>
+      add_cache_entry(): removal of file foo does not conflict with foo/bar
+      unpack_trees.c: pass unpack_trees_options structure to keep_entry() as well.
+      unpack-trees: get rid of *indpos parameter.
+      Fix read-tree --prefix=dir/.
+      Fix twoway_merge that passed d/f conflict marker to merged_entry().
+      Fix switching to a branch with D/F when current branch has file D.
+      RPM spec: include git-p4 in the list of all packages.
+      Fix bogus error message from merge-recursive error path
+      Propagate cache error internal to refresh_cache() via parameter.
+      Rename internal function "add_file_to_cache" in builtin-update-index.c
+      Rename static variable write_index to update_index in builtin-apply.c
+      Rename add_file_to_index() to add_file_to_cache()
+      git-bisect: modernization
+      t6030: add a bit more tests to git-bisect
+      git-bisect: allow bisecting with only one bad commit.
+      git-push reports the URL after failing.
+      git-push to multiple locations does not stop at the first failure
+      A new merge stragety 'subtree'.
+      Start 1.5.2 cycle by prepareing RelNotes for it.
+      shortlog -w: make wrap-line behaviour optional.
+      t1000: fix case table.
+      Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge()
+      merge-recursive: do not barf on "to be removed" entries.
+      merge-recursive: handle D/F conflict case more carefully.
+      t3030: merge-recursive backend test.
+      git-fetch--tool pick-rref
+      git-fetch: use fetch--tool pick-rref to avoid local fetch from alternate
+      Add %m to '--pretty=format:'
+      Refactor patch-id filtering out of git-cherry and git-format-patch.
+      git-log --cherry-pick A...B
+      Documentation: --cherry-pick
+      Fix git {log,show,...} --pretty=email
+      Add basic infrastructure to assign attributes to paths
+      Define 'crlf' attribute.
+      Teach 'diff' about 'diff' attribute.
+      Fix 'crlf' attribute semantics.
+      Fix 'diff' attribute semantics.
+      Makefile: add patch-ids.h back in.
+      attribute macro support
+      Define a built-in attribute macro "binary".
+      Change attribute negation marker from '!' to '-'.
+      send-email: do not leave an empty CC: line if no cc is present.
+      Make sure quickfetch is not fooled with a previous, incomplete fetch.
+      Allow more than true/false to attributes.
+      merge-recursive: separate out xdl_merge() interface.
+      git-gui: Honor TCLTK_PATH if supplied
+      Allow specifying specialized merge-backend per path.
+      Add a demonstration/test of customized merge.
+      Update draft release notes for 1.5.2 with accumulated changes.
+      Custom low-level merge driver support.
+      Allow the default low-level merge driver to be configured.
+      Custom low-level merge driver: change the configuration scheme.
+      Allow low-level driver to specify different behaviour during internal merge.
+      Fix funny types used in attribute value representation
+      Counto-fix in merge-recursive
+      Simplify code to find recursive merge driver.
+      Documentation: support manual section (5) - file formats.
+      Update 'crlf' attribute semantics.
+      Document gitattributes(5)
+      git-add -u: match the index with working tree.
+      Fix bogus linked-list management for user defined merge drivers.
+      convert.c: restructure the attribute checking part.
+      lockfile: record the primary process.
+      Update documentation links to point at v1.5.1.2
+      Documentation/Makefile: fix section (5) installation
+      Update draft release notes for v1.5.2
+      pack-objects: quickfix for permission modes.
+      Fix 'quickfix' on pack-objects.
+      Update tests not to assume that generated packfiles are writable.
+      pack-objects: make generated packfile read-only
+      Support 'diff=pgm' attribute
+
+Linus Torvalds (24):
+      Optimize directory listing with pathspec limiter.
+      diff-lib: use ce_mode_from_stat() rather than messing with modes manually
+      Avoid overflowing name buffer in deep directory structures
+      Add 'resolve_gitlink_ref()' helper function
+      Add "S_IFDIRLNK" file mode infrastructure for git links
+      Teach "fsck" not to follow subproject links
+      Teach core object handling functions about gitlinks
+      Fix thinko in subproject entry sorting
+      Teach directory traversal about subprojects
+      Teach git-update-index about gitlinks
+      Don't show gitlink directories when we want "other" files
+      Teach git list-objects logic not to follow gitlinks
+      Teach "git-read-tree -u" to check out submodules as a directory
+      Fix gitlink index entry filesystem matching
+      Teach git list-objects logic to not follow gitlinks
+      Teach "git-read-tree -u" to check out submodules as a directory
+      Fix some "git ls-files -o" fallout from gitlinks
+      Expose subprojects as special files to "git diff" machinery
+      Add a generic "object decorator" interface, and make object refs use it
+      Add support for "commit name decorations" to log family of commands
+      Use proper object allocators for unknown object nodes too
+      Clean up object creation to use more common code
+      Fix working directory errno handling when unlinking a directory
+      Fix a copy-n-paste bug in the object decorator code.
+
+Luiz Fernando N. Capitulino (2):
+      ident.c: Use const qualifier for 'struct passwd' parameters
+      ident.c: Use size_t (instead of int) to store sizes
+
+Martin Koegler (1):
+      gitweb: Show "no difference" message for empty diff
+
+Michael S. Tsirkin (1):
+      Display the subject of the commit just made.
+
+Nicolas Pitre (32):
+      clean up and optimize nth_packed_object_sha1() usage
+      get rid of num_packed_objects()
+      make overflow test on delta base offset work regardless of variable size
+      add overflow tests on pack offset variables
+      compute a CRC32 for each object as stored in a pack
+      compute object CRC32 with index-pack
+      pack-objects: learn about pack index version 2
+      index-pack: learn about pack index version 2
+      sha1_file.c: learn about index version 2
+      show-index.c: learn about index v2
+      pack-redundant.c: learn about index v2
+      allow forcing index v2 and 64-bit offset treshold
+      validate reused pack data with CRC when possible
+      simple random data generator for tests
+      use test-genrandom in tests instead of /dev/urandom
+      tests for various pack index features
+      clean up add_object_entry()
+      pack-objects: optimize preferred base handling a bit
+      pack-objects: equal objects in size should delta against newer objects
+      pack-objects: rework check_delta_limit usage
+      pack-objects: clean up list sorting
+      pack-objects: get rid of reuse_cached_pack
+      pack-objects: get rid of create_final_object_list()
+      pack-objects: make in_pack_header_size a variable of its own
+      add get_size_from_delta()
+      pack-objects: better check_object() performances
+      pack-objects: remove obsolete comments
+      document --index-version for index-pack and pack-objects
+      common progress display support
+      make progress "title" part of the common progress interface
+      provide a facility for "delayed" progress reporting
+      delay progress display when checking out files
+
+René Scharfe (1):
+      git-archive: make tar the default format
+
+Robin H. Johnson (2):
+      Add custom subject prefix support to format-patch (take 3)
+      Add testcase for format-patch --subject-prefix (take 3)
+
+Shawn O. Pearce (8):
+      Always bind the return key to the default button
+      Fix lost-found to show commits only referenced by reflogs
+      Don't yap about merge-subtree during make
+      git-gui: Display the directory basename in the title
+      Revert "Allow wish interpreter to be defined with TCLTK_PATH"
+      Contribute a fairly paranoid update hook
+      Kill the useless progress meter in merge-recursive
+      Cleanup variables in cat-file
+
+Steven Grimm (3):
+      Add --quiet option to suppress output of "rm" commands for removed files.
+      git-rm: Trivial fix for a comment typo.
+      Add --ignore-unmatch option to exit with zero status when no files are removed.
+
+Xavier Maillard (2):
+      git-blame.el: separate git-blame-mode to ease maintenance
+      git-blame.el: pick a set of random colors for each git-blame turn
+
+
+Version v1.5.1.6; changes since v1.5.1.5:
+-----------------------------------------
+
+Eric Wong (2):
+      git-svn: avoid crashing svnserve when creating new directories
+      git-svn: don't minimize-url when doing an init that tracks multiple paths
+
+J. Bruce Fields (4):
+      tutorials: add user-manual links
+      tutorial: revise index introduction
+      user-manual: discourage shared repository
+      user-manual: finding commits referencing given file content
+
+Johan Herland (1):
+      user-manual: Add section on ignoring files
+
+Junio C Hamano (1):
+      GIT 1.5.1.6
+
+Matthias Kestenholz (2):
+      Documentation: Added [verse] to SYNOPSIS where necessary
+      Documentation: Reformatted SYNOPSIS for several commands
+
+
+Version v1.5.1.5; changes since v1.5.1.4:
+-----------------------------------------
+
+Alex Riesen (1):
+      Allow fetching references from any namespace
+
+Andy Whitcroft (1):
+      git name-rev writes beyond the end of malloc() with large generations
+
+Eric Wong (4):
+      git-svn: don't drop the username from URLs when dcommit is run
+      git-svn: clean up caching of SVN::Ra functions
+      git-svn: fix segfaults due to initial SVN pool being cleared
+      git-svn: don't attempt to minimize URLs by default
+
+Frank Lichtenheld (3):
+      builtin-log.c: Fix typo in comment
+      Documentation: format-patch has no --mbox option
+      git-am: Clean up the asciidoc documentation
+
+J. Bruce Fields (10):
+      user-manual: revise birdseye-view chapter
+      glossary: expand and clarify some definitions, prune cross-references
+      user-manual: move quick-start to an appendix
+      Documentation: remove howto's now incorporated into manual
+      user-manual: move howto/make-dist.txt into user manual
+      user-manual: move howto/using-topic-branches into manual
+      user-manual: add a "counting commits" example
+      user-manual: introduce git
+      user-manual: listing commits reachable from some refs not others
+      user-manual: reorganize public git repo discussion
+
+Jakub Narebski (1):
+      gitweb: Add a few comments about %feature hash
+
+Jan Hudec (1):
+      Updated documentation of hooks in git-receive-pack.
+
+Jari Aalto (1):
+      SPECIFYING RANGES typo fix: it it => it is
+
+Jeff King (1):
+      format-patch: add MIME-Version header when we add content-type.
+
+Johannes Schindelin (2):
+      import-tars: Use the "Link indicator" to identify directories
+      Add a birdview-on-the-source-code section to the user manual
+
+Junio C Hamano (7):
+      git-clone: don't get fooled by $PWD
+      .mailmap: add some aliases
+      checkout: allow detaching to HEAD even when switching to the tip of a branch
+      git-config: do not forget seeing "a.b.var" means we are out of "a.var" section.
+      Fix git-clone buglet for remote case.
+      Prepare for 1.5.1.5 Release Notes
+      GIT v1.5.1.5
+
+Marco Costalba (1):
+      Fix an unmatched comment end in arm/sha1_arm.S
+
+Matthieu Castet (1):
+      Remove stale non-static-inline prototype for tree_entry_extract()
+
+Michael Hendricks (2):
+      git-send-email: allow leading white space on mutt aliases
+      Document core.excludesfile for git-add
+
+Petr Baudis (1):
+      Documentation: git-rev-list's "patterns"
+
+Quy Tonthat (2):
+      RPM spec: include files in technical/ to package.
+      Documentation/branch: fix small typo in -D example
+
+Richard P. Curnow (2):
+      Fix documentation of tag in git-fast-import.txt
+      Fix documentation of tag in git-fast-import.txt
+
+Shawn O. Pearce (1):
+      Properly handle '0' filenames in import-tars
+
+Steffen Prohaska (3):
+      tiny fix in documentation of git-clone
+      git-config: test for 'do not forget "a.b.var" ends "a.var" section'.
+      Fixed link in user-manual
+
+
+Version v1.5.1.4; changes since v1.5.1.3:
+-----------------------------------------
+
+Alex Riesen (1):
+      Small correction in reading of commit headers
+
+Alexandre Julliard (1):
+      http-fetch: Disable use of curl multi support for libcurl < 7.16.
+
+Amos Waterland (1):
+      wcwidth redeclaration
+
+Arjen Laarhoven (1):
+      Document 'opendiff' value in config.txt and git-mergetool.txt
+
+Bryan Larsen (2):
+      Allow PERL_PATH="/usr/bin/env perl"
+      posix compatibility for t4200
+
+Carl Worth (1):
+      Mention version 1.5.1 in tutorial and user-manual
+
+Daniel Barkalow (1):
+      Make xstrndup common
+
+Frank Lichtenheld (1):
+      cvsserver: Handle re-added files correctly
+
+J. Bruce Fields (7):
+      user-manual: more discussion of detached heads, fix typos
+      user-manual: add section ID's
+      user-manual: clean up fast-forward and dangling-objects sections
+      user-manual: fix .gitconfig editing examples
+      user-manual: miscellaneous editing
+      user-manual: stop deprecating the manual
+      user-manual: fix clone and fetch typos
+
+Jakub Narebski (1):
+      diff format documentation: describe raw combined diff format
+
+James Bowes (1):
+      Documentation: fix typo in git-remote.txt
+
+Jeff King (1):
+      Documentation: don't reference non-existent 'git-cvsapplycommit'
+
+Johannes Schindelin (1):
+      Teach import-tars about GNU tar's @LongLink extension.
+
+Junio C Hamano (5):
+      diff.c: fix "size cache" handling.
+      blame: Notice a wholesale incorporation of an existing file.
+      blame: -C -C -C
+      Add test for blame corner cases.
+      GIT v1.5.1.4
+
+Karl Hasselström (2):
+      Fix markup in git-svn man page
+      Add --no-rebase option to git-svn dcommit
+
+Linus Torvalds (1):
+      Fix --boundary output
+
+Martin Koegler (1):
+      Fix compilation of test-delta
+
+Paul Mackerras (1):
+      gitk: Allow user to choose whether to see the diff, old file, or new file
+
+Quy Tonthat (1):
+      Add howto files to rpm packages.
+
+Shawn O. Pearce (1):
+      git-gui: Allow spaces in path to 'wish'
+
+İsmail Dönmez (1):
+      gitweb: use decode_utf8 directly
+
+
+Version v1.5.1.3; changes since v1.5.1.2:
+-----------------------------------------
+
+Adam Roben (5):
+      Remove usernames from all commit messages, not just when using svmprops
+      git-svn: Don't rely on $_ after making a function call
+      git-svn: Ignore usernames in URLs in find_by_url
+      git-svn: Added 'find-rev' command
+      git-svn: Add 'find-rev' command
+
+Alex Riesen (1):
+      Fix handle leak in write_tree
+
+Andrew Ruder (8):
+      Removing -n option from git-diff-files documentation
+      Document additional options for git-fetch
+      Update git-fmt-merge documentation
+      Update git-grep documentation
+      Update -L documentation for git-blame/git-annotate
+      Update git-http-push documentation
+      Update git-local-fetch documentation
+      Update git-http-fetch documentation
+
+Brian Gernhardt (2):
+      Reverse the order of -b and --track in the man page.
+      Ignore all man sections as they are generated files.
+
+Gerrit Pape (1):
+      Documentation/git-reset.txt: suggest git commit --amend in example.
+
+Jari Aalto (3):
+      Clarify SubmittingPatches Checklist
+      git.7: Mention preformatted html doc location
+      send-email documentation: clarify --smtp-server
+
+Johannes Schindelin (2):
+      dir.c(common_prefix): Fix two bugs
+      import-tars: be nice to wrong directory modes
+
+Josh Triplett (3):
+      Fix typo in git-am: s/Was is/Was it/
+      Create a sysconfdir variable, and use it for ETC_GITCONFIG
+      Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation
+
+Julian Phillips (1):
+      http.c: Fix problem with repeated calls of http_init
+
+Junio C Hamano (8):
+      Build RPM with ETC_GITCONFIG=/etc/gitconfig
+      applymbox & quiltimport: typofix.
+      Start preparing for 1.5.1.3
+      Do not barf on too long action description
+      Update .mailmap with "Michael"
+      Fix import-tars fix.
+      Fix symlink handling in git-svn, related to PerlIO
+      GIT v1.5.1.3
+
+Michele Ballabio (1):
+      git shortlog documentation: add long options and fix a typo
+
+Robin H. Johnson (10):
+      Document --dry-run parameter to send-email.
+      Prefix Dry- to the message status to denote dry-runs.
+      Debugging cleanup improvements
+      Change the scope of the $cc variable as it is not needed outside of send_message.
+      Perform correct quoting of recipient names.
+      Validate @recipients before using it for sendmail and Net::SMTP.
+      Ensure clean addresses are always used with Net::SMTP
+      Allow users to optionally specify their envelope sender.
+      Document --dry-run and envelope-sender for git-send-email.
+      Sanitize @to recipients.
+
+Shawn O. Pearce (3):
+      Actually handle some-low memory conditions
+      Don't allow empty pathnames in fast-import
+      Catch empty pathnames in trees during fsck
+
+
+Version v1.5.1.2; changes since v1.5.1.1:
+-----------------------------------------
+
+Alex Riesen (3):
+      Use rev-list --reverse in git-rebase.sh
+      Document -g (--walk-reflogs) option of git-log
+      Fix overwriting of files when applying contextually independent diffs
+
+Andrew Ruder (8):
+      Update git-am documentation
+      Update git-applymbox documentation
+      Update git-apply documentation
+      Update git-annotate/git-blame documentation
+      Update git-archive documentation
+      Update git-cherry-pick documentation
+      Fix unmatched emphasis tag in git-tutorial
+      Update git-config documentation
+
+Andy Whitcroft (1):
+      fix up strtoul_ui error handling
+
+Carlos Rica (1):
+      Use const qualifier for 'sha1' parameter in delete_ref function
+
+Eric Wong (4):
+      git-svn: respect lower bound of -r/--revision when following parent
+      git-svn: quiet some warnings when run only with --version/--help
+      git-svn: don't allow globs to match regular files
+      perl: install private Error.pm if the site version is older than our own
+
+Eygene Ryabinkin (2):
+      Teach gitk to use the user-defined UI font everywhere.
+      Improve look-and-feel of the gitk tool.
+
+Frank Lichtenheld (5):
+      config.txt: Document gitcvs.allbinary
+      config.txt: Document core.autocrlf
+      config.txt: Change pserver to server in description of gitcvs.*
+      config.txt: Fix grammatical error in description of http.noEPSV
+      git-shortlog: Fix two formatting errors in asciidoc documentation
+
+Gerrit Pape (2):
+      variable $projectdesc needs to be set before checking against unchanged default.
+      Have sample update hook not refuse deleting a branch through push.
+
+J. Bruce Fields (7):
+      Documentation: minor edits of git-lost-found manpage
+      Documentation: clarify git-checkout -f, minor editing
+      Documentation: clarify track/no-track option.
+      user-manual: fix discussion of default clone
+      user-manual: detached HEAD
+      user-manual: start revising "internals" chapter
+      user-manual: use detached head when rewriting history
+
+Jim Meyering (1):
+      sscanf/strtoul: parse integers robustly
+
+Junio C Hamano (4):
+      Do not default to --no-index when given two directories.
+      Start preparing for 1.5.1.2
+      git-clone: fix dumb protocol transport to clone from pack-pruned ref
+      GIT 1.5.1.2
+
+Linus Torvalds (1):
+      git-quiltimport complaining yet still working
+
+Matthias Lederhofer (1):
+      handle_options in git wrapper miscounts the options it handled.
+
+Michael Spang (1):
+      git-blame: Fix overrun in fake_working_tree_commit()
+
+Sam Vilain (1):
+      git-tar-tree: complete deprecation conversion message
+
+Shawn O. Pearce (1):
+      git-gui: Brown paper bag fix division by 0 in blame
+
+
+Version v1.5.1.1; changes since v1.5.1:
+---------------------------------------
+
+Arjen Laarhoven (4):
+      usermanual.txt: some capitalization nits
+      t3200-branch.sh: small language nit
+      t5300-pack-object.sh: portability issue using /usr/bin/stat
+      Makefile: iconv() on Darwin has the old interface
+
+Brian Gernhardt (3):
+      Fix t4200-rerere for white-space from "wc -l"
+      Document --left-right option to rev-list.
+      Distinguish branches by more than case in tests.
+
+Dana L. How (1):
+      Fix lseek(2) calls with args 2 and 3 swapped
+
+Eric Wong (3):
+      git-svn: bail out on incorrect command-line options
+      git-svn: dcommit/rebase confused by patches with git-svn-id: lines
+      git-svn: fix log command to avoid infinite loop on long commit messages
+
+Frank Lichtenheld (7):
+      cvsimport: sync usage lines with existing options
+      cvsimport: Improve documentation of CVSROOT and CVS module determination
+      cvsimport: Improve usage error reporting
+      cvsimport: Reorder options in documentation for better understanding
+      cvsimport: Improve formating consistency
+      cvsserver: small corrections to asciidoc documentation
+      cvsserver: Fix handling of diappeared files on update
+
+Geert Bosch (1):
+      Fix renaming branch without config file
+
+Gerrit Pape (1):
+      rename contrib/hooks/post-receieve-email to contrib/hooks/post-receive-email.
+
+Jakub Narebski (1):
+      gitweb: Fix bug in "blobdiff" view for split (e.g. file to symlink) patches
+
+Jim Meyering (1):
+      (encode_85, decode_85): Mark source buffer pointer as "const".
+
+Julian Phillips (1):
+      Documentation: show-ref: document --exclude-existing
+
+Junio C Hamano (7):
+      rerere: make sorting really stable.
+      Fix dependency of common-cmds.h
+      Documentation: tighten dependency for git.{html,txt}
+      Prepare for 1.5.1.1
+      Add Documentation/cmd-list.made to .gitignore
+      fsck: do not complain on detached HEAD.
+      GIT 1.5.1.1
+
+Lars Hjemli (2):
+      rename_ref(): only print a warning when config-file update fails
+      Make builtin-branch.c handle the git config file
+
+René Scharfe (1):
+      Revert "builtin-archive: use RUN_SETUP"
+
+Shawn O. Pearce (1):
+      Honor -p<n> when applying git diffs
+
+Tomash Brechko (1):
+      cvsexportcommit -p : fix the usage of git-apply -C.
+
+Ville Skyttä (1):
+      DESTDIR support for git/contrib/emacs
+
+YOSHIFUJI Hideaki (1):
+      Avoid composing too long "References" header.
+
+
+Version v1.5.1; changes since v1.5.1-rc3:
+-----------------------------------------
+
+Alex Riesen (1):
+      Keep rename/rename conflicts of intermediate merges while doing recursive merge
+
+Andy Parkins (1):
+      Reimplement emailing part of hooks--update in contrib/hooks/post-receive-email
+
+Christian Couder (1):
+      Bisect: Improve error message in "bisect_next_check".
+
+Don Zickus (1):
+      git-mailinfo fixes for patch munging
+
+Eric Wong (2):
+      git-svn: avoid respewing similar error messages for missing paths
+      git-svn: fail on rebase if we are unable to find a ref to rebase against
+
+Francis Daly (1):
+      git-quiltimport /bin/sh-ism fix
+
+Frank Lichtenheld (1):
+      cvsserver: Don't lie about binary mode in asciidoc documentation
+
+Gerrit Pape (2):
+      Documentation/git-svnimport.txt: fix typo.
+      Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES.
+
+H. Peter Anvin (1):
+      git-upload-pack: make sure we close unused pipe ends
+
+Jakub Narebski (2):
+      gitweb: Support comparing blobs (files) with different names
+      Documentation: A few minor fixes to Git User's Manual
+
+Julian Phillips (1):
+      contrib/workdir: add a simple script to create a working directory
+
+Junio C Hamano (6):
+      Update draft release notes for 1.5.1
+      Do not bother documenting fetch--tool
+      Hopefully final update to the draft Release Notes, preparing for 1.5.1
+      rerere should not repeat the earlier hunks in later ones
+      GIT 1.5.0.7
+      GIT 1.5.1
+
+Nicolas Pitre (1):
+      Plug memory leak in index-pack collision checking codepath.
+
+Theodore Ts'o (12):
+      Fix minor formatting issue in man page for git-mergetool
+      mergetool: Replace use of "echo -n" with printf(1) to be more portable
+      mergetool: Don't error out in the merge case where the local file is deleted
+      mergetool: portability fix: don't assume true is in /bin
+      mergetool: portability fix: don't use reserved word function
+      mergetool: factor out common code
+      mergetool: Remove spurious error message if merge.tool config option not set
+      mergetool: Fix abort command when resolving symlinks and deleted files
+      mergetool: Add support for Apple Mac OS X's opendiff command
+      mergetool: Make git-rm quiet when resolving a deleted file conflict
+      mergetool: Clean up description of files and prompts for merge resolutions
+      Rename warn() to warning() to fix symbol conflicts on BSD and Mac OS
+
+
+Version v1.5.1-rc3; changes since v1.5.1-rc2:
+---------------------------------------------
+
+Alexandre Julliard (1):
+      git.el: Display some information about the HEAD commit.
+
+Christian Couder (2):
+      Bisect: Use "git-show-ref --verify" when reseting.
+      Bisect: add checks at the beginning of "git bisect run".
+
+Gerrit Pape (3):
+      Makefile: remove test-chmtime program in target clean.
+      http-fetch: don't use double-slash as directory separator in URLs
+      http-fetch: remove path_len from struct alt_base, it was computed but never used
+
+H. Peter Anvin (1):
+      git-upload-pack: make sure we close unused pipe ends
+
+Jakub Narebski (2):
+      gitweb: Add example of config file and how to generate projects list to gitweb/INSTALL
+      gitweb: Cleanup and uniquify die_error calls
+
+James Bowes (2):
+      read-tree: use xcalloc
+      use xrealloc in help.c
+
+Jeff King (6):
+      git-rm: don't remove newly added file without -f
+      --pretty=format: fix broken %ct and %at interpolation
+      Add some basic tests of rev-list --pretty=format
+      Fix "--pretty=format:" encoding item
+      t/t6006: add tests for a slightly more complex commit messages
+      commit: fix pretty-printing of messages with "\nencoding "
+
+Jim Meyering (1):
+      sha1_file.c (write_sha1_from_fd): Detect close failure.
+
+Johannes Schindelin (1):
+      t4118: be nice to non-GNU sed
+
+Junio C Hamano (7):
+      Document git-log --first-parent
+      sha1_file.c (write_sha1_file): Detect close failure
+      git-commit: "read-tree -m HEAD" is not the right way to read-tree quickly
+      Fix "--pretty=format:" for parent related items.
+      GIT 1.5.0.6
+      Update main git.html page to point at 1.5.0.6 documentation
+      GIT 1.5.1-rc3
+
+Linus Torvalds (1):
+      Fix "getaddrinfo()" buglet
+
+
+Version v1.5.1-rc2; changes since v1.5.1-rc1:
+---------------------------------------------
+
+Alex Riesen (2):
+      Document --quiet option to git-diff
+      Use diff* with --exit-code in git-am, git-rebase and git-merge-ours
+
+Andy Parkins (2):
+      update-hook: abort early if the project description is unset
+      update-hook: remove e-mail sending hook.
+
+Brandon Casey (1):
+      prefer "git COMMAND" over "git-COMMAND" in gitk
+
+Chris Wright (1):
+      make git clone -q suppress the noise with http fetch
+
+Christian Couder (6):
+      Bisect: implement "git bisect run <cmd>..." to automatically bisect.
+      Documentation: bisect: reformat some paragraphs.
+      Documentation: bisect: reword one paragraph.
+      Documentation: bisect: reformat more paragraphs.
+      Documentation: bisect: add some titles to some paragraphs.
+      Documentation: bisect: make a comment fit better in the man page.
+
+Eric Wong (2):
+      gitk: bind <F5> key to Update (reread commits)
+      git-svn: fix rel_path() when not connected to the repository root
+
+J. Bruce Fields (5):
+      user-manual: run xsltproc without --nonet option
+      user-manual: Use def_ instead of ref_ for glossary references.
+      glossary: stop generating automatically
+      glossary: clean up cross-references
+      user-manual: introduce "branch" and "branch head" differently
+
+Jakub Narebski (4):
+      gitweb: Fix "next" link in commit view
+      gitweb: Don't escape attributes in CGI.pm HTML methods
+      gitweb: Fix not marking signoff lines in "log" view
+      gitweb: Add some installation notes in gitweb/INSTALL
+
+James Bowes (2):
+      Replace remaining instances of strdup with xstrdup.
+      use xmalloc in git.c and help.c
+
+Jim Meyering (1):
+      user-manual.txt: fix a tiny typo.
+
+Johannes Schindelin (5):
+      xdiff/xutils.c(xdl_hash_record): factor out whitespace handling
+      Add a HOWTO for setting up a standalone git daemon
+      Provide some technical documentation for shallow clones
+      t4118: be nice to non-GNU sed
+      git-revert: Revert revert message to old behaviour
+
+Johannes Sixt (1):
+      Teach git-remote to list pushed branches.
+
+Junio C Hamano (15):
+      git-log --first-parent: show only the first parent log
+      blame: micro-optimize cmp_suspect()
+      blame: cmp_suspect is not "cmp" anymore.
+      Teach tree_entry_interesting() that the tree entries are sorted.
+      tree-diff: avoid strncmp()
+      tree_entry_interesting(): allow it to say "everything is interesting"
+      git-rebase: make 'rebase HEAD branch' work as expected.
+      git-apply: Do not free the wrong buffer when we convert the data for writeout
+      checkout: report where the new HEAD is upon detaching HEAD
+      git-bisect: typofix
+      git-bisect.sh: properly dq $GIT_DIR
+      Fix path-limited "rev-list --bisect" termination condition.
+      git-am documentation: describe what is taken from where.
+      Update README to point at a few key periodical messages to the list
+      GIT 1.5.1-rc2
+
+Li Yang (1):
+      gitweb: Change to use explicitly function call cgi->escapHTML()
+
+Linus Torvalds (6):
+      Fix loose object uncompression check.
+      Don't ever return corrupt objects from "parse_object()"
+      Be more careful about zlib return values
+      Remove "pathlen" from "struct name_entry"
+      Initialize tree descriptors with a helper function rather than by hand.
+      Switch over tree descriptors to contain a pre-parsed entry
+
+Michael S. Tsirkin (2):
+      fix typo in git-am manpage
+      git-merge: Put FETCH_HEAD data in merge commit message
+
+Nicolas Pitre (10):
+      clean up the delta base cache size a bit
+      use a LRU eviction policy for the delta base cache
+      don't ever allow SHA1 collisions to exist by fetching a pack
+      index-pack: use hash_sha1_file()
+      index-pack: more validation checks and cleanups
+      improve checkout message when asking for same branch
+      minor git-prune optimization
+      update HEAD reflog when branch pointed to by HEAD is directly modified
+      make it more obvious that temporary files are temporary files
+      write_sha1_from_fd() should make new objects read-only
+
+Peter Eriksen (1):
+      Documentation/pack-format.txt: Clear up description of types.
+
+Santi Béjar (1):
+      git-fetch: Fix single_force in append_fetch_head
+
+Shawn O. Pearce (1):
+      contrib/continuous: a continuous integration build manager
+
+Uwe Kleine-König (1):
+      Bisect: convert revs given to good and bad to commits
+
+
+Version v1.5.1-rc1; changes since v1.5.0.7:
+-------------------------------------------
+
+Alex Riesen (7):
+      disable t4016-diff-quote.sh on some filesystems
+      git-gui: Support of "make -s" in: do not output anything of the build itself
+      More build output cleaning up
+      Support of "make -s": do not output anything of the build itself
+      Allow "make -w" generate its usual output
+      Allow git-diff exit with codes similar to diff(1)
+      Add tests for --quiet option of diff programs
+
+Alexandre Julliard (1):
+      git.el: Add support for commit hooks.
+
+Andy Parkins (7):
+      Only show log entries for new revisions in hooks--update
+      Have git-cvsserver call hooks/update before really altering the ref
+      The "table-of-contents" in the update hook script should match the body
+      cvsserver: Remove trailing "\n" from commithash in checkin function
+      cvsserver: Make always-binary mode a config file option
+      Sample update hook: typofix and modernization to use "git log"
+      update-hook: fix incorrect use of git-describe and sed for finding previous tag
+
+Aneesh Kumar K.V (1):
+      Documentation: document remote.<name>.tagopt
+
+Avi Kivity (1):
+      git-send-email: configurable bcc and chain-reply-to
+
+Don Zickus (3):
+      builtin-mailinfo.c infrastrcture changes
+      restrict the patch filtering
+      Add a couple more test cases to the suite.
+
+Eric Wong (119):
+      git-svn: move authentication prompts into their own namespace
+      git-svn: cleanup: move process_rm around
+      git-svn: cleanup: put SVN workarounds into their own namespace
+      git-svn: cleanup: avoid re-use()ing Git.pm in sub-packages
+      git-svn: add Git::SVN module (to avoid global variables)
+      git-svn: convert 'init' to use Git::SVN
+      git-svn: convert multi-init over to using Git::SVN
+      git-svn: make multi-init capable of reusing the Ra connection
+      git-svn: add a test for show-ignore
+      git-svn: convert show-ignore over to Git::SVN
+      git-svn: moved the 'log' command into its own namespace
+      git-svn: port the 'rebuild' command to use Git::SVN objects
+      git-svn: do not let Git.pm warn if we prematurely close pipes
+      git-svn: convert the 'commit-diff' command to Git::SVN
+      git-svn: get rid of Memoize for now...
+      git-svn: fetch/multi-fetch converted over to Git::SVN module
+      git-svn: switch dcommit to using Git::SVN code
+      git-svn: convert 'set-tree' command to use Git::SVN
+      git-svn: remove graft-branches command
+      git-svn: add support for metadata in .git/config
+      git-svn: fix a regression in dcommit that caused empty log messages
+      git-svn: reuse open SVN::Ra connections by URL
+      git-svn: enable --minimize to simplify the config and connections
+      git-svn: fix --follow-parent to work with Git::SVN
+      git-svn: --follow-parent works with svn-remotes multiple branches
+      git-svn: disallow ambigious local refspecs
+      git-svn: allow --follow-parent on deleted directories
+      git-svn: get rid of additional fetch-arguments
+      git-svn: allow 'init' to work outside of tests
+      git-svn: better error reporting if --follow-parent fails
+      git-svn: 'init' attempts to connect to the repository root if possible
+      git-svn: --follow-parent now works on sub-directories of larger branches
+      git-svn: track writes writes to the index in fetch
+      git-svn: add an odd test case that seems to cause segfaults over HTTP
+      git-svn: avoid tracking change-less revisions
+      git-svn: correctly track revisions made to deleted branches
+      git-svn: fix segfaults from accessing svn_log_changed_path_t
+      git-svn: fix committing to subdirectories, add tests
+      git-svn: avoid an extra svn_ra connection during commits
+      git-svn: simplify usage of the SVN::Git::Editor interface
+      git-svn: cleanup remove unused function
+      git-svn: allow multi-fetch to fetch things chronologically
+      git-svn: correctly track diff-less copies with do_switch
+      git-svn: correctly handle do_{switch,update} in deep directories
+      git-svn: stop using path names as refnames with --follow-parent
+      git-svn: cleanup: move editor-specific variables into the editor namespace
+      git-svn: just use Digest::MD5 instead of requiring it
+      git-svn: reinstate the default SVN error handler after using get_log
+      git-svn: don't rely on do_switch + reparenting with svn(+ssh)://
+      git-svn: fetch tracks initial change with --follow-parent
+      git-svn: remove the 'rebuild' command and make the functionality automatic
+      git-svn: fix several fetch bugs related to repeated invocations
+      git-svn: reinstate --no-metadata, add --svn-remote=, variable cleanups
+      git-svn: gracefully handle --follow-parent failures
+      git-svn: make (multi-)fetch safer but slower
+      git-svn: avoid a huge memory spike with high-numbered revisions
+      git-svn: re-enable repacking flags
+      git-svn: do our best to ensure that our ref and rev_db are consistent
+      git-svn: avoid redundant get_log calls between invocations
+      git-svn: use sys* IO functions for reading rev_db
+      git-svn: don't write to the config file from --follow-parent
+      git-svn: save paths to tags/branches with for future reuse
+      git-svn: migrations default to [svn-remote "git-svn"]
+      git-svn: get rid of revisions_eq check for --follow-parent
+      git-svn: avoid extra get_log calls when refspecs are added for fetching
+      git-svn: just name the default svn-remote "svn" instead of "git-svn"
+      git-svn: prepare multi-init for wildcard support
+      git-svn: reintroduce using a single get_log() to fetch
+      git-svn: run get_log() on a sub-directory if possible
+      git-svn: implement auto-discovery of branches/tags
+      git-svn: --follow-parent tracks multi-parent paths
+      git-svn: remove check_path calls before calling do_update
+      git-svn: remove some noisy debugging messages
+      git-svn: enable follow-parent functionality by default
+      git-svn: fix buggy regular expression usage in several places
+      git-svn: correctly handle the -q flag in SVN::Git::Fetcher
+      git-svn: correctly handle globs with a right-hand-side path component
+      git-svn: remove optimized commit stuff for set-tree
+      git-svn: add support for SVN::Mirror/svk using revprops for metadata
+      git-svn: add support for per-[svn-remote "..."] options
+      git-svn: use private $GIT_DIR/svn/config file more
+      git-svn: extra safety for noMetadata and useSvmProps users
+      git-svn: use separate, per-repository .rev_db files
+      git-svn: write the highest maxRex out for branches and tags
+      git-svn: handle multi-init without --trunk, UseSvmProps fixes
+      git-svn: make dcommit usable for glob users
+      git-svn: include merges when calling rev-list for decommit
+      git-svn: usability fixes for the 'git svn log' command
+      t910*: s/repo-config/config/g; poke around possible race conditions
+      git-svn: hopefully make 'fetch' more user-friendly
+      git-svn: allow 'init' to act as multi-init
+      git-svn: brown paper bag fixes
+      git-svn: simplify the (multi-)init methods of fetching
+      git-svn: allow --log-window-size to be specified, default to 100
+      git-svn: remember to check for clean indices on globbed refs, too
+      git-svn: error checking for invalid [svn-remote "..."] sections
+      git-svn: allow dcommit for those who only fetch from SVM with useSvmProps
+      git-svn: documentation updates for new functionality
+      git-svn: add support for --stat in the log command
+      git-svn: checkout files on new fetches
+      git-svn: add a 'rebase' command
+      git-svn: fix some issues for people migrating from older versions
+      git-svn: hide the private git-svn 'config' file as '.metadata'
+      git-svn: add 'clone' command, an alias for init + fetch
+      git-svn: allow overriding of the SVN repo root in metadata
+      git-svn: add support for using svnsync properties
+      git-svn: fix useSvmProps, hopefully for the last time
+      git-svn: add test for useSvnsyncProps
+      git-svn: documentation updates
+      git-svn: allow metadata options to be specified with 'init' and 'clone'
+      git-svn: give show-ignore HEAD smarts, like dcommit and log
+      git-svn: ensure we're at the top-level and can access $GIT_DIR
+      git-svn: fix clone when a target directory has been specified
+      git-svn: fix reconnections to different paths of svn:// repositories
+      git-svn: fix some potential bugs with --follow-parent
+      Add test-chmtime: a utility to change mtime on files
+      Update tests to use test-chmtime
+      git-svn: fix show-ignore when not connected to the repository root
+      git-svn: add -l/--local command to "git svn rebase"
+
+Frank Lichtenheld (3):
+      cvsserver: Use Merged response instead of Update-existing for merged files
+      cvsserver: Be more chatty
+      cvsserver: further improve messages on commit and status
+
+Fredrik Kuivinen (1):
+      New autoconf test for iconv
+
+J. Bruce Fields (1):
+      Make git-send-email aware of Cc: lines.
+
+Jakub Narebski (1):
+      gitweb: Don't escape attributes in CGI.pm HTML methods
+
+James Bowes (3):
+      add: Support specifying an excludes file with a configuration variable
+      Make gc a builtin.
+      mergetool: Add support for vimdiff.
+
+Jeff King (1):
+      New fast-import test case for valid tree sorting
+
+Jim Meyering (2):
+      I like the idea of the new ':/<oneline prefix>' notation, and gave it     a try, but all I could get was a segfault.  It was dereferencing a NULL     commit list.  Fix below.  With it, this example now works:
+      git-grep: don't use sscanf
+
+Johannes Schindelin (42):
+      Teach revision machinery about --reverse
+      teach diff machinery about --ignore-space-at-eol
+      name-rev: introduce the --refs=<pattern> option
+      diff --check: use colour
+      apply: fix memory leak in prefix_one()
+      name-rev: avoid "^0" when unneeded
+      rev-list --max-age, --max-count: support --boundary
+      fetch & clone: do not output progress when not on a tty
+      config: read system-wide defaults from /etc/gitconfig
+      git grep: use pager
+      Teach diff -B about colours
+      apply: make --verbose a little more useful
+      Teach git-diff-files the new option `--no-index`
+      pretty-formats: add 'format:<string>'
+      Make tests independent of global config files
+      Add git-bundle: move objects and references by archive
+      git-bundle: assorted fixes
+      git-bundle: avoid fork() in verify_bundle()
+      git-bundle: fix 'create --all'
+      git-bundle: record commit summary in the prerequisite data
+      Fixup no-progress for fetch & clone
+      object name: introduce ':/<oneline prefix>' notation
+      Fix typo: do not show name1 when name2 fails
+      diff --no-index: also imitate the exit status of diff(1)
+      Actually make print_wrapped_text() useful
+      show_date(): rename the "relative" parameter to "mode"
+      diff: make more cases implicit --no-index
+      print_wrapped_text: fix output for negative indent
+      Make git-revert & git-cherry-pick a builtin
+      diff: support reading a file from stdin via "-"
+      diff --no-index: support /dev/null as filename
+      Get rid of the dependency to GNU diff in the tests
+      cherry-pick: Suggest a better method to retain authorship
+      format-patch: add --inline option and make --attach a true attachment
+      bundle: fix wrong check of read_header()'s return value & add tests
+      git-bundle: avoid packing objects which are in the prerequisites
+      git-bundle: Make thin packs
+      git-bundle: handle thin packs in subcommand "unbundle"
+      git-bundle: die if a given ref is not included in bundle
+      git-bundle: prevent overwriting existing bundles
+      git-bundle: only die if pack would be empty, warn if ref is skipped
+      Do not output "GEN " when generating perl.mak
+
+Johannes Sixt (3):
+      Add core.symlinks to mark filesystems that do not support symbolic links.
+      Handle core.symlinks=false case in merge-recursive.
+      Tell multi-parent diff about core.symlinks.
+
+Julian Phillips (5):
+      Allow fetch--tool to read from stdin
+      Use stdin reflist passing in parse-remote
+      Use stdin reflist passing in git-fetch.sh
+      git-branch: improve abbreviation of sha1s in verbose mode
+      git-branch: document new --no-abbrev option
+
+Junio C Hamano (80):
+      git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 2)
+      Make merge-base a built-in.
+      Allow in_merge_bases() to take more than one reference commits.
+      Remove git-resolve.
+      Remove git-diff-stages.
+      Add link to v1.5.0 documentation.
+      blame: --show-stats for easier optimization work.
+      git-fetch: split fetch_main into fetch_dumb and fetch_native
+      git-fetch--tool: start rewriting parts of git-fetch in C.
+      git-fetch: move more code into C.
+      git-fetch: rewrite another shell loop in C
+      git-fetch: rewrite expand_ref_wildcard in C
+      Document --ignore-space-at-eol option.
+      Add RelNotes 1.5.1
+      Point top-level RelNotes link at 1.5.1 release notes being prepared.
+      t0020: add test for auto-crlf
+      remotes.not-origin.tagopt
+      Teach 'git apply' to look at $GIT_DIR/config
+      Teach core.autocrlf to 'git apply'
+      Update draft release notes for 1.5.1
+      Teach 'git apply' to look at $HOME/.gitconfig even outside of a repository
+      git-apply: do not lose cwd when run from a subdirectory.
+      git-apply: require -p<n> when working in a subdirectory.
+      Link 1.5.0.1 documentation from the main page.
+      Add prefixcmp()
+      Mechanical conversion to use prefixcmp()
+      prefixcmp(): fix-up mechanical conversion.
+      prefixcmp(): fix-up leftover strncmp().
+      t4119: add test for traditional patch and different p_value
+      Fix botched "leak fix"
+      git-apply: notice "diff --git" patch again
+      git-apply: guess correct -p<n> value for non-git patches.
+      t4119: test autocomputing -p<n> for traditional diff input.
+      git-status: do not be totally useless in a read-only repository.
+      update-index: do not die too early in a read-only repository.
+      run_diff_{files,index}(): update calling convention.
+      .mailmap maintenance after pulling from git-svn
+      bundle: reword missing prerequisite error message
+      git-fetch--tool takes flags before the subcommand.
+      diff --cached: give more sensible error message when HEAD is yet to be created.
+      Documentation: link in 1.5.0.2 material to the top documentation page.
+      builtin-fetch--tool: adjust to updated sha1_object_info().
+      Make 'cvs ci' lockless in git-cvsserver by using git-update-ref
+      fetch--tool: fix uninitialized buffer when reading from stdin
+      builtin-fetch--tool: make sure not to overstep ls-remote-result buffer.
+      index_fd(): use enum object_type instead of type name string.
+      index_fd(): pass optional path parameter as hint for blob conversion
+      index_fd(): convert blob only if it is a regular file.
+      Add recent changes to draft 1.5.1 release notes.
+      git-fetch: retire update-local-ref which is not used anymore.
+      builtin-fetch--tool: fix reflog notes.
+      diff-ni: allow running from a subdirectory.
+      diff-ni: fix the diff with standard input
+      .gitignore: add git-fetch--tool
+      format-patch --attach: not folding some long headers.
+      Post 1.5.0.3 cleanup
+      fsck: fix broken loose object check.
+      unpack_sha1_file(): detect corrupt loose object files.
+      fsck: exit with non-zero status upon errors
+      git-bundle: fix pack generation.
+      revision walker: Fix --boundary when limited
+      revision traversal: retire BOUNDARY_SHOW
+      git-bundle: various fixups
+      revision traversal: SHOWN means shown
+      git-bundle: make verify a bit more chatty.
+      revision --boundary: fix stupid typo
+      revision --boundary: fix uncounted case.
+      Fix broken create_branch() in builtin-branch.
+      prepare_packed_git(): sort packs by age and localness.
+      Documentation: add git-mergetool to the command list.
+      shortlog: prompt when reading from terminal by mistake
+      Remove unused diffcore_std_no_resolve
+      diff --quiet
+      Teach --quiet to diff backends.
+      revision.c: explain what tree_difference does
+      try-to-simplify-commit: use diff-tree --quiet machinery.
+      applymbox: brown paper bag fix.
+      Update main git.html page to point at 1.5.0.5 documentation
+      Fix merge-index
+      GIT 1.5.1-rc1
+
+Li Yang (1):
+      gitweb: Change to use explicitly function call cgi->escapHTML()
+
+Linus Torvalds (8):
+      Lazy man's auto-CRLF
+      Make AutoCRLF ternary variable.
+      Re-fix get_sha1_oneline()
+      Make trivial wrapper functions around delta base generation and freeing
+      Implement a simple delta_base cache
+      Avoid unnecessary strlen() calls
+      Trivial cleanup of track_tree_refs()
+      Set up for better tree diff optimizations
+
+Martin Waitz (1):
+      Support for large files on 32bit systems.
+
+Michael Coleman (2):
+      git-send-email: abort/usage on bad option
+      fix various doc typos
+
+Nicolas Pitre (12):
+      sha1_file.c: cleanup hdr usage
+      sha1_file.c: cleanup "offset" usage
+      sha1_file.c: don't ignore an error condition in sha1_loose_object_info()
+      formalize typename(), and add its reverse type_from_string()
+      convert object type handling from a string to a number
+      get rid of lookup_object_type()
+      make sure enum object_type is signed
+      local-fetch.c: some error printing cleanup
+      fix t5300-pack-object.sh
+      add test for OFS_DELTA objects
+      clean up pack index handling a bit
+      Reuse cached data out of delta base cache.
+
+Paolo Bonzini (5):
+      git-config: document --rename-section, provide --remove-section
+      git-archimport: allow remapping branch names
+      git-commit: add a --interactive option
+      git-branch, git-checkout: autosetup for remote branch tracking
+      git-fetch, git-branch: Support local --track via a special remote '.'
+
+Pavel Roskin (1):
+      git-remote: support remotes with a dot in the name
+
+Sam Vilain (3):
+      git-svn: make test for SVK mirror path import
+      git-svn: don't consider SVN URL usernames significant when comparing
+      git-svn: document --username
+
+Santi Béjar (2):
+      t/t5515-fetch-merge-logic.sh: Added tests for the merge login in git-fetch
+      t/t5515-fetch-merge-logic.sh: Add two more tests
+
+Sergey Vlasov (1):
+      Documentation/git-svn.txt: Fix formatting errors
+
+Shawn O. Pearce (43):
+      Cleanup check_valid in commit-tree.
+      cherry-pick: Bug fix 'cherry picked from' message.
+      Make 'make' quieter while building git
+      Make 'make' quiet by default
+      Display the null SHA-1 as the base for an OBJ_OFS_DELTA.
+      Fix mmap leak caused by reading bad indexes.
+      Don't build external_grep if its not used
+      General const correctness fixes
+      Use uint32_t for all packed object counts.
+      Use uint32_t for pack-objects counters.
+      Use off_t when we really mean a file offset.
+      Use off_t in pack-objects/fast-import when we mean an offset
+      Cast 64 bit off_t to 32 bit size_t
+      Preallocate memory earlier in fast-import
+      Move post-update hook to after all other activity
+      Don't run post-update hook unless a ref changed
+      Refactor run_update_hook to be more useful
+      Refactor handling of error_string in receive-pack
+      Teach receive-pack to run pre-receive/post-receive hooks
+      Use atomic updates to the fast-import mark file
+      Allow fast-import frontends to reload the marks table
+      Switch to run_command_v_opt in revert
+      Remove unused run_command variants
+      Start defining a more sophisticated run_command
+      Split run_command into two halves (start/finish)
+      Teach run_command how to setup a stdin pipe
+      Refactor run_command error handling in receive-pack
+      Split back out update_hook handling in receive-pack
+      Change {pre,post}-receive hooks to use stdin
+      Remove unnecessary casts from fast-import
+      Simplify closing two fds at once in run-command.c
+      Fix t5510-fetch's use of sed
+      Teach run-command about stdout redirection
+      Teach run-command to redirect stdout to /dev/null
+      Replace fork_with_pipe in bundle with run_command
+      Correct new compiler warnings in builtin-revert
+      Use RUN_GIT_CMD to run push backends
+      Use run_command for proxy connections
+      Use run_command within merge-index
+      Use run_command within receive-pack to invoke index-pack
+      Use run_command within send-pack
+      use xstrdup please
+      Limit the size of the new delta_base_cache
+
+Simon 'corecode' Schubert (1):
+      Allow passing of an alternative CVSROOT via -d.
+
+Theodore Ts'o (5):
+      Teach git-remote to update existing remotes by fetching from them
+      Add config_boolean() method to the Git perl module
+      Allow git-remote to update named groups of remotes
+      Add git-mergetool to run an appropriate merge conflict resolution program
+      mergetool: print an appropriate warning if merge.tool is unknown
+
+Xavier Maillard (1):
+      contrib/emacs: Use non-interactive function to byte-compile files
+
+
+Version v1.5.0.7; changes since v1.5.0.6:
+-----------------------------------------
+
+Gerrit Pape (2):
+      Documentation/git-svnimport.txt: fix typo.
+      Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES.
+
+H. Peter Anvin (1):
+      git-upload-pack: make sure we close unused pipe ends
+
+Junio C Hamano (2):
+      rerere should not repeat the earlier hunks in later ones
+      GIT 1.5.0.7
+
+
+Version v1.5.0.6; changes since v1.5.0.5:
+-----------------------------------------
+
+J. Bruce Fields (5):
+      user-manual: run xsltproc without --nonet option
+      user-manual: Use def_ instead of ref_ for glossary references.
+      glossary: stop generating automatically
+      glossary: clean up cross-references
+      user-manual: introduce "branch" and "branch head" differently
+
+Jakub Narebski (4):
+      gitweb: Fix "next" link in commit view
+      gitweb: Don't escape attributes in CGI.pm HTML methods
+      gitweb: Fix not marking signoff lines in "log" view
+      gitweb: Add some installation notes in gitweb/INSTALL
+
+Jeff King (1):
+      commit: fix pretty-printing of messages with "\nencoding "
+
+Jim Meyering (1):
+      user-manual.txt: fix a tiny typo.
+
+Johannes Schindelin (1):
+      t4118: be nice to non-GNU sed
+
+Junio C Hamano (2):
+      git-commit: "read-tree -m HEAD" is not the right way to read-tree quickly
+      GIT 1.5.0.6
+
+Li Yang (1):
+      gitweb: Change to use explicitly function call cgi->escapHTML()
+
+Michael S. Tsirkin (1):
+      fix typo in git-am manpage
+
+Peter Eriksen (1):
+      Documentation/pack-format.txt: Clear up description of types.
+
+
+Version v1.5.0.5; changes since v1.5.0.4:
+-----------------------------------------
+
+Junio C Hamano (1):
+      GIT 1.5.0.5
+
+Santi Béjar (1):
+      git-merge: finish when git-read-tree fails
+
+
+Version v1.5.0.4; changes since v1.5.0.3:
+-----------------------------------------
+
+Alexandre Julliard (2):
+      git.el: Avoid appending a signoff line that is already present.
+      git.el: Retrieve commit log information from .dotest directory.
+
+Avi Kivity (1):
+      git-send-email: Document configuration options
+
+Brian Gernhardt (1):
+      Fix diff-options references in git-diff and git-format-patch
+
+Frank Lichtenheld (1):
+      cvsserver: asciidoc formatting changes
+
+J. Bruce Fields (7):
+      glossary: fix overoptimistic automatic linking of defined terms
+      user-manual: fix inconsistent example
+      user-manual: fix inconsistent use of pull and merge
+      user-manual: fix missing colon in git-show example
+      user-manual: fix rendering of history diagrams
+      user-manual: install user manual stylesheet with other web documents
+      git-merge: warn when -m provided on a fast forward
+
+Jeff King (2):
+      Documentation: s/seperator/separator/
+      fast-import: grow tree storage more aggressively
+
+Johannes Schindelin (2):
+      Begin SubmittingPatches with a check list
+      make t8001 work on Mac OS X again
+
+Junio C Hamano (3):
+      git-commit: cd to top before showing the final stat
+      git-checkout: fix "eval" used for merge labelling.
+      GIT 1.5.0.4
+
+Matthias Kestenholz (1):
+      Adjust reflog filemode in shared repository
+
+Matthias Lederhofer (1):
+      setup_git_directory_gently: fix off-by-one error
+
+Shawn O. Pearce (13):
+      git-gui: Relocate the menu/transport menu code.
+      git-gui: Add Reset to the Branch menu.
+      git-gui: Don't create empty (same tree as parent) commits.
+      git-gui: Remove unnecessary /dev/null redirection.
+      fast-import: Avoid infinite loop after reset
+      fast-import: Fail if a non-existant commit is used for merge
+      git-gui: Make 'make' quieter by default
+      Catch write_ref_sha1 failure in receive-pack
+      git-gui: Allow committing empty merges
+      git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed."     This reverts commit 92446aba47b0e0db28f7b858ea387efcca30ab44.
+      git-gui: Revert "git-gui: Display all authors of git-gui."     This reverts commit 871f4c97ad7e021d1a0a98c80c5da77fcf70e4af.
+      git-gui: Allow 'git gui version' outside of a repository
+      Don't package the git-gui credits file anymore
+
+Theodore Ts'o (1):
+      Add definition of <commit-ish> to the main git man page.
+
+Yann Dirson (1):
+      Clarify doc for git-config --unset-all.
+
+
+Version v1.5.0.3; changes since v1.5.0.2:
+-----------------------------------------
+
+Alexandre Julliard (1):
+      git.el: Set the default commit coding system from the repository config.
+
+Aneesh Kumar K.V (1):
+      blameview: Fix the browse behavior in blameview
+
+Christian Schlotter (1):
+      Documentation: Correct minor typo in git-add documentation.
+
+Eygene Ryabinkin (2):
+      http-push.c::lock_remote(): validate all remote refs.
+      Another memory overrun in http-push.c
+
+Gerrit Pape (2):
+      git-cvsexportcommit: don't cleanup .msg if not yet committed to cvs.
+      Fix quoting in update hook template
+
+J. Bruce Fields (6):
+      Documentation: mention module option to git-cvsimport
+      user-manual: reset to ORIG_HEAD not HEAD to undo merge
+      user-manual: ensure generated manual references stylesheet
+      user-manual: insert earlier of mention content-addressable architecture
+      user-manual: how to replace commits older than most recent
+      user-manual: more detailed merge discussion
+
+Jim Meyering (1):
+      diff --cc: integer overflow given a 2GB-or-larger file
+
+Johannes Schindelin (3):
+      fetch.o depends on the headers, too.
+      builtin-archive: use RUN_SETUP
+      Document the config variable format.suffix
+
+Junio C Hamano (5):
+      git-apply: do not fix whitespaces on context lines.
+      Documentation: git-remote add [-t <branch>] [-m <branch>] [-f] name url
+      Start preparing Release Notes for 1.5.0.3
+      git-merge: fail correctly when we cannot fast forward.
+      GIT 1.5.0.3
+
+Linus Torvalds (2):
+      mailinfo: do not get confused with logical lines that are too long.
+      git-show: Reject native ref
+
+Matthias Kestenholz (1):
+      Fix git-gc usage note
+
+Michael Coleman (2):
+      Fix minor typos/grammar in user-manual.txt
+      builtin-fmt-merge-msg: fix bugs in --file option
+
+Michael Poole (1):
+      Correct ordering in git-cvsimport's option documentation
+
+Paolo Bonzini (1):
+      git-archimport: support empty summaries, put summary on a single line.
+
+Ramsay Allan Jones (5):
+      Fix a "label defined but unreferenced" warning.
+      Fix an "implicit function definition" warning.
+      Fix some "comparison is always true/false" warnings.
+      Fix a "pointer type missmatch" warning.
+      Unset NO_C99_FORMAT on Cygwin.
+
+Sergey Vlasov (3):
+      Documentation/build-docdep.perl: Fix dependencies for included asciidoc files
+      Documentation/git-quiltimport.txt: Fix labeled list formatting
+      Documentation/git-send-email.txt: Fix labeled list formatting
+
+Shawn O. Pearce (1):
+      index-pack: Loop over pread until data loading is complete.
+
+Theodore Ts'o (1):
+      Fix git-show man page formatting in the EXAMPLES section
+
+Uwe Kleine-König (1):
+      Include config.mak in doc/Makefile
+
+Yasushi SHOJI (1):
+      glossary: Add definitions for dangling and unreachable objects
+
+
+Version v1.5.0.2; changes since v1.5.0.1:
+-----------------------------------------
+
+Christian Schlotter (1):
+      git-clone: Sync documentation to usage note.
+
+Dmitry V. Levin (1):
+      git-show-ref --verify: Fail if called without a reference
+
+Fredrik Kuivinen (1):
+      Fix 'git commit -a' in a newly initialized repository
+
+Jason Riedy (3):
+      Add a compat/strtoumax.c for Solaris 8.
+      Obey NO_C99_FORMAT in fast-import.c.
+      Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.
+
+Johannes Schindelin (1):
+      git-diff: fix combined diff
+
+Junio C Hamano (11):
+      Reword git-am 3-way fallback failure message.
+      diff-patch: Avoid emitting double-slashes in textual patch.
+      Don't modify CREDITS-FILE if it hasn't changed.
+      rerere: do not skip two conflicted paths next to each other.
+      rerere: do not deal with symlinks.
+      Add Release Notes to prepare for 1.5.0.2
+      merge-index: fix longstanding bug in merging symlinks
+      merge-recursive: fix longstanding bug in merging symlinks
+      diff --cc: fix display of symlink conflicts during a merge.
+      Documentation: describe "-f/-t/-m" options to "git-remote add"
+      GIT 1.5.0.2
+
+Martin Koegler (1):
+      git-gui: Create new branches from a tag.
+
+Michael Loeffler (1):
+      Use gunzip -c over gzcat in import-tars example.
+
+Pavel Roskin (1):
+      git-remote: support remotes with a dot in the name
+
+Robin Rosenberg (1):
+      Limit filename for format-patch
+
+Roland Dreier (1):
+      Allow arbitrary number of arguments to git-pack-objects
+
+Santi Béjar (1):
+      core.legacyheaders: Use the description used in RelNotes-1.5.0
+
+Shawn O. Pearce (16):
+      git-gui: Refactor 'exec git subcmd' idiom.
+      git-gui: Basic version check to ensure git 1.5.0 or later is used.
+      git-gui: Permit merging tags into the current branch.
+      git-gui: More consistently display the application name.
+      git-gui: Print version on the console.
+      git-gui: Prefer version file over git-describe.
+      git-gui: Expose the browser as a subcommand.
+      git-gui: Correct crash when saving options in blame mode.
+      git-gui: Use mixed path for docs on Cygwin.
+      git-gui: Display all authors of git-gui.
+      git-gui: Change summary of git-gui.
+      git-gui: Include browser in our usage message.
+      git-gui: Remove TODO list.
+      git-gui: Don't crash in citool mode on initial commit.
+      Document the new core.bare configuration option.
+      Include git-gui credits file in dist.
+
+
+Version v1.5.0.1; changes since v1.5.0:
+---------------------------------------
+
+Alexandre Julliard (2):
+      git-daemon: Avoid leaking the listening sockets into child processes.
+      sha1_file.c: Round the mmap offset to half the window size.
+
+Fredrik Kuivinen (2):
+      Read the config in rev-list
+      Documentation/i18n.txt: it is i18n.commitencoding not core.commitencoding
+
+Junio C Hamano (15):
+      Documentation: Drop full-stop from git-fast-import title.
+      cmd-list: add git-remote
+      Makefile: update check-docs target
+      Clarify two backward incompatible repository options.
+      Still updating 1.5.0 release notes.
+      Add RelNotes 1.5.0.1
+      Make sure packedgitwindowsize is multiple of (pagesize * 2)
+      Make gitk work reasonably well on Cygwin.
+      gitk: Use show-ref instead of ls-remote
+      GIT-VERSION-FILE: check ./version first.
+      pretend-sha1: grave bugfix.
+      git-merge: minor fix for no_trivial_merge_strategies.
+      Do not take mode bits from index after type change.
+      Update draft release notes for 1.5.0.1
+      GIT 1.5.0.1
+
+Mark Levedahl (3):
+      gitk - remove trailing whitespace from a few lines.
+      Make gitk save and restore the user set window position.
+      Make gitk save and restore window pane position on Linux and Cygwin.
+
+Nicolas Pitre (1):
+      Minor corrections to release notes
+
+Paul Mackerras (1):
+      Change git repo-config to git config
+
+Shawn O. Pearce (2):
+      Attempt to improve git-rebase lead-in description.
+      Convert update-index references in docs to add.
+
+Tommi Kyntola (1):
+      git-blame: prevent argument parsing segfault
+
+
+Version v1.5.0; changes since v1.5.0-rc4:
+-----------------------------------------
+
+Alexandre Julliard (3):
+      diff.c: Reuse the pprint_rename function for diff --summary output.
+      diff.c: Properly quote file names in diff --summary output.
+      diff.c: More logical file name quoting for renames in diffstat.
+
+Andy Parkins (2):
+      git-gui: fix typo in GIT-VERSION-GEN, "/dev/null" not "/devnull"
+      Fix potential command line overflow in hooks--update
+
+Aneesh Kumar K.V (1):
+      blameview: Move the commit info to a pane below the blame window.
+
+David Kågedal (5):
+      Handle uncommitted changes and cache descriptions
+      git-blame.el: improve color handling
+      git-blame.el: blame unsaved changes
+      git-blame.el: Doc fixes and cleanup
+      git-blame.el: Autoupdate while editing
+
+Dotan Barak (1):
+      Make it easier to override path to asciidoc command
+
+Eric Wong (1):
+      git-svn: correctly handle boolean options via git-config
+
+Jakub Narebski (2):
+      git-blame: Add Emacs Lisp file headers and GNU GPL boilerplate
+      git-blame: Change installation instructions
+
+James Bowes (1):
+      Read cvsimport options from repo-config
+
+Johannes Schindelin (5):
+      for_each_reflog_ent: be forgiving about missing message
+      log --reflog: honour --relative-date
+      format-patch -n: make sorting easier by padding number
+      log --reflog: use dwim_log
+      git-gc: run pack-refs by default unless the repo is bare
+
+Junio C Hamano (17):
+      create_symref(): create leading directories as needed.
+      reflog: handle $name => remotes/%s/HEAD mapping consistently for logs
+      Documentation/git-pull: describe default behaviour and config interactions
+      git-fetch: document automatic tag following.
+      wt_status_prepare(): clean up structure initialization.
+      diff_flush_name(): take struct diff_options parameter.
+      t4016: test quoting funny pathnames in diff output
+      Documentation: git-rebase -C<n>
+      Teach git-am to pass -p option down to git-apply
+      Add discussion section to git-tag documentation.
+      Add RPM target for git-gui
+      Do not forget to pack objects reachable from HEAD reflog.
+      for-each-reflog: not having $GIT_DIR/logs directory is not an error.
+      "git-fetch --tags $URL" should not overwrite existing tags
+      Documentation: Moving out of detached HEAD does not warn anymore.
+      Add release notes to the distribution.
+      GIT 1.5.0
+
+Linus Torvalds (2):
+      git reflog show
+      Mark places that need blob munging later for CRLF conversion.
+
+Mark Levedahl (2):
+      Make gitk save and restore the user set window position.
+      Make gitk save and restore window pane position on Linux and Cygwin.
+
+Matthias Lederhofer (1):
+      git merge documentation: -m is optional
+
+Michael Loeffler (1):
+      import-tars: brown paper bag fix for file mode.
+
+Michael S. Tsirkin (3):
+      Update git-log and git-show documentation
+      add -C[NUM] to git-am
+      Document that git-am can read standard input.
+
+Michael Spang (1):
+      Work around Subversion race in git-svn tests.
+
+Mukund (1):
+      Fixed some typos in git-repack docs
+
+Nicolas Pitre (2):
+      remove mailmap.linux
+      Update RPM core package description
+
+Pavel Roskin (1):
+      Clarify that git-update-server-info should be run for every git-push
+
+René Scharfe (1):
+      Avoid ugly linewrap in git help
+
+Shawn O. Pearce (313):
+      git-gui: Initial revision.
+      git-gui: Additional early feature development.
+      git-gui: Fixed UI layout problems on Windows.
+      git-gui: Corrected keyboard bindings on Windows, improved state management.
+      git-gui: Verify we should actually perform a commit when asked to do so.
+      git-gui: Finished commit implementation.
+      git-gui: Implemented amended commits.
+      git-gui: Misc. nit type of bug fixes.
+      git-gui: Started construction of fetch and push operations.
+      git-gui: Worked around environment variable problems on Windows.
+      git-gui: Reorganized startup procedure to ensure gitdir is right.
+      git-gui: Fix menu item accelerator display on Mac OS X.
+      git-gui: Correctly handle CR vs. LF within the console of fetch.
+      git-gui: Check for fetch or push command failure and denote it.
+      git-gui: Don't complain if no .git/remotes exist.
+      git-gui: Added current TODO list.
+      git-gui: Last minute idea about fetch shortcuts.
+      git-gui: Automatically reopen any console closed by the user.
+      git-gui: Cache all repo-config data in an array.
+      git-gui: Added support for pulling from default branch of a remote.
+      git-gui: Updated TODO list now that pull is starting to work.
+      git-gui: Corrected diff-index/diff-files protocol parsing errors.
+      git-gui: Performance improvements for large file sets.
+      git-gui: More performance improvements to rescan logic.
+      git-gui: Flip commit message buffer and diff area.
+      git-gui: Added repack database menu option, to invoke git repack.
+      git-gui: Allow the user to disable update-index --refresh during rescan.
+      git-gui: Grab the index lock while running pull.
+      git-gui: Pluralize timestamps within the options menu.
+      git-gui: Disable pull menu items when the index is locked.
+      git-gui: Don't let the user pull into an uncommitted working directory.
+      git-gui: Update TODO list.
+      git-gui: Bug fix for bad variable reference in display_file.
+      git-gui: Changed term 'check-in' to 'include'.
+      git-gui: Show only the abbreviated SHA1 after committing.
+      git-gui: Cache the GIT_COMMITTER_IDENT value on first sign-off.
+      git-gui: Save window geometry to .git/config during exit.
+      git-gui: Change accelerator for "Include All" to M1-I.
+      git-gui: Created edit menu and basic editing bindings.
+      git-gui: Clear undo/redo stack when loading a message file from disk.
+      git-gui: Updated TODO list now that geometry is stored.
+      git-gui: Always indicate the file in the diff viewer.
+      git-gui: Correctly handle files containing LF in their name.
+      git-gui: Efficiently update the UI after committing.
+      git-gui: Use catch rather than array names to check file.
+      git-gui: Rename difffont/mainfont variables.
+      git-gui: Use native tk_messageBox for errors.
+      git-gui: Cleaned up error message formatting.
+      git-gui: Simplified format of geometry configuration.
+      git-gui: Misc. formatting cleanups.
+      git-gui: Misc. bug fixes for mouse click crashes.
+      git-gui: Added context menus for consoles and commit message buffer.
+      git-gui: Fix mouse cursor behavior when in widgets.
+      git-gui: Teach sign off to be more intelligent.
+      git-gui: Corrected font used for options menu items.
+      git-gui: Honor system font and let user configure fonts.
+      git-gui: Allow the user to change the diff viewer font size.
+      git-gui: Refresh a file if it has an empty diff.
+      git-gui: Make use of the Tk font system rather than faking it.
+      git-gui: Improve right click context menu binding on all platforms.
+      git-gui: Rename quitting global to is_quitting.
+      git-gui: Use arrow cursor rather than left_ptr.
+      git-gui: Refactor options menu into an options dialog.
+      git-gui: Allow the user to manipulate the fonts from the options panel.
+      git-gui: Supply progress feedback when running update-index.
+      git-gui: Minor options dialog UI cleanups.
+      git-gui: Added Options... menu item to end of diff context menu.
+      git-gui: Use 'after 1' to post UI rather than tkwait.
+      git-gui: Correct bugs in font config handling.
+      git-gui: Hide non-commit related commands when invoked as git-citool.
+      git-gui: Don't load the global options unless necessary.
+      git-gui: Allow the user to disable diff stat summary during pull.
+      git-gui: Run the pre-commit hook in the background.
+      git-gui: Remove the commit_active global variable.
+      git-gui: Added post-commit invocation after the commit is done.
+      git-gui: Always use eq/ne for string comparsions.
+      git-gui: Reshow diff if we sent the file to update-index.
+      git-gui: Cleanup diff construction code to prepare for more options.
+      git-gui: Allow the user to control the number of context lines in a diff.
+      git-gui: Sort the list of paths being updated in the index.
+      git-gui: Use a smaller pipe buffer for update-index.
+      git-gui: Allow the user to copy name of the file in the diff viewer.
+      git-gui: Correct language for M_/A_ status codes.
+      git-gui: Display status on left in diff header.
+      git-gui: Minor UI layout improvements for console windows.
+      git-gui: Reverted file name text field to a label.
+      git-gui: By default don't allow partially included files.
+      git-gui: Refactor mouse clicking on file names/icons.
+      git-gui: Narrow the no differences information message.
+      git-gui: Implemented multiple selection in file lists.
+      git-gui: Refactor update_status -> rescan.
+      git-gui: Provide an after-rescan script to rescan.
+      git-gui: Allow update_index to also run a script when it completes.
+      git-gui: Automatically update-index all included files before commit.
+      git-gui: Disable diff actions when no diff is active.
+      git-gui: Created makefile to install the program.
+      git-gui: Correctly handle GIT_DIR environment variable.
+      git-gui: Create Windows shortcut icons for git-gui.
+      git-gui: Protect ourselves from funny GIT_DIR/working directory setups.
+      git-gui: Handle ' within paths when creating Windows shortcuts.
+      git-gui: Only populate a fetch or push if we have an action.
+      git-gui: Create a .app file on MacOS X if requested.
+      git-gui: Display error dialog on Mac OS X when no .git found.
+      git-gui: Make initial commits work properly.
+      git-gui: Only reshow diff when really necessary.
+      git-gui: Refactor file state representations.
+      git-gui: Add menu option to include only selected files.
+      git-gui: Misc. comment formatting cleanups.
+      git-gui: Start UI with the index locked.
+      git-gui: Remove completed items from TODO list.
+      git-gui: Toggle between new commit and amend commit modes.
+      git-gui: Verify the user has GIT_COMMITTER_IDENT before comitting.
+      git-gui: Rephrase rescan before commit informational message.
+      git-gui: Allow adding untracked files in selection.
+      git-gui: Don't create PkgInfo on Mac OS X "desktop icons".
+      git-gui: Teach the gui how to uninclude a file.
+      git-gui: Make consecutive icon clicks toggle included status of a file.
+      git-gui: Correct toggling of deleted file status.
+      git-gui: Fix list loading corruption introduced by 1461c5f3.
+      git-gui: Describe deleted symlinks in a more friendly way.
+      git-gui: Correct toggling of added/untracked status for new files.
+      git-gui: Updated TODO list now that a task is complete.
+      git-gui: Refactored diff line display formatting logic.
+      git-gui: Restore the all important shebang line.
+      git-gui: Update in memory states after commit.
+      git-gui: Correct some state matchings for include/remove.
+      git-gui: Improve handling of merge commits.
+      git-gui: Allow users to run fsck-objects from the gui.
+      git-gui: Don't save amended commit message buffer.
+      git-gui: Reworded verify console title.
+      git-gui: Seperate out the database operations in project menu.
+      git-gui: Rename Project menu to Repository.
+      git-gui: Added about dialog box.
+      git-gui: Be more Macintosh like.
+      git-gui: Make the copyright notice serve double duty.
+      git-gui: Include the Tcl/Tk version in the about dialog.
+      git-gui: Abstract out windows platform test to is_Windows proc.
+      git-gui: Correct is_MacOSX platform test.
+      git-gui: Warn Cygwin users about possible environment issues.
+      git-gui: Added configuration editor TODO list.
+      git-gui: Refactor M1 binding selection.
+      git-gui: Added menu command to visualize all branches.
+      git-gui: Don't start 'gitk --all' on Mac OS X.
+      git-gui: Improve pull error dialogs.
+      git-gui: Added revert changes command.
+      git-gui: Display the current branch.
+      git-gui: Support file state MD (modified/deleted).
+      git-gui: Created Branch menu.
+      git-gui: Parse off refs/remotes when showing current branch.
+      git-gui: Abort on not implemented branch switching.
+      git-gui: Automatically skip tracking branches in branch menu.
+      git-gui: Rename all_branches -> all_heads.
+      git-gui: Misc. comment and formatting cleanups.
+      git-gui: Started implementation of switch_branch.
+      git-gui: Set a proper title on our revert confirm dialog box.
+      git-gui: Updated todo list.
+      git-gui: Enable resolution of merge conflicts.
+      git-gui: Auto-update any A? or M? files during rescan.
+      git-gui: Reworded 'Include' to 'Add' to match core Git.
+      git-gui: Created very crude Tools menu, to support miga.
+      git-gui: Show all fetched branches for remote pulls.
+      git-gui: Run git-gc rather than git-repack.
+      git-gui: Corrected behavior of deleted (but existing in HEAD) files.
+      git-gui: Correct wording of the revert confirmation dialog.
+      git-gui: Work around odd cygpath bug on Windows.
+      git-gui: Change more 'include' language to 'add'.
+      git-gui: Hide the ugly bash command line from the windows desktop icon.
+      git-gui: Modified makefile to embed version into git-gui script.
+      git-gui: Display the git-gui version in the Help->About dialog.
+      git-gui: Display the full GPL copyright notice in about dialog.
+      git-gui: Ensure version number is always current.
+      git-gui: Allow the user to copy the version data to the clipboard.
+      git-gui: Don't offer my miga hack if its configuration file isn't present.
+      git-gui: Suggest when running 'git gc' may be worthwhile.
+      git-gui: Refactor reponame computation.
+      git-gui: Cleanup usage of gitdir global variable.
+      git-gui: Allow [gitdir ...] to act as [file join [gitdir] ...].
+      git-gui: Make the gitk starting message match our usual format.
+      git-gui: Display the directory we are entering during startup.
+      git-gui: Start file status display refactoring.
+      git-gui: Convert UI to use 'staged for commit' interface.
+      git-gui: Correct DD file state to be only D_.
+      git-gui: Remove invalid DM state.
+      git-gui: Cleanup state descriptions.
+      git-gui: Refactor add/remove proc names to align with reality.
+      git-gui: Add or unstage based on the specific icon used.
+      git-gui: Refactor the revert (aka checkout-index) implementation.
+      git-gui: Refactor the add to commit state filters.
+      git-gui: Simplify printing of index info to update-index.
+      git-gui: Only permit selection in one list at a time.
+      git-gui: Pad the cancel/save buttons in the options window.
+      git-gui: Implemented create branch GUI.
+      git-gui: Bind M1-N to create branch.
+      git-gui: Implemented local branch deletion.
+      git-gui: Allow users to delete branches merged upstream.
+      git-gui: Allow creating branches from tracking heads.
+      git-gui: Use borders on text fields in branch dialog.
+      git-gui: Remove 'Allow Partially Added Files' option.
+      git-gui: Move commit_prehook into commit_tree.
+      git-gui: Improve the branch delete confirmation dialogs.
+      git-gui: Don't delete the test target branch.
+      git-gui: Attempt to checkout the new branch after creation.
+      git-gui: Refactor current_diff -> current_diff_path.
+      git-gui: Remove combined diff showing behavior.
+      git-gui: Improve the display of merge conflicts.
+      git-gui: Improve diff --cc viewing for unmerged files.
+      git-gui: Fix bug in unmerged file display.
+      git-gui: Clear diff from viewer if the side changed.
+      git-gui: Correct disappearing unstaged files.
+      git-gui: Add Refresh to diff viewer context menu.
+      git-gui: Correct unmerged file detection at commit time.
+      git-gui: Pad new branch name input box.
+      git-gui: Use a grid layout for branch dialog.
+      git-gui: Improve the merge check interface for branch deletion.
+      git-gui: Change rude error popup to info popup.
+      git-gui: Correctly ignore '* Unmerged path' during diff.
+      git-gui: Make diff viewer colors match gitk's defaults.
+      git-gui: Never line wrap in file lists.
+      git-gui: Don't offer tracking branches if none exist.
+      git-gui: Give a better error message on an empty branch name.
+      git-gui: Allow user to specify a branch name pattern.
+      git-gui: Improve keyboard traversal in dialogs.
+      git-gui: Fully select a field when entering into it.
+      git-gui: Automatically toggle the relevant radio buttons.
+      git-gui: Correctly categorize tracking branches and heads.
+      git-gui: Update todo list with finished and new items.
+      git-gui: Slightly tweak new window geometry.
+      git-gui: Create missing branch head on initial commit.
+      git-gui: Don't format the mode line of a diff.
+      git-gui: Force an update-index --refresh on unchanged files.
+      git-gui: Don't attempt to tag new file/deleted file headers in diffs.
+      git-gui: Fix 'Select All' action on Windows.
+      git-gui: Ignore 'No newline at end of file' marker line.
+      git-gui: Always start a rescan on an empty diff.
+      git-gui: Don't show content of untracked binary files.
+      git-gui: Limit display of large untracked files.
+      git-gui: When possible show the type of an untracked file.
+      git-gui: Don't try to tag the 'Binary files * and * differ' line.
+      git-gui: Remove spurious newline in untracked file display.
+      git-gui: Honor system encoding for filenames.
+      git-gui: Handle commit encoding better.
+      git-gui: Display database stats (count-objects -v) on demand.
+      git-gui: Implement basic branch switching through read-tree.
+      git-gui: Use system default labelframe bordering.
+      git-gui: Display the size of the pack directory.
+      git-gui: Only allow Refresh in diff context menu when we have a diff.
+      git-gui: Allow staging/unstaging individual diff hunks.
+      git-gui: Elide CRs appearing in diff output from display.
+      git-gui: Cleanup end-of-line whitespace in commit messages.
+      git-gui: Unset unnecessary UI setup variable.
+      git-gui: Force focus to the diff viewer on mouse click.
+      git-gui: Support 'Visualize All Branches' on Mac OS X.
+      git-gui: Pad the database statistics dialog window.
+      git-gui: Prefer Tk's entry widget over a 1 line text field.
+      git-gui: Remove Pull menu and cleanup Branch/Fetch/Push menus.
+      git-gui: Don't switch branches if changing to the current branch.
+      git-gui: Maintain the same file list for diff during refresh.
+      git-gui: Always use lsearch -exact, to prevent globbing.
+      git-gui: Added arbitrary branch pushing support.
+      git-gui: Remove no longer used pull from remote code.
+      git-gui: Always use -v option to push.
+      git-gui: Refactor console success/failure handling.
+      git-gui: Use builtin version of 'git gc'.
+      git-gui: Implement local merge operations.
+      git-gui: Let users abort with `reset --hard` type logic.
+      git-gui: Update status bar during a merge.
+      git-gui: Don't allow users to commit a bad octopus merge.
+      git-gui: Don't allow merges in the middle of other things.
+      git-gui: Always offer scrollbars for branch lists.
+      git-gui: Support merge.summary, merge.verbosity.
+      git-gui: Reword meaning of merge.summary.
+      git-gui: Offer quick access to the HTML formatted documentation.
+      git-gui: Test for Cygwin differently than from Windows.
+      git-gui: Implemented file browser and incremental blame.
+      git-gui: Improve the icons used in the browser display.
+      git-gui: Display the current branch name in browsers.
+      git-gui: Allow users to edit user.name, user.email from options.
+      git-gui: Use -M and -C when running blame.
+      git-gui: Correctly handle spaces in filepaths.
+      git-gui: Display original filename and line number in blame.
+      git-gui: Install column headers in blame viewer.
+      git-gui: Use a grid layout for the blame viewer.
+      git-gui: Assign background colors to each blame hunk.
+      Correct ^0 asciidoc syntax in fast-import docs.
+      Correct some language in fast-import documentation.
+      Correct spelling of fast-import in docs.
+      tar archive frontend for fast-import.
+      git-gui: Update known branches during rescan.
+      git-gui: Support keyboard traversal in browser.
+      git-gui: Replace \ with \\ when showing paths.
+      git-gui: Refactor single_commit to a proc.
+      git-gui: Separate transport/branch menus from multicommit.
+      git-gui: Optionally save commit buffer on exit.
+      git-gui: View blame from the command line.
+      git-gui: Select subcommands like git does.
+      git-gui: Relabel the Add All action.
+      git-gui: Use git-config now over git-repo-config.
+      git-gui: Redesign the display of annotated files.
+      git-gui: Jump to the first annotation block as soon as its available.
+      git-gui: Improve annotated file display.
+      git-gui: Focus into blame panels on Mac OS.
+      git-gui: Stop deleting gitk preferences.
+      fast-import: Hide the pack boundary commits by default.
+      fast-import: Add tip about importing renames.
+      bash: Hide git-fast-import.
+      fast-import: Support reusing 'from' and brown paper bag fix reset.
+      git-gui: Allow gitexecdir, INSTALL to be set by the caller.
+      git-gui: Rename GIT_VERSION to GITGUI_VERSION.
+      git-gui: Generate a version file on demand.
+      git-gui: Handle gitgui tags in version gen.
+      git-gui: Guess our version accurately as a subproject.
+      git-gui: Change base version to 0.6.
+      Link git-gui into the master Makefile.
+
+Theodore Ts'o (2):
+      Print a sane error message if an alias expands to an invalid git command
+      Allow aliases to expand to shell commands
+
+
+Version v1.5.0-rc4; changes since v1.5.0-rc3:
+---------------------------------------------
+
+Alex Riesen (1):
+      Avoid ActiveState Perl IO in t800[12]
+
+Andy Parkins (2):
+      doc: hooks.txt said post-commit default sends an email, it doesn't
+      git-for-each-ref doesn't return "the bit after $GIT_DIR/refs"
+
+Aneesh Kumar K.V (1):
+      blameview: Support browsable functionality to blameview.
+
+David Kågedal (1):
+      git-blame: an Emacs minor mode to view file with git-blame output.
+
+Eric Wong (2):
+      git-svn: do not let Git.pm warn if we prematurely close pipes
+      Disallow invalid --pretty= abbreviations
+
+Gerrit Pape (1):
+      git-archimport: initial import needs empty directory
+
+Horst H. von Brand (1):
+      Call make always with CFLAGS in git.spec
+
+Johannes Schindelin (4):
+      Teach the '@{...}' notation to git-log -g
+      Update the documentation for the new '@{...}' syntax
+      Commands requiring a work tree must not run in GIT_DIR
+      fast-import: Fix compile warnings
+
+Junio C Hamano (36):
+      create_symref(): do not assume pathname from git_path() persists long enough
+      detached HEAD -- finishing touches
+      Use "git checkout -q" in git-bisect
+      Tutorial: fix asciidoc formatting of "git add" section.
+      Tutorial-2: Adjust git-status output to recent reality.
+      core-tutorial: http reference link fix
+      fix reflog entries for "git-branch"
+      honor GIT_REFLOG_ACTION in git-commit
+      Why is it bad to rewind a branch that has already been pushed out?
+      combine-diff: special case --unified=0
+      show-branch -g: default to the current branch.
+      git-clone --reference: saner handling of borrowed symrefs.
+      Revert "Allow branch.*.merge to talk about remote tracking branches."
+      Rename get_ident() to fmt_ident() and make it available to outside
+      t9200: Work around HFS+ issues.
+      bisect: it needs to be done in a working tree.
+      git-blame: no rev means start from the working tree file.
+      Add pretend_sha1_file() interface.
+      Use pretend_sha1_file() in git-blame and git-merge-recursive.
+      blame: document --contents option
+      Teach git-remote add to fetch and track
+      Fix longstanding mismerge of ALL_CFLAGS vs BASIC_CFLAGS
+      gitk: Use show-ref instead of ls-remote
+      git-push: allow globbing wildcard refspec.
+      gitweb: fix mismatched parenthesis
+      annotate: fix for cvsserver.
+      S_IFLNK != 0140000
+      Remove contrib/colordiff
+      Add deprecation notices.
+      Remove git-merge-recur
+      git-clone --reference: work well with pack-ref'ed reference repository
+      for-each-reflog: fix case for empty log directory
+      t4200: skip gc-rerere test on systems with non GNU date.
+      git-add -i: update removed path correctly.
+      Documentation: Add gfi to the main command list.
+      GIT v1.5.0-rc4
+
+Linus Torvalds (2):
+      pager: Work around window resizing bug in 'less'
+      Fix "git log -z" behaviour
+
+Mark Levedahl (2):
+      gitk - remove trailing whitespace from a few lines.
+      Make gitk work reasonably well on Cygwin.
+
+Michael Coleman (1):
+      Fix some documentation typos and grammar
+
+Michele Ballabio (1):
+      Documentation: add KMail in SubmittingPatches
+
+Nicolas Pitre (14):
+      make reflog filename independent from struct ref_lock
+      lock_ref_sha1_basic(): remember the original name of a ref when resolving it
+      enable separate reflog for HEAD
+      add reflog entries for HEAD when detached
+      move create_symref() past log_ref_write()
+      add logref support to git-symbolic-ref
+      add reflog when moving HEAD to a new branch
+      reword the detached head message a little again
+      add a quiet option to git-checkout
+      prevent HEAD reflog to be interpreted as current branch reflog
+      provide a nice @{...} syntax to always mean the current branch reflog
+      scan reflogs independently from refs
+      Enable HEAD@{...} and make it independent from the current branch
+      Let git-checkout always drop any detached head
+
+Pavel Roskin (2):
+      git-config --rename-section could rename wrong section
+      Assorted typo fixes
+
+Robin Rosenberg (1):
+      Why is it bad to rewind a branch that has already been pushed out?
+
+Shawn O. Pearce (113):
+      Created fast-import, a tool to quickly generating a pack from blobs.
+      Added automatic index generation to fast-import.
+      Cleaned up memory allocation for object_entry structs.
+      Refactored fast-import's internals for future additions.
+      Added basic command handler to fast-import.
+      Implemented branch handling and basic tree support in fast-import.
+      Added tree and commit writing to fast-import.
+      Implement blob ID validation in fast-import.
+      Converted fast-import to a text based protocol.
+      Changed fast-import's pack header creation to use pack.h
+      Allow symlink blobs in trees during fast-import.
+      Fixed segfault in fast-import after growing a tree.
+      Converted fast-import to accept standard command line parameters.
+      Added mark store/find to fast-import.
+      Added branch load counter to fast-import.
+      Implemented 'tag' command in fast-import.
+      Implemented tree reloading in fast-import.
+      Round out memory pool allocations in fast-import to pointer sizes.
+      Remove branch creation command from fast-import.
+      Moved from command to after data to help cvs2svn.
+      Account for tree entry memory costs in fast-import.
+      Added option to export the marks table when fast-import terminates.
+      Added --branch-log to option to fast-import.
+      Fixed GPF in fast-import caused by unterminated linked list.
+      Fixed compile error in fast-import.
+      Map only part of the generated pack file at any point in time.
+      Added 'reset' command to clear a branch's tree.
+      Don't crash fast-import if no branch log was requested.
+      Converted hash memcpy/memcmp to new hashcpy/hashcmp/hashclr.
+      Implemented tree delta compression in fast-import.
+      Recycle data buffers for tree generation in fast-import.
+      Reuse the same buffer for all commits/tags in fast-import.
+      Replace ywrite in fast-import with the standard write_or_die.
+      Correct tree corruption problems in fast-import.
+      Additional fast-import tree delta corruption cleanups.
+      Fix repository corruption when using marks for modified blobs.
+      Support creation of merge commits in fast-import.
+      Allow creating branches without committing in fast-import.
+      Improve reuse of sha1_file library within fast-import.
+      Misc. type cleanups within fast-import.
+      Restructure fast-import to support creating multiple packfiles.
+      Remove unnecessary duplicate_count in fast-import.
+      Implemented manual packfile switching in fast-import.
+      Don't create a final empty packfile in fast-import.
+      Optimize index creation on large object sets in fast-import.
+      Implemented automatic checkpoints within fast-import.
+      Print the packfile names to stdout from fast-import.
+      Corrected buffer overflow during automatic checkpoint in fast-import.
+      Use uintmax_t for marks in fast-import.
+      Replace redundant yread() with read_in_full() in fast-import.
+      Reuse sha1 in packed_git in fast-import.
+      Use .keep files in fast-import during processing.
+      Ensure we close the packfile after creating it in fast-import.
+      Remove unnecessary pack_fd global in fast-import.
+      Correct max_packsize default in fast-import.
+      Correct object_count type and stat output in fast-import.
+      Print out the edge commits for each packfile in fast-import.
+      Corrected BNF input documentation for fast-import.
+      Correct a few types to be unsigned in fast-import.
+      Declare no-arg functions as (void) in fast-import.
+      Correct packfile edge output in fast-import.
+      Always use struct pack_header for pack header in fast-import.
+      Use fixed-size integers when writing out the index in fast-import.
+      Remove unnecessary options from fast-import.
+      Support delimited data regions in fast-import.
+      Create test case for fast-import.
+      Reduce value duplication in t9300-fast-import.
+      Accept 'inline' file data in fast-import commit structure.
+      Pull out remote listing functions in git-remote.
+      Teach 'git remote' how to cleanup stale tracking branches.
+      Cleanup prepare_packed_git_one to reuse install_packed_git.
+      Correct comment in prepare_packed_git_one.
+      Refactor open_packed_git to return an error code.
+      Don't find objects in packs which aren't available anymore.
+      Don't leak file descriptors from unavailable pack files.
+      Cleanup subcommand documentation for git-remote.
+      Keep untracked files not involved in a merge.
+      Default GIT_MERGE_VERBOSITY to 5 during tests.
+      bash: Remove short option completions for branch/checkout/diff.
+      bash: Classify cat-file and reflog as plumbing.
+      bash: Complete long options to git-add.
+      bash: Add space after unique command name is completed.
+      bash: Classify more commends out of completion.
+      bash: Support unique completion on git-config.
+      bash: Support unique completion when possible.
+      bash: Support internal revlist options better.
+      Include checkpoint command in the BNF.
+      Reduce memory usage of fast-import.
+      Show an example of deleting commits with git-rebase.
+      bash: Support completion on git-cherry.
+      bash: Hide diff-stages from completion.
+      bash: Offer --prune completion for git-gc.
+      bash: Hide git-resolve, its deprecated.
+      bash: Support --add completion to git-config.
+      bash: Support git-bisect and its subcommands.
+      Don't support shell-quoted refnames in fast-import.
+      Initial draft of fast-import documentation.
+      bash: Support git-rebase -m continuation completion.
+      bash: Complete git-remote subcommands.
+      Remove --branch-log from fast-import.
+      Correct compiler warnings in fast-import.
+      Correct minor style issue in fast-import.
+      Correct fast-import timezone documentation.
+      Remove unnecessary null pointer checks in fast-import.
+      Minor fast-import documentation corrections.
+      Support RFC 2822 date parsing in fast-import.
+      Don't do non-fastforward updates in fast-import.
+      Minor timestamp related documentation corrections for fast-import.
+      Teach fast-import how to clear the internal branch content.
+      Teach fast-import how to sit quietly in the corner.
+      Dump all refs and marks during a checkpoint in fast-import.
+      Don't crash fast-import if the marks cannot be exported.
+      Add a Tips and Tricks section to fast-import's manual.
+
+Simon 'corecode' Schubert (1):
+      Allow forcing of a parent commit, even if the parent is not a direct one.
+
+Stelian Pop (1):
+      Add hg-to-git conversion utility.
+
+Uwe Kleine-König (1):
+      add replay and log to the usage string of git-bisect
+
+Yasushi SHOJI (1):
+      gitweb: Convert project name to UTF-8
+
+
+Version v1.5.0-rc3; changes since v1.5.0-rc2:
+---------------------------------------------
+
+Alex Riesen (5):
+      Insert ACTIVESTATE_STRING in Git.pm
+      Force Activestate Perl to tie git command pipe handle to a handle class
+      Cleanup uninitialized value in chomp
+      Allow default core.logallrefupdates to be overridden with template's config
+      Fix git-update-index to work with relative pathnames.
+
+Alexandre Julliard (1):
+      vc-git.el: Take into account the destination name in vc-checkout.
+
+Andy Parkins (5):
+      New files in git weren't being downloaded during CVS update
+      If abbrev is set to zero in git-describe, don't add the unique suffix
+      Allow the tag signing key to be specified in the config file
+      UNIX reference time of 1970-01-01 00:00 is UTC timezone, not local time zone
+      Heavily expanded update hook to send more useful emails than the old hook
+
+Aneesh Kumar K.V (2):
+      blameview: Use git-cat-file to read the file content.
+      Update git-cat-file documentation
+
+Bill Lear (1):
+      Document --check option to git diff.
+
+David Kågedal (1):
+      Improved error message from git-rebase
+
+Eric Wong (1):
+      git-svn: remove leading slash when printing removed directories
+
+J. Bruce Fields (31):
+      Documentation: add git user's manual
+      Documentation: expand preface and todo's
+      Documentation: git-rebase discussion, miscellaneous user-manual updates
+      Documentation: more user-manual todo's
+      Documentation: reorder development section, todo's
+      Documentation: begin discussion of git-remote in user manual
+      Documentation: rev-list -> rev-parse, other typos, start examples
+      user manual: answer some comments from Junio
+      user-manual: replace init-db by init
+      user-manual: reindent
+      user-manual:  rewrap, fix heading levels
+      user-manual: add "quick start" as chapter 1
+      user-manual: minor quickstart reorganization
+      user-manual: clarify difference between tag and branch
+      user-manual: update references discussion
+      user-manual: update git-gc discussion
+      user-manual: stub discussion of fsck and reflog
+      user-manual: reorganize fetch discussion, add internals, etc.
+      user-manual: git-fsck, dangling objects
+      user-manual: fsck-objects -> fsck
+      user-manual: repo-config -> config
+      user-manual: add references to git-config man page
+      user-manual: typo fix
+      user-manual: fix a header level
+      user-manual: reflogs, other recovery
+      user-manual: rewrap a few long lines
+      user-manual: minor "TODO" updates
+      user-manual: document git-show-branch example
+      user-manual: SHA1 -> object name
+      user-manual: point to README for gitweb information
+      user-manual: todo's
+
+Jakub Narebski (3):
+      Documentation/config.txt: Document config file syntax better
+      t/t1300-repo-config.sh: value continued on next line
+      Documentation/config.txt: Correct info about subsection name
+
+Jason Riedy (1):
+      Use inttypes.h rather than stdint.h.
+
+Jeff King (4):
+      format-patch: fix bug with --stdout in a subdirectory
+      contrib/vim: update syntax for changed commit template
+      diffcore-pickaxe: fix infinite loop on zero-length needle
+      Add a sample program 'blameview' to show how to use git-blame --incremental
+
+Johannes Schindelin (2):
+      annotate: use pager
+      reflog inspection: introduce shortcut "-g"
+
+Johannes Sixt (1):
+      Add a missing fork() error check.
+
+Junio C Hamano (43):
+      User manual: fix typos in examples
+      Documentation/tutorial-2: Fix interesting typo in an example.
+      Revert "prune: --grace=time"
+      Make sure git_connect() always give two file descriptors.
+      is_repository_shallow(): prototype fix.
+      shallow repository: disable unsupported operations for now.
+      git-gc: do not run git-prune by default.
+      cvsimport: activate -a option, really.
+      .mailmap: fix screw-ups in Uwe's name
+      honor --author even with --amend, -C, and -c.
+      reflog gc: a tag that does not point at a commit is not a crime.
+      git-checkout -m: fix merge case
+      git-daemon documentation on enabling services.
+      ls-remote and clone: accept --upload-pack=<path> as well.
+      Refactor the pack header reading function out of receive-pack.c
+      Allow fetch-pack to decide keeping the fetched pack without exploding
+      fetch-pack: remove --keep-auto and make it the default.
+      Consolidate {receive,fetch}.unpackLimit
+      Allow non-developer to clone, checkout and fetch more easily.
+      parse-remote: do not barf on a remote shorthand without any refs to fetch.
+      show-branch -g: default to HEAD
+      Documentation: pack-refs --all vs default behaviour
+      Make sure we do not write bogus reflog entries.
+      git-merge: leave sensible reflog message when used as the first level UI.
+      create_symref: check error return from open().
+      write_in_full: size_t is unsigned.
+      Don't force everybody to call setup_ident().
+      git-blame --porcelain: quote filename in c-style when needed.
+      Update describe documentation.
+      Document 'git-blame --incremental'
+      git-fsck-objects is now synonym to git-fsck
+      Two small typofixes.
+      lock_any_ref_for_update(): do not accept malformatted refs.
+      git-commit -s: no extra space when sign-offs appear at the end already.
+      git-blame: somewhat better commenting.
+      git-send-email: remove debugging output.
+      Fix git-tag -u
+      Documentation: "git-checkout <tree> <path>" takes any tree-ish
+      t9200: Re-code non-ascii path test in UTF-8
+      t9200: do not test -x bit if the filesystem does not support it.
+      git main documentation: point at the user's manual.
+      Do not use hardcoded path to xhmtl.xsl to generate user's manual
+      GIT v1.5.0-rc3
+
+Linus Torvalds (5):
+      fsck-objects: refactor checking for connectivity
+      Fix seriously broken "git pack-refs"
+      Add dangling objects tips.
+      git-blame --incremental
+      git-push through git protocol
+
+Mark Wooding (3):
+      wt-status: Actually accept `color.status.BLAH' configuration variables.
+      Documentation/config.txt: Fix documentation of colour config tweaks.
+      Make fsck and fsck-objects be builtins.
+
+Nicolas Pitre (3):
+      fix suggested branch creation command when detaching head
+      git-log -g --pretty=oneline should display the reflog message
+      tone down the detached head warning
+
+Peter Eriksen (2):
+      sha1_file.c: Avoid multiple calls to find_pack_entry().
+      Documentation: --amend cannot be combined with -c/-C/-F.
+
+René Scharfe (1):
+      git-blame --incremental: don't use pager
+
+Sam Vilain (1):
+      contrib/emacs/vc-git.el: support vc-version-other-window
+
+Santi Béjar (1):
+      git-fetch: Allow fetching the remote HEAD
+
+Shawn O. Pearce (6):
+      Remove unnecessary found variable from describe.
+      Teach git-describe to display distances from tags.
+      Compute accurate distances in git-describe before output.
+      Teach for-each-ref about a little language called Tcl.
+      Don't coredump on bad refs in update-server-info.
+      Escape --upload-pack from expr.
+
+Simon 'corecode' Schubert (1):
+      Replace perl code with pure shell code
+
+Tom Prince (1):
+      Rename git-repo-config to git-config.
+
+Uwe Kleine-König (2):
+      rename --exec to --upload-pack for fetch-pack and peek-remote
+      make --upload-pack option to git-fetch configurable
+
+
+Version v1.5.0-rc2; changes since v1.5.0-rc1:
+---------------------------------------------
+
+Bob Proulx (1):
+      git-revert: Fix die before git-sh-setup defines it.
+
+Chris Wedgwood (1):
+      cache.h; fix a couple of prototypes
+
+David Kågedal (2):
+      Shell syntax fix in git-reset
+      Document --ignore-if-in-upstream in git-format-patch
+
+Doug Maxey (1):
+      gitk: add current directory to main window title
+
+Eric Wong (2):
+      git-svn: fix tests to work with older svn
+      git-svn: print and flush authentication prompts to STDERR
+
+Jason Riedy (4):
+      Start all test scripts with /bin/sh.
+      Set _ALL_SOURCE for AIX, but avoid its struct list.
+      Replace "echo -n" with printf in shell scripts.
+      Solaris 5.8 returns ENOTDIR for inappropriate renames.
+
+Jeff King (1):
+      git-pull: disallow implicit merging to detached HEAD
+
+Johannes Schindelin (9):
+      Fix spurious compile error
+      config_set_multivar(): disallow newlines in keys
+      show_date(): fix relative dates
+      apply --cached: fix crash in subdirectory
+      Do not verify filenames in a bare repository
+      Teach the revision walker to walk by reflogs with --walk-reflogs
+      --walk-reflogs: disallow uninteresting commits
+      --walk-reflogs: actually find the right commit by date.
+      --walk-reflogs: do not crash with cyclic reflog ancestry
+
+Junio C Hamano (69):
+      reflog-expire: brown paper bag fix.
+      merge-recursive: do not report the resulting tree object name
+      Explain "Not a git repository: '.git'".
+      glossary typofix
+      Make git-prune-packed a bit more chatty.
+      Define cd_to_toplevel shell function in git-sh-setup
+      Use cd_to_toplevel in scripts that implement it by hand.
+      Allow whole-tree operations to be started from a subdirectory
+      Use log output encoding in --pretty=email headers.
+      t3901: test "format-patch | am" pipe with i18n
+      git-commit documentation: -a adds and also removes
+      Consistent message encoding while reusing log from an existing commit.
+      More tests in t3901.
+      git log documentation: teach -<n> form.
+      Add describe test.
+      Documentation: merge-output is not too verbose now.
+      Use merge-recursive in git-revert/git-cherry-pick
+      git reflog expire: document --stale-fix option.
+      Fix git-fetch while on detached HEAD not to give needlessly alarming errors
+      git-push documentation: remaining bits
+      git-rm documentation: remove broken behaviour from the example.
+      tutorial: shorthand for remotes but show distributed nature of git
+      git-commit documentation: remove comment on unfixed git-rm
+      Use merge-recursive in git-checkout -m (branch switching)
+      Document where configuration files are in config.txt
+      git-commit: document log message formatting convention
+      Documentation/SubmittingPatches: Gnus tips
+      Documentation/git-tag: the command can be used to also verify a tag.
+      Documentation/git-tools.txt: mention tig and refer to wiki
+      Documentation/git-tar-tree.txt: default umask is now 002
+      Documentation/git-status.txt: mention color configuration
+      Documentation/git-whatchanged.txt: show -<n> instead of --max-count.
+      Documentation/git-sh-setup.txt: programmer's docs
+      Documentation: detached HEAD
+      Make a short-and-sweet "git-add -i" synonym for "git-add --interactive"
+      Documentation: describe shallow repository
+      Documentation/glossary.txt: unpacked objects are loose.
+      Documentation/glossary.txt: describe remotes/ tracking and packed-refs
+      Introduce 'git-format-patch --suffix=.patch'
+      git-format-patch: do not crash with format.headers without value.
+      Documentation/git-resolve: deprecated.
+      Documentation: suggest corresponding Porcelain-level in plumbing docs.
+      Documentation: m can be relative in "git-blame -Ln,m"
+      Documentation/git-parse-remote.txt: we deal with config vars as well
+      git-format-patch -3
+      Add --summary to git-format-patch by default
+      git-format-patch: make --binary on by default
+      git-format-patch: the default suffix is now .patch, not .txt
+      Use fixed-size integers for .idx file I/O
+      Documentation: move command list in git.txt into separate files.
+      Documentation: sync git.txt command list and manual page title
+      Documentation: Generate command lists.
+      for_each_reflog_ent: do not leak FILE *
+      refs.c::read_ref_at(): fix bogus munmap() call.
+      Documentation: generated cmds-*.txt does not depend on git.txt
+      Documentation/git.txt: command re-classification
+      dwim_ref(): Separate name-to-ref DWIM code out.
+      Extend read_ref_at() to be usable from places other than sha1_name.
+      show-branch --reflog: show the reflog message at the top.
+      show-branch --reflog: tighten input validation.
+      show-branch --reflog: fix show_date() call
+      Stop ignoring Documentation/README
+      git-tag -d: allow deleting multiple tags at once.
+      branch -f: no reason to forbid updating the current branch in a bare repo.
+      git-rebase: allow rebasing a detached HEAD.
+      log --walk-reflog: documentation
+      reflog-walk: build fixes
+      Fix --walk-reflog with --pretty=oneline
+      GIT v1.5.0-rc2
+
+Linus Torvalds (2):
+      Clean up write_in_full() users
+      Fix up totally buggered read_or_die()
+
+Matthias Lederhofer (2):
+      prune-packed: add -q to usage
+      prune: --grace=time
+
+Michael S. Tsirkin (1):
+      fix documentation for git-commit --no-verify
+
+Nicolas Pitre (4):
+      use 'init' instead of 'init-db' for shipped docs and tools
+      simplify the "no changes added to commit" message
+      some doc updates
+      sanitize content of README file
+
+Peter Baumann (1):
+      Make gitk work when launched in a subdirectory
+
+Quy Tonthat (1):
+      git-remote: no longer silent on unknown commands.
+
+René Scharfe (1):
+      Documentation: a few spelling fixes
+
+Santi Béjar (1):
+      tutorial: Use only separate layout
+
+Shawn O. Pearce (18):
+      Improve merge performance by avoiding in-index merges.
+      Hide output about SVN::Core not being found during tests.
+      Remove read_or_die in favor of better error messages.
+      Remove unnecessary call_depth parameter in merge-recursive.
+      Allow the user to control the verbosity of merge-recursive.
+      Enable output buffering in merge-recursive.
+      Display a progress meter during merge-recursive.
+      Convert output messages in merge-recursive to past tense.
+      Always perfer annotated tags in git-describe.
+      Hash tags by commit SHA1 in git-describe.
+      Use binary searching on large buckets in git-describe.
+      Improve git-describe performance by reducing revision listing.
+      Correct priority of lightweight tags in git-describe.
+      Remove hash in git-describe in favor of util slot.
+      Use nice names in conflict markers during cherry-pick/revert.
+      Document the master@{n} reflog query syntax.
+      Refer users to git-rev-parse for revision specification syntax.
+      Document pack .idx file format upgrade strategy.
+
+Simon 'corecode' Schubert (2):
+      Use fixed-size integers for the on-disk pack structure.
+      Use standard -t option for touch.
+
+Uwe Kleine-König (4):
+      document --exec for git-push
+      Update documentation of fetch-pack, push and send-pack
+      make --exec=... option to git-push configurable
+      rename --exec to --receive-pack for push and send-pack
+
+
+Version v1.5.0-rc1; changes since v1.5.0-rc0:
+---------------------------------------------
+
+Alex Riesen (1):
+      Speed-up recursive by flushing index only once for all entries
+
+Alexandre Julliard (12):
+      Shallow clone: do not ignore shallowness when following tags
+      fetch-pack: Properly remove the shallow file when it becomes empty.
+      upload-pack: Check for NOT_SHALLOW flag before sending a shallow to the client.
+      git-fetch: Reset shallow_depth before auto-following tags.
+      get_shallow_commits: Avoid memory leak if a commit has been reached already.
+      fetch-pack: Do not fetch tags for shallow clones.
+      git-clean: Fix the -q option.
+      git.el: Don't use --info-only when resolving a file.
+      git.el: Avoid setting font lock keywords before entering log-edit mode.
+      git-apply: Remove directories that have become empty after deleting a file.
+      git-clone: Make sure the master branch exists before running cat on it.
+      git.el: Define the propertize function if needed, for XEmacs compatibility.
+
+Andy Parkins (1):
+      hooks/commit-msg: add example to add Signed-off-by line to message
+
+Andy Whitcroft (6):
+      send pack check for failure to send revisions list
+      ssh-upload: prevent buffer overrun
+      short i/o: clean up the naming for the write_{in,or}_xxx family
+      short i/o: fix calls to read to use xread or read_in_full
+      short i/o: fix calls to write to use xwrite or write_in_full
+      short i/o: fix config updates to use write_in_full
+
+Brian Gernhardt (3):
+      Add documentation for git-branch's color configuration.
+      Ignore git-init and git-remote
+      Auto-quote config values in config.c:store_write_pair()
+
+Eric Wong (21):
+      git-svn: quiet down tests and fix some unportable shell constructs
+      git-svn: dcommit should diff against the current HEAD after committing
+      t6024-recursive-merge: quiet down this test
+      test-lib: quiet down init-db output for tests
+      t9200-git-cvsexportcommit.sh: quiet down commit
+      git-svn: remove non-delta fetch code paths
+      git-svn: print out the SVN library version in --version, too
+      git-svn: verify_ref() should actually --verify
+      git-svn: sort multi-init output
+      git-svn: remove svnadmin dependency from the tests
+      git-svn: t/t9100-git-svn-basic: remove old check for NO_SYMLINK
+      git-svn: t/t91??-*: optimize the tests a bit
+      instaweb: load Apache mime and dir modules if they are needed
+      git-svn: make multi-init less confusing
+      git-svn: update documentation for multi-{init|fetch}
+      git-svn: make --repack work consistently between fetch and multi-fetch
+      Documentation/git-svn: clarify dcommit, rebase vs pull/merge
+      git-svn: fix show-ignore
+      git-svn: add --prefix= option to multi-init
+      git-svn: pass an unambiguous ref to rev-list when grafting-branches
+      Avoid errors and warnings when attempting to do I/O on zero bytes
+
+Fredrik Kuivinen (1):
+      instaweb: Nicer error message when the http daemon isn't found
+
+J. Bruce Fields (9):
+      Docs: update cvs-migration.txt to reflect clone's new default behavior
+      Documentation: update git-clone.txt for clone's new default behavior
+      Documentation: update glossary entry for "origin"
+      Documentation: update tutorial's discussion of origin
+      Documentation: update git-pull.txt for new clone behavior
+      Documentation: remove master:origin example from pull-fetch-param.txt
+      Documentation: tutorial editing
+      Documentation: clarify definition of "reachable"
+      Documentation: add git-remote man page
+
+Jakub Narebski (14):
+      gitweb: Add mod_perl version string to "generator" meta header
+      gitweb: Precompile CGI routines for mod_perl
+      Add info about new test families (8 and 9) to t/README
+      gitweb: Fix error in git_project_index subroutine
+      gitweb: Fix bug in git_difftree_body (was '!=' instead of 'ne')
+      gitweb: There can be empty patches (in git_patchset_body)
+      gitweb: Fix "Use of uninitialized value" warning in git_tags_body
+      gitweb: Fix error in git_patchest_body for file creation/deletion patch
+      gitweb: Fix error in "rename to"/"copy to" git diff header output
+      gitweb: Fix errors in git_patchset_body for empty patches
+      Revert "gitweb: There can be empty patches (in git_patchset_body)"
+      gitweb: Fix split patches output (e.g. file to symlink)
+      gitweb: Remove superfluous "|" in "commit" view
+      gitweb: Fix git_patchset_body not closing <div class="patch">
+
+Jeff King (1):
+      get_tree_entry: map blank requested entry to tree root
+
+Jim Meyering (1):
+      update hook: redirect _both_ diagnostic lines to stderr upon tag failure
+
+Johannes Schindelin (9):
+      upload-pack: no longer call rev-list
+      support fetching into a shallow repository
+      allow cloning a repository "shallowly"
+      allow deepening of a shallow repository
+      add tests for shallow stuff
+      xdl_merge(): fix a segmentation fault when refining conflicts
+      Fix yet another subtle xdl_merge() bug
+      Sanitize for_each_reflog_ent()
+      Fix t1410 for core.filemode==false
+
+Junio C Hamano (106):
+      We should make sure that the protocol is still extensible.
+      Why does it mean we do not have to register shallow if we have one?
+      Why didn't we mark want_obj as ~UNINTERESTING in the old code?
+      shallow clone: unparse and reparse an unshallowed commit
+      add for_each_reflog_ent() iterator
+      Protect commits recorded in reflog from pruning.
+      Teach git-repack to preserve objects referred to by reflog entries.
+      reflog: fix warning message.
+      Move in_merge_bases() to commit.c
+      git reflog expire
+      reflog expire: prune commits that are not incomplete
+      reflog expire: do not punt on tags that point at non commits.
+      show-branch --reflog: add documentation.
+      Document --numstat in git-apply and git-diff
+      Document git-reset <commit> -- <paths>...
+      Move encoding conversion routine out of mailinfo to utf8.c
+      i18n.logToUTF8: convert commit log message to UTF-8
+      Teach log family --encoding
+      everyday: update for v1.5.0
+      count-objects -v: show number of packs as well.
+      rerere gc: honor configuration and document it
+      git-reflog: gc.* configuration and documentation.
+      everyday: replace a few 'prune' and 'repack' with 'gc'
+      Use 'repack -a -d -l' instead of 'repack -a -d' in git-gc
+      Set NO_MMAP for Cygwin by default
+      UTF-8: introduce i18n.logoutputencoding.
+      gcc does not necessarily pass runtime libpath with -R
+      Work around http-fetch built with cURL 7.16.0
+      Rename t3900 test vector file
+      t3900: test conversion to non UTF-8 as well
+      GIT_SKIP_TESTS: allow users to omit tests that are known to break
+      core.logallrefupdates: log remotes/ tracking branches.
+      Allow non-fast-forward of remote tracking branches in default clone
+      t5400 send-pack test: try a bit more nontrivial transfer.
+      Revert "read_directory: show_both option."
+      Fix 'git add' with .gitignore
+      pack-objects: fix use of use_pack().
+      mmap: set FD_CLOEXEC for file descriptors we keep open for mmap()
+      send-pack: fix pipeline.
+      Documentation: illustrate send-pack pipeline.
+      commit re-encoding: fix confusion between no and default conversion.
+      t3900: test log --encoding=none
+      Documentation: i18n commit log message notes.
+      Documentation: minor rewording for git-log and git-show pages.
+      Move commit reencoding parameter parsing to revision.c
+      commit-tree: cope with different ways "utf-8" can be spelled.
+      i18n: drop "encoding" header in the output after re-coding.
+      Documentation/config.txt (and repo-config manpage): mark-up fix.
+      Update documentation for update hook.
+      send-pack.c: use is_null_sha1()
+      send-pack: tell pack-objects to use its internal rev-list.
+      Do not merge random set of refs out of wildcarded refs
+      i18n: do not leak 'encoding' header even when we cheat the conversion.
+      Update send-pack pipeline documentation.
+      fail pull/merge early in the middle of conflicted merge
+      git-fetch: remove .keep file at the end.
+      Strongly discourage --update-head-ok in fetch-options documentation.
+      Update clone/fetch documentation with --depth (shallow clone) option
+      Remove unused variable (git-commit.sh)
+      fetch-pack: do not use lockfile structure on stack.
+      Fix infinite loop when deleting multiple packed refs.
+      tutorial: misc updates.
+      git-verify-tag: make sure we remove temporary file.
+      pack-check.c::verify_packfile(): don't run SHA-1 update on huge data
+      rerere: Fix removal of already resolved path.
+      git-remote
+      builtin-prune: memory diet.
+      Fix timestamp for test-tick
+      builtin-prune: make file-scope static struct to an argument.
+      builtin-prune: separate ref walking from reflog walking.
+      Move traversal of reachable objects into a separate library.
+      reflog expire --fix-stale
+      reflog --fix-stale: do not check the same trees and commits repeatedly.
+      diff-index --cached --raw: show tree entry on the LHS for unmerged entries.
+      git-reset <tree> -- <path> restores absense of <path> in <tree>
+      Spell default packedgitlimit slightly differently
+      Move initialization of log_all_ref_updates
+      Introduce is_bare_repository() and core.bare configuration variable
+      git-fetch: allow updating the current branch in a bare repository.
+      git-status: show detached HEAD
+      Detached HEAD (experimental)
+      git-checkout: do not warn detaching HEAD when it is already detached.
+      git-checkout: rewording comments regarding detached HEAD.
+      git-checkout: safety when coming back from the detached HEAD state.
+      git-checkout: fix branch name output from the command
+      --utf8 is now default for 'git-am'
+      --prune is now default for 'pack-refs'
+      rm git-rerere.perl -- it is now a built-in.
+      merge-base: do not leak commit list
+      Do not ignore a detected patchfile brokenness.
+      Fix "Do not ignore a detected patchfile brokenness."
+      builtin-archive: do not free a tree held by the object layer.
+      git-checkout: safety check for detached HEAD checks existing refs
+      git-checkout: handle local changes sanely when detaching HEAD
+      git-am: should work when "--no-utf8 --utf8" is given
+      -u is now default for 'git-applymbox'
+      -u is now default for 'git-mailinfo'.
+      Makefile: remove $foo when $foo.exe is built/installed.
+      merge-recursive: do not use on-file index when not needed.
+      Document git-init
+      index-pack: write-or-die instead of unchecked write-in-full.
+      config-set: check write-in-full returns in set_multivar
+      git-rm: do not fail on already removed file.
+      git-status: wording update to deal with deleted files.
+      plug a few leaks in revision walking used in describe.
+      GIT v1.5.0-rc1
+
+Jürgen Rühle (7):
+      Clarify syntax and role of git-add in status output
+      Improve "nothing to commit" part of status output
+      Support --amend on initial commit in status output
+      Improve cached content header of status output
+      Remove unnecessary git-rm --cached reference from status output
+      send-email: work around double encoding of in-body From field.
+      Provide better feedback for the untracked only case in status output
+
+Lars Hjemli (3):
+      Skip excessive blank lines before commit body
+      Refactor print-functions in builtin-branch
+      git-branch: show detached HEAD
+
+Linus Torvalds (3):
+      write-cache: do not leak the serialized cache-tree data.
+      write_in_full: really write in full or return error on disk full.
+      Better error messages for corrupt databases
+
+Luben Tuikov (1):
+      Blame "linenr" link jumps to previous state at "orig_lineno"
+
+Martin Langhoff (6):
+      cvsimport: skip commits that are too recent
+      cvsimport: skip commits that are too recent (option and documentation)
+      cvsimport: document -S and -L options
+      cvsimport: cleanup temporary cvsps file
+      cvsserver: detect early of we are up to date and avoid costly rev-list
+      cvsserver: fix revision number during file adds
+
+Michael Loeffler (1):
+      git-commit: do not fail to print the diffstat even if there is a file named HEAD
+
+Nicolas Pitre (5):
+      add .mailmap for git-shortlog output with the git repository
+      Add git-reflog to .gitignore
+      move git-blame to its place in .gitignore
+      "init-db" can really be just "init"
+      Add git-init documentation.
+
+Pavel Roskin (1):
+      Fix warnings in sha1_file.c - use C99 printf format if available
+
+Quy Tonthat (1):
+      git-send-email: default value for "From:" field.
+
+René Scharfe (3):
+      Make check target depend on common-cmds.h
+      Remove shadowing variable from traverse_trees()
+      Set default "tar" umask to 002 and owner.group to root.root
+
+Robert Fitzsimons (2):
+      gitweb: Re-enable rev-list --parents for parse_commit.
+      gitweb: Fix shortlog only showing HEAD revision.
+
+Santi Béjar (2):
+      Documentation/tutorial: misc updates
+      git-tag: add flag to verify a tag
+
+Sasha Khapyorsky (3):
+      git-svnimport: support for incremental import
+      git-svnimport: clean svn path when accessing SVN repo
+      git-svnimport: fix edge revisions double importing
+
+Shawn O. Pearce (49):
+      Don't crash during repack of a reflog with pruned commits.
+      Create 'git gc' to perform common maintenance operations.
+      Use GIT_REFLOG_ACTION environment variable instead.
+      Honor GIT_REFLOG_ACTION in git-rebase.
+      Use branch names in 'git-rebase -m' conflict hunks.
+      Ensure `git-pull` fails if `git-merge` fails.
+      Honor pull.{twohead,octopus} in git-merge.
+      Allow git-merge to select the default strategy.
+      Move better_branch_name above get_ref in merge-recursive.
+      Allow merging bare trees in merge-recursive.
+      Use merge-recursive in git-am -3.
+      Replace unpack_entry_gently with unpack_entry.
+      Introduce new config option for mmap limit.
+      Refactor packed_git to prepare for sliding mmap windows.
+      Use off_t for index and pack file lengths.
+      Create read_or_die utility routine.
+      Refactor how we open pack files to prepare for multiple windows.
+      Replace use_packed_git with window cursors.
+      Loop over pack_windows when inflating/accessing data.
+      Document why header parsing won't exceed a window.
+      Unmap individual windows rather than entire files.
+      Fully activate the sliding window pack access.
+      Load core configuration in git-verify-pack.
+      Ensure core.packedGitWindowSize cannot be less than 2 pages.
+      Improve error message when packfile mmap fails.
+      Support unmapping windows on 'temporary' packfiles.
+      Create pack_report() as a debugging aid.
+      Test suite for sliding window mmap implementation.
+      Default core.packdGitWindowSize to 1 MiB if NO_MMAP.
+      Release pack windows before reporting out of memory.
+      Replace mmap with xmmap, better handling MAP_FAILED.
+      Cleanup read_cache_from error handling.
+      Fix random segfaults in pack-objects.
+      Force core.filemode to false on Cygwin.
+      Use PATH_MAX constant for --bare.
+      Replace "GIT_DIR" with GIT_DIR_ENVIRONMENT.
+      Automatically detect a bare git repository.
+      Remove unnecessary argc parameter from run_command_v.
+      Redirect update hook stdout to stderr.
+      Use /dev/null for update hook stdin.
+      Teach Git how to parse standard power of 2 suffixes.
+      Update packedGit config option documentation.
+      Add test case for update hooks in receive-pack.
+      Increase packedGit{Limit,WindowSize} on 64 bit systems.
+      Don't die in git-http-fetch when fetching packs.
+      Don't save the commit buffer in git-describe.
+      Make git-describe a builtin.
+      Disallow working directory commands in a bare repository.
+      Chose better tag names in git-describe after merges.
+
+Stefan-W. Hahn (1):
+      Replacing the system call pread() with lseek()/xread()/lseek() sequence.
+
+Steven Grimm (3):
+      Describe git-clone's actual behavior in the summary
+      Print a more accurate error message when we fail to create a lock file.
+      Update git-svn manpage to remove the implication that SVN::* is optional.
+
+Theodore Ts'o (2):
+      Fix formatting for urls section of fetch, pull, and push manpages
+      Fix formatting for urls section of fetch, pull, and push manpages
+
+
+Version v1.5.0-rc0; changes since v1.4.4.4:
+-------------------------------------------
+
+Alex Riesen (1):
+      Make perl/ build procedure ActiveState friendly.
+
+Alexandre Julliard (1):
+      vc-git: Ignore errors caused by a non-existent directory in vc-git-registered.
+
+Andreas Ericsson (2):
+      ls-files: Give hints when errors happen.
+      git-diff: Introduce --index and deprecate --cached.
+
+Andy Parkins (8):
+      Improve git-prune -n output
+      Add support to git-branch to show local and remote branches
+      Use .git/config for storing "origin" shortcut repository
+      De-emphasise the symbolic link documentation.
+      Explicitly add the default "git pull" behaviour to .git/config on clone
+      Colourise git-branch output
+      Allow subcommand.color and color.subcommand color configuration
+      git-status always says what branch it's on
+
+Aneesh Kumar K.V (1):
+      Add config example with respect to branch
+
+Brian Gernhardt (6):
+      Add --add option to git-repo-config
+      Make git-diff documentation use [--] when it should.
+      Add documentation for show-branch --topics
+      Remove COLLISION_CHECK from Makefile since it's not used.
+      Keep "git --git-dir" from causing a bus error.
+      Make git-show-branch options similar to git-branch.
+
+David S. Miller (1):
+      Pass -M to diff in request-pull
+
+Eric Wong (29):
+      git-svn: handle authentication without relying on cached tokens on disk
+      git-svn: correctly access repos when only given partial read permissions
+      git-svn: exit with status 1 for test failures
+      git-svn: allow SVN:: lib users to track the root of the repository (again)
+      git-svn: use ~/.subversion config files when using SVN:: libraries
+      git-svn: enable delta transfers during fetches when using SVN:: libs
+      git-svn: update tests for recent changes
+      git-svn: error out when the SVN connection fails during a fetch
+      git-svn: fix output reporting from the delta fetcher
+      git-svn: color support for the log command
+      git-svn: documentation updates
+      git-svn: fix multi-init
+      git-svn: avoid network timeouts for long-running fetches
+      git-svn: extra error check to ensure we open a file correctly
+      git-svn: use do_switch for --follow-parent if the SVN library supports it
+      rerere: add clear, diff, and status commands
+      rerere: record (or avoid misrecording) resolved, skipped or aborted rebase/am
+      git-svn: enable logging of information not supported by git
+      git-svn: allow dcommit to take an alternate head
+      git-svn: correctly display fatal() error messages
+      git-svn: correctly handle packed-refs in refs/remotes/
+      git-svn: correctly handle "(no author)" when using an authors file
+      git-svn: convert to using Git.pm
+      git-svn: remove support for the svn command-line client
+      git-svn: rename 'commit' command to 'set-tree'
+      git-cvsserver: fix breakage when calling git merge-file
+      Remove NO_ACCURATE_DIFF options from build systems
+      git-svn: enable common fetch/commit options for dcommit
+      Makefile: add quick-install-doc for installing pre-built manpages
+
+Han-Wen Nienhuys (2):
+      git-tag: allow empty tag message if -m is given explicitly.
+      ident.c: Trim hint printed when gecos is empty.
+
+Iñaki Arenaza (1):
+      git-cvsimport: add support for CVS pserver method HTTP/1.x proxying
+
+J. Bruce Fields (5):
+      Documentation: clarify tutorial pull/merge discussion
+      cvs-migration: improved section titles, better push/commit explanation
+      Documentation: reorganize cvs-migration.txt
+      Documentation: update git-clone man page with new behavior
+      Documentation: simpler shared repository creation
+
+Jakub Narebski (26):
+      gitweb: Protect against possible warning in git_commitdiff
+      gitweb: Buffer diff header to deal with split patches + git_patchset_body refactoring
+      gitweb: Default to $hash_base or HEAD for $hash in "commit" and "commitdiff"
+      gitweb: New improved formatting of chunk header in diff
+      gitweb: Add an option to href() to return full URL
+      gitweb: Refactor feed generation, make output prettier, add Atom feed
+      gitweb: Finish restoring "blob" links in git_difftree_body
+      gitweb: Replace SPC with &nbsp; also in tag comment
+      gitweb: Do not use esc_html in esc_path
+      gitweb: Use git-show-ref instead of git-peek-remote
+      gitweb: Add author and committer email extraction to parse_commit
+      gitweb: Add author and contributor email to Atom feed
+      gitweb: Use author_epoch for pubdate in gitweb feeds
+      gitweb: Make project description in projects list link to summary view
+      gitweb: Fix Atom feed <logo>: it is $logo, not $logo_url
+      git-clone: Rename --use-immingled-remote option to --no-separate-remote
+      Document git-diff whitespace flags -b and -w
+      gitweb: Allow PNG, GIF, JPEG images to be displayed in "blob" view
+      gitweb: Don't use Content-Encoding: header in git_snapshot
+      gitweb: Show target of symbolic link in "tree" view
+      gitweb: Add generic git_object subroutine to display object of any type
+      gitweb: Hyperlink target of symbolic link in "tree" view (if possible)
+      gitweb: SHA-1 in commit log message links to "object" view
+      gitweb: Do not show difftree for merges in "commit" view
+      gitweb: Add title attribute to ref marker with full ref name
+      gitweb: Add "next" link to commit view
+
+Jeff King (2):
+      shortlog: fix segfault on empty authorname
+      vim syntax: follow recent changes to commit template
+
+Jim Meyering (1):
+      Set permissions of each new file before "cvs add"ing it.
+
+Johannes Schindelin (30):
+      Build in shortlog
+      shortlog: do not crash on parsing "[PATCH"
+      shortlog: read mailmap from ./.mailmap again
+      shortlog: handle email addresses case-insensitively
+      shortlog: fix "-n"
+      shortlog: use pager
+      sha1_object_info(): be consistent with read_sha1_file()
+      xdiff: add xdl_merge()
+      xdl_merge(): fix an off-by-one bug
+      xdl_merge(): fix thinko
+      diff -b: ignore whitespace at end of line
+      xdl_merge(): fix and simplify conflict handling
+      cvs-migration document: make the need for "push" more obvious
+      Add builtin merge-file, a minimal replacement for RCS merge
+      merge-file: support -p and -q; fix compile warnings
+      Get rid of the dependency on RCS' merge program
+      merge-recursive: add/add really is modify/modify with an empty base
+      INSTALL: no need to have GNU diff installed
+      git-show: grok blobs, trees and tags, too
+      Document git-merge-file
+      add a function to rename sections in the config
+      git-branch: rename config vars branch.<branch>.*, too
+      Introduce GIT_TEMPLATE_DIR
+      Use git-merge-file in git-merge-one-file, too
+      git-tag: support -F <file> option
+      git-reset --hard: tell the user what the HEAD was reset to
+      move read_mmfile() into xdiff-interface
+      Add a test for git-rerere
+      Make git-rerere a builtin
+      commit-tree: encourage UTF-8 commit messages.
+
+Josef Weidendorfer (2):
+      Add branch.*.merge warning and documentation update
+      Move "no merge candidate" warning into git-pull
+
+Junio C Hamano (115):
+      upload-pack: stop the other side when they have more roots than we do.
+      apply --numstat: mark binary diffstat with - -, not 0 0
+      pack-objects: tweak "do not even attempt delta" heuristics
+      Store peeled refs in packed-refs file.
+      remove merge-recursive-old
+      git-merge: make it usable as the first class UI
+      merge: allow merging into a yet-to-be-born branch.
+      Store peeled refs in packed-refs (take 2).
+      git-fetch: reuse ls-remote result.
+      git-fetch: fix dumb protocol transport to fetch from pack-pruned ref
+      git-fetch: allow glob pattern in refspec
+      refs outside refs/{heads,tags} match less strongly.
+      Typefix builtin-prune.c::prune_object()
+      Allow git push to delete remote ref.
+      gitweb: (style) use chomp without parentheses consistently.
+      git-clone: stop dumb protocol from copying refs outside heads/ and tags/.
+      git-branch -D: make it work even when on a yet-to-be-born branch
+      git-shortlog: fix common repository prefix abbreviation.
+      git-shortlog: make common repository prefix configurable with .mailmap
+      git-commit: show --summary after successful commit.
+      git-fetch: exit with non-zero status when fast-forward check fails
+      git-fetch: allow forcing glob pattern in refspec
+      fetch-pack: do not barf when duplicate re patterns are given
+      grep: do not skip unmerged entries when grepping in the working tree.
+      git-merge: tighten error checking.
+      git-merge: do not leak rev-parse output used for checking internally.
+      cvsimport: style fixup.
+      git-merge: fix confusion between tag and branch
+      xmerge: make return value from xdl_merge() more usable.
+      merge-recursive: use xdl_merge().
+      read-tree: further loosen "working file will be lost" check.
+      Loosen "working file will be lost" check in Porcelain-ish
+      read-tree: document --exclude-per-directory
+      git-merge: squelch needless error message.
+      git-merge: fix "fix confusion between tag and branch" for real
+      Fix perl/ build.
+      git-rerere: add 'gc' command.
+      Documentation/git-commit: rewrite to make it more end-user friendly.
+      git-commit: allow --only to lose what was staged earlier.
+      shortlog: remove "[PATCH]" prefix from shortlog output
+      shortlog: fix segfault on empty authorname
+      diff --numstat: show binary with '-' to match "apply --numstat"
+      add test case for recursive merge
+      git-push: document removal of remote ref with :<dst> pathspec
+      Revert "git-diff: Introduce --index and deprecate --cached."
+      git merge: reword failure message.
+      spurious .sp in manpages
+      git-push: accept tag <tag> as advertised.
+      send-pack: tighten checks for remote names
+      branch --color: change default color selection.
+      git-blame: show lines attributed to boundary commits differently.
+      config documentation: group color items together.
+      git-svn: allow both diff.color and color.diff
+      Update git-diff documentation
+      git-fetch: make it work from within a subdirectory.
+      git-reset: make it work from within a subdirectory.
+      git-reset [--mixed] <tree> [--] <paths>...
+      merge: give a bit prettier merge message to "merge branch~$n"
+      git-clone: use wildcard specification for tracking branches
+      git-pull: refuse default merge without branch.*.merge
+      git-clone: lose the artificial "first" fetch refspec
+      git-clone: lose the traditional 'no-separate-remote' layout
+      update-index: make D/F conflict error a bit more verbose.
+      git-add: remove conflicting entry when adding.
+      Fix check_file_directory_conflict().
+      Fix mis-mark-up in git-merge-file.txt documentation
+      markup fix in svnimport documentation.
+      rev-list --left-right
+      Teach all of log family --left-right output.
+      Make left-right automatic.
+      Teach show-branch how to show ref-log data.
+      git-fetch: Avoid reading packed refs over and over again
+      avoid accessing _all_ loose refs in git-show-ref --verify
+      show-ref: fix --quiet --verify
+      show-ref: fix --verify --hash=length
+      parse-remote::expand_refs_wildcard()
+      show-ref: fix --exclude-existing
+      racy-git: documentation updates.
+      rerere: fix breakage of resolving.
+      fix testsuite: make sure they use templates freshly built from the source
+      Teach git-branch to delete tracking branches with -r -d
+      blame: -b (blame.blankboundary) and --root (blame.showroot)
+      git-add --interactive
+      git-add --interactive: hunk splitting
+      Revert "fix testsuite: make sure they use templates freshly built from the source"
+      Do not create $GIT_DIR/remotes/ directory anymore.
+      Use preprocessor constants for environment variable names.
+      Revert "Make left-right automatic."
+      fix populate-filespec
+      config_rename_section: fix FILE* leak
+      simplify inclusion of system header files.
+      revision: --skip=<n>
+      git-add: error out when given no arguments.
+      compat/inet_ntop: do not use u_int
+      diff documentation: mostly talk about <commit>
+      Revert "git-pull: refuse default merge without branch.*.merge"
+      parse-remote: mark all refs not for merge only when fetching more than one
+      _XOPEN_SOURCE problem also exists on FreeBSD
+      commit-tree: do not overflow MAXPARENT
+      merge and reset: adjust for "reset --hard" messages
+      default pull: forget about "newbie protection" for now.
+      Do not support "partial URL shorthand" anymore.
+      Really fix headers for __FreeBSD__
+      git-tag: lose exit after die
+      Allow branch.*.merge to talk about remote tracking branches.
+      git-add --interactive: add documentation
+      match_pathspec() -- return how well the spec matched
+      git-rm: update to saner semantics
+      t3600: update the test for updated git rm
+      git-rm: Documentation
+      read_directory: show_both option.
+      git-add: add ignored files when asked explicitly.
+      git-add: warn when adding an ignored file with an explicit request.
+      git-add -f: allow adding otherwise ignored files.
+      GIT v1.5.0 preview
+
+Lars Hjemli (4):
+      Add -v and --abbrev options to git-branch
+      git-branch: add options and tests for branch renaming
+      rename_ref: use lstat(2) when testing for symlink
+      git-branch: let caller specify logmsg
+
+Luben Tuikov (1):
+      Export PERL_PATH
+
+Michael Loeffler (1):
+      git-fetch: ignore dereferenced tags in expand_refs_wildcard
+
+Nicolas Pitre (11):
+      builtin git-shortlog is broken
+      pack-objects: remove redundent status information
+      make 'git add' a first class user friendly interface to the index
+      change the unpack limit treshold to a saner value
+      repacked packs should be read-only
+      make commit message a little more consistent and conforting
+      make patch_delta() error cases a bit more verbose
+      make git a bit less cryptic on fetch errors
+      index-pack usage of mmap() is unacceptably slower on many OSes other than Linux
+      clarify some error messages wrt unknown object types
+      checkout: make the message about the need for a new branch a bit clearer
+
+Paul Mackerras (1):
+      gitk: Fix enabling/disabling of menu items on Mac OS X
+
+Peter Baumann (1):
+      config option log.showroot to show the diff of root commits
+
+Petr Baudis (1):
+      Make git-clone --use-separate-remote the default
+
+Quy Tonthat (4):
+      git-clone documentation
+      Documentation: new option -P for git-svnimport
+      git-branch -d: do not stop at the first failure.
+      Documentation/git-branch: new -r to delete remote-tracking branches.
+
+René Scharfe (1):
+      shortlog: remove range check
+
+Robert Fitzsimons (17):
+      gitweb: Show '...' links in "summary" view only if there are more items
+      gitweb: Add missing show '...' links change.
+      gitweb: optimize git_get_last_activity.
+      gitweb: optimize git_shortlog_body.
+      gitweb: optimize git_summary.
+      gitweb: Use rev-list pattern search options.
+      gitweb: Require a minimum of two character for the search text.
+      gitweb: Allow search to be disabled from the config file.
+      gitweb: Paginate commit/author/committer search output
+      gitweb: Add parse_commits, used to bulk load commit objects.
+      gitweb: We do longer need the --parents flag in rev-list.
+      gitweb: Change summary, shortlog actions to use parse_commits.
+      gitweb: Change log action to use parse_commits.
+      gitweb: Change header search action to use parse_commits.
+      gitweb: Change atom, rss actions to use parse_commits.
+      gitweb: Change history action to use parse_commits.
+      gitweb: Use rev-list --skip option.
+
+Robin Rosenberg (1):
+      Make cvsexportcommit work with filenames with spaces and non-ascii characters.
+
+Sean Estabrooks (1):
+      Update documentation to remove incorrect GIT_DIFF_OPTS example.
+
+Shawn O. Pearce (30):
+      Teach git-completion.bash how to complete git-merge.
+      Hide plumbing/transport commands from bash completion.
+      Teach bash how to complete options for git-name-rev.
+      Add current branch in PS1 support to git-completion.bash.
+      Teach bash how to complete git-format-patch.
+      Teach bash how to complete git-cherry-pick.
+      Teach bash how to complete git-rebase.
+      Teach bash about git log/show/whatchanged options.
+      Support bash completion of refs/remote.
+      Teach bash about git-repo-config.
+      Support --strategy=x completion in addition to --strategy x.
+      Cache the list of merge strategies and available commands during load.
+      Teach bash about git-am/git-apply and their whitespace options.
+      Teach bash how to complete long options for git-commit.
+      Fix broken bash completion of local refs.
+      Remove uncontested renamed files during merge.
+      Avoid accessing a slow working copy during diffcore operations.
+      Provide more meaningful output from 'git init-db'.
+      Enable reflogs by default in any repository with a working directory.
+      Teach bash the new features of 'git show'.
+      Suggest use of "git add file1 file2" when there is nothing to commit.
+      Align section headers of 'git status' to new 'git add'.
+      Default GIT_COMMITTER_NAME to login name in recieve-pack.
+      Suggest 'add' in am/revert/cherry-pick.
+      Rename imap-send's internal info/warn functions.
+      Introduce a global level warn() function.
+      Use extended SHA1 syntax in merge-recursive conflicts.
+      Display 'theirs' branch name when possible in merge.
+      Rename gitfakemmap to git_mmap.
+      Switch git_mmap to use pread.
+
+Terje Sten Bjerkseth (1):
+      Fix system header problems on Mac OS X
+
+Uwe Kleine-König (1):
+      Fix documentation copy&paste typo
+
+
+Version v1.4.4.4; changes since v1.4.4.3:
+-----------------------------------------
+
+Johannes Schindelin (1):
+      diff --check: fix off by one error
+
+Junio C Hamano (3):
+      spurious .sp in manpages
+      Fix infinite loop when deleting multiple packed refs.
+      pack-check.c::verify_packfile(): don't run SHA-1 update on huge data
+
+
+Version v1.4.4.3; changes since v1.4.4.2:
+-----------------------------------------
+
+Alex Riesen (1):
+      Clarify fetch error for missing objects.
+
+Brian Gernhardt (1):
+      Move Fink and Ports check to after config file
+
+Chris Wright (1):
+      no need to install manpages as executable
+
+Eric Wong (2):
+      git-svn: exit with status 1 for test failures
+      git-svn: correctly display fatal() error messages
+
+Jim Meyering (1):
+      Don't use memcpy when source and dest. buffers may overlap
+
+Junio C Hamano (1):
+      GIT 1.4.4.3
+
+Martin Langhoff (1):
+      cvsserver: Avoid miscounting bytes in Perl v5.8.x
+
+Shawn O. Pearce (2):
+      Make sure the empty tree exists when needed in merge-recursive.
+      Bypass expensive content comparsion during rename detection.
+
+
+Version v1.4.4.2; changes since v1.4.4.1:
+-----------------------------------------
+
+Alex Riesen (1):
+      git-blame: fix rev parameter handling.
+
+Andy Parkins (2):
+      Increase length of function name buffer
+      Document git-repo-config --bool/--int options.
+
+Eric Wong (4):
+      git-svn: error out from dcommit on a parent-less commit
+      git-svn: correctly handle revision 0 in SVN repositories
+      git-svn: preserve uncommitted changes after dcommit
+      git-svn: avoid fetching files twice in the same revision
+
+Johannes Schindelin (1):
+      git-mv: search more precisely for source directory in index
+
+Junio C Hamano (5):
+      git blame -C: fix output format tweaks when crossing file boundary.
+      tutorial: talk about user.name early and don't start with commit -a
+      receive-pack: do not insist on fast-forward outside refs/heads/
+      unpack-trees: make sure "df_conflict_entry.name" is NUL terminated.
+      git-reset to remove "$GIT_DIR/MERGE_MSG"
+
+René Scharfe (1):
+      archive-zip: don't use sizeof(struct ...)
+
+
+Version v1.4.4.1; changes since v1.4.4:
+---------------------------------------
+
+Alexandre Julliard (1):
+      gitweb: Put back shortlog instead of graphiclog in the project list.
+
+Chris Riddoch (1):
+      Move --pretty options into Documentation/pretty-formats.txt
+
+Jim Meyering (1):
+      Run "git repack -a -d" once more at end, if there's 1MB or more of not-packed data.
+
+Johannes Schindelin (1):
+      Seek back to current filepos when mmap()ing with NO_MMAP
+
+Junio C Hamano (7):
+      git-checkout: do not allow -f and -m at the same time.
+      git-checkout: allow pathspec to recover lost working tree directory
+      convert-objects: set _XOPEN_SOURCE to 600
+      git-fetch: follow lightweit tags as well.
+      do_for_each_ref: perform the same sanity check for leftovers.
+      trust-executable-bit: fix breakage for symlinks
+      GIT 1.4.4.1
+
+Linus Torvalds (2):
+      git-pull: allow pulling into an empty repository
+      "git fmt-merge-msg" SIGSEGV
+
+Michal Rokos (1):
+      archive: use setvbuf() instead of setlinebuf()
+
+Paolo Ciarrocchi (2):
+      Teach SubmittingPatches about git-commit -s
+      Doc: Make comment about merging in tutorial.txt more clear
+
+Petr Baudis (4):
+      Fix git-for-each-refs broken for tags
+      git-apply: Documentation typo fix
+      Documentation: Define symref and update HEAD description
+      Documentation: Correct alternates documentation, document http-alternates
+
+René Scharfe (4):
+      sparse fix: non-ANSI function declaration
+      sparse fix: Using plain integer as NULL pointer
+      git-apply: slightly clean up bitfield usage
+      Document git-runstatus
+
+
+Version v1.4.4; changes since v1.4.4-rc2:
+-----------------------------------------
+
+Johannes Sixt (2):
+      test-lib.sh: A command dying due to a signal is an unexpected failure.
+      Catch errors when writing an index that contains invalid objects.
+
+Jonas Fonseca (1):
+      git-update-index(1): fix use of quoting in section title
+
+Junio C Hamano (1):
+      GIT 1.4.4
+
+Robin Rosenberg (1):
+      Rework cvsexportcommit to handle binary files for all cases.
+
+
+Version v1.4.4-rc2; changes since v1.4.4-rc1:
+---------------------------------------------
+
+Eric Wong (3):
+      git-svn: avoid printing filenames of files we're not tracking
+      git-svn: don't die on rebuild when --upgrade is specified
+      git-svn: fix dcommit losing changes when out-of-date from svn
+
+Jakub Narebski (3):
+      gitweb: Better git-unquoting and gitweb-quoting of pathnames
+      gitweb: Use character or octal escape codes (and add span.cntrl) in esc_path
+      gitweb: New improved patchset view
+
+Junio C Hamano (14):
+      gitweb: fix disabling of "forks"
+      gitweb: minimally fix "fork" support.
+      gitweb: do not give blame link unconditionally in diff-tree view
+      git-status: quote LF in its output
+      git-pickaxe: retire pickaxe
+      gitweb: protect blob and diff output lines from controls.
+      gitweb: protect commit messages from controls.
+      gitweb: fix unmatched div in commitdiff
+      Documentation: move blame examples
+      git-annotate: no need to exec blame; it is built-in now.
+      git-annotate: fix -S on graft file with comments.
+      path-list: fix path-list-insert return value
+      git-cvsserver: read from git with -z to get non-ASCII pathnames.
+      GIT 1.4.4-rc2
+
+OGAWA Hirofumi (1):
+      gitk: Fix nextfile() and add prevfile()
+
+Petr Baudis (1):
+      Nicer error messages in case saving an object to db goes wrong
+
+Robert Shearman (1):
+      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
+
+
+Version v1.4.4-rc1; changes since v1.4.3.5:
+-------------------------------------------
+
+Alan Chandler (1):
+      Gitweb - provide site headers and footers
+
+Alexandre Julliard (5):
+      pack-refs: Store the full name of the ref even when packing only tags.
+      git.el: Added functions for moving to the next/prev unmerged file.
+      git.el: Added a function to open the current file in another window.
+      git.el: Move point after the log message header when entering log-edit mode.
+      git.el: Include MERGE_MSG in the log-edit buffer even when not committing a merge.
+
+Andy Parkins (2):
+      Make filenames line up in git-status output
+      Remove uneccessarily similar printf() from print_ref_list() in builtin-branch
+
+Andy Whitcroft (2):
+      cvsimport: move over to using git-for-each-ref to read refs.
+      git-for-each-ref: improve the documentation on scripting modes
+
+Aneesh Kumar K.V (1):
+      gitweb: Remove extra "/" in path names for git_get_project_list
+
+Christian Couder (12):
+      Add [-s|--hash] option to Linus' show-ref.
+      Use Linus' show ref in "git-branch.sh".
+      Document git-show-ref [-s|--hash] option.
+      Fix show-ref usage for --dereference.
+      Add pack-refs and show-ref test cases.
+      When creating branch c/d check that branch c does not already exists.
+      Uncomment test case: git branch c/d should barf if branch c exists.
+      Fix a remove_empty_dir_recursive problem.
+      Clean up "git-branch.sh" and add remove recursive dir test cases.
+      Use git-update-ref to delete a tag instead of rm()ing the ref file.
+      Check that a tag exists using show-ref instead of looking for the ref file.
+      Do not create tag leading directories since git update-ref does it.
+
+Dennis Stosberg (3):
+      lock_ref_sha1_basic does not remove empty directories on BSD
+      Remove bashism from t3210-pack-refs.sh
+      Bash completion support for aliases
+
+Dmitry V. Levin (1):
+      git-clone: define die() and use it.
+
+Edgar Toernig (1):
+      Use memmove instead of memcpy for overlapping areas
+
+Eric Wong (3):
+      git-send-email: do not pass custom Date: header
+      git-svn: avoid printing filenames of files we're not tracking
+      git-svn: don't die on rebuild when --upgrade is specified
+
+Jakub Narebski (14):
+      gitweb: Improve git_print_page_path
+      gitweb: Add '..' (up directory) to tree view if applicable
+      gitweb: Get rid of git_print_simplified_log
+      gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff
+      gitweb: Print commit message without title in commitdiff only if there is any
+      gitweb: Use --no-commit-id in git_commit and git_commitdiff
+      Documentation: Update information about <format> in git-for-each-ref
+      gitweb: Move git_get_last_activity subroutine earlier
+      gitweb: Add "next" link to commitdiff view
+      gitweb: Secure against commit-ish/tree-ish with the same name as path
+      gitweb: Use 's' regexp modifier to secure against filenames with LF
+      gitweb: Use git-for-each-ref to generate list of heads and/or tags
+      gitweb: Output also empty patches in "commitdiff" view
+      gitweb: Better support for non-CSS aware web browsers
+
+Jeff King (4):
+      wt-status: use simplified resolve_ref to find current branch
+      gitignore: git-pack-refs is a generated file.
+      gitignore: git-show-ref is a generated file.
+      git-pickaxe: work properly in a subdirectory.
+
+Jim Meyering (1):
+      Don't use $author_name undefined when $from contains no /\s</.
+
+Johannes Schindelin (3):
+      Fix git-update-index --again
+      show-branch: mark active branch with a '*' again
+      Turn on recursive with --summary
+
+Jonas Fonseca (1):
+      Add man page for git-show-ref
+
+Junio C Hamano (96):
+      Add git-for-each-ref: helper for language bindings
+      Fix t1400-update-ref test minimally
+      fsck-objects: adjust to resolve_ref() clean-up.
+      symbolit-ref: fix resolve_ref conversion.
+      Add callback data to for_each_ref() family.
+      Tell between packed, unpacked and symbolic refs.
+      pack-refs: do not pack symbolic refs.
+      git-pack-refs --prune
+      pack-refs: fix git_path() usage.
+      lock_ref_sha1_basic: remove unused parameter "plen".
+      Clean-up lock-ref implementation
+      update-ref: -d flag and ref creation safety.
+      update a few Porcelain-ish for ref lock safety.
+      Teach receive-pack about ref-log
+      receive-pack: call setup_ident before git_config
+      grep --all-match
+      teach revision walker about --all-match.
+      git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 1)
+      ref locking: allow 'foo' when 'foo/bar' used to exist but not anymore.
+      refs: minor restructuring of cached refs data.
+      lock_ref_sha1(): do not sometimes error() and sometimes die().
+      lock_ref_sha1(): check D/F conflict with packed ref when creating.
+      delete_ref(): delete packed ref
+      git-branch: remove D/F check done by hand.
+      show-ref --hash=len, --abbrev=len, and --abbrev
+      git-fetch: adjust to packed-refs.
+      Fix refs.c;:repack_without_ref() clean-up path
+      gitweb: make leftmost column of blame less cluttered.
+      git-fetch: do not look into $GIT_DIR/refs to see if a tag exists.
+      pack-refs: use lockfile as everybody else does.
+      gitweb: prepare for repositories with packed refs.
+      Revert 954a6183756a073723a7c9fd8d2feb13132876b0
+      pack-refs: call fflush before fsync.
+      blame.c: whitespace and formatting clean-up.
+      git-blame: --show-name (and -f)
+      git-blame: --show-number (and -n)
+      blame.c: move code to output metainfo into a separate function.
+      git-send-email: do not drop custom headers the user prepared
+      ref-log: allow ref@{count} syntax.
+      git-send-email: real name with period need to be dq-quoted on From: line
+      git-blame --porcelain
+      gitweb: use blame --porcelain
+      Make git-send-email detect mbox-style patches more readily
+      core.logallrefupdates create new log file only for branch heads.
+      git-pack-refs --all
+      core.logallrefupdates thinko-fix
+      pack-objects: document --delta-base-offset option
+      blame: Document and add help text for -f, -n, and -p
+      gitweb: spell "blame --porcelain" with -p
+      git-repack: repo.usedeltabaseoffset
+      diff --numstat
+      gitweb: use for-each-ref to show the latest activity across branches
+      ref-log: fix D/F conflict coming from deleted refs.
+      git-pickaxe: blame rewritten.
+      git-pickaxe -M: blame line movements within a file.
+      git-pickaxe -C: blame cut-and-pasted lines.
+      git-pickaxe: pagenate output by default.
+      git-pickaxe: fix nth_line()
+      git-pickaxe: improve "best match" heuristics
+      git-pickaxe: introduce heuristics to avoid "trivial" chunks
+      git-pickaxe: do not keep commit buffer.
+      git-pickaxe: do not confuse two origins that are the same.
+      git-pickaxe: get rid of wasteful find_origin().
+      git-pickaxe: swap comparison loop used for -C
+      sha1_name.c: avoid compilation warnings.
+      t3200: git-branch testsuite update
+      tests: merge-recursive is usable without Python
+      merge: loosen overcautious "working file will be lost" check.
+      merge-recursive: use abbreviated commit object name.
+      merge-recursive: make a few functions static.
+      merge-recursive: adjust to loosened "working file clobbered" check
+      t6022: ignoring untracked files by merge-recursive when they do not matter
+      Documentation: fix git-format-patch mark-up and link it from git.txt
+      send-pack --keep: do not explode into loose objects on the receiving end.
+      git-pickaxe: WIP to refcount origin structure.
+      git-pickaxe: allow -Ln,m as well as -L n,m
+      git-pickaxe: refcount origin correctly in find_copy_in_parent()
+      git-pickaxe: tighten sanity checks.
+      Revert "send-pack --keep: do not explode into loose objects on the receiving end."
+      git-pickaxe: split find_origin() into find_rename() and find_origin().
+      git-pickaxe: cache one already found path per commit.
+      Introduce a new revision set operator <rev>^!
+      branch: work in subdirectories.
+      for-each-ref: "creator" and "creatordate" fields
+      git-pickaxe: rename detection optimization
+      git-pickaxe: simplify Octopus merges further
+      git-pickaxe: re-scan the blob after making progress with -M
+      git-pickaxe: re-scan the blob after making progress with -C
+      git-pickaxe: fix origin refcounting
+      cherry is built-in, do not ship git-cherry.sh
+      git-blame: add internal statistics to count read blobs.
+      git-pickaxe: optimize by avoiding repeated read_sha1_file().
+      Document git-pack-refs and link it to git(7).
+      git-pickaxe: -L /regexp/,/regexp/
+      git-pickaxe: allow "-L <something>,+N"
+      GIT 1.4.3-rc1
+
+Karl Hasselström (1):
+      ignore-errors requires cl
+
+Lars Hjemli (2):
+      Make git-branch a builtin
+      Fix show-ref usagestring
+
+Linus Torvalds (8):
+      Add "git show-ref" builtin command
+      Teach "git checkout" to use git-show-ref
+      Start handling references internally as a sorted in-memory list
+      Add support for negative refs
+      Make ref resolution saner
+      Enable the packed refs file format
+      Allow '-' in config variable names
+      git push: add verbose flag and allow overriding of default target repository
+
+Luben Tuikov (5):
+      gitweb: blame: print commit-8 on the leading row of a commit-block
+      gitweb: blame: Mouse-over commit-8 shows author and date
+      gitweb: blame porcelain: lineno and orig lineno swapped
+      git-revert with conflicts to behave as git-merge with conflicts
+      gitweb: esc_html() author in blame
+
+Martin Waitz (2):
+      gitweb: start to generate PATH_INFO URLs.
+      gitweb: warn if feature cannot be overridden.
+
+Matthew Wilcox (1):
+      Add --dry-run option to git-send-email
+
+Nicolas Pitre (24):
+      introduce delta objects with offset to base
+      teach git-unpack-objects about deltas with offset to base
+      teach git-index-pack about deltas with offset to base
+      make git-pack-objects able to create deltas with offset to base
+      make pack data reuse compatible with both delta types
+      let the GIT native protocol use offsets to delta base when possible
+      zap a debug remnant
+      allow delta data reuse even if base object is a preferred base
+      index-pack: compare only the first 20-bytes of the key.
+      add the capability for index-pack to read from a stream
+      enable index-pack streaming capability
+      make index-pack able to complete thin packs.
+      add progress status to index-pack
+      mimic unpack-objects when --stdin is used with index-pack
+      enhance clone and fetch -k experience
+      index-pack: minor fixes to comment and function name
+      missing small substitution
+      make git-push a bit more verbose
+      Allow pack header preprocessing before unpack-objects/index-pack.
+      git-fetch can use both --thin and --keep with fetch-pack now
+      improve fetch-pack's handling of kept packs
+      have index-pack create .keep file more carefully
+      remove .keep pack lock files when done with refs update
+      git-pack-objects progress flag documentation and cleanup
+
+Petr Baudis (11):
+      Fix broken sha1 locking
+      Fix buggy ref recording
+      gitweb: Document features better
+      gitweb: Fix search form when PATH_INFO is enabled
+      bisect reset: Leave the tree in usable state if git-checkout failed
+      gitweb: Restore object-named links in item lists
+      gitweb: Make search type a popup menu
+      gitweb: Do not automatically append " git" to custom site name
+      gitweb: Show project's README.html if available
+      gitweb: Support for 'forks'
+      gitweb: Fix up bogus $stylesheet declarations
+
+René Scharfe (4):
+      git-archive --format=zip: use default version ID
+      git-archive --format=zip: add symlink support
+      Built-in cherry
+      Make git-cherry handle root trees
+
+Robert Shearman (2):
+      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
+      git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.
+
+Robin Rosenberg (2):
+      Mention that pull can work locally in the synopsis
+      Swap the porcelain and plumbing commands in the git man page
+
+Ryan Anderson (1):
+      Remove git-annotate.perl and create a builtin-alias for git-blame
+
+Santi Béjar (2):
+      fetch: Misc output cleanup
+      merge and resolve: Output short hashes and .. in "Updating ..."
+
+Sasha Khapyorsky (2):
+      git-svnimport.perl: copying directory from original SVN place
+      git-svnimport: support for partial imports
+
+Sean Estabrooks (1):
+      Add --global option to git-repo-config.
+
+Sergey Vlasov (2):
+      git-send-email: Document support for local sendmail instead of SMTP server
+      git-send-email: Read the default SMTP server from the GIT config file
+
+Shawn O. Pearce (15):
+      Use column indexes in git-cvsserver where necessary.
+      Allow short pack names to git-pack-objects --unpacked=.
+      Only repack active packs by skipping over kept packs.
+      Teach git-index-pack how to keep a pack file.
+      Remove unused variable in receive-pack.
+      Move deny_non_fast_forwards handling completely into receive-pack.
+      Teach receive-pack how to keep pack files based on object count.
+      Added completion support for git-branch.exe.
+      Added bash completion support for git-reset.
+      Added missing completions for show-branch and merge-base.
+      Only load .exe suffix'd completions on Cygwin.
+      Bash completion support for remotes in .git/config.
+      Take --git-dir into consideration during bash completion.
+      Support bash completion on symmetric difference operator.
+      Remove more sed invocations from within bash completion.
+
+
+Version v1.4.3.5; changes since v1.4.3.4:
+-----------------------------------------
+
+Alex Riesen (1):
+      merge-recursive implicitely depends on trust_executable_bit
+
+Eric Wong (3):
+      git-svn: avoid printing filenames of files we're not tracking
+      git-svn: don't die on rebuild when --upgrade is specified
+      git-svn: fix dcommit losing changes when out-of-date from svn
+
+Jakub Narebski (1):
+      Documentation: Transplanting branch with git-rebase --onto
+
+Jeff King (1):
+      Fix git-runstatus for repositories containing a file named HEAD
+
+Junio C Hamano (3):
+      adjust_shared_perm: chmod() only when needed.
+      path-list: fix path-list-insert return value
+      git-cvsserver: read from git with -z to get non-ASCII pathnames.
+
+Petr Baudis (1):
+      Nicer error messages in case saving an object to db goes wrong
+
+Robert Shearman (1):
+      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
+
+Tero Roponen (1):
+      remove an unneeded test
+
+
+Version v1.4.3.4; changes since v1.4.3.3:
+-----------------------------------------
+
+Andy Parkins (2):
+      Minor grammar fixes for git-diff-index.txt
+      git-clone documentation didn't mention --origin as equivalent of -o
+
+Christian Couder (3):
+      Remove --syslog in git-daemon inetd documentation examples.
+      Documentation: add upload-archive service to git-daemon.
+      Documentation: add git in /etc/services.
+
+Edgar Toernig (1):
+      Use memmove instead of memcpy for overlapping areas
+
+J. Bruce Fields (1):
+      Documentation: updates to "Everyday GIT"
+
+Jakub Narebski (3):
+      diff-format.txt: Combined diff format documentation supplement
+      diff-format.txt: Correct information about pathnames quoting in patch format
+      gitweb: Check git base URLs before generating URL from it
+
+Jan Harkes (1):
+      Continue traversal when rev-list --unpacked finds a packed commit.
+
+Johannes Schindelin (1):
+      link_temp_to_file: call adjust_shared_perm() only when we created the directory
+
+Junio C Hamano (9):
+      Documentation: clarify refname disambiguation rules.
+      combine-diff: a few more finishing touches.
+      combine-diff: fix hunk_comment_line logic.
+      combine-diff: honour --no-commit-id
+      Surround "#define DEBUG 0" with "#ifndef DEBUG..#endif"
+      quote.c: ensure the same quoting across platforms.
+      revision traversal: --unpacked does not limit commit list anymore.
+      link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure
+      apply: handle "traditional" creation/deletion diff correctly.
+
+Nicolas Pitre (1):
+      pack-objects doesn't create random pack names
+
+René Scharfe (1):
+      git-cherry: document limit and add diagram
+
+Shawn O. Pearce (3):
+      Use ULONG_MAX rather than implicit cast of -1.
+      Remove SIMPLE_PROGRAMS and make git-daemon a normal program.
+      Remove unsupported C99 style struct initializers in git-archive.
+
+
+Version v1.4.3.3; changes since v1.4.3.2:
+-----------------------------------------
+
+Eric Wong (1):
+      git-svn: fix symlink-to-file changes when using command-line svn 1.4.0
+
+Gerrit Pape (1):
+      Set $HOME for selftests
+
+Junio C Hamano (5):
+      Documentation: note about contrib/.
+      RPM package re-classification.
+      Refer to git-rev-parse:Specifying Revisions from git.txt
+      Update cherry documentation.
+      Documentation/SubmittingPatches: 3+1 != 6
+
+Petr Baudis (1):
+      xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines
+
+Tuncer Ayaz (1):
+      git-fetch.sh printed protocol fix
+
+
+Version v1.4.3.2; changes since v1.4.3.1:
+-----------------------------------------
+
+Alexandre Julliard (1):
+      prune-packed: Fix uninitialized variable.
+
+J. Bruce Fields (1):
+      Make prune also run prune-packed
+
+Jakub Narebski (2):
+      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)
+      gitweb: Do not esc_html $basedir argument to git_print_tree_entry
+
+Jim Meyering (2):
+      git-clone: honor --quiet
+      xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.
+
+Junio C Hamano (2):
+      pager: default to LESS=FRSX not LESS=FRS
+      daemon: do not die on older clients.
+
+Karl Hasselström (1):
+      git-vc: better installation instructions
+
+Lars Hjemli (1):
+      Fix usagestring for git-branch
+
+Petr Baudis (1):
+      gitweb: Fix setting $/ in parse_commit()
+
+René Scharfe (1):
+      git-merge: show usage if run without arguments
+
+Santi Béjar (1):
+      Documentation for the [remote] config
+
+
+Version v1.4.3.1; changes since v1.4.3:
+---------------------------------------
+
+Junio C Hamano (1):
+      pager: default to LESS=FRS
+
+Lars Hjemli (1):
+      Fix typo in show-index.c
+
+Linus Torvalds (1):
+      git-apply: prepare for upcoming GNU diff -u format change.
+
+Nguyễn Thái Ngọc Duy (2):
+      Reject hexstring longer than 40-bytes in get_short_sha1()
+      Add revspec documentation for ':path', ':[0-3]:path' and git-describe
+
+Nicolas Pitre (1):
+      reduce delta head inflated size
+
+
+Version v1.4.3; changes since v1.4.3-rc3:
+-----------------------------------------
+
+Andy Whitcroft (1):
+      add proper dependancies on the xdiff source
+
+Junio C Hamano (1):
+      Revert "move pack creation to version 3"
+
+Linus Torvalds (1):
+      Fix hash function in xdiff library
+
+Markus Amsler (1):
+      git-imap-send: Strip smtp From_ header from imap message.
+
+Petr Baudis (1):
+      svnimport: Fix broken tags being generated
+
+René Scharfe (2):
+      Make write_sha1_file_prepare() void
+      Replace open-coded version of hash_sha1_file()
+
+
+Version v1.4.3-rc3; changes since v1.4.3-rc2:
+---------------------------------------------
+
+Christian Couder (1):
+      Fix tracing when GIT_TRACE is set to an empty string.
+
+Eric Wong (8):
+      git-svn: multi-init saves and reuses --tags and --branches arguments
+      git-svn: log command fixes
+      Documentation/git-svn: document some of the newer features
+      git-svn: -h(elp) message formatting fixes
+      commit: fix a segfault when displaying a commit with unreachable parents
+      git-svn: add a message encouraging use of SVN::* libraries
+      git-svn: fix commits over svn+ssh://
+      git-svn: reduce memory usage for large commits
+
+Johannes Schindelin (3):
+      diff: fix 2 whitespace issues
+      cvsserver: Show correct letters for modified, removed and added files
+      cvsserver: fix "cvs diff" in a subdirectory
+
+Junio C Hamano (6):
+      Add WEBDAV timeout to http-fetch.
+      git-fetch --update-head-ok typofix
+      git-pull: we say commit X, not X commit.
+      git.spec.in: perl subpackage is installed in perl_vendorlib not vendorarch
+      apply --numstat -z: line termination fix.
+      t4015: work-around here document problem on Cygwin.
+
+Martin Waitz (1):
+      paginate git-diff by default
+
+Nicolas Pitre (1):
+      atomic write for sideband remote messages
+
+René Scharfe (3):
+      Documentation: add missing second colons and remove a typo
+      Add hash_sha1_file()
+      Make write_sha1_file_prepare() static
+
+Yasushi SHOJI (1):
+      clone: the given repository dir should be relative to $PWD
+
+
+Version v1.4.3-rc2; changes since v1.4.3-rc1:
+---------------------------------------------
+
+Alan Chandler (2):
+      Update the gitweb/README file to include setting the GITWEB_CONFIG environment
+      Fix usage string to match that given in the man page
+
+Alexandre Julliard (2):
+      git.el: Fixed inverted "renamed from/to" message.
+      vc-git.el: Switch to using git-blame instead of git-annotate.
+
+Dennis Stosberg (2):
+      lock_ref_sha1_basic does not remove empty directories on BSD
+      Add default values for --window and --depth to the docs
+
+Franck Bui-Huu (1):
+      Add git-upload-archive to the main git man page
+
+Jakub Narebski (1):
+      gitweb: Cleanup Git logo and Git logo target generation
+
+Junio C Hamano (9):
+      Makefile: install and clean merge-recur, still.
+      git-mv: invalidate the removed path properly in cache-tree
+      git-push: .git/remotes/ file does not require SP after colon
+      escape tilde in Documentation/git-rev-parse.txt
+      tar-tree deprecation: we eat our own dog food.
+      gitweb: Make the Git logo link target to point to the homepage
+      git-send-email: avoid uninitialized variable warning.
+      cherry-pick: make -r the default
+      Fix git-revert
+
+Luben Tuikov (3):
+      gitweb: Escape ESCAPE (\e) character
+      gitweb: Do not print "log" and "shortlog" redundantly in commit view
+      gitweb: blame: Minimize vertical table row padding
+
+Martin Waitz (4):
+      gitweb: document webserver configuration for common gitweb/repo URLs.
+      git-commit: cleanup unused function.
+      git-commit: fix coding style.
+      test-lib: separate individual test better in verbose mode.
+
+Nicolas Pitre (1):
+      add commit count options to git-shortlog
+
+Petr Baudis (4):
+      Show snapshot link in shortlog only if have_snapsho
+      gitweb: Separate (new) and (deleted) in commitdiff by a space
+      gitweb: Handle commits with empty commit messages more reasonably
+      gitweb: [commit view] Do not suppress commitdiff link in root commit
+
+René Scharfe (1):
+      git-tar-tree: don't RUN_SETUP
+
+Robin Rosenberg (1):
+      Error in test description of t1200-tutorial
+
+Yasushi SHOJI (1):
+      gitweb: refactor decode() for utf8 conversion
+
+
+Version v1.4.3-rc1; changes since v1.4.2.4:
+-------------------------------------------
+
+Alex Riesen (3):
+      Use const for interpolate arguments
+      fix daemon.c compilation for NO_IPV6=1
+      do not discard constness in interp_set_entry value argument
+
+Andy Whitcroft (3):
+      send-pack: remove remote reference limit
+      send-pack: switch to using git-rev-list --stdin
+      svnimport: add support for parsing From: lines for author
+
+Aneesh Kumar K.V (4):
+      gitweb: Support for snapshot
+      gitweb: fix snapshot support
+      gitweb: Make blame and snapshot a feature.
+      gitweb: Fix git_blame
+
+Art Haas (1):
+      Patch for http-fetch.c and older curl releases
+
+Christian Couder (8):
+      Trace into open fd and refactor tracing code.
+      Trace into a file or an open fd and refactor tracing code.
+      Update GIT_TRACE documentation.
+      Fix memory leak in prepend_to_path (git.c).
+      Move add_to_string to "quote.c" and make it extern.
+      Fix a memory leak in "connect.c" and die if command too long.
+      Fix space in string " false" problem in "trace.c".
+      Remove empty ref directories that prevent creating a ref.
+
+David Rientjes (18):
+      blame.c return cleanup
+      builtin-grep.c cleanup
+      builtin-push.c cleanup
+      diff.c cleanup
+      http-push.c cleanup
+      read-cache.c cleanup
+      Make pprint_tag void and cleans up call in cmd_cat_file.
+      Make show_entry void
+      Make checkout_all void.
+      Make fsck_dir void.
+      Make pack_objects void.
+      Make track_tree_refs void.
+      Make upload_pack void and remove conditional return.
+      Make sha1flush void and remove conditional return.
+      make inline is_null_sha1 global
+      use appropriate typedefs
+      remove unnecessary initializations
+      Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length.
+
+Dennis Stosberg (10):
+      "test" in Solaris' /bin/sh does not support -e
+      Makefile fix for Solaris
+      Add possibility to pass CFLAGS and LDFLAGS specific to the perl subdir
+      Solaris has strlcpy() at least since version 8
+      Look for sockaddr_storage in sys/socket.h
+      Fix detection of ipv6 on Solaris
+      Fix compilation with Sun CC
+      gitweb: Use --git-dir parameter instead of setting $ENV{'GIT_DIR'}
+      gitweb: Remove forgotten call to git_to_hash
+      use do() instead of require() to include configuration
+
+Dmitry V. Levin (3):
+      Make count-objects, describe and merge-tree work in subdirectory
+      Documentation: Fix broken links
+      Handle invalid argc gently
+
+Eric Wong (5):
+      pass DESTDIR to the generated perl/Makefile
+      git-svn: establish new connections on commit after fork
+      git-svn: recommend rebase for syncing against an SVN repo
+      git-svn: add the 'dcommit' command
+      git-svn: stop repeatedly reusing the first commit message with dcommit
+
+Franck Bui-Huu (10):
+      Add a newline before appending "Signed-off-by: " line
+      log-tree.c: cleanup a bit append_signoff()
+      Add git-archive
+      git-archive: wire up TAR format.
+      git-archive: wire up ZIP format.
+      Add git-upload-archive
+      connect.c: finish_connect(): allow null pid parameter
+      Test return value of finish_connect()
+      upload-archive: monitor child communication even more carefully.
+      git-archive: update documentation
+
+Haavard Skinnemoen (1):
+      git-send-email: Don't set author_not_sender from Cc: lines
+
+Jakub Narebski (138):
+      gitweb: whitespace cleanup
+      gitweb: Use list for of open for running git commands, thorougly.
+      gitweb: simplify git_get_hash_by_path
+      gitweb: More explicit error messages for open "-|"
+      gitweb: Cleanup - chomp $line in consistent style
+      gitweb: Cleanup - chomp @lines in consistent style
+      gitweb: Add git_page_nav for later use
+      gitweb: Navbar refactoring - use git_page_nav to generate navigation bar
+      gitweb: Replace form-feed character by ^L
+      gitweb: Show project descriptions with utf-8 characters in project list correctly
+      gitweb: Add "\n" after <br/> in git_page_nav
+      gitweb: Pager refactoring - use git_get_paging_nav for pagination
+      gitweb: Remove $project from git_get_paging_nav arguments
+      gitweb: Headers refactoring - use git_header_div for header divs
+      gitweb: Remove characters entities entirely when shortening string
+      gitweb: Ref refactoring - use git_get_referencing for marking tagged/head commits
+      gitweb: Refactor generation of shortlog, tags and heads body
+      gitweb: do not quote path for list version of open "-|"
+      gitweb: Remove characters entities entirely when shortening string -- correction
+      gitweb: Reordering code and dividing it into categories
+      gitweb: Refactoring git_project_list
+      autoconf: Add support for setting SHELL_PATH and PERL_PATH
+      autoconf: Move site configuration section earlier in configure.ac
+      autoconf: Add support for setting PYTHON_PATH or NO_PYTHON
+      autoconf: Check for ll hh j z t size specifiers introduced by C99
+      autoconf: Typo cleanup, reordering etc.
+      Copy description of new build configuration variables to configure.ac
+      autoconf: Set NEEDS_LIBICONV unconditionally if there is no iconv in libc
+      gitweb: Separate input validation and dispatch, add comment about opml action
+      gitweb: die_error first (optional) parameter is HTTP status
+      gitweb: Use undef for die_error to use default first (status) parameter value
+      gitweb: Don't undefine query parameter related variables before die_error
+      gitweb: Cleanup and uniquify error messages
+      gitweb: No periods for error messages
+      gitweb: No error messages with unescaped/unprotected user input
+      gitweb: PATH_INFO=/ means no project
+      gitweb: Inline $rss_link
+      gitweb: Refactor untabifying - converting tabs to spaces
+      gitweb: fix commitdiff for root commits
+      gitweb: Skip nonmatching lines in difftree output, consistently
+      autoconf: Unset NO_STH and NEED_STH when it is detected not needed
+      gitweb: Remove unused variables in git_shortlog_body and git_heads
+      autoconf: Add configure target to main Makefile
+      autoconf: Error out on --without-shell and --without-perl
+      autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling
+      autoconf: Move variables which we always set to config.mak.in
+      autoconf: It is --without-python, not --no-python
+      autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR
+      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align
+      gitweb: Great subroutines renaming
+      gitweb: Separate ref parsing in git_get_refs_list into parse_ref
+      gitweb: Refactor printing shortened title in git_shortlog_body and git_tags_body
+      gitweb: Separate main part of git_history into git_history_body
+      gitweb: Separate finding project owner into git_get_project_owner
+      gitweb: Change appereance of marker of refs pointing to given object
+      gitweb: Skip comments in mime.types like file
+      gitweb: True fix: Support for the standard mime.types map in gitweb
+      gitweb: Separate printing difftree in git_commit into git_difftree_body
+      gitweb: Show project's git URL on summary page
+      gitweb: Add support for per project git URLs
+      gitweb: Uniquify version info output, add meta generator in page header
+      gitweb: Refactor printing commit message
+      gitweb: Added parse_difftree_raw_line function for later use
+      gitweb: Use parse_difftree_raw_line in git_difftree_body
+      gitweb: bugfix: a.list formatting regression
+      gitweb: Replace some presentational HTML by CSS
+      gitweb: Whitespace cleanup: realign, reindent
+      gitweb: Use underscore instead of hyphen to separate words in HTTP headers names
+      gitweb: Route rest of action subroutines through %actions
+      gitweb: Use here-doc
+      gitweb: Drop the href() params which keys are not in %mapping
+      gitweb: Sort CGI parameters returned by href()
+      gitweb: Use git-diff-tree patch output for commitdiff
+      gitweb: Show information about incomplete lines in commitdiff
+      gitweb: Remove invalid comment in format_diff_line
+      gitweb: Streamify patch output in git_commitdiff
+      gitweb: Add git_get_{following,preceding}_references functions
+      gitweb: Faster return from git_get_preceding_references if possible
+      gitweb: Add git_get_rev_name_tags function
+      gitweb: Use git_get_name_rev_tags for commitdiff_plain X-Git-Tag: header
+      gitweb: Add support for hash_parent_base parameter for blobdiffs
+      gitweb: Allow for pre-parsed difftree info in git_patchset_body
+      gitweb: Parse two-line from-file/to-file diff header in git_patchset_body
+      gitweb: Add invisible hyperlink to from-file/to-file diff header
+      gitweb: Always display link to blobdiff_plain in git_blobdiff
+      gitweb: Change here-doc back for style consistency in git_blobdiff
+      gitweb: Use git-diff-tree or git-diff patch output for blobdiff
+      gitweb: git_blobdiff_plain is git_blobdiff('plain')
+      gitweb: Remove git_diff_print subroutine
+      gitweb: Remove creating directory for temporary files
+      gitweb: git_annotate didn't expect negative numeric timezone
+      gitweb: Remove workaround for git-diff bug fixed in f82cd3c
+      gitweb: Improve comments about gitweb features configuration
+      gitweb: blobs defined by non-textual hash ids can be cached
+      gitweb: Fix typo in git_difftree_body
+      gitweb: Fix typo in git_patchset_body
+      gitweb: Remove unused git_get_{preceding,following}_references
+      gitweb: Remove git_to_hash function
+      gitweb: Use @diff_opts, default ('M'), as git-diff and git-diff-tree paramete
+      gitweb: Make git_print_log generic; git_print_simplified_log uses it
+      gitweb: Do not remove signoff lines in git_print_simplified_log
+      gitweb: Add author information to commitdiff view
+      gitweb: git_print_log: signoff line is non-empty line
+      gitweb: Add diff tree, with links to patches, to commitdiff view
+      gitweb: Add local time and timezone to git_print_authorship
+      gitweb: Move git-ls-tree output parsing to parse_ls_tree_line
+      gitweb: Separate printing of git_tree row into git_print_tree_entry
+      gitweb: Extend parse_difftree_raw_line to save commit info
+      gitweb: Change the name of diff to parent link in "commit" view to "diff
+      gitweb: Add GIT favicon, assuming image/png type
+      gitweb: Correct typo: '==' instead of 'eq' in git_difftree_body
+      gitweb: Divide page path into directories -- path's "breadcrumbs"
+      autoconf: Add -liconv to LIBS when NEEDS_LIBICONV
+      autoconf: Check for subprocess.py
+      autoconf: Quote AC_CACHE_CHECK arguments
+      autoconf: Fix copy'n'paste error
+      autoconf: Set NO_ICONV if iconv is found neither in libc, nor in libiconv
+      autoconf: Add support for setting NO_ICONV and ICONVDIR
+      autoconf: Add config.cache to .gitignore
+      gitweb: Make pickaxe search a feature
+      gitweb: Paginate history output
+      gitweb: Use File::Find::find in git_get_projects_list
+      gitweb: Do not parse refs by hand, use git-peek-remote instead
+      gitweb: Add git_project_index for generating index.aux
+      gitweb: Allow for href() to be used for links without project param
+      gitweb: Add link to "project_index" view to "project_list" page
+      gitweb: Fix mimetype_guess_file for files with multiple extensions
+      gitweb: Even more support for PATH_INFO based URLs
+      gitweb: Require project for almost all actions
+      gitweb: Always use git-peek-remote in git_get_references
+      gitweb: Make git_get_refs_list do work of git_get_references
+      gitweb: Fix thinko in git_tags and git_heads
+      gitweb: Make git_get_hash_by_path check type if provided
+      gitweb: Strip trailing slashes from $path in git_get_hash_by_path
+      gitweb: Use "return" instead of "return undef" for some subs
+      gitweb: Split validate_input into validate_pathname and validate_refname
+      gitweb: Add git_url subroutine, and use it to quote full URLs
+      gitweb: Quote filename in HTTP Content-Disposition: header
+
+Jeff King (9):
+      gitweb: optionally read config from GITWEB_CONFIG
+      diff: support custom callbacks for output
+      Move color option parsing out of diff.c and into color.[ch]
+      git-commit.sh: convert run_status to a C builtin
+      git-status: document colorization config options
+      contrib/vim: add syntax highlighting file for commits
+      wt-status: remove extraneous newline from 'deleted:' output
+      rev-list: fix segfault with --{author,committer,grep}
+      git-repack: allow git-repack to run in subdirectory
+
+Johannes Schindelin (35):
+      Git.xs: older perl do not know const char *
+      Status update on merge-recursive in C
+      Cumulative update of merge-recursive in C
+      merge-recur: Convert variable names to lower_case
+      merge-recur: Get rid of debug code
+      merge-recur: Remove dead code
+      merge-recur: Fix compiler warning with -pedantic
+      merge-recur: Cleanup last mixedCase variables...
+      merge-recur: Explain why sha_eq() and struct stage_data cannot go
+      merge-recur: fix thinko in unique_path()
+      read-trees: refactor the unpack_trees() part
+      read-tree: move merge functions to the library
+      merge-recur: use the unpack_trees() interface instead of exec()ing read-tree
+      merge-recur: virtual commits shall never be parsed
+      merge-recursive: fix rename handling
+      http-push: avoid fork() by calling merge_bases() directly
+      merge-recur: do not call git-write-tree
+      merge-recur: do not setenv("GIT_INDEX_FILE")
+      merge-recur: if there is no common ancestor, fake empty one
+      merge-recur: try to merge older merge bases first
+      merge-recur: do not die unnecessarily
+      discard_cache(): discard index, even if no file was mmap()ed
+      Add the --color-words option to the diff options family
+      builtin-mv: readability patch
+      unpack-objects: remove unused variable "eof"
+      Makefile: fix typo
+      Remove uneeded #include
+      fmt-merge-msg: fix off-by-one bug
+      Teach runstatus about --untracked
+      add receive.denyNonFastforwards config variable
+      receive-pack: plug memory leak in fast-forward checking code.
+      Document receive.denyNonFastforwards
+      runstatus: do not recurse into subdirectories if not needed
+      daemon: default to 256 for HOST_NAME_MAX if it is not defined
+      diff --stat: ensure at least one '-' for deletions, and one '+' for additions
+
+Jon Loeliger (3):
+      Add virtualization support to git-daemon
+      Cleaned up git-daemon virtual hosting support.
+      Removed memory leaks from interpolation table uses.
+
+Jonas Fonseca (21):
+      git-apply(1): document missing options and improve existing ones
+      git-ls-remote(1): document --upload-pack
+      git-blame(1): mention options in the synopsis and advertise pickaxe
+      gitk(1): expand the manpage to look less like a template
+      git(7): put the synopsis in a verse style paragraph
+      gitview.txt: improve asciidoc markup
+      git-svn(1): improve asciidoc markup
+      describe: fix off-by-one error in --abbrev=40 handling
+      Use PATH_MAX instead of MAXPATHLEN
+      Use xrealloc instead of realloc
+      Use fstat instead of fseek
+      Use xcalloc instead of calloc
+      Add --relative-date option to the revision interface
+      git(7): move gitk(1) to the list of porcelain commands
+      Use xmalloc instead of malloc
+      Include config.mak.autogen in the doc Makefile
+      git-rev-list(1): group options; reformat; document more options
+      git-apply(1): document --unidiff-zero
+      git-repack(1): document --window and --depth
+      Fix trivial typos and inconsistencies in hooks documentation
+      gitk(1): mention --all
+
+Junio C Hamano (125):
+      Perl interface: add build-time configuration to allow building with -fPIC
+      Perl interface: make testsuite work again.
+      perl: fix make clean
+      Git.pm: tentative fix to test the freshly built Git.pm
+      Perly Git: arrange include path settings properly.
+      Makefile: Set USE_PIC on x86-64
+      Perly git: work around buggy make implementations.
+      Git.pm: clean generated files.
+      Perly Git: make sure we do test the freshly built one.
+      INSTALL: a tip for running after building but without installing.
+      Work around sed and make interactions on the backslash at the end of line.
+      upload-pack: use object pointer not copy of sha1 to keep track of has/needs.
+      upload-pack: lift MAX_NEEDS and MAX_HAS limitation
+      recur vs recursive: help testing without touching too many stuff.
+      sha1_file.c: expose map_sha1_file() interface.
+      pack-objects: reuse deflated data from new-style loose objects.
+      unpack-objects: read configuration data upon startup.
+      Makefile: git-merge-recur depends on xdiff libraries.
+      gitweb: There can be more than two levels of subdirectories
+      gitweb: an obvious cut and paste error.
+      gitweb: fix use of uninitialized value.
+      gitweb: when showing history of a tree, show tree link not blob
+      gitweb: avoid undefined value warning in print_page_path
+      gitweb/README: do not bug Kay with gitweb questions anymore
+      Makefile: gitweb/gitweb.cgi is now generated.
+      gitweb: do not use @@FOO@@ for replaced tokens
+      .gitignore: git-merge-recur is a built file.
+      Make git-checkout-index a builtin
+      builtins: Makefile clean-up
+      git.c: Rename NEEDS_PREFIX to RUN_SETUP
+      autoconf: fix NEEDS_SSL_WITH_CRYPTO
+      autoconf: NO_IPV6
+      Racy git: avoid having to be always too careful
+      read-cache: tweak racy-git delay logic
+      autoconf: clean temporary file mak.append
+      git-grep: show pathnames relative to the current directory
+      upload-pack: minor clean-up in multi-ack logic
+      Fix type of combine-diff.c::show_patch_diff()
+      Remove combine-diff.c::uninteresting()
+      t4116 apply --reverse test
+      git-apply --reverse: simplify reverse option.
+      git-apply --binary: clean up and prepare for --reverse
+      avoid nanosleep(2)
+      Documentation/technical/racy-git.txt
+      Add check program "git-check-racy"
+      Remove the "delay writing to avoid runtime penalty of racy-git avoidance"
+      builtin-grep: remove unused debugging cruft.
+      builtin-apply --reverse: two bugfixes.
+      diff.c: make binary patch reversible.
+      apply --reverse: tie it all together.
+      git-apply --reject
+      git-apply --reject: send rejects to .rej files.
+      git-apply --verbose
+      apply --reject: count hunks starting from 1, not 0
+      Convert memset(hash,0,20) to hashclr(hash).
+      hashcpy/hashcmp remaining bits.
+      builtin-grep.c: remove unused debugging piece.
+      update-index -g
+      git-apply --reject: finishing touches.
+      free(NULL) is perfectly valid.
+      daemon: prepare for multiple services.
+      daemon: add upload-tar service.
+      multi-service daemon: documentation
+      t5710: fix two thinkos.
+      Constness tightening for move/link_temp_to_file()
+      consolidate two copies of new style object header parsing code.
+      pack-objects: re-validate data we copy from elsewhere.
+      Revert "Convert git-annotate to use Git.pm"
+      Revert "Git.pm: Introduce fast get_object() method"
+      Revert "Make it possible to set up libgit directly (instead of from the environment)"
+      pack-objects: fix thinko in revalidate code
+      more lightweight revalidation while reusing deflated stream in packing
+      unpack-objects desperately salvages objects from a corrupt pack
+      revision.c: allow injecting revision parameters after setup_revisions().
+      Teach rev-list an option to read revs from the standard input.
+      Revert "daemon: add upload-tar service."
+      Make apply --binary a no-op.
+      diff --binary generates full index on binary files.
+      Separate object listing routines out of rev-list
+      pack-objects: run rev-list equivalent internally.
+      pack-objects: further work on internal rev-list logic.
+      pack-objects --unpacked=<existing pack> option.
+      get_sha1_hex() micro-optimization
+      archive: allow remote to have more formats than we understand.
+      Move sideband client side support into reusable form.
+      Move sideband server side support into reusable form.
+      archive: force line buffered output to stderr
+      Add --verbose to git-archive
+      Teach --exec to git-archive --remote
+      Prepare larger packet buffer for upload-pack protocol.
+      Add sideband status report to git-archive protocol
+      upload-archive: monitor child communication more carefully.
+      builtin-archive.c: rename remote_request() to extract_remote_arg()
+      pack-objects: document --revs, --unpacked and --all.
+      http-fetch: fix alternates handling.
+      unpack-objects -r: call it "recover".
+      Document git-grep -[Hh]
+      Define fallback PATH_MAX on systems that do not define one in <limits.h>
+      Fix git-am safety checks
+      http-fetch.c: consolidate code to detect missing fetch target
+      Add ftp:// protocol support for git-http-fetch
+      t1400: make test debuggable.
+      apply --unidiff-zero: loosen sanity checks for --unidiff=0 patches
+      builtin-grep: make pieces of it available as library.
+      revision traversal: prepare for commit log match.
+      revision traversal: --author, --committer, and --grep.
+      repack: use only pack-objects, not rev-list.
+      Update grep internal for grepping only in head/body
+      git log: Unify header_filter and message_filter into one.
+      Make hexval() available to others.
+      sha1_name.c: understand "describe" output as a valid object name
+      diff.c: second war on whitespace.
+      git-apply: second war on whitespace.
+      Add t5510 to test per branch configuration affecting git-fetch.
+      Remove upload-tar and make git-tar-tree a thin wrapper to git-archive
+      Deprecate merge-recursive.py
+      diff --stat: allow custom diffstat output width.
+      diff --stat: color output.
+      An illustration of rev-list --parents --pretty=raw
+      grep: free expressions and patterns when done.
+      grep: fix --fixed-strings combined with expression.
+      Contributed bash completion support for core Git tools.
+      git-diff -B output fix.
+      Remove -fPIC which was only needed for Git.xs
+      GIT 1.4.3-rc1
+
+Linus Torvalds (10):
+      Relative timestamps in git log
+      git-fsck-objects: lacking default references should not be fatal
+      Fix git-fsck-objects SIGSEGV/divide-by-zero
+      Add "-h/-H" parsing to "git grep"
+      Allow multiple "git_path()" uses
+      git-log --author and --committer are not left-anchored by default
+      Clean up approxidate() in preparation for fixes
+      Fix approxidate() to understand more extended numbers
+      diff --stat=width[,name-width]: allow custom diffstat output width.
+      Fix approxidate() to understand 12:34 AM/PM are 00:34 and 12:34
+
+Liu Yubao (1):
+      Fix duplicate xmalloc in builtin-add
+
+Luben Tuikov (19):
+      gitweb: git_tree displays blame based on repository config
+      gitweb: bugfix: git_commit and git_commitdiff parents
+      gitweb: blame table row no highlight fix
+      gitweb: bugfix: commitdiff regression
+      gitweb: bugfix: git_print_page_path() needs the hash base
+      gitweb: tree view: eliminate redundant "blob"
+      gitweb: Remove redundant "tree" link
+      gitweb: extend blame to show links to diff and previous
+      Revert "gitweb: extend blame to show links to diff and previous"
+      gitweb: Remove excessively redundant entries from git_difftree_body
+      gitweb: Add history and blame to git_difftree_body()
+      gitweb: "alternate" starts with shade (i.e. 1)
+      gitweb: Remove redundant "commit" link from shortlog
+      gitweb: Factor out gitweb_have_snapshot()
+      gitweb: Add snapshot to shortlog
+      gitweb: Don't use quotemeta on internally generated strings
+      gitweb: Remove redundant "commit" from history
+      gitweb: History: blob and tree are first, then commitdiff, etc
+      gitweb: tree view: hash_base and hash are now context sensitive
+
+Martin Langhoff (1):
+      git-repack: create new packs inside $GIT_DIR, not cwd
+
+Martin Waitz (11):
+      gitweb: fill in gitweb configuration by Makefile
+      gitweb: use out-of-line GIT logo.
+      gitweb: provide function to format the URL for an action link.
+      gitweb: consolidate action URL generation.
+      gitweb: continue consolidation of URL generation.
+      gitweb: support for "fp" parameter.
+      gitweb: support for / as home_link.
+      gitweb: fix project list if PATH_INFO=="/".
+      gitweb: more support for PATH_INFO based URLs
+      gitweb: fix uninitialized variable warning.
+      gitweb: fix display of trees via PATH_INFO.
+
+Matthias Kestenholz (6):
+      Make git-name-rev a builtin
+      Make git-pack-objects a builtin
+      Make git-unpack-objects a builtin
+      Make git-symbolic-ref a builtin
+      Add gitweb.cgi to .gitignore
+      Check if pack directory exists prior to descending into it
+
+Matthias Lederhofer (12):
+      pager: environment variable GIT_PAGER to override PAGER
+      gitweb: use a hash to lookup the sub for an action
+      gitweb: require $ENV{'GITWEB_CONFIG'}
+      gitweb: check if HTTP_ACCEPT is really set
+      gitweb: fix commitdiff_plain for root commits
+      gitweb: fix $project usage
+      gitweb: do not use 'No such directory' error message
+      gitweb: export options
+      gitweb: fix warnings in PATH_INFO code and add export_ok/strict_export
+      gitweb fix validating pg (page) parameter
+      format-patch: use cwd as default output directory
+      git-format-patch: fix bug using -o in subdirectories
+
+Nicolas Pitre (2):
+      move pack creation to version 3
+      many cleanups to sha1_file.c
+
+Paul Mackerras (10):
+      gitk: Minor cleanups
+      gitk: Recompute ancestor/descendent heads/tags when rereading refs
+      gitk: Add a row context-menu item for creating a new branch
+      gitk: Add a context menu for heads
+      gitk: Fix a couple of buglets in the branch head menu items
+      gitk: Add a menu item for cherry-picking commits
+      gitk: Update preceding/following tag info when creating a tag
+      gitk: Improve responsiveness while reading and layout out the graph
+      gitk: Fix some bugs in the new cherry-picking code
+      diff-index --cc shows a 3-way diff between HEAD, index and working tree.
+
+Pavel Roskin (3):
+      Fix probing for already installed Error.pm
+      Delete manuals if compiling without docs
+      Make perl interface a separate package
+
+Petr Baudis (43):
+      Introduce Git.pm (v4)
+      Git.pm: Implement Git::exec_path()
+      Git.pm: Call external commands using execv_git_cmd()
+      Git.pm: Implement Git::version()
+      Add Error.pm to the distribution
+      Git.pm: Better error handling
+      Git.pm: Handle failed commands' output
+      Git.pm: Enhance the command_pipe() mechanism
+      Git.pm: Implement options for the command interface
+      Git.pm: Add support for subdirectories inside of working copies
+      Convert git-mv to use Git.pm
+      Git.pm: assorted build related fixes.
+      Git.pm: Try to support ActiveState output pipe
+      Git.pm: Swap hash_object() parameters
+      Git.pm: Fix Git->repository("/somewhere/totally/elsewhere")
+      Git.pm: Support for perl/ being built by a different compiler
+      Git.pm: Remove PerlIO usage from Git.xs
+      Git.pm: Avoid ppport.h
+      Git.pm: Don't #define around die
+      Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging
+      Git.pm: Add config() method
+      Convert git-send-email to use Git.pm
+      Git.pm: Introduce ident() and ident_person() methods
+      Make it possible to set up libgit directly (instead of from the environment)
+      Git.pm: Introduce fast get_object() method
+      Convert git-annotate to use Git.pm
+      Eliminate Scalar::Util usage from private-Error.pm
+      Fix showing of path in tree view
+      gitweb: Link (HEAD) tree for each project from projects list
+      gitweb: More per-view navigation bar links
+      gitweb: Link to tree instead of snapshot in shortlog
+      gitweb: Link to latest tree from the head line in heads list
+      gitweb: Link to associated tree from a particular log item in full log view
+      gitweb: Rename "plain" labels to "raw"
+      gitweb: Relabel "head" as "HEAD"
+      Make path in tree view look nicer
+      gitweb: Fix tree link associated with each commit log entry.
+      gitweb: Fix @git_base_url_list usage
+      Fix snapshot link in tree view
+      Git.pm: Kill Git.xs for now
+      Deprecate git-resolve.sh
+      gitweb: Consolidate escaping/validation of query string
+      gitweb: fix over-eager application of esc_html().
+
+Pierre Habouzit (7):
+      Fix a comparison bug in diff-delta.c
+      avoid to use error that shadows the function name, use err instead.
+      git_dir holds pointers to local strings, hence MUST be const.
+      missing 'static' keywords
+      remove ugly shadowing of loop indexes in subloops.
+      use name[len] in switch directly, instead of creating a shadowed variable.
+      n is in fact unused, and is later shadowed.
+
+Randal L. Schwartz (1):
+      builtin-upload-archive.c broken on openbsd
+
+René Scharfe (15):
+      git-verify-pack: make builtin
+      Axe the last ent
+      Add write_or_die(), a helper function
+      Add git-zip-tree
+      git-cherry: remove unused variable
+      git-reset: remove unused variable
+      Add git-zip-tree to .gitignore
+      git-archive: make compression level of ZIP archives configurable
+      Use xstrdup instead of strdup in builtin-{tar,zip}-tree.c
+      git-archive: inline default_parse_extra()
+      git-tar-tree: devolve git-tar-tree into a wrapper for git-archive
+      Remove git-zip-tree
+      Rename builtin-zip-tree.c to archive-zip.c
+      git-tar-tree: Remove duplicate git_config() call
+      git-tar-tree: Move code for git-archive --format=tar to archive-tar.c
+
+Robin Rosenberg (2):
+      Quote arguments to tr in test-lib
+      Make cvsexportcommit remove files.
+
+Santi Béjar (4):
+      Fetch: default remote repository from branch properties
+      fetch: get the remote branches to merge from the branch properties
+      Add test for the default merges in fetch.
+      fetch: Reset remote refs list each time fetch_main is called
+
+Sasha Khapyorsky (3):
+      Trivial support for cloning and fetching via ftp://.
+      git-svnimport: Parse log message for Signed-off-by: lines
+      http/ftp: optionally ask curl to not use EPSV command
+
+Sergey Vlasov (2):
+      Documentation: Fix howto/revert-branch-rebase.html generation
+      git-svn: Fix fetch --no-ignore-externals with GIT_SVN_NO_LIB=1
+
+Shawn O. Pearce (15):
+      Verify we know how to read a pack before trying to using it.
+      Remove unnecessary forward declaration of unpack_entry.
+      Convert memcpy(a,b,20) to hashcpy(a,b).
+      Convert memcpy(a,b,20) to hashcpy(a,b).
+      Reorganize/rename unpack_non_delta_entry to unpack_compressed_entry.
+      Reuse compression code in unpack_compressed_entry.
+      Cleanup unpack_entry_gently and friends to use type_name array.
+      Cleanup unpack_object_header to use only offsets.
+      Convert unpack_entry_gently and friends to use offsets.
+      Replace uses of strdup with xstrdup.
+      Allow 'svn fetch' on '(no date)' revisions in Subversion.
+      Allow '(no author)' in git-svn's authors file.
+      Ignore executable bit when adding files if filemode=0.
+      Allow git-checkout when on a non-existant branch.
+      Corrected copy-and-paste thinko in ignore executable bit test case.
+
+Tilman Sauerbeck (2):
+      Indentation fix.
+      Added support for dropping privileges to git-daemon.
+
+Timo Hirvonen (2):
+      --name-only, --name-status, --check and -s are mutually exclusive
+      Remove awkward compatibility warts
+
+Ville Skyttä (1):
+      Be nicer if git executable is not installed
+
+Yasushi SHOJI (2):
+      gitweb: configurable home link string
+      gitweb: Decode long title for link tooltips
+
+
+Version v1.4.2.4; changes since v1.4.2.3:
+-----------------------------------------
+
+Linus Torvalds (1):
+      Fix hash function in xdiff library
+
+
+Version v1.4.2.3; changes since v1.4.2.2:
+-----------------------------------------
+
+Junio C Hamano (2):
+      git-mv: invalidate the removed path properly in cache-tree
+      git-push: .git/remotes/ file does not require SP after colon
+
+
+Version v1.4.2.2; changes since v1.4.2.1:
+-----------------------------------------
+
+Junio C Hamano (2):
+      Fix git-am safety checks
+      git-diff -B output fix.
+
+Liu Yubao (1):
+      Fix duplicate xmalloc in builtin-add
+
+
+Version v1.4.2.1; changes since v1.4.2:
+---------------------------------------
+
+Dennis Stosberg (1):
+      Solaris does not support C99 format strings before version 10
+
+Johannes Schindelin (5):
+      git-mv: succeed even if source is a prefix of destination
+      git-mv: add more path normalization
+      git-mv: special case destination "."
+      git-mv: fix off-by-one error
+      builtin-mv: readability patch
+
+Junio C Hamano (2):
+      finish_connect(): thinkofix
+      http-fetch: fix alternates handling.
+
+Luben Tuikov (2):
+      Fix regex pattern in commit-msg
+      sample commit-msg hook: no silent exit on duplicate Signed-off-by lines
+
+
+Version v1.4.2; changes since v1.4.2-rc4:
+-----------------------------------------
+
+Eric Wong (3):
+      git-svn: correctly kill keyword expansion without munging EOLs
+      git-svn: bugfix: allow SVN:: lib users to track the root of the repository
+      git-svn: split the path from the url correctly with limited perms
+
+Junio C Hamano (8):
+      git-apply: applying a patch to make a symlink shorter.
+      combine-diff: use color
+      Fix git-diff A...B
+      builtin-apply: remove unused increment
+      git-sh-setup: do not use repo-config to test the git directory
+      git-am: give better diagnostics when the patch does not apply during --3way
+      Better error message when we are unable to lock the index file
+      t/t4013: fix futzing with the version string.
+
+Matthias Lederhofer (1):
+      upload-pack: fix timeout in create_pack_file
+
+Paul Mackerras (2):
+      gitk: Allow the user to set some colors
+      gitk: Show the currently checked-out head in bold font
+
+Ramsay Allan Jones (1):
+      Fix header breakage with _XOPEN_SOURCE.
+
+René Scharfe (9):
+      Add has_extension()
+      git-verify-pack: show usage when no pack was specified
+      git-verify-pack: more careful path handling
+      git-verify-pack: insist on .idx extension
+      git-verify-pack: get rid of while loop
+      git-verify-pack: free pack after use and a cleanup
+      git-verify-pack: buffer overrun paranoia
+      git-verify-pack: no need to count errors
+      drop length argument of has_extension
+
+Rutger Nijlunsing (2):
+      http-push: Make WebDAV work with (broken?) default apache2 WebDAV module
+      Add Documentation/howto/setup-git-server-over-http.txt
+
+
+Version v1.4.2-rc4; changes since v1.4.2-rc3:
+---------------------------------------------
+
+Jeff King (1):
+      git-push: allow pushing from subdirectories
+
+Johannes Schindelin (1):
+      Fix crash when GIT_DIR is invalid
+
+Jonas Fonseca (1):
+      Update git-init-db(1) and documentation of core.sharedRepository
+
+Junio C Hamano (13):
+      Cygwin needs NO_C99_FORMAT???
+      Further clean-up: usage() vs die()
+      Makefile: Cygwin does not seem to need NO_STRLCPY
+      Fix "grep -w"
+      debugging: XMALLOC_POISON
+      builtin-mv: fix use of uninitialized memory.
+      GIT-VERSION-GEN: adjust for ancient git
+      Documentation: git-status takes the same options as git-commit
+      Fix tutorial-2.html
+      check return value from diff_setup_done()
+      find_unique_abbrev() with len=0 should not abbreviate
+      make --find-copies-harder imply -C
+      allow diff.renamelimit to be set regardless of -M/-C
+
+Michael Krelin (1):
+      handle https:// protocol in git-clone
+
+Ramsay Allan Jones (4):
+      Fixup command names in some usage strings.
+      Replace some calls to die(usage_str) with usage(usage_str).
+      Allow config file to specify Signed-off-by identity in format-patch.
+      commit walkers: setup_ident() to record correct committer in ref-log.
+
+René Scharfe (1):
+      git-tar-tree: fix minor memory leak
+
+Ryan Anderson (2):
+      log-tree: show_log() should respect the setting of diffopt->line_termination
+      annotate: Fix bug when parsing merges with differing real and logical parents.
+
+Uwe Kleine-König (1):
+      Document rev-list's option --merge
+
+
+Version v1.4.2-rc3; changes since v1.4.2-rc2:
+---------------------------------------------
+
+Gerrit Pape (1):
+      Build on Debian GNU/kFreeBSD
+
+Jakub Narebski (11):
+      Allow INSTALL, bindir, mandir to be set in main Makefile
+      Rename man1 and man7 variables to man1dir and man7dir
+      autoconf: Use autoconf to write installation directories to config.mak.autogen
+      Teach make clean about configure and autoconf
+      Copy description of build configuration variables to configure.ac
+      autoconf: Preparing the way for autodetection
+      autoconf: Checks for typedefs, structures, and compiler characteristics.
+      autoconf: Checks for some library functions.
+      autoconf: Checks for libraries
+      autoconf: Checks for some programs
+      configure.ac vertical whitespace usage cleanup
+
+Jeff King (4):
+      git-push: allow -f as an alias for --force
+      git-push: remove obsolete git-push.sh
+      Documentation: convert uses of git-link macro to gitlink
+      git-annotate: remove extraneous debugging line
+
+Johannes Schindelin (16):
+      Allow an alias to start with "-p"
+      git wrapper: add --git-dir=<path> and --bare options
+      git-instaweb: some Apache have mod_cgi builtin
+      git-instaweb: respect bindir from Makefile
+      gitweb: fix two warnings
+      t7001: add test for git-mv dir1 dir2/
+      git-cvsserver: support multiline commit messages
+      Extract helper bits from c-merge-recursive work
+      Make git-mv a builtin
+      builtin git-mv: support moving directories
+      instaweb: Be more clear if httpd or the browser fail
+      cvsserver: imitate git-update-ref when committing
+      Makefile: ssh-pull.o depends on ssh-fetch.c
+      Teach git-apply about '-R'
+      Fix http-fetch
+      tar-tree: illustrate an obscure feature better
+
+Josef Weidendorfer (1):
+      Extend testing git-mv for renaming of subdirectories
+
+Junio C Hamano (18):
+      git-diff A...B to (usually) mean "git-diff `git-merge-base A B` B"
+      t4112: simplify the test and remove unneeded working tree file.
+      lost-found: use fsck-objects --full
+      git-reset: detect update-ref error and report it.
+      log and diff family: honor config even from subdirectories
+      git-apply -R: binary patches are irreversible for now.
+      t4103: fix binary patch application test.
+      git-checkout: allow "checkout HEAD -- path"
+      Builtins: control the use of pager from the command table.
+      fetch/clone: mark messages from remote side stand out.
+      Fix "git diff blob1 blob2" showing the diff in reverse.
+      read-tree: shadowed variable fix.
+      Add a couple of subdirectory tests.
+      diff.c: do not use pathname comparison to tell renames
+      Show both blob names from "git diff blob1 blob2"
+      sideband: do not use color, just say "remote:"
+      Documentation/git.txt: link git-svn and git-instaweb from the main page.
+      GIT 1.4.2-rc3
+
+Linus Torvalds (4):
+      Call setup_git_directory() early
+      Call setup_git_directory() much earlier
+      Fix double "close()" in ce_compare_data
+      Fix up some fallout from "setup_git_directory()" cleanups
+
+Luben Tuikov (8):
+      gitweb.cgi: Teach git_history() to read hash from $hash_base
+      gitweb.cgi: Include direct link to "raw" files from "history"
+      gitweb.cgi: git_blame2: an alternative simple working git blame
+      gitweb.cgi: git_blame2: Allow back-trekking through commits
+      gitweb.cgi: Show "raw" head of project link even when $hash is not defined
+      gitweb.cgi: git_blame2: Revision blocks now have alternating colors
+      gitweb.cgi: Centralize printing of the page path
+      gitweb.cgi: git_blame2: slight optimization reading the blame lines
+
+Matthias Kestenholz (3):
+      Make git-prune-packed a builtin
+      Make git-repo-config a builtin
+      use declarations from builtin.h for builtin commands
+
+Matthias Lederhofer (5):
+      daemon: documentation for --reuseaddr, --detach and --pid-file
+      setup_git_directory_gently: do not barf when GIT_DIR is given.
+      git.c: allow alias expansion without a git directory
+      pager: config variable pager.color
+      git-grep: document --and, --or, --not, ( and )
+
+Michael S. Tsirkin (1):
+      mailinfo: accept >From in message header
+
+Michele Ballabio (1):
+      fixed variable declaration in gitk
+
+Pavel Roskin (3):
+      Typofix in configure.ac comment.
+      Quote all calls to GIT_CONF_APPEND_LINE
+      Set datarootdir in config.mak.in
+
+Petr Baudis (5):
+      Remove -d from *-fetch usage strings
+      Make pull() take some implicit data as explicit arguments
+      Make pull() support fetching multiple targets at once
+      Teach git-local-fetch the --stdin switch
+      Teach git-http-fetch the --stdin switch
+
+Ramsay Allan Jones (7):
+      Ensure git-clone exits with error if perl script fails.
+      Fix annotate test script; notice when git-annotate fails.
+      Fix installation of templates on ancient systems.
+      New tests and en-passant modifications to mktag.
+      Add NO_C99_FORMAT to support older compilers.
+      Fix header breakage due to redefining PATH_MAX.
+      Remove cmd_usage() routine and re-organize the help/usage code.
+
+Robert Shearman (2):
+      rebase: Fix the detection of fast-forwarding of the current branch to upstream.
+      rebase: Make the fast-fowarding message more user-friendly by using branch names instead of SHA1 IDs.
+
+Shawn O. Pearce (1):
+      Display an error from update-ref if target ref name is invalid.
+
+
+Version v1.4.2-rc2; changes since v1.4.2-rc1:
+---------------------------------------------
+
+Alex Riesen (1):
+      Trivial path optimization test
+
+Alexandre Julliard (5):
+      git.el: Run git-rerere on commits if the rr-cache directory exists.
+      git.el: Prepend a slash to the file name when adding to .gitignore.
+      git.el: Try to reuse an existing buffer when running git-status.
+      git.el: Put the git customize group in the 'tools' parent group.
+      show-branch: Fix another performance problem.
+
+Daniel Drake (1):
+      gitweb: escape tag comments
+
+Eric Wong (2):
+      typechange tests for git apply (currently failing)
+      git-svn: fix fetching new directories copies when using SVN:: libs
+
+Jeff King (2):
+      pack-objects: check pack.window for default window size
+      Colorize 'commit' lines in log ui
+
+Johannes Schindelin (4):
+      Fix t4114 on cygwin
+      Always reset the color _before_ printing out the newline
+      cvsserver: suppress warnings
+      cvsserver: avoid warning about active db handles
+
+Josh Triplett (3):
+      git-format-patch: Make the second and subsequent mails replies to the first
+      Add option to enable threading headers
+      Add option to set initial In-Reply-To/References
+
+Junio C Hamano (8):
+      fetch/clone: check return status from ls-remote
+      builtin-log: typefix for recent format-patch changes.
+      checkout -f failed to check out a file if an existing directory interfered.
+      apply: check D/F conflicts more carefully.
+      apply: split out removal and creation into different phases.
+      apply: handle type-changing patch correctly.
+      git-fetch: fix --keep vs --thin
+      unpack-objects: remove stale and confusing comment
+
+Linus Torvalds (1):
+      sha1_file: add the ability to parse objects in "pack file format"
+
+Lukas Sandström (1):
+      git-am: Don't accept an mbox on stdin of we already have a .dotest directory
+
+Martin Langhoff (1):
+      cvsexportcommit - add -a (add author line) flag, cleanup warnings
+
+Matthias Lederhofer (1):
+      upload-pack: fix timeout in create_pack_file
+
+Peter Eriksen (1):
+      Substitute xmalloc()+memset(0) with xcalloc().
+
+Santi Béjar (1):
+      Defaulting fetch to origin when set in the repo-config
+
+Shawn O. Pearce (1):
+      Disable linking with Fink or DarwinPorts.
+
+Willy Tarreau (1):
+      tar-tree: add the "tar.umask" config option
+
+
+Version v1.4.2-rc1; changes since v1.4.1.1:
+-------------------------------------------
+
+A Large Angry SCM (1):
+      Additional merge-base tests (revised)
+
+Alex Riesen (1):
+      Do not use perl in git-commit.sh
+
+Alp Toker (9):
+      Fix some doubled word typos
+      Fix some doubled word typos
+      Fix typos involving the word 'commit'
+      typofix (git-name-rev documentation)
+      git-send-email: Remove redundant Reply-To header
+      gitweb: Send XHTML as 'application/xhtml+xml' where possible
+      gitweb: Include a site name in page titles
+      gitweb: Make command invocations go through the git wrapper
+      documentation (urls.txt) typofix
+
+Dennis Stosberg (2):
+      gitweb: Declare global variables with "our"
+      gitweb: Declare global variables with "our"
+
+Eric Wong (12):
+      Add git-instaweb, instantly browse the working repo with gitweb
+      instaweb: fix unportable ';' usage in sed
+      t8001-annotate: fix a bash-ism in this test
+      git-svn: avoid fetching files outside of the URL we're tracking
+      git-svn: migrate out of contrib
+      builtin-log: respect diff configuration options
+      diff.c: respect diff.renames config option
+      templates/hooks--update: replace diffstat calls with git diff --stat
+      git-svn: fix --file/-F option in commit-diff
+      tests: Set EDITOR=: and VISUAL=: globally
+      git-fetch: fix a bashism (==)
+      git-svn: don't check for migrations/upgrades on commit-diff
+
+Jakub Narebski (3):
+      send-email: format 2822 datestring ourselves.
+      Wrap long lines in docstrings in contrib/emacs/git.el
+      Display help for Git mode after pressing `h' or `?' in *git-status*
+
+Joachim Berdal Haga (2):
+      Make zlib compression level configurable, and change default.
+      core.compression documentation formatting fix.
+
+Johannes Schindelin (7):
+      refactor merge_bases() as preparation to libify merge-base
+      move get_merge_bases() to core lib.
+      Makefile: replace ugly and unportable sed invocation
+      Make git-fmt-merge-msg a builtin
+      Makefile: export NO_SVN_TESTS
+      Close the index file between writing and committing
+      Fix linking for not-so-clever linkers.
+
+Jonas Fonseca (1):
+      Documentation/urls.txt: Use substitution to escape square brackets
+
+Junio C Hamano (49):
+      Makefile: add framework to verify and bench sha1 implementations.
+      test-sha1: test hashing large buffer
+      t4013: add tests for diff/log family output options.
+      t4013: add more tests around -c and --cc
+      Fix some more diff options changes.
+      t4013 test updates for new output code.
+      combine-diff.c: type sanity.
+      format-patch: fix diff format option implementation
+      t4013: add format-patch tests.
+      t4013: note improvements brought by the new output code.
+      gitweb: optimize per-file history generation
+      gitweb: optimize per-file history generation
+      t4013: add "diff" UI program tests.
+      builtin-diff: turn recursive on when defaulting to --patch format.
+      commit.c: do not redefine UNINTERESTING bit.
+      get_merge_bases: clean up even when there is no common commit.
+      revert clear-commit-marks for now.
+      boolean: accept yes and no as well
+      send-email: do not barf when Term::ReadLine does not like your terminal
+      t6200: fmt-merge-msg test.
+      git-grep: fix parsing of pathspec separator '--'
+      git-grep: fix exit code when we use external grep.
+      git-grep: use a bit more specific error messages.
+      Re-fix clear_commit_marks().
+      git-grep: boolean expression on pattern matching.
+      git-reset: complain and exit upon seeing an unknown parameter.
+      mailinfo: assume input is latin-1 on the header as we do for the body
+      diffcore-rename: try matching up renames without populating filespec first.
+      builtin-rev-parse.c: constness tightening
+      show-branch: match documentation and usage
+      rev-parse documentation: talk about range notation.
+      git-svn: migrate out of contrib (follow-up)
+      diff.c: --no-color to defeat diff.color configuration.
+      Update diff-options and config documentation.
+      git log -p --merge [[--] paths...]
+      colored diff: diff.color = auto fix
+      diff: do not use configuration magic at the core-level
+      "git -p cmd" to page anywhere
+      merge-base: update the clean-up postprocessing
+      fmt-merge-msg fix
+      Fix grammatical error in git-revert
+      git-repack: avoid redirecting stderr into git-pack-objects
+      test-lib: unset GIT_TRACE
+      t4013 diff format tests update
+      Adjust t4013 tests to corrected format-patch.
+      Documentation: Fix ssh://[user@]host.xz URL
+      builtin-prune.c: forgot TYPE => OBJ changes.
+      Documentation/Makefile: product depends on asciidoc.conf
+      show-branch: fix performance problem.
+
+Linus Torvalds (7):
+      xdiff: generate "anti-diffs" aka what is common to two files
+      Prepare "git-merge-tree" for future work
+      Improved three-way blob merging code
+      Improve git-peek-remote
+      builtin "git prune"
+      Make the unpacked object header functions static to sha1_file.c
+      Remove TYPE_* constant macros and use object_type enums consistently.
+
+Luben Tuikov (6):
+      gitweb: Enable tree (directory) history display
+      gitweb: Enable tree (directory) history display
+      Add "raw" output option to blobs in "tree" view format
+      gitweb.cgi: Create $git_temp if it doesn't exist
+      gitweb.cgi: Teach "a=blob" action to know the blob/file mime type
+      gitweb.css: Use monospace fonts for commits and tree-diff.
+
+Matthias Lederhofer (10):
+      GIT_TRACE: show which built-in/external commands are executed
+      change ent to tree in git-diff documentation
+      git-rev-list: add documentation for --parents, --no-merges
+      daemon: use a custom die routine with syslog
+      daemon: if one of the standard fds is missing open it to /dev/null
+      upload-pack: ignore write errors to stderr
+      daemon: new option --pid-file=<path> to store the pid
+      daemon: new option --detach to run git-daemon in background
+      Documentation about exclude/ignore files
+      argv created by handle_alias should be NULL terminated
+
+Michal Rokos (2):
+      sed -e '/RE/r rfile/' needs space in 'r rfile'
+      Using 'perl' in *.sh
+
+Pavel Roskin (4):
+      Assorted typo fixes
+      Typofix in Makefile comment.
+      Fix more typos, primarily in the code
+      Avoid C99 comments, use old-style C comments instead.
+
+Peter Baumann (1):
+      git-cvsexportcommit can't handle merge commits correctly
+
+René Scharfe (5):
+      Add get_merge_bases_clean()
+      Add '...' operator for revisions
+      Make clear_commit_marks() clean harder
+      Fold get_merge_bases_clean() into get_merge_bases()
+      rev-list: free commit_list in ... handler
+
+Robert Shearman (1):
+      format-patch: Generate a newline between the subject header and the message body
+
+Ryan Anderson (3):
+      annotate: Support annotation of files on other revisions.
+      annotate: Correct most merge following to annotate correctly.
+      Disable color detection during format-patch
+
+Santi Béjar (1):
+      Teach rev-parse the ... syntax.
+
+Sergey Vlasov (1):
+      Fix "git-fetch --tags" exit status when nothing has been changed
+
+Shawn O. Pearce (9):
+      Avoid C99 initializers
+      Allow user.name and user.email to drive reflog entry.
+      Record the type of commit operation in the reflog.
+      Log ref changes made by git-fetch and git-pull.
+      Log ref changes made by git-merge and git-pull.
+      Log ref changes made by quiltimport.
+      Log ref changes made by resolve.
+      Make lazy mkdir more robust.
+      Record rebase changes as 'rebase' in the reflog.
+
+Stephan Feder (5):
+      Do not drop data from '\0' until eol in patch output
+      Teach --text option to diff
+      Teach diff -a as shorthand for --text
+      Add -a and --text to common diff options help
+      diff-options: Explain --text and -a
+
+Timo Hirvonen (14):
+      Merge with_raw, with_stat and summary variables to output_format
+      Make --raw option available for all diff commands
+      Set default diff output format after parsing command line
+      DIFF_FORMAT_RAW is not default anymore
+      Add msg_sep to diff_options
+      Don't xcalloc() struct diffstat_t
+      whatchanged: Default to DIFF_FORMAT_RAW
+      Print empty line between raw, stat, summary and patch
+      diff-tree: Use ---\n as a message separator
+      log --raw: Don't descend into subdirectories by default
+      Fix diff-tree -s
+      GIT_TRACE: fix a mixed declarations and code warning
+      diff: Support both attributes and colors
+      diff: Support 256 colors
+
+Ville Skyttä (1):
+      Fix print-log and diff compatibility with recent vc versions
+
+Yakov Lerner (1):
+      Mention the [user@] part in documentation of ssh:// urls.
+
+anonymous (1):
+      A better-scheduled PPC SHA-1 implementation.
+
+
+Version v1.4.1.1; changes since v1.4.1:
+---------------------------------------
+
+Junio C Hamano (1):
+      Makefile: tighten git-http-{fetch,push} dependencies
+
+Linus Torvalds (1):
+      revision.c: fix "dense" under --remove-empty
+
+Matthias Lederhofer (1):
+      upload-pack: fix timeout in create_pack_file
+
+Robin Rosenberg (1):
+      Empty author may be presented by svn as an empty string or a null value.
+
+
+Version v1.4.1; changes since v1.4.1-rc2:
+-----------------------------------------
+
+Eric Wong (1):
+      git-svn: allow a local target directory to be specified for init
+
+Johannes Schindelin (4):
+      add diff_flush_patch_id() to calculate the patch id
+      format-patch: introduce "--ignore-if-in-upstream"
+      t4014: fix for whitespace from "wc -l"
+      format-patch: use clear_commit_marks() instead of some ad-hockery
+
+Junio C Hamano (6):
+      git-repack: Be careful when updating the same pack as an existing one.
+      t4014: add format-patch --ignore-if-in-upstream test
+      t4014: fix test commit labels.
+      diff.c: fix get_patch_id()
+      Racy GIT (part #3)
+      upload-pack.c: <sys/poll.h> includes <ctype.h> on OpenBSD 3.8
+
+Linus Torvalds (4):
+      Do not try futile object pairs when repacking.
+      Abstract out accesses to object hash array
+      revision.c: --full-history fix.
+      git object hash cleanups
+
+Nicolas Pitre (2):
+      consider previous pack undeltified object state only when reusing delta data
+      don't load objects needlessly when repacking
+
+Petr Baudis (1):
+      Fix errno usage in connect.c
+
+Robin Rosenberg (1):
+      Minor documentation fixup.
+
+
+Version v1.4.1-rc2; changes since v1.4.1-rc1:
+---------------------------------------------
+
+Andreas Ericsson (1):
+      git wrapper: fix command name in an error message.
+
+Dennis Stosberg (3):
+      Solaris needs inclusion of signal.h for signal()
+      Fix pkt-line.h to compile with a non-GCC compiler
+      Fix expr usage for FreeBSD
+
+Eric Wong (10):
+      rebase: allow --merge option to handle patches merged upstream
+      rebase: cleanup rebasing with --merge
+      rebase: allow --skip to work with --merge
+      git-svn: SVN 1.1.x library compatibility
+      git-svn: several graft-branches improvements
+      git-svn: add the commit-diff command
+      git-svn: add --follow-parent and --no-metadata options to fetch
+      git-svn: be verbose by default on fetch/commit, add -q/--quiet option
+      rebase: get rid of outdated MRESOLVEMSG
+      rebase: check for errors from git-commit
+
+Jeff King (2):
+      git-commit: allow -e option anywhere on command line
+      quote.c: silence compiler warnings from EMIT macro
+
+Johannes Schindelin (5):
+      patch-id: take "commit" prefix as well as "diff-tree" prefix
+      Teach diff about -b and -w flags
+      cvsimport: always set $ENV{GIT_INDEX_FILE} to $index{$branch}
+      apply: replace NO_ACCURATE_DIFF with --inaccurate-eof runtime flag.
+      Save errno in handle_alias()
+
+Junio C Hamano (12):
+      Makefile: do not recompile main programs when libraries have changed.
+      usage: minimum type fix.
+      git-pull: abort when fmt-merge-msg fails.
+      git-merge --squash
+      diff --color: use reset sequence when we mean reset.
+      repo-config: fix printing of bool
+      diff --color: use $GIT_DIR/config
+      combine-diff.c: type sanity
+      connect.c: remove unused parameters from tcp_connect and proxy_connect
+      connect.c: check the commit buffer boundary while parsing.
+      t/README: start testing porcelainish
+      checkout -m: fix read-tree invocation
+
+Linus Torvalds (1):
+      Tweak diff colors
+
+Martin Langhoff (3):
+      git-repack -- respect -q and be quiet
+      cvsimport: setup indexes correctly for ancestors and incremental imports
+      cvsimport - cleanup of the multi-indexes handling
+
+Matthias Kestenholz (1):
+      add GIT-CFLAGS to .gitignore
+
+Matthias Lederhofer (1):
+      correct documentation for git grep
+
+Peter Eriksen (1):
+      Rename safe_strncpy() to strlcpy().
+
+Petr Baudis (1):
+      Customizable error handlers
+
+Timo Hirvonen (3):
+      git-merge: Don't use -p when outputting summary
+      Clean up diff.c
+      Make some strings const
+
+Yann Dirson (1):
+      git-commit: filter out log message lines only when editor was run.
+
+
+Version v1.4.1-rc1; changes since v1.4.0:
+-----------------------------------------
+
+Andre Noll (1):
+      object-refs: avoid division by zero
+
+David Woodhouse (1):
+      Log peer address when git-daemon called from inetd
+
+Dennis Stosberg (3):
+      Make t4101-apply-nonl bring along its patches
+      Make t8001-annotate and t8002-blame more portable
+      Fix t8001-annotate and t8002-blame for ActiveState Perl
+
+Eric W. Biederman (3):
+      Don't parse any headers in the real body of an email message.
+      Fix git-format-patch -s
+      Check and document the options to prevent mistakes.
+
+Eric Wong (29):
+      git-svn: t0000: add -f flag to checkout
+      git-svn: fix handling of filenames with embedded '@'
+      git-svn: eol_cp corner-case fixes
+      git-svn: restore original LC_ALL setting (or unset) for commit
+      git-svn: don't allow commit if svn tree is not current
+      git-svn: support -C<num> passing to git-diff-tree
+      git-svn: --branch-all-refs / -B support
+      git-svn: optimize --branch and --branch-all-ref
+      git-svn: support manually placed initial trees from fetch
+      git-svn: Move all git-svn-related paths into $GIT_DIR/svn
+      git-svn: minor cleanups, extra error-checking
+      git-svn: add --repack and --repack-flags= options
+      git-svn: add --shared and --template= options to pass to init-db
+      git-svn: add some functionality to better support branches in svn
+      git-svn: add UTF-8 message test
+      git-svn: add 'log' command, a facsimile of basic `svn log'
+      git-svn: add support for Perl SVN::* libraries
+      git-svn: make the $GIT_DIR/svn/*/revs directory obsolete
+      git-svn: avoid creating some small files
+      git-svn: fix several small bugs, enable branch optimization
+      git-svn: Eliminate temp file usage in libsvn_get_file()
+      git-svn: bugfix and optimize the 'log' command
+      git-svn: tests no longer fail if LC_ALL is not a UTF-8 locale
+      git-svn: svn (command-line) 1.0.x compatibility
+      git-svn: rebuild convenience and bugfixes
+      git-svn: fix --rmdir when using SVN:: libraries
+      rebase: Allow merge strategies to be used when rebasing
+      rebase: error out for NO_PYTHON if they use recursive merge
+      git-svn: fix commit --edit flag when using SVN:: libraries
+
+Florian Forster (9):
+      gitweb: Adding a `blame' interface.
+      gitweb: Make the `blame' interface in gitweb optional.
+      Remove ranges from switch statements.
+      Initialize FAMs using `FLEX_ARRAY'.
+      Don't instantiate structures with FAMs.
+      Cast pointers to `void *' when used in a format.
+      Don't use empty structure initializers.
+      Change types used in bitfields to be `int's.
+      Remove all void-pointer arithmetic.
+
+Fredrik Kuivinen (1):
+      blame: Add --time to produce raw timestamps
+
+Jakub Narebski (15):
+      Update gitweb README: gitweb is now included with git
+      Move gitweb style to gitweb.css
+      gitweb: safely output binary files for 'blob_plain' action
+      gitweb: text files for 'blob_plain' action without charset by default
+      Fix gitweb stylesheet
+      Make CSS file gitweb/gitweb.css more readable
+      gitweb: add type="text/css" to stylesheet link
+      Fix: Support for the standard mime.types map in gitweb
+      gitweb: A couple of page title tweaking
+      gitweb: style done with stylesheet
+      gitweb: whitespace cleanup
+      Add git version to gitweb output
+      Move $gitbin earlier in gitweb.cgi
+      gitweb: Make use of $PATH_INFO for project parameter
+      gitweb: whitespace cleanup around '='
+
+Johannes Schindelin (6):
+      diff options: add --color
+      Initialize lock_file struct to all zero.
+      Fix setting config variables with an alternative GIT_CONFIG
+      Read configuration also from $HOME/.gitconfig
+      repo-config: Fix late-night bug
+      git_config: access() returns 0 on success, not > 0
+
+Junio C Hamano (31):
+      Revert all the rev-list option parsing changes.
+      Clean-up Geert's similarity fingerprint code.
+      Extract "log [diff options]" parser out.
+      whatchanged options parser fix.
+      Built-in git-whatchanged
+      Geert's similarity
+      Try using Geert similarity code in pack-objects.
+      Retire rabinpoly fingerprinting code
+      Fix mismerged update-index from jc/cache-tree branch.
+      read-tree: --prefix=<path>/ option.
+      write-tree: --prefix=<path>
+      read-tree: reorganize bind_merge code.
+      fetch-pack: give up after getting too many "ack continue"
+      Fix earlier mismerges.
+      shared repository: optionally allow reading to "others".
+      gitk: rereadrefs needs listrefs
+      fix git alias
+      t5100: mailinfo and mailsplit tests.
+      mailinfo: ignore blanks after in-body headers.
+      fix rfc2047 formatter.
+      xdiff: minor changes to match libxdiff-0.21
+      Restore SIGCHLD to SIG_DFL where we care about waitpid().
+      checkout -f: do not leave untracked working tree files.
+      upload-pack: avoid sending an incomplete pack upon failure
+      upload-pack: prepare for sideband message support.
+      Retire git-clone-pack
+      upload-pack/fetch-pack: support side-band communication
+      Add renaming-rebase test.
+      daemon: send stderr to /dev/null instead of closing.
+      rebase --merge: fix for rebasing more than 7 commits.
+      Makefile: do not force unneeded recompilation upon GIT_VERSION changes
+
+Linus Torvalds (9):
+      Tentative built-in "git show"
+      gitweb.cgi history not shown
+      Shrink "struct object" a bit
+      Move "void *util" from "struct object" into "struct commit"
+      Some more memory leak avoidance
+      Remove "refs" field from "struct object"
+      Add specialized object allocator
+      Add "named object array" concept
+      Fix grow_refs_hash()
+
+Lukas Sandström (6):
+      Make git-write-tree a builtin
+      Make git-mailsplit a builtin
+      Make git-mailinfo a builtin
+      Make git-stripspace a builtin
+      Make git-update-index a builtin
+      Make git-update-ref a builtin
+
+Martin Langhoff (3):
+      cvsimport: ignore CVSPS_NO_BRANCH and impossible branches
+      cvsimport: complete the cvsps run before starting the import
+      cvsimport: keep one index per branch during import
+
+Paul Eggert (1):
+      date.c: improve guess between timezone offset and year.
+
+Paul Mackerras (1):
+      Fix PPC SHA1 routine for large input buffers
+
+Peter Eriksen (1):
+      Implement safe_strncpy() as strlcpy() and use it more.
+
+Petr Baudis (2):
+      Support for extracting configuration from different files
+      Support for the standard mime.types map in gitweb
+
+René Scharfe (4):
+      git-tar-tree: Simplify write_trailer()
+      git-tar-tree: documentation update
+      git-tar-tree: no more void pointer arithmetic
+      Make release tarballs friendlier to older tar versions
+
+Sean Estabrooks (1):
+      Add a "--notags" option for git-p4import.
+
+Sven Verdoolaege (1):
+      git-cvsexportcommit.perl: fix typo
+
+Timo Hirvonen (1):
+      gitweb: Use $hash_base as $search_hash if possible
+
+Uwe Kleine-König (1):
+      Fix possible out-of-bounds array access
+
+Yakov Lerner (2):
+      auto-detect changed prefix and/or changed build flags
+      Pass -DDEFAULT_GIT_TEMPLATE_DIR only where actually used.
+
+
+Version v1.4.0; changes since v1.4.0-rc2:
+-----------------------------------------
+
+Horst H. von Brand (1):
+      Fix formatting of Documentation/git-clone.txt
+
+Junio C Hamano (7):
+      allow working in repositories with textual symref HEAD
+      git-clone: fix duplicated "master" in $GIT_DIR/remotes/origin
+      git-rm: honor -n flag.
+      builtin-init-db: spell the in-program configuration variable in lowercase.
+      shared repository - add a few missing calls to adjust_shared_perm().
+      git-clone: fix --bare over dumb-http
+      GIT 1.4.0
+
+Kay Sievers (143):
+      first working version
+      v000
+      v000
+      v001
+      v002
+      v003
+      v003
+      v004
+      v005
+      v006
+      v014
+      v016
+      v020
+      v021
+      v021
+      v021
+      v021
+      v025
+      v026
+      v027
+      v031
+      v035
+      v041
+      v041
+      v042
+      v043
+      v048
+      v049
+      v053
+      v055
+      v056
+      v057
+      v062
+      v063
+      v064
+      v070
+      v071
+      v073
+      v077
+      v078
+      v080
+      v082
+      v085
+      v088
+      v089
+      v107
+      v118
+      v121
+      v125
+      v133
+      v136
+      v142
+      v143
+      v145
+      v148
+      v149
+      v150
+      v152
+      v154
+      v157
+      v160
+      v163
+      v164
+      v165
+      v203
+      v205
+      v206
+      v220
+      v225
+      v227
+      v229
+      v232
+      v233
+      v234
+      v235
+      v236
+      add README
+      Make the tag view look like commit header.
+      allow sorting of index page by project path, owner and age
+      make index page sorting more visible and increase RSS item count
+      fix search parsing, later git does not print a trailing space
+      don't chop_str if adding ... is longer than the original
+      Show tooltips (like this one :)) containing full titles for truncated commit titles in the summary and shortlog views.
+      v241
+      v242
+      common input validation to allow passing of textual hash id's
+      v243
+      translate reference into hash while reading a commit
+      fix typo in link parameter of git_commit
+      v244
+      switch to git-rev-list for commit reading
+      v245
+      start searching at the current $hash value
+      v246
+      rename "branches" to "heads"
+      v247
+      provide filename for "save as" in plaintext views
+      add Expires: +1d header to commit and commitdiff pages
+      v248
+      add test files
+      update the test files to have a diff
+      escape '+' and ' ' in url's
+      make ' ' and '+' in filenames some kind of working
+      v249
+      escape ' ' with '+' in url's
+      replace invalid utf8 sequences by UTF-8 REPLACEMENT CHARACTER (efbfbd)
+      v250
+      add missing esc() rename
+      v251
+      fix another typo
+      v252
+      fix utf8 decoding
+      add ut8 test file
+      add broken latin encoding to test file
+      set logo output to raw mode
+      v253
+      allow utf8 characters in url parameter escape
+      v254
+      v255
+      fix quoted filename lookup
+      v256
+      fix "rename" output
+      v257
+      show tags in lists
+      v258
+      show multiple tags
+      v259
+      attach tag to the link
+      v260
+      more tags
+      fix leading whitespace in commit text
+      v261
+      define default colors
+      v262
+      resolve textual hashes when looking up "refs"
+      v263
+      fix: Use of uninitialized value
+      v264
+      handle utf8 characters from /etc/passwd
+      v265
+      remove Christian's email address
+      v266
+      v267
+
+Paul T Darga (1):
+      check for error return from fork()
+
+René Scharfe (1):
+      Built-in git-get-tar-commit-id
+
+Rocco Rutte (1):
+      prepend '--' to filelist when calling git-diff-tree
+
+Uwe Kleine-König (1):
+      Document git-clone --use-separate-remote
+
+Yasushi SHOJI (1):
+      Add <author> and <guid> to RSS feed
+
+
+Version v1.4.0-rc2; changes since v1.4.0-rc1:
+---------------------------------------------
+
+Francis Daly (3):
+      Some doc typo fixes
+      config.txt grammar, typo, and asciidoc fixes
+      git-cvsserver asciidoc formatting tweaks
+
+Horst H. von Brand (1):
+      Cleanup git-send-email.perl:extract_valid_email
+
+Johannes Schindelin (1):
+      If you have a config containing something like this:
+
+Jon Loeliger (1):
+      Refactor git_tcp_connect() functions a little.
+
+Jonas Fonseca (2):
+      Misc doc improvements
+      Document git-ls-tree --fullname
+
+Junio C Hamano (12):
+      git alias: try alias last.
+      send-email: be more lenient and just catch obvious mistakes.
+      send-email: a bit more careful domain regexp.
+      git-format-patch: add --output-directory long option again
+      HTTP cleanup
+      Make index file locking code reusable to others.
+      refs.c: convert it to use lockfile interface.
+      ref-log: style fixes.
+      Documentation: add missing docs make check-docs found.
+      make clean: remove dist-doc targets.
+      Documentation: git-ls-tree (typofix)
+      Documentation: add another example to git-ls-files
+
+Nick Hengeveld (2):
+      HTTP cleanup
+      http-fetch: fix possible segfault
+
+Paul Mackerras (12):
+      gitk: Make a row of controls for controlling highlighting
+      gitk: Highlight entries in the file list as well
+      gitk: Highlight paths of interest in tree view as well
+      gitk: First cut at a search function in the patch/file display window
+      gitk: Improve the text window search function
+      gitk: Move "pickaxe" find function to highlight facility
+      gitk: Fix bug in highlight stuff when no line is selected
+      gitk: Provide ability to highlight based on relationship to selected commit
+      gitk: Add a goto next/previous highlighted commit function
+      gitk: Show nearby tags
+      gitk: Show branch name(s) as well, if "show nearby tags" is enabled
+      gitk: Re-read the descendent/ancestor tag & head info on update
+
+Petr Baudis (2):
+      Document git aliases support
+      Documentation: git aliases
+
+René Scharfe (1):
+      Off-by-one error in get_path_prefix(), found by Valgrind
+
+Robert Fitzsimons (1):
+      builtin-grep: pass ignore case option to external grep
+
+
+Version v1.4.0-rc1; changes since v1.3.3:
+-----------------------------------------
+
+Alex Riesen (2):
+      make update-index --chmod work with multiple files and --stdin
+      remove superflous "const"
+
+Aneesh Kumar K.V (3):
+      gitview: Add key binding for F5.
+      gitview: Move the console error messages to message dialog
+      gitview: Add some useful keybindings.
+
+Björn Engelmann (2):
+      remove the artificial restriction tagsize < 8kb
+      add more informative error messages to git-mktag
+
+Catalin Marinas (1):
+      Add a test-case for git-apply trying to add an ending line
+
+Christian Couder (1):
+      Builtin git-rev-parse.
+
+Dennis Stosberg (3):
+      git-write-tree writes garbage on sparc64
+      git-clean fails on files beginning with a dash
+      Update documentation for git-format-patch
+
+Dmitry V. Levin (2):
+      execv_git_cmd: Fix stack buffer overflow.
+      git_exec_path, execv_git_cmd: ignore empty environment variables
+
+Elrond (1):
+      git-cvsimport: Handle "Removed" from pserver
+
+Eric W. Biederman (8):
+      Implement git-quiltimport
+      Implement a --dry-run option to git-quiltimport
+      Make read_one_header_line return a flag not a length.
+      Move B and Q decoding into check header.
+      Refactor commit messge handling.
+      In handle_body only read a line if we don't already have one.
+      More accurately detect header lines in read_one_header_line
+      Allow in body headers beyond the in body header prefix.
+
+Eric Wong (15):
+      git-svn: documentation updates
+      git-svn 1.0.0
+      send-email: address expansion for common mailers
+      Install git-send-email by default
+      send-email: allow sendmail binary to be used instead of SMTP
+      send-email: quiet some warnings, reject invalid addresses
+      commit: allow --pretty= args to be abbreviated
+      git-svn: starting a 1.1.0-pre development version
+      git-svn: ignore expansion of svn:keywords
+      t3300-funny-names: shell portability fixes
+      tests: Remove heredoc usage inside quotes
+      t5500-fetch-pack: remove local (bashism) usage.
+      t6000lib: workaround a possible dash bug
+      git-svn: t0001: workaround a heredoc bug in old versions of dash
+      git-svn: remove assertion that broke with older versions of svn
+
+Florian Forster (1):
+      git-svnimport: Improved detection of merges.
+
+Fredrik Kuivinen (2):
+      blame: Fix path pruning
+      Update the documentation for git-merge-base
+
+Horst H. von Brand (4):
+      Fix some documentation typoes
+      Documentation: Spelling fixes
+      Add example xinetd(8) configuration to Documentation/everyday.txt
+      Fix Documentation/everyday.txt: Junio's workflow
+
+J. Bruce Fields (7):
+      tutorial: replace "whatchanged" by "log"
+      tutorial: expanded discussion of commit history
+      tutorial: add discussion of index file, object database
+      documentation: mention gitk font adjustment in tutorial
+      documentation: add brief mention of cat-file to tutorial part I
+      Documentation: retitle the git-core tutorial
+      Documentation: fix a tutorial-2 typo
+
+Jeff King (7):
+      cvsimport: use git-update-index --index-info
+      cvsimport: cleanup commit function
+      cvsimport: set up commit environment in perl instead of using env
+      cat-file: document -p option
+      cvsimport: avoid "use" with :tag
+      handle concurrent pruning of packed objects
+      sha1_file: avoid re-preparing duplicate packs
+
+Jim Meyering (1):
+      Don't write directly to a make target ($@).
+
+Johannes Schindelin (25):
+      builtin-push: resurrect parsing of Push: lines
+      cache-tree: replace a sscanf() by two strtol() calls
+      builtin-push: also ask config for remote information
+      fetch, pull: ask config for remote information
+      repo-config: fix segfault with no argument.
+      repo-config: trim white-space before comment
+      repo-config: support --get-regexp
+      repo-config: deconvolute logics
+      fetch, pull: ask config for remote information
+      Add a conversion tool to migrate remote information into the config
+      builtin-push: --all and --tags _are_ explicit refspecs
+      Teach fmt-patch to write individual files.
+      fmt-patch: output file names to stdout
+      fmt-patch: implement -o <dir>
+      Teach fmt-patch about --numbered
+      Teach fmt-patch about --keep-subject
+      fmt-patch: understand old <his> notation
+      Fix users of prefix_path() to free() only when necessary
+      Fix users of prefix_path() to free() only when necessary
+      Fix crash when reading the empty tree
+      diff family: add --check option
+      fmt-patch: Support --attach
+      git-format-patch --start-number <n>
+      send-email: only 'require' instead of 'use' Net::SMTP
+      format-patch: resurrect extra headers from config
+
+Josef Weidendorfer (1):
+      gitk: Add a visual tag for remote refs
+
+Junio C Hamano (156):
+      Fix up default abbrev in setup_revisions() argument parser.
+      Fix up rev-list option parsing.
+      Split init_revisions() out of setup_revisions()
+      rev-list option parser fix.
+      Built-in git-whatchanged.
+      Do not fork PAGER=cat
+      Simplify common default options setup for built-in log family.
+      log/whatchanged/show - log formatting cleanup.
+      rev-list --header: output format fix
+      git.c: LOGSIZE is unused after log printing cleanup.
+      combine-diff: show diffstat with the first parent.
+      Fix "git log --stat": make sure to set recursive with --stat.
+      Tentative built-in format-patch.
+      sha1_name.c: prepare to make get_tree_entry() reusable from others.
+      sha1_name.c: no need to include diff.h; tree-walk.h will do.
+      get_tree_entry(): make it available from tree-walk
+      Minor tweak on subject line in --pretty=email
+      diff: move diff.c to diff-lib.c to make room.
+      Add git-unresolve <paths>...
+      diff --stat: do not drop rename information.
+      git-update-index --unresolve
+      rename internal format-patch wip
+      Makefile: dependency for builtin-help.o
+      Add colordiff for git to contrib/colordiff.
+      Fix "git show --stat"
+      Libify diff-files.
+      Libify diff-index.
+      git-fmt-patch: thinkofix to show [PATCH] properly.
+      Libified diff-index: backward compatibility fix.
+      read-cache/write-cache: optionally return cache checksum SHA1.
+      Add cache-tree.
+      Update write-tree to use cache-tree.
+      Invalidate cache-tree entries for touched paths in git-apply.
+      Use cache-tree in update-index.
+      Add test-dump-cache-tree
+      cache-tree: protect against "git prune".
+      index: make the index file format extensible.
+      Teach fsck-objects about cache-tree.
+      cache-tree: sort the subtree entries.
+      test-dump-cache-tree: report number of subtrees.
+      Makefile: remove and create libgit.a from scratch.
+      diff --stat: show complete rewrites consistently.
+      git-cvsserver: typofixes
+      t0000-basic: Add ls-tree recursive test back.
+      Makefile: remove and create xdiff library from scratch.
+      commit-tree: allow generic object name for the tree as well.
+      revision parsing: make "rev -- paths" checks stronger.
+      t0000-basic: more commit-tree tests.
+      update-index: when --unresolve, smudge the relevant cache-tree entries.
+      read-tree: teach 1 and 2 way merges about cache-tree.
+      read-tree: teach 1-way merege and plain read to prime cache-tree.
+      diff-index: fix compilation warnings.
+      cache_tree_update: give an option to update cache-tree only.
+      test-dump-cache-tree: validate the cached data as well.
+      pack-objects: update size heuristucs.
+      built-in count-objects.
+      cache-tree.c: typefix
+      built-in diff.
+      built-in diff: assorted updates.
+      builtin-diff.c: die() formatting type fix.
+      Fix builtin-push to honor Push: lines in remotes file.
+      Extended SHA1 -- "rev^@" syntax to mean "all parents"
+      get_sha1(): :path and :[0-3]:path to extract from index.
+      built-in "git grep"
+      Use RFC2822 dates from "git fmt-patch".
+      builtin-grep: wildcard pathspec fixes
+      builtin-grep: support '-l' option.
+      builtin-grep: do not use setup_revisions()
+      fsck-objects: mark objects reachable from cache-tree
+      builtin-count-objects: make it official.
+      builtin-diff: call it "git-diff", really.
+      builtin-log/whatchanged/show: make them official.
+      show-branch: omit uninteresting merges.
+      builtin-push: make it official.
+      builtin-grep: printf %.*s length is int, not ptrdiff_t.
+      Revert "fetch, pull: ask config for remote information"
+      builtin-grep: allow -<n> and -[ABC]<n> notation for context lines.
+      builtin-grep: allow more than one patterns.
+      builtin-grep: support -c (--count).
+      builtin-grep: support -w (--word-regexp).
+      builtin-grep: tighten path wildcard vs tree traversal.
+      core.prefersymlinkrefs: use symlinks for .git/HEAD
+      repo-config: readability fixups.
+      builtin-count-objects: open packs when running -v
+      Fix test-dump-cache-tree in one-tree disappeared case.
+      read-tree: invalidate cache-tree entry when a new index entry is added.
+      cache-tree: a bit more debugging support.
+      builtin-grep: terminate correctly at EOF
+      builtin-grep: binary files -a and -I
+      fsck-objects: do not segfault on missing tree in cache-tree
+      builtin-grep: -L (--files-without-match).
+      Makefile: do not link rev-list any specially.
+      delta: stricter constness
+      pack-object: squelch eye-candy on non-tty
+      binary patch.
+      binary diff: further updates.
+      update-index --unresolve: work from a subdirectory.
+      checkout-index: plug memory leak from prefix_path()
+      update-index: plug memory leak from prefix_path()
+      update-index --again
+      update-index --again: take optional pathspecs
+      binary diff and apply: testsuite.
+      Teach -f <file> option to builtin-grep.
+      builtin-grep: documentation
+      get_sha1() - fix infinite loop on nonexistent stage.
+      Teach git-clean optional <paths>... parameters.
+      builtin-grep: tighten argument parsing.
+      builtin-grep: typofix
+      builtin-grep: -w fix
+      builtin-grep: -F (--fixed-strings)
+      checkout: use --aggressive when running a 3-way merge (-m).
+      diffstat rename squashing fix.
+      read-tree -u one-way merge fix to check out locally modified paths.
+      apply --numstat: show new name, not old name.
+      builtin-grep: unparse more command line options.
+      apply --cached: apply a patch without using working tree.
+      git-am: use apply --cached
+      builtin-diff: fix comparison between two blobs.
+      merge-base: Clarify the comments on post processing.
+      read-tree -m -u: do not overwrite or remove untracked working tree files.
+      builtin-grep: workaround for non GNU grep.
+      Revert "builtin-grep: workaround for non GNU grep."
+      apply --cached: do not check newly added file in the working tree
+      builtin-add: fix unmatched pathspec warnings.
+      builtin-diff: do not say files are renamed when blob and file are given
+      Fix build procedure for builtin-init-db
+      built-in tar-tree and remote tar-tree
+      git-format-patch: now built-in.
+      checkdiff_consume: strtol parameter fix.
+      git-rebase: use canonical A..B syntax to format-patch
+      tutorial-2: typofix in examples.
+      mailinfo: skip bogus UNIX From line inside body
+      CMIT_FMT_EMAIL: Q-encode Subject: and display-name part of From: fields.
+      builtin format-patch: squelch content-type for 7-bit ASCII
+      diff: minor option combination fix.
+      fetch-pack: output refs in the order they were given on the command line.
+      Tutorial #2: broken link fix.
+      builtin-rm: squelch compiler warnings.
+      cvsimport: do not barf on creation of an empty file.
+      apply: force matching at the beginning.
+      fetch.c: remove an unused variable and dead code.
+      ls-remote: fix rsync:// to report HEAD
+      mailinfo: More carefully parse header lines in read_one_header_line()
+      gitk: start-up bugfix
+      built-in format-patch: various fixups.
+      format-patch: -n and -k are mutually exclusive.
+      Let git-clone to pass --template=dir option to git-init-db.
+      git-fetch: avoid using "case ... in (arm)"
+      adjust to the rebased series by Linus.
+      send-email: do not pass bogus address to local sendmail binary
+      format-patch --signoff
+      fetch.c: do not pass uninitialized lock to unlock_ref().
+      fetch.c: do not call process_tree() from process_tree().
+      fetch: do not report "same" unless -verbose.
+      read-tree --reset: update working tree file for conflicted paths.
+      rev-parse: tighten constness properly.
+
+Linus Torvalds (60):
+      Common option parsing for "git log --diff" and friends
+      Tentative built-in "git show"
+      Fixes for option parsing
+      Log message printout cleanups
+      Log message printout cleanups (#2)
+      Log message printout cleanups (#3): fix --pretty=oneline
+      Fix uninteresting tags in new revision parsing
+      get_sha1() shorthands for blob/tree objects
+      Allow "git repack" users to specify repacking window/depth
+      git log: don't do merge diffs by default
+      Split up builtin commands into separate files from git.c
+      Fix "git help -a" terminal autosizing
+      git builtin "push"
+      Fix "git-log --parents" breakage post v1.3.0
+      sha1_to_hex() usage cleanup
+      git diff: support "-U" and "--unified" options properly
+      Allow one-way tree merge to remove old files
+      Simplify "git reset --hard"
+      builtin-grep: use external grep when we can take advantage of it
+      read-tree --reset -u fix.
+      Fix silly typo in new builtin grep
+      Remove old "git-grep.sh" remnants
+      libify git-ls-files directory traversal
+      Clean up git-ls-file directory walking library interface
+      Do "git add" as a builtin
+      builtin-add: warn on unmatched pathspecs
+      builtin-grep: workaround for non GNU grep.
+      Remove old "git-add.sh" remnants
+      Prevent bogus paths from being added to the index.
+      Make "git rev-list" be a builtin
+      Libify the index refresh logic
+      Move pathspec matching from builtin-add.c into dir.c
+      Add builtin "git rm" command
+      cvsimport: repack every kilo-commits.
+      apply: treat EOF as proper context.
+      Clean up sha1 file writing
+      bogus "fatal: Not a git repository"
+      t1002: use -U0 instead of --unified=0
+      Fix "--abbrev=xyz" for revision listing
+      Fix memory leak in "git rev-list --objects"
+      Don't use "sscanf()" for tree mode scanning
+      Add raw tree buffer info to "struct tree"
+      Make "tree_entry" have a SHA1 instead of a union of object pointers
+      Switch "read_tree_recursive()" over to tree-walk functionality
+      Remove "tree->entries" tree-entry list from tree parser
+      Make "struct tree" contain the pointer to the tree buffer
+      Make "tree_entry" have a SHA1 instead of a union of object pointers
+      Switch "read_tree_recursive()" over to tree-walk functionality
+      builtin-read-tree.c: avoid tree_entry_list in prime_cache_tree_rec()
+      Remove "tree->entries" tree-entry list from tree parser
+      fsck-objects: avoid unnecessary tree_entry_list usage
+      Remove unused "zeropad" entry from tree_list_entry
+      Convert "mark_tree_uninteresting()" to raw tree walker
+      Convert fetch.c: process_tree() to raw tree walker
+      Remove last vestiges of generic tree_entry_list
+      tree_entry(): new tree-walking helper function
+      read-tree: fix eye-candy.
+      Fix typo in tutorial-2.txt
+      rev-list: fix process_tree() conversion.
+      pack-objects: improve path grouping heuristics.
+
+Lukas Sandström (2):
+      Make git-check-format-ref a builtin.
+      SubmittingPatches: The download location of External Editor has moved
+
+Martin Langhoff (7):
+      git-cvsexportcommit: Add -f(orce) and -m(essage prefix) flags, small cleanups.
+      cvsserver: use git-rev-list instead of git-log
+      cvsserver: use git-rev-list instead of git-log
+      cvsimport: minor fixups
+      cvsimport: replace anonymous sub ref with a normal sub
+      cvsimport: introduce -L<imit> option to workaround memory leaks
+      cvsimport: introduce _fetchfile() method and used a 1M buffer to read()
+
+Martin Waitz (6):
+      Transitively read alternatives
+      test case for transitive info/alternates
+      clone: don't clone the info/alternates file
+      git help: remove whatchanged from list of common commands
+      Documentation/Makefile: remove extra /
+      Add instructions to commit template.
+
+Martyn Smith (3):
+      Added logged warnings for CVS error returns
+      Many fixes for most operations in Eclipse.
+      Change to allow subdir updates from Eclipse
+
+Matthias Kestenholz (1):
+      add documentation for update-index --unresolve
+
+Matthias Lederhofer (1):
+      git status: skip empty directories, and add -u to show all untracked files
+
+Nick Hengeveld (3):
+      git-fetch: resolve remote symrefs for HTTP transport
+      http: prevent segfault during curl handle reuse
+      builtin-push: don't pass --thin to HTTP transport
+
+Nicolas Pitre (10):
+      split the diff-delta interface
+      use delta index data when finding best delta matches
+      replace adler32 with Rabin's polynomial in diff-delta
+      tiny optimization to diff-delta
+      improve diff-delta with sparse and/or repetitive data
+      improve base85 generated assembly code
+      fix diff-delta bad memory access
+      simple euristic for further free packing improvements
+      pack-object: slightly more efficient
+      improve depth heuristic for maximum delta size
+
+Paul Mackerras (19):
+      gitk: Implement multiple views
+      gitk: Make File->Update work properly again
+      gitk: Fix various bugs in the view support
+      gitk: Don't reread git-rev-list output from scratch on view switch
+      gitk: Remember the view in the history list
+      gitk: Let git-rev-list do the argument list parsing
+      gitk: Use git-rev-parse only to identify file/dir names on cmd line
+      gitk: Implement "permanent" views (stored in ~/.gitk)
+      gitk: add menu item for editing the current view
+      gitk: Use a text widget for the file list
+      gitk: Add a tree-browsing mode
+      gitk: Basic support for highlighting one view within another
+      gitk: Fix file list display when files are renamed
+      gitk: Allow view to specify arbitrary arguments to git-rev-list
+      gitk: Fix display of "(...)" for parents/children we haven't drawn
+      Provide a way to flush git-diff-tree's output
+      gitk: Fix bug where page-up/down wouldn't always work properly
+      gitk: show_error fix
+      Make git-diff-tree indicate when it flushes
+
+Peter Eriksen (9):
+      Add git-quiltimport to .gitignore.
+      Builtin git-ls-files.
+      Builtin git-ls-tree.
+      Builtin git-tar-tree.
+      Builtin git-read-tree.
+      Builtin git-commit-tree.
+      Builtin git-apply.
+      Builtin git-show-branch.
+      Builtin git-diff-files, git-diff-index, git-diff-stages, and git-diff-tree.
+
+Peter Hagervall (1):
+      Sparse fix for builtin-diff
+
+Petr Baudis (3):
+      git-repo-config --list support
+      Deprecate usage of git-var -l for getting config vars list
+      Call builtin ls-tree in git-cat-file -p
+
+Ryan Anderson (4):
+      git-send-email: Add References: headers to emails, in addition to In-Reply-To:
+      Add support for --bcc to git-send-email.
+      Fix a bug in email extraction used in git-send-email.
+      Add a basic test case for git send-email, and fix some real bugs discovered.
+
+Salikh Zakirov (1):
+      Fixed Cygwin CR-munging problem in mailsplit
+
+Santi Béjar (1):
+      Document that "git add" only adds non-ignored files.
+
+Sean Estabrooks (19):
+      Add --continue and --abort options to git-rebase.
+      Several trivial documentation touch ups.
+      Fix up docs where "--" isn't displayed correctly.
+      Update git-unpack-objects documentation.
+      Clarify git-cherry documentation.
+      Another config file parsing fix.
+      t1300-repo-config: two new config parsing tests.
+      Add "--branches", "--tags" and "--remotes" options to git-rev-parse.
+      Make git rebase interactive help match documentation.
+      Add "--summary" option to git diff.
+      Convert some "apply --summary" users to "diff --summary".
+      Strip useless "tags/" prefix from git-tag -l output
+      Allow pickaxe and diff-filter options to be used by git log.
+      Avoid segfault in diff --stat rename output.
+      Change GIT-VERSION-GEN to call git commands with "git" not "git-".
+      Install git builtins into gitexecdir rather than bindir.
+      Remove possible segfault in http-fetch.
+      --summary output should print immediately after stats.
+      A Perforce importer for git.
+
+Serge E. Hallyn (1):
+      socksetup: don't return on set_reuse_addr() error
+
+Sergey Vlasov (1):
+      gitk: Display commit messages with word wrap
+
+Shawn O. Pearce (24):
+      Remove unnecessary local in get_ref_sha1.
+      Improve abstraction of ref lock/write.
+      Convert update-ref to use ref_lock API.
+      Log ref updates to logs/refs/<ref>
+      Support 'master@2 hours ago' syntax
+      Fix ref log parsing so it works properly.
+      General ref log reading improvements.
+      Added logs/ directory to repository layout.
+      Force writing ref if it doesn't exist.
+      Log ref updates made by fetch.
+      Change 'master@noon' syntax to 'master@{noon}'.
+      Correct force_write bug in refs.c
+      Change order of -m option to update-ref.
+      Include ref log detail in commit, reset, etc.
+      Create/delete branch ref logs.
+      Enable ref log creation in git checkout -b.
+      Reference git-check-ref-format in git-branch.
+      Elaborate on why ':' is a bad idea in a ref name.
+      Built git-upload-tar should be ignored.
+      Verify git-commit provides a reflog message.
+      Test that git-branch -l works.
+      Remove unnecessary output from t3600-rm.
+      Improved pack format documentation.
+      Allow multiple -m options to git-commit.
+
+Tilman Sauerbeck (1):
+      Documentation/Makefile: create tarballs for the man pages and html files
+
+Timo Hirvonen (3):
+      Builtin git-init-db
+      Builtin git-cat-file
+      gitk: Replace "git-" commands with "git "
+
+Yakov Lerner (2):
+      NO_INET_NTOP and compat/inet_ntop.c for some systems (e.g. old Cygwin).
+      Problem: 'trap...exit' causes error message when /bin/sh is ash.
+
+Yann Dirson (3):
+      Do not call 'cmp' with non-existant -q flag.
+      Document current cvsexportcommit limitations.
+      Make cvsexportcommit create parent directories as needed.
+
+
+Version v1.3.3; changes since v1.3.2:
+-------------------------------------
+
+Ben Clifford (1):
+      include header to define uint32_t, necessary on Mac OS X
+
+Dennis Stosberg (2):
+      Fix git-pack-objects for 64-bit platforms
+      Fix compilation on newer NetBSD systems
+
+Dmitry V. Levin (1):
+      Separate object name errors from usage errors
+
+Eric Wong (2):
+      apply: fix infinite loop with multiple patches with --index
+      Install git-send-email by default
+
+Johannes Schindelin (1):
+      repo-config: trim white-space before comment
+
+Junio C Hamano (6):
+      core.prefersymlinkrefs: use symlinks for .git/HEAD
+      repo-config: document what value_regexp does a bit more clearly.
+      Fix repo-config set-multivar error return path.
+      Documentation: {caret} fixes (git-rev-list.txt)
+      checkout: use --aggressive when running a 3-way merge (-m).
+      Fix pack-index issue on 64-bit platforms a bit more portably.
+
+Linus Torvalds (3):
+      Fix "git diff --stat" with long filenames
+      revert/cherry-pick: use aggressive merge.
+      git config syntax updates
+
+Martin Waitz (2):
+      clone: keep --reference even with -l -s
+      repack: honor -d even when no new pack was created
+
+Matthias Lederhofer (1):
+      core-tutorial.txt: escape asterisk
+
+Pavel Roskin (1):
+      Release config lock if the regex is invalid
+
+Sean Estabrooks (3):
+      Fix for config file section parsing.
+      Another config file parsing fix.
+      Ensure author & committer before asking for commit message.
+
+Yakov Lerner (1):
+      read-cache.c: use xcalloc() not calloc()
+
+
+Version v1.3.2; changes since v1.3.1:
+-------------------------------------
+
+Huw Davies (1):
+      git-format-patch: Use rfc2822 compliant date.
+
+Jon Loeliger (3):
+      Alphabetize the glossary.
+      Added definitions for a few words:
+      Add a few more words to the glossary.
+
+Junio C Hamano (4):
+      rebase: typofix.
+      commit-tree.c: check_valid() microoptimization.
+      verify-pack: check integrity in a saner order.
+      git-am --resolved: more usable error message.
+
+Linus Torvalds (1):
+      Fix filename verification when in a subdirectory
+
+Martin Langhoff (1):
+      git-send-email: fix version string to be valid perl
+
+Matthias Kestenholz (3):
+      annotate: fix warning about uninitialized scalar
+      annotate: display usage information if no filename was given
+      fix various typos in documentation
+
+Robert Shearman (1):
+      Give the user a hint for how to continue in the case that git-am fails because it requires user intervention
+
+Sean Estabrooks (4):
+      Update the git-branch man page to include the "-r" option,
+      Fix up remaining man pages that use asciidoc "callouts".
+      Properly render asciidoc "callouts" in git man pages.
+      Fix trivial typo in git-log man page.
+
+
+Version v1.3.1; changes since v1.3.0:
+-------------------------------------
+
+Jonas Fonseca (1):
+      Fix filename scaling for binary files
+
+Junio C Hamano (5):
+      git-merge: a bit more readable user guidance.
+      pre-commit hook: complain about conflict markers.
+      git-commit --amend: two fixes.
+      pack-objects: do not stop at object that is "too small"
+      mailinfo: decode underscore used in "Q" encoding properly.
+
+Linus Torvalds (1):
+      git-log produces no output
+
+Nicolas Pitre (1):
+      fix pack-object buffer size
+
+Paul Mackerras (1):
+      rev-parse: better error message for ambiguous arguments
+
+Petr Baudis (2):
+      Document git-var -l listing also configuration variables
+      Document the configuration file
+
+Santi Béjar (1):
+      Reintroduce svn pools to solve the memory leak.
+
+Serge E. Hallyn (1):
+      socksetup: don't return on set_reuse_addr() error
+
+Shawn O. Pearce (1):
+      Document git-clone --reference
+
+
+Version v1.3.0; changes since v1.3.0-rc4:
+-----------------------------------------
+
+A Large Angry SCM (1):
+      Makefile fixups.
+
+Herbert Valerio Riedel (1):
+      git-svnimport symlink support
+
+Johannes Schindelin (2):
+      diff-options: add --patch-with-stat
+      pager: do not fork a pager if PAGER is set to empty.
+
+Jonas Fonseca (1):
+      Add git-annotate(1) and git-blame(1)
+
+Junio C Hamano (9):
+      rev-list --bisect: limit list before bisecting.
+      diff-tree: typefix.
+      diff --stat: do not do its own three-dashes.
+      diff-files --stat: do not dump core with unmerged index.
+      reading $GIT_DIR/info/graft - skip comments correctly.
+      rev-list --boundary: show boundary commits even when limited otherwise.
+      packed_object_info_detail(): check for corrupt packfile.
+      diff --stat: make sure to set recursive.
+      GIT 1.3.0
+
+Linus Torvalds (1):
+      Support "git cmd --help" syntax
+
+Paul Mackerras (1):
+      gitk: Fix bug caused by missing commitlisted elements
+
+Serge E. Hallyn (5):
+      cleanups: Fix potential bugs in connect.c
+      cleanups: Remove unused vars from combine-diff.c
+      cleanups: Remove impossible case in quote.c
+      cleanups: prevent leak of two strduped strings in config.c
+      cleanups: remove unused variable from exec_cmd.c
+
+Yann Dirson (1):
+      Allow empty lines in info/grafts
+
+
+Version v1.3.0-rc4; changes since v1.3.0-rc3:
+---------------------------------------------
+
+Davide Libenzi (1):
+      xdiff: post-process hunks to make them consistent.
+
+Dennis Stosberg (2):
+      Solaris 9 also wants our own unsetenv/setenv.
+      Replace index() with strchr().
+
+Eric W. Biederman (1):
+      Implement limited context matching in git-apply.
+
+Johannes Schindelin (2):
+      diff-options: add --stat (take 2)
+      diff-options: add --stat (take 2)
+
+Junio C Hamano (31):
+      git-log: match rev-list --abbrev and --abbrev-commit
+      diff: fix output of total-rewrite diff.
+      diffcore-rename: fix merging back a broken pair.
+      log-tree: separate major part of diff-tree.
+      git log [diff-tree options]...
+      Retire diffcore-pathspec.
+      tree-diff: do not assume we use only one pathspec
+      git log --full-diff
+      Retire git-log.sh
+      blame and friends: adjust to multiple pathspec change.
+      Retire git-log.sh (take#2)
+      diff-* --patch-with-raw
+      Retire git-log.sh (take #3)
+      combine-diff: do not lose hunks with only deletion at end.
+      combine-diff: fix hunks at the end (take #2).
+      Retire t5501-old-fetch-and-upload test.
+      git-commit: do not muck with commit message when no_edit is set.
+      stripspace: make sure not to leave an incomplete line.
+      combine-diff: type fix.
+      Documentation: add a couple of missing docs.
+      Makefile: $(MAKE) check-docs
+      git-log: do not output excess blank line between commits
+      t3600-rm: skip failed-remove test when we cannot make an unremovable file.
+      Fix-up previous expr changes.
+      diff --stat: no need to ask funcnames nor context.
+      t5500: test fix
+      stripspace: incomplete line fix (take #2)
+      Retire git-log.sh (take #4)
+      git-log <diff-options> <paths> documentation
+      "git cmd -h" for shell scripts.
+      GIT v1.3.0-rc4
+
+Linus Torvalds (4):
+      Make "--parents" logs also be incremental
+      When showing a commit message, do not lose an incomplete line.
+      Use less memory in "git log"
+      Clean up trailing whitespace when pretty-printing commits
+
+Marco Roeland (1):
+      xdiff/xdiffi.c: fix warnings about possibly uninitialized variables
+
+Mark Wooding (1):
+      Shell utilities: Guard against expr' magic tokens.
+
+Petr Baudis (3):
+      Improve the git-diff-tree -c/-cc documentation
+      Document --patch-with-raw
+      Separate the raw diff and patch with a newline
+
+
+Version v1.3.0-rc3; changes since v1.3.0-rc2:
+---------------------------------------------
+
+Francis Daly (1):
+      Tweaks to make asciidoc play nice.
+
+Johannes Schindelin (3):
+      cvsimport: use git-update-ref when updating
+      On some platforms, certain headers need to be included before regex.h
+      Fix compile with expat, but an old curl version
+
+Jon Loeliger (1):
+      Added Packing Heursitics IRC writeup.
+
+Junio C Hamano (16):
+      git-clone: fix handling of upsteram whose HEAD does not point at master.
+      combine-diff: use built-in xdiff.
+      parse_date(): fix parsing 03/10/2006
+      combine-diff: refactor built-in xdiff interface.
+      diff_flush(): leakfix.
+      combine-diff: move the code to parse hunk-header into common library.
+      blame: use built-in xdiff
+      date parsing: be friendlier to our European friends.
+      blame.c: fix completely broken ancestry traversal.
+      Match ofs/cnt types in diff interface.
+      blame -S <ancestry-file>
+      Add Documentation/technical/pack-format.txt
+      Thin pack generation: optimization.
+      rev-list --abbrev-commit
+      count-delta: match get_delta_hdr_size() changes.
+      GIT 1.3.0-rc3
+
+Karl Hasselström (1):
+      git-svnimport: Don't assume that copied files haven't changed
+
+Keith Packard (1):
+      Provide configurable UI font for gitk
+
+Marco Roeland (1):
+      git-commit: document --amend
+
+Mark Wooding (1):
+      gitk: Use git wrapper to run git-ls-remote.
+
+Mike McCormack (3):
+      Avoid a divide by zero if there's no messages to send.
+      Avoid a crash if realloc returns a different pointer.
+      Add documentation for git-imap-send.
+
+Nick Hengeveld (1):
+      http-fetch: add optional DAV-based pack list
+
+Nicolas Pitre (1):
+      check patch_delta bounds more carefully
+
+Paul Mackerras (3):
+      gitk: replace parent and children arrays with lists
+      gitk: Add a help menu item to display key bindings
+      gitk: Fix incorrect invocation of getmergediffline
+
+Pavel Roskin (2):
+      Add git-clean command
+      gitk: Fix searching for filenames in gitk
+
+Petr Baudis (1):
+      Support for pickaxe matching regular expressions
+
+Rutger Nijlunsing (1):
+      gitk: add key bindings for selecting first and last commit
+
+Stephen Rothwell (1):
+      gitk: allow goto heads
+
+
+Version v1.3.0-rc2; changes since v1.3.0-rc1:
+---------------------------------------------
+
+Davide Libenzi (1):
+      Clean-up trivially redundant diff.
+
+Eric Wong (6):
+      contrib/git-svn: force GIT_DIR to an absolute path
+      contrib/git-svn: accept configuration via repo-config
+      contrib/git-svn: documentation updates
+      contrib/git-svn: ensure repo-config returns a value before using it
+      contrib/git-svn: make sure our git-svn is up-to-date for test
+      contrib/git-svn: handle array values correctly
+
+J. Bruce Fields (1):
+      Documentation: revise top of git man page
+
+Jason Riedy (2):
+      Add ALL_LDFLAGS to the git target.
+      Use sigaction and SA_RESTART in read-tree.c; add option in Makefile.
+
+Jim Radford (1):
+      fix repacking with lots of tags
+
+Junio C Hamano (14):
+      rev-list --no-merges: argument parsing fix.
+      rev-list: memory usage reduction.
+      rev-list --boundary
+      revision arguments: ..B means HEAD..B, just like A.. means A..HEAD
+      revision.c "..B" syntax: constness fix
+      assume unchanged git: diff-index fix.
+      tree/diff header cleanup.
+      rev-list --boundary: fix re-injecting boundary commits.
+      Makefile: many programs now depend on xdiff/lib.a having been built.
+      revision: --topo-order and --unpacked
+      revision: simplify argument parsing.
+      revision: --max-age alone does not need limit_list() anymore.
+      safe_fgets() - even more anal fgets()
+      GIT 1.3.0-rc2
+
+Linus Torvalds (5):
+      Move "--parent" parsing into generic revision.c library code
+      Make path-limiting be incremental when possible.
+      revision: Fix --topo-order and --max-age with reachability limiting.
+      Fix Solaris stdio signal handling stupidities
+      pack-objects: be incredibly anal about stdio semantics
+
+Mark Wooding (1):
+      xdiff: Show function names in hunk headers.
+
+Nick Hengeveld (2):
+      git-ls-remote: send no-cache header when fetching info/refs
+      Set HTTP user agent to git/GIT_VERSION
+
+Paul Mackerras (5):
+      gitk: Use the new --boundary flag to git-rev-list
+      gitk: Show diffs for boundary commits
+      gitk: Prevent parent link from overwriting commit headline
+      gitk: Allow top panes to scroll horizontally with mouse button 2
+      gitk: Better workaround for arrows on diagonal line segments
+
+Peter Eriksen (2):
+      Use blob_, commit_, tag_, and tree_type throughout.
+      Replace xmalloc+memset(0) with xcalloc.
+
+René Scharfe (3):
+      Remove useless pointer update
+      Fix sparse warnings about usage of 0 instead of NULL
+      Fix sparse warnings about non-ANSI function prototypes
+
+Yasushi SHOJI (2):
+      Make git-clone to take long double-dashed origin option (--origin)
+      git-clone: exit early if repo isn't specified
+
+
+Version v1.3.0-rc1; changes since v1.2.6:
+-----------------------------------------
+
+Alex Riesen (2):
+      PATCH: simplify calls to git programs in git-fmt-merge-msg
+      workaround fat/ntfs deficiencies for t3600-rm.sh (git-rm)
+
+Alexandre Julliard (12):
+      Add an Emacs interface in contrib.
+      git-format-patch: Always add a blank line between headers and body.
+      contrib/emacs: Add an Emacs VC backend.
+      git.el: Portability fixes for XEmacs and Emacs CVS.
+      git.el: Set default directory before running the status mode setup hooks.
+      git.el: Automatically update .gitignore status.
+      git.el: Added support for Signed-off-by.
+      git.el: Added customize support for all parameters.
+      ls-files: Don't require exclude files to end with a newline.
+      git.el: More robust handling of subprocess errors when returning strings.
+      git.el: Get the default user name and email from the repository config.
+      git.el: Added a function to diff against the other heads in a merge.
+
+Anand Kumria (1):
+      git-svnimport: if a limit is specified, respect it
+
+Aneesh Kumar K.V (16):
+      Add contrib/gitview from Aneesh.
+      Add a README for gitview
+      gitview: typofix
+      gitview: Read tag and branch information using git ls-remote
+      gitview: Use monospace font to draw the branch and tag name
+      gitview: Display the lines joining commit nodes clearly.
+      gitview: Fix DeprecationWarning
+      gitview: Bump the rev
+      gitview: Code cleanup
+      gitview: Fix the graph display .
+      gitview: Fix the encoding related bug
+      gitview: Remove trailing white space
+      gitview: Some window layout changes.
+      gitview: Set the default width of graph cell
+      gitview: Use horizontal scroll bar in the tree view
+      gitview: pass the missing argument _show_clicked_cb.
+
+Carl Worth (5):
+      git-rebase: Clarify usage statement and copy it into the actual documentation.
+      New test to verify that when git-clone fails it cleans up the new directory.
+      git-ls-files: Fix, document, and add test for --error-unmatch option.
+      Add new git-rm command with documentation
+      git-rm: Fix to properly handle files with spaces, tabs, newlines, etc.
+
+Dmitry V. Levin (1):
+      git/Documentation: fix SYNOPSIS style bugs
+
+Eric Wong (43):
+      Introducing contrib/git-svn.
+      git-svn: fix revision order when XML::Simple is not loaded
+      git-svn: ensure fetch always works chronologically.
+      git-svn: remove files from the index before adding/updating
+      git-svn: fix a typo in defining the --no-stop-on-copy option
+      git-svn: allow --find-copies-harder and -l<num> to be passed on commit
+      git-svn: Allow for more argument types for commit (from..to)
+      git-svn: remove any need for the XML::Simple dependency
+      git-svn: change ; to && in addremove()
+      contrib/git-svn.txt: add a note about renamed/copied directory support
+      git-svn: fix several corner-case and rare bugs with 'commit'
+      contrib/git-svn: add Makefile, test, and associated ignores
+      git-svn: 0.9.1: add --version and copyright/license (GPL v2+) information
+      contrib/git-svn: add show-ignore command
+      contrib/git-svn: optimize sequential commits to svn
+      contrib/git-svn: version 0.10.0
+      contrib/git-svn: tell the user to not modify git-svn-HEAD directly
+      contrib/git-svn: correct commit example in manpage
+      contrib/git-svn: use refs/remotes/git-svn instead of git-svn-HEAD
+      git-branch: add -r switch to list refs/remotes/*
+      contrib/git-svn: add -b/--branch switch for branch detection
+      contrib/git-svn: several small bug fixes and changes
+      contrib/git-svn: strip 'git-svn-id:' when commiting to SVN
+      contrib/git-svn: allow --authors-file to be specified
+      contrib/git-svn: cleanup option parsing
+      contrib/git-svn: create a more recent master if one does not exist
+      contrib/git-svn: avoid re-reading the repository uuid, it never changes
+      contrib/git-svn: add --id/-i=$GIT_SVN_ID command-line switch
+      contrib/git-svn: better documenting of CLI switches
+      send-email: accept --no-signed-off-by-cc as the documentation states
+      contrib/git-svn: fix a copied-tree bug in an overzealous assertion
+      contrib/git-svn: fix svn compat and fetch args
+      contrib/git-svn: remove the --no-stop-on-copy flag
+      contrib/git-svn: fix a harmless warning on rebuild (with old repos)
+      fetch,parse-remote,fmt-merge-msg: refs/remotes/* support
+      ls-tree: add --abbrev[=<n>] option
+      ls-files: add --abbrev[=<n>] option
+      contrib/git-svn: allow rebuild to work on non-linear remote heads
+      send-email: use built-in time() instead of /bin/date '+%s'
+      send-email: Change from Mail::Sendmail to Net::SMTP
+      send-email: try to order messages in email clients more correctly
+      send-email: lazy-load Email::Valid and make it optional
+      contrib/git-svn: stabilize memory usage for big fetches
+
+Fernando J. Pereda (1):
+      Allow building Git in systems without iconv
+
+Francis Daly (4):
+      AsciiDoc fix for tutorial
+      Tweak asciidoc output to work with broken docbook-xsl
+      Fix multi-paragraph list items in OPTIONS section
+      Format tweaks for asciidoc.
+
+Fredrik Kuivinen (13):
+      Add git-blame, a tool for assigning blame.
+      git-blame, take 2
+      git-blame: Make the output human readable
+      git-blame: Use the same tests for git-blame as for git-annotate
+      Fix some inconsistencies in the docs
+      Remove trailing dot after short description
+      Nicer output from 'git'
+      Make it possible to not clobber object.util in sort_in_topological_order (take 2)
+      rev-lib: Make it easy to do rename tracking (take 2)
+      blame: Rename detection (take 2)
+      blame: Nicer output
+      blame: Fix git-blame <directory>
+      Makefile: Add TAGS and tags targets
+
+J. Bruce Fields (1):
+      Document git-rebase behavior on conflicts.
+
+Jason Riedy (1):
+      Fix typo in git-rebase.sh.
+
+Jeff Muizelaar (2):
+      cosmetics: change from 'See-Also' to 'See Also'
+      documentation: add 'see also' sections to git-rm and git-add
+
+Johannes Schindelin (13):
+      Fix cpio call
+      Optionally support old diffs
+      Support Irix
+      Optionally work without python
+      Fixes for ancient versions of GNU make
+      avoid makefile override warning
+      Really honour NO_PYTHON
+      Fix "gmake -j"
+      Use Ryan's git-annotate instead of jsannotate
+      Warn about invalid refs
+      Fix test case for some sed
+      imap-send: Add missing #include for macosx
+      Remove dependency on a file named "-lz"
+
+Jon Loeliger (9):
+      Add git-show reference
+      Call out the two different uses of git-branch and fix a typo.
+      Document the default source of template files.
+      Clarify git-rebase example commands.
+      Reference git-commit-tree for env vars.
+      Fix minor typo.
+      Rewrite synopsis to clarify the two primary uses of git-checkout.
+      Clarify and expand some hook documentation.
+      Removed bogus "<snap>" identifier.
+
+Jonas Fonseca (2):
+      manpages: insert two missing [verse] markers for multi-line SYNOPSIS
+      repo-config: give value_ a sane default so regexec won't segfault
+
+Josef Weidendorfer (1):
+      git-mv: fix moves into a subdir from outside
+
+Junio C Hamano (137):
+      "Assume unchanged" git
+      "Assume unchanged" git: do not set CE_VALID with --refresh
+      ls-files: debugging aid for CE_VALID changes.
+      "Assume unchanged" git: --really-refresh fix.
+      ls-files: split "show-valid-bit" into a different option.
+      "assume unchanged" git: documentation.
+      cache_name_compare() compares name and stage, nothing else.
+      git-commit: Now --only semantics is the default.
+      rebase: allow a hook to refuse rebasing.
+      commit: detect misspelled pathspec while making a partial commit.
+      rebase: allow rebasing onto different base.
+      ls-files --error-unmatch pathspec error reporting fix.
+      Detect misspelled pathspec to git-add
+      packed objects: minor cleanup
+      topo-order: make --date-order optional.
+      pack-objects: reuse data from existing packs.
+      pack-objects: finishing touches.
+      git-repack: allow passing a couple of flags to pack-objects.
+      git-tag: -l to list tags (usability).
+      Add contrib/README.
+      SubmittingPatches: note on whitespaces
+      pack-objects: avoid delta chains that are too long.
+      Make "empty ident" error message a bit more helpful.
+      Delay "empty ident" errors until they really matter.
+      Keep Porcelainish from failing by broken ident after making changes.
+      fmt-merge-msg: say which branch things were merged into unless 'master'
+      Allow git-mv to accept ./ in paths.
+      Documentation: fix typo in rev-parse --short option description.
+      fmt-merge-msg: do not add excess newline at the end.
+      rev-list --objects-edge
+      Thin pack - create packfile with missing delta base.
+      send-pack --thin: use "thin pack" delta transfer.
+      Add git-push --thin.
+      Use thin pack transfer in "git fetch".
+      fmt-merge-msg: avoid open "-|" list form for Perl 5.6
+      rerere: avoid open "-|" list form for Perl 5.6
+      send-email: avoid open "-|" list form for Perl 5.6
+      svnimport: avoid open "-|" list form for Perl 5.6
+      cvsimport: avoid open "-|" list form for Perl 5.6
+      Fix fmt-merge-msg counting.
+      cherry-pick/revert: error-help message rewording.
+      git-mktree: reverse of git-ls-tree.
+      rev-list.c: fix non-grammatical comments.
+      send-pack: do not give up when remote has insanely large number of refs.
+      gitview: ls-remote invocation shellquote safety.
+      pack-objects: thin pack micro-optimization.
+      pack-objects: use full pathname to help hashing with "thin" pack.
+      count-delta: tweak counting of copied source material.
+      count-delta: fix counting of copied source.
+      Tweak break/merge score to adjust to the new delta generation code.
+      pack-objects: allow "thin" packs to exceed depth limits
+      rev-list --objects-edge: remove duplicated edge commit output.
+      rev-list --objects: use full pathname to help hashing.
+      pack-objects: hash basename and direname a bit differently.
+      Revert "diff-delta: produce optimal pack data"
+      Build and install git-mailinfo.
+      rev-list split: minimum fixup.
+      apply --whitespace fixes and enhancements.
+      apply: squelch excessive errors and --whitespace=error-all
+      apply --whitespace: configuration option.
+      git-apply --whitespace=nowarn
+      Revert "Revert "diff-delta: produce optimal pack data""
+      git-apply: war on whitespace -- finishing touches.
+      diffcore-break: micro-optimize by avoiding delta between identical files.
+      diffcore-rename: split out the delta counting code.
+      diffcore-delta: stop using deltifier for packing.
+      git-am: --whitespace=x option.
+      diff-delta: cull collided hash bucket more aggressively.
+      git-log (internal): add approxidate.
+      git-log (internal): more options.
+      Pretty-print tagger dates.
+      war on whitespaces: documentation.
+      Documentation: read-tree --aggressive
+      Documentation: rev-list --objects-edge
+      annotate: resurrect raw timestamps.
+      setup_revisions(): handle -n<n> and -<n> internally.
+      GIT-VERSION-GEN: squelch unneeded error from "cat version"
+      show-branch --topics
+      git-commit --amend
+      git-commit: make sure we protect against races.
+      diffcore-rename: similarity estimator fix.
+      show-branch --topics: omit more uninteresting commits.
+      count-delta: no need for this anymore.
+      diffcore-break: similarity estimator fix.
+      diffcore-delta: make change counter to byte oriented again.
+      git-commit --amend: allow empty commit.
+      Const tightening.
+      verify-pack -v: show delta-chain histogram.
+      blame: avoid -lm by not using log().
+      blame and annotate: show localtime with timezone.
+      blame: avoid "diff -u0".
+      annotate/blame tests updates.
+      annotate-blame test: don't "source", but say "."
+      annotate-blame test: add evil merge.
+      blame: unbreak "diff -U 0".
+      annotate-blame: tests incomplete lines.
+      pack-objects: simplify "thin" pack.
+      Use #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
+      refs.c::do_for_each_ref(): Finish error message lines with "\n"
+      fsck-objects: Remove --standalone
+      Fix t1200 test for breakage caused by removal of full-stop at the end of fast-forward message.
+      try_to_simplify_commit(): do not skip inspecting tree change at boundary.
+      repack: prune loose objects when -d is given
+      git-diff: -p disables rename detection.
+      diffcore-rename: somewhat optimized.
+      revision traversal: --remove-empty fix.
+      revision traversal: --remove-empty fix (take #2).
+      diffcore-delta: make the hash a bit denser.
+      diffcore-delta: tweak hashbase value.
+      cvsimport: honor -i and non -i upon subsequent imports
+      fetch: exit non-zero when fast-forward check fails.
+      cvsimport: fix reading from rev-parse
+      git-pull: run repo-config with dash form.
+      unpack_delta_entry(): reduce memory footprint.
+      generate-cmdlist: style cleanups.
+      revamp git-clone.
+      git-merge knows some strategies want to skip trivial merges
+      http-fetch: nicer warning for a server with unreliable 404 status
+      core.warnambiguousrefs: warns when "name" is used and both "name" branch and tag exists.
+      revamp git-clone (take #2).
+      get_sha1_basic(): try refs/... and finally refs/remotes/$foo/HEAD
+      clone: record the remote primary branch with remotes/$origin/HEAD
+      http-push.c: squelch C90 warnings.
+      git-apply: do not barf when updating an originally empty file.
+      rev-list --timestamp
+      git-clone: typofix.
+      git-pull: further safety while on tracking branch.
+      git-pull: reword "impossible to fast-forward" message.
+      sha1_name: warning ambiguous refs.
+      sha1_name: make core.warnambiguousrefs the default.
+      send-email: Identify author at the top when sending e-mail
+      commit-tree: check return value from write_sha1_file()
+      built-in diff: minimum tweaks
+      true built-in diff: run everything in-core.
+      git-push: make --thin pack transfer the default.
+      add clean and ignore rules for xdiff/
+      GIT 1.3.0 rc1
+
+Karl Hasselström (7):
+      git-svnimport: -r adds svn revision number to commit messages
+      svnimport: Mention -r in usage summary
+      svnimport: Convert executable flag
+      svnimport: Convert the svn:ignore property
+      svnimport: Read author names and emails from a file
+      Let git-svnimport's author file use same syntax as git-cvsimport's
+      Save username -> Full Name <email@addr.es> map file
+
+Linus Torvalds (21):
+      Handling large files with GIT
+      Handling large files with GIT
+      git-merge-tree: generalize the "traverse <n> trees in sync" functionality
+      Teach the "git" command to handle some commands internally
+      First cut at libifying revlist generation
+      Make git diff-generation use a simpler spawn-like interface
+      The war on trailing whitespace
+      Splitting rev-list into revisions lib, end of beginning.
+      git-rev-list libification: rev-list walking
+      Introduce trivial new pager.c helper infrastructure
+      Tie it all together: "git log"
+      Rip out merge-order and make "git log <paths>..." work again.
+      get_revision(): do not dig deeper when we know we are at the end.
+      git-fmt-merge-msg cleanup
+      Fix up diffcore-rename scoring
+      diffcore-delta: 64-byte-or-EOL ultrafast replacement.
+      diffcore-delta: 64-byte-or-EOL ultrafast replacement (hash fix).
+      git-apply: safety fixes
+      Use a *real* built-in diff generator
+      builtin-diff: \No newline at end of file.
+      Fix error handling for nonexistent names
+
+Lukas Sandström (1):
+      git-fetch: print the new and old ref when fast-forwarding
+
+Marco Costalba (1):
+      Add a Documentation/git-tools.txt
+
+Marco Roeland (1):
+      imap-send: cleanup execl() call to use NULL sentinel instead of 0
+
+Mark Hollomon (1):
+      Let merge set the default strategy.
+
+Mark Wooding (6):
+      combine-diff: Honour --full-index.
+      combine-diff: Honour -z option correctly.
+      Documentation/Makefile: Some `git-*.txt' files aren't manpages.
+      gitignore: Ignore some more boring things.
+      contrib/emacs/Makefile: Provide tool for byte-compiling files.
+      annotate-tests: override VISUAL when running tests.
+
+Martin Langhoff (18):
+      Introducing git-cvsserver -- a CVS emulator for git.
+      cvsserver: add notes on how to get a checkout under Eclipse
+      cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U
+      cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works
+      cvsserver: add notes on how to get a checkout under Eclipse
+      cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U
+      cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works
+      cvsserver: Checkout correctly on Eclipse
+      annotate: fix -S parameter to take a string
+      cvsserver: Eclipse compat -- now "compare with latest from HEAD" works
+      cvsserver: checkout faster by sending files in a sensible order
+      cvsserver: fix checkouts with -d <somedir>
+      cvsserver: checkout faster by sending files in a sensible order
+      cvsserver: fix checkouts with -d <somedir>
+      cvsserver: nested directory creation fixups for Eclipse clients
+      cvsserver: better error messages
+      cvsserver: anonymous cvs via pserver support
+      cvsserver: updated documentation
+
+Martin Mares (1):
+      gitk: Make error_popup react to Return
+
+Matthias Urlichs (2):
+      cvsimport: Remove master-updating code
+      Don't recurse into parents marked uninteresting.
+
+Mike McCormack (5):
+      Allow adding arbitary lines in the mail header generated by format-patch.
+      Allow format-patch to attach patches
+      Document the --attach flag.
+      Describe how to add extra mail header lines in mail generated by git-format-patch.
+      Add git-imap-send, derived from isync 1.0.1.
+
+Nick Hengeveld (10):
+      Update http-push functionality
+      http-push: fix revision walk
+      HTTP slot reuse fixes
+      http-push: refactor remote file/directory processing
+      http-push: improve remote lock management
+      http-push: support for updating remote info/refs
+      http-push: cleanup
+      Fix broken slot reuse when fetching alternates
+      http-push: add support for deleting remote branches
+      http-push: don't assume char is signed
+
+Nicolas Pitre (11):
+      relax delta selection filtering in pack-objects
+      diff-delta: fold two special tests into one plus cleanups
+      diff-delta: produce optimal pack data
+      diff-delta: big code simplification
+      diff-delta: bound hash list length to avoid O(m*n) behavior
+      diff-delta: produce optimal pack data
+      diff-delta: bound hash list length to avoid O(m*n) behavior
+      diff-delta: allow reusing of the reference buffer index
+      test-delta needs zlib to compile
+      diff-delta: bound hash list length to avoid O(m*n) behavior
+      3% tighter packs for free
+
+Olaf Hering (1):
+      allow double click on current HEAD id after git-pull
+
+Paul Jakma (1):
+      Makefile tweaks: Solaris 9+ dont need iconv / move up uname variables
+
+Paul Mackerras (13):
+      gitk: Make "find" on "Files" work again.
+      gitk: New improved gitk
+      gitk: Fix clicks on arrows on line ends
+      gitk: Fix Update menu item
+      gitk: Various speed improvements
+      gitk: Further speedups
+      gitk: Fix a bug in drawing the selected line as a thick line
+      gitk: Fix display of diff lines beginning with --- or +++
+      gitk: Make commitdata an array rather than a list
+      gitk: Don't change cursor at end of layout if find in progress
+      gitk: Make downward-pointing arrows end in vertical line segment
+      gitk: Improve appearance of first child links
+      gitk: Fix two bugs reported by users
+
+Pavel Roskin (1):
+      gitview: Select the text color based on whether the entry in highlighted. Use standard font.
+
+Petr Baudis (2):
+      Properly git-bisect reset after bisecting from non-master head
+      Optionally do not list empty directories in git-ls-files --others
+
+Randal L. Schwartz (1):
+      fix imap-send for OSX
+
+René Scharfe (5):
+      tar-tree: Use SHA1 of root tree for the basedir
+      tar-tree: Introduce write_entry()
+      tar-tree: Use write_entry() to write the archive contents
+      tar-tree: Remove obsolete code
+      tar-tree: Use the prefix field of a tar header
+
+Ryan Anderson (9):
+      send-email: Add some options for controlling how addresses are automatically added to the cc: list.
+      send-email: Add --cc
+      Add git-annotate, a tool for assigning blame.
+      annotate: Handle dirty state and arbitrary revisions.
+      annotate: Convert all -| calls to use a helper open_pipe().
+      annotate: Use qx{} for pipes on activestate.
+      annotate: handle \No newline at end of file.
+      annotate: Add a basic set of test cases.
+      annotate: Support annotation of files on other revisions.
+
+Sean Estabrooks (1):
+      annotate.perl triggers rpm bug
+
+Shawn O. Pearce (7):
+      git ls files recursively show ignored files
+      Add missing programs to ignore list
+      Darwin: Ignore missing /sw/lib
+      Teach git-checkout-index to read filenames from stdin.
+      Prevent --index-info from ignoring -z.
+      Add --temp and --stage=all options to checkout-index.
+      Add missing semicolon to sed command.
+
+Timo Hirvonen (1):
+      Use setenv(), fix warnings
+
+Tony Luck (4):
+      fix warning from pack-objects.c
+      Re-fix compilation warnings.
+      annotate should number lines starting with 1
+      fix field width/precision warnings in blame.c
+
+Yasushi SHOJI (1):
+      Be verbose when !initial commit
+
+
+Version v1.2.6; changes since v1.2.5:
+-------------------------------------
+
+Junio C Hamano (3):
+      parse_date(): fix parsing 03/10/2006
+      diff_flush(): leakfix.
+      count-delta: match get_delta_hdr_size() changes.
+
+Nicolas Pitre (1):
+      check patch_delta bounds more carefully
+
+
+Version v1.2.5; changes since v1.2.4:
+-------------------------------------
+
+Jason Riedy (1):
+      Use sigaction and SA_RESTART in read-tree.c; add option in Makefile.
+
+Junio C Hamano (3):
+      read-tree --aggressive: remove deleted entry from the working tree.
+      tar-tree: file/dirmode fix.
+      safe_fgets() - even more anal fgets()
+
+Linus Torvalds (2):
+      Fix Solaris stdio signal handling stupidities
+      pack-objects: be incredibly anal about stdio semantics
+
+
+Version v1.2.4; changes since v1.2.3:
+-------------------------------------
+
+Alex Riesen (1):
+      fix t5600-clone-fail-cleanup.sh on windows
+
+Josef Weidendorfer (2):
+      git-mv: Allow -h without repo & fix error message
+      git-mv: fixes for path handling
+
+Junio C Hamano (13):
+      checkout - eye candy.
+      Give no terminating LF to error() function.
+      diffcore-rename: plug memory leak.
+      git-am: do not allow empty commits by mistake.
+      sample hooks template.
+      apply --whitespace fixes and enhancements.
+      apply: squelch excessive errors and --whitespace=error-all
+      apply --whitespace: configuration option.
+      git-apply --whitespace=nowarn
+      git-apply: war on whitespace -- finishing touches.
+      git-am: --whitespace=x option.
+      diffcore-break: micro-optimize by avoiding delta between identical files.
+      Allow git-mv to accept ./ in paths.
+
+Linus Torvalds (1):
+      The war on trailing whitespace
+
+Mark Wooding (2):
+      combine-diff: Honour --full-index.
+      combine-diff: Honour -z option correctly.
+
+
+Version v1.2.3; changes since v1.2.2:
+-------------------------------------
+
+Carl Worth (2):
+      git-add: Add support for --, documentation, and test.
+      git-push: Update documentation to describe the no-refspec behavior.
+
+Junio C Hamano (11):
+      format-patch: pretty-print timestamp correctly.
+      detect broken alternates.
+      pack-objects: reuse data from existing packs.
+      pack-objects: finishing touches.
+      git-repack: allow passing a couple of flags to pack-objects.
+      pack-objects: avoid delta chains that are too long.
+      Make "empty ident" error message a bit more helpful.
+      Delay "empty ident" errors until they really matter.
+      Keep Porcelainish from failing by broken ident after making changes.
+      pack-objects eye-candy: finishing touches.
+      git-fetch: follow tag only when tracking remote branch.
+
+Nicolas Pitre (2):
+      nicer eye candies for pack-objects
+      also adds progress when actually writing a pack
+
+
+Version v1.2.2; changes since v1.2.1:
+-------------------------------------
+
+Carl Worth (3):
+      Trap exit to clean up created directory if clone fails.
+      Abstract test_create_repo out for use in tests.
+      Prevent git-upload-pack segfault if object cannot be found
+
+Eric Wong (1):
+      archimport: remove files from the index before adding/updating
+
+Jonas Fonseca (2):
+      git-rev-parse: Fix --short= option parsing
+      Document --short and --git-dir in git-rev-parse(1)
+
+Martin Mares (1):
+      Fix retries in git-cvsimport
+
+Shawn O. Pearce (1):
+      Make git-reset delete empty directories
+
+
+Version v1.2.1; changes since v1.2.0:
+-------------------------------------
+
+Fernando J. Pereda (1):
+      Print an error if cloning a http repo and NO_CURL is set
+
+Fredrik Kuivinen (1):
+      s/SHELL/SHELL_PATH/ in Makefile
+
+Josef Weidendorfer (1):
+      More useful/hinting error messages in git-checkout
+
+Junio C Hamano (6):
+      Documentation: git-commit in 1.2.X series defaults to --include.
+      Documentation: git-ls-files asciidocco.
+      bisect: remove BISECT_NAMES after done.
+      combine-diff: diff-files fix.
+      combine-diff: diff-files fix (#2)
+      checkout: fix dirty-file display.
+
+
+Version v1.2.0; changes since v1.1.6:
+-------------------------------------
+
+Alecs King (1):
+      Add freebsd support in Makefile
+
+Alex Riesen (2):
+      fix "test: 2: unexpected operator" on bsd
+      avoid echo -e, there are systems where it does not work
+
+Andreas Ericsson (4):
+      git-cvsimport: Add -A <author-conv-file> option
+      update-hook: Major overhaul (handling tags, mainly).
+      format-patch: Remove last vestiges of --mbox option
+      .gitignore git-rerere and config.mak
+
+Christian Biesinger (1):
+      Use a relative path for SVN importing
+
+Daniel Barkalow (4):
+      Only use a single parser for tree objects
+      Use struct tree in tar-tree
+      Use struct commit in tar-tree
+      Make apply accept the -pNUM option like patch does.
+
+Eric W. Biederman (1):
+      Fix git-format-patch -s to include a Signed-off-by: line...
+
+Eric Wong (2):
+      rev-list: allow -n<n> as shorthand for --max-count=<n>
+      rev-list: allow -<n> as shorthand for --max-count=<n>
+
+Florian Weimer (1):
+      AsciiDoc fixes for the git-svnimport manpage
+
+Fredrik Kuivinen (2):
+      merge-recursive: Make use of provided bases
+      merge-recursive: Speed up commit graph construction
+
+J. Bruce Fields (7):
+      Minor git-reset and git-commit documentation fixes
+      Mention install-doc in INSTALL
+      New tutorial
+      cvs-migration documentation update
+      Docs: split up pull-fetch-param.txt
+      Docs: move git url and remotes text to separate sections
+      Docs: minor git-push copyediting
+
+Jason Riedy (4):
+      Run GIT-VERSION-GEN with $(SHELL), not sh.
+      Add compat/unsetenv.c .
+      Use sha1_file.c's mkdir-like routine in apply.c.
+      stat() for existence in safe_create_leading_directories()
+
+Johannes Schindelin (1):
+      Use a hashtable for objects instead of a sorted list
+
+Jon Loeliger (1):
+      Add --diff-filter= documentation paragraph
+
+Junio C Hamano (112):
+      show-branch: take default arguments from configuration file.
+      git-describe: default to HEAD
+      Makefile: add 'strip' target
+      octopus: allow criss-cross and clarify the message when it rejects
+      Fix the installation location.
+      checkout: automerge local changes while switching branches.
+      checkout: merge local modifications while switching branches.
+      git-push: avoid falling back on pushing "matching" refs.
+      checkout: show dirty state upon switching branches.
+      clone: --naked option.
+      format-patch: always --mbox and show sane Date:
+      octopus: allow manual resolve on the last round.
+      Documentation: show-branch.
+      show-branch: make the current branch and merge commits stand out.
+      show-branch: --current includes the current branch.
+      cvsimport: ease migration from CVSROOT/users format
+      git-push: fix --tags and document it.
+      Allow building of RPM from interim snapshot.
+      Revert "git-push: avoid falling back on pushing "matching" refs."
+      Makefile: do not assume lack of IPV6 means no sockaddr_storage.
+      fsck-objects: support platforms without d_ino in struct dirent.
+      DT_UNKNOWN: do not fully trust existence of DT_UNKNOWN
+      t4011: "sleep 1" is not enough on FAT
+      Undef DT_* before redefining them.
+      git-grep: clarification on parameters.
+      Recommend to remove unused `origin` in a shared repository.
+      Documentation: finishing touches to the new tutorial.
+      sample update-hook: sanely handle a new branch head.
+      git-clone: PG13 --naked option to --bare.
+      clone: do not create remotes/origin nor origin branch in a bare repository.
+      clone: do not accept more than one -o option.
+      tests: adjust breakage by stricter rev-parse
+      git-fetch --upload-pack: disambiguate.
+      merge: seed the commit message with list of conflicted files.
+      diff-tree -c: show a merge commit a bit more sensibly.
+      diff-tree --cc: denser combined diff output for a merge commit.
+      combine-diff: fix appending at the tail of a list.
+      combine-diff: minor output changes.
+      combine-diff: extend --cc logic to Octopus.
+      diff-tree --cc: squelch header generation on empty patch.
+      combine-diff: better hunk splitting.
+      diff-files: -c and --cc options.
+      rev-list --remove-empty: add minimum help and doc entry.
+      abbrev cleanup: use symbolic constants
+      rev-parse: --abbrev option.
+      diff-tree: abbreviate merge parent object names with --abbrev --pretty.
+      rev-parse --abbrev: do not try abbrev shorter than minimum.
+      Rename rev-parse --abbrev to --short.
+      pretty_print_commit(): pass commit object instead of commit->buffer.
+      pretty_print_commit: honor grafts.
+      diff --abbrev=<n> option fix.
+      rev-parse: make "whatchanged -- git-fetch-script" work again.
+      diff-files -c/--cc: combine only when both ours and theirs exist.
+      Documentation: diff -c/--cc
+      documentation: cvs migration - typofix.
+      update-index --index-info: allow stage 0 entries.
+      rev-list: omit duplicated parents.
+      combine-diff: reuse diff from the same blob.
+      combine-diff: update --cc "uninteresting hunks" logic.
+      combine-diff: add safety check to --cc.
+      combine-diff: fix placement of deletion.
+      Documentation: git-diff-tree --cc also omits empty commits
+      commit.c: "Merge" fix in pretty_print_commit.
+      combine-diff: add a bit more comments.
+      combine-diff: show parent line numbers as well.
+      combine-diff: cleanup.
+      combine-diff: finishing touches to git-diff-tree --cc
+      whitespace cleanup.
+      get_sha1_1: allow octopus^12 to be properly parsed.
+      git-merge: Properly quote $merge_msg variable.
+      Do not fall back on vi on dumb terminals.
+      diff-index: make --cc a synonym for -p for now.
+      git-diff: use --cc instead of -p.
+      git-show
+      daemon: do not forbid user relative paths unconditionally under --base-path
+      daemon: extend user-relative path notation.
+      combine-diff: remove misguided --show-empty hack.
+      git-diff-tree --stdin: show all parents.
+      git-diff: do not fall back on --cc when -[123], --ours etc. are given.
+      core-tutorial: adjust to recent reality.
+      combine-diff: do not send NULL to printf
+      combine-diff: show mode changes as well.
+      combine-diff: do not punt on removed or added files.
+      mailinfo: reset CTE after each multipart
+      read-tree --aggressive
+      fmt-merge-msg: show summary of what is merged.
+      git-rerere: reuse recorded resolve.
+      git-commit: revamp the git-commit semantics.
+      git-commit: finishing touches.
+      Do not allow empty name or email.
+      t6000: fix a careless test library add-on.
+      ls-files: honour per-directory ignore file from higher directories.
+      combined-diff: use diffcore before intersecting paths.
+      call git_config() after setup_git_directory()
+      combine-diff: move formatting logic to show_combined_diff()
+      count-delta.c: Match the delta data semantics change in version 3.
+      git-status -v
+      find_unique_abbrev() simplification.
+      combine-diff: Record diff status a bit more faithfully
+      rev-list: default to abbreviate merge parent names under --pretty.
+      git-commit -v: have patch at the end.
+      Define GIT_(AUTHOR|COMMITTER)_(NAME|EMAIL) to known values.
+      fetch-clone progress: finishing touches.
+      Only call git-rerere if $GIT_DIR/rr-cache exists.
+      t5500: adjust to change in pack-object reporting behaviour.
+      diff-tree: do not default to -c
+      Avoid using "git-var -l" until it gets fixed.
+      hashtable-based objects: minimum fixups.
+      Make pack-objects chattier.
+      git-commit: show dirtiness including index.
+      Fix "test: unexpected operator" on bsd
+      GIT 1.2.0
+
+Kent Engstrom (1):
+      Add howto about separating topics.
+
+Linus Torvalds (14):
+      Make git-rev-list and git-rev-parse argument parsing stricter
+      git-whatchanged: exit out early on errors
+      rev-list: stop when the file disappears
+      Make the "struct tree_desc" operations available to others
+      Make git-tar-tree use the tree_desc abstractions
+      Fix git-rev-parse over-eager errors
+      diff-tree --always flag
+      rev-parse lstat() workaround cleanup.
+      Fix "git diff a..b" breakage
+      diff-tree -c raw output
+      Make "git clone" less of a deathly quiet experience
+      Make "git clone" pack-fetching download statistics better
+      Fix fetch-clone in the presense of signals
+      Fix object re-hashing
+
+Mark Wooding (7):
+      daemon: Provide missing argument for logerror() call.
+      http-fetch: Fix object list corruption in fill_active_slots().
+      http-fetch: Fix message reporting rename of object file.
+      http: Turn on verbose Curl messages if GIT_CURL_VERBOSE set in environment
+      http-fetch: Tidy control flow in process_alternate_response
+      daemon: Set SO_REUSEADDR on listening sockets.
+      http-fetch: Abort requests for objects which arrived in packs
+
+Martin Langhoff (3):
+      cvsimport: Add -S <skipfileregex> support and -v announces files retrieved
+      exportcommit: replace backticks with safe_pipe_capture() or system() - initial pass
+      cvsexportcommit: add some examples to the documentation
+
+Matt Draisey (1):
+      local push/pull env cleanup
+
+Michal Ostrowski (3):
+      Exec git programs without using PATH.
+      git-fetch: pass --upload-pack to fetch-pack
+      git-{fetch,peek-remote} handling of --upload-pack
+
+Nick Hengeveld (2):
+      Fix HTTP request result processing after slot reuse
+      Use local structs for HTTP slot callback data
+
+Nicolas Pitre (3):
+      remove delta-against-self bit
+      count-delta.c: comment fixes
+      delta micro optimization
+
+Paul Mackerras (2):
+      gitk: Add braces around if expressions
+      gitk: Use git-diff-tree --cc for showing the diffs for merges
+
+Pavel Roskin (2):
+      Disable USE_SYMLINK_HEAD by default
+      Don't include ../README in git.txt - make a local copy
+
+Peter Eriksen (1):
+      Use adler32() from zlib instead of defining our own.
+
+Petr Baudis (5):
+      Document git-ls-files --directory
+      Allow diff and index commands to be interrupted
+      Document git-diff-tree --always
+      Basic documentation for git-show
+      Add support for explicit type specifiers when calling git-repo-config
+
+Ryan Anderson (3):
+      Provide a more meaningful initial "From " line when using --compose in git-send-email.
+      git-send-email: Add --quiet to reduce some of the chatter when sending emails.
+      git-send-email: Fully implement --quiet and document it.
+
+Sasha Khapyorsky (1):
+      git-svnimport.perl: fix for 'arg list too long...'
+
+Tom Prince (1):
+      Add --keep option to keep downloaded packs to git-fetch.
+
+Tony Luck (1):
+      update using-topic-branches
+
+Uwe Kleine-König (4):
+      Fix generation of "humanish" part of source repo
+      Remove unneeded header
+      Use symbolic name SHORT_NAME_AMBIGUOUS as error return value
+      Make GIT-VERSION-GEN tolerate missing git describe command again
+
+
+Version v1.1.6; changes since v1.1.5:
+-------------------------------------
+
+Fredrik Kuivinen (2):
+      merge-recursive: Improve the error message printed when merge(1) isn't found.
+      git-branch: Documentation fixes
+
+J. Bruce Fields (1):
+      git push -f documentation
+
+Junio C Hamano (1):
+      pre-commit sample hook: do not barf on the initial import
+
+
+Version v1.1.5; changes since v1.1.4:
+-------------------------------------
+
+Junio C Hamano (1):
+      checkout: do not make a temporary copy of symlink target.
+
+
+Version v1.1.4; changes since v1.1.3:
+-------------------------------------
+
+Johannes Schindelin (1):
+      git-fetch-pack: really do not ask for funny refs
+
+Junio C Hamano (1):
+      Revert "check_packed_git_idx(): check integrity of the idx file itself."
+
+
+Version v1.1.3; changes since v1.1.2:
+-------------------------------------
+
+Junio C Hamano (2):
+      diffcore-break/diffcore-rename: integer overflow.
+      describe: omit clearing marks on the last one.
+
+
+Version v1.1.2; changes since v1.1.1:
+-------------------------------------
+
+J. Bruce Fields (1):
+      Documentation: clarify fetch parameter descriptions.
+
+Junio C Hamano (6):
+      update-index: work with c-quoted name
+      describe: do not silently ignore indescribable commits
+      name-rev: do not omit leading components of ref name.
+      show-branch: handle [] globs as well.
+      Documentation: git-commit -a
+      Documentation: git-reset - interrupted workflow.
+
+Tom Prince (1):
+      Add git-describe to .gitignore.
+
+
+Version v1.1.1; changes since v1.1.0:
+-------------------------------------
+
+H. Peter Anvin (1):
+      For release tarballs, include the proper version
+
+Johannes Schindelin (1):
+      glossary: explain "master" and "origin"
+
+Junio C Hamano (1):
+      GIT-VERSION-GEN: detect dirty tree and mark the version accordingly.
+
+
+Version v1.1.0; changes since v1.0.13:
+--------------------------------------
+
+Johannes Schindelin (3):
+      git-clone: Support changing the origin branch with -o
+      Introduce core.sharedrepository
+      git-init-db: initialize shared repositories with --shared
+
+John Ellson (1):
+      Make GIT-VERSION-GEN tolerate missing git describe command
+
+Junio C Hamano (23):
+      Post 1.0.0 development track.
+      Versioning scheme changes.
+      merge-recursive: conflicting rename case.
+      whatchanged: customize diff-tree output
+      rev-parse: --show-cdup
+      check_packed_git_idx(): check integrity of the idx file itself.
+      checkout: sometimes work from a subdirectory.
+      ls-tree: chomp leading directories when run from a subdirectory
+      git-clone: do not special case dumb http.
+      Tutorial: mention shared repository management.
+      git-describe: really prefer tags only.
+      git-describe: use find_unique_abbrev()
+      git-describe: --tags and --abbrev
+      git-describe: still prefer annotated tag under --all and --tags
+      git-describe: documentation.
+      Makefile: use git-describe to mark the git version.
+      send-pack/receive-pack: allow errors to be reported back to pusher.
+      git-fetch: auto-following tags.
+      ls-files --others --directory: fix a bug with index entry ordering
+      ls-files --others --directory: give trailing slash
+      git-status: use ls-files --others --directory for untracked list.
+      ls-files --others --directory: test
+      describe: allow more than one revs to be named.
+
+Linus Torvalds (2):
+      Add a "git-describe" command
+      ls-files -o: optionally skip showing the contents in "untracked" directories
+
+Lukas Sandström (1):
+      git-pack-redundant: speed and memory usage improvements
+
+Petr Baudis (1):
+      git-daemon --base-path
+
+YOSHIFUJI Hideaki (1):
+      GIT: Support [address] in URLs
+
+Yann Dirson (3):
+      Add an optional limit to git-cherry
+      Add a minimal test for git-cherry
+      Add a test for rebase when a change was picked upstream
+
+
+Version v1.0.13; changes since v1.0.12:
+---------------------------------------
+
+Junio C Hamano (1):
+      checkout: do not make a temporary copy of symlink target.
+
+
+Version v1.0.12; changes since v1.0.11:
+---------------------------------------
+
+Johannes Schindelin (1):
+      git-fetch-pack: really do not ask for funny refs
+
+Junio C Hamano (1):
+      Revert "check_packed_git_idx(): check integrity of the idx file itself."
+
+
+Version v1.0.11; changes since v1.0.10:
+---------------------------------------
+
+Junio C Hamano (1):
+      diffcore-break/diffcore-rename: integer overflow.
+
+
+Version v1.0.10; changes since v1.0.9:
+--------------------------------------
+
+J. Bruce Fields (1):
+      Documentation: clarify fetch parameter descriptions.
+
+Junio C Hamano (5):
+      update-index: work with c-quoted name
+      name-rev: do not omit leading components of ref name.
+      show-branch: handle [] globs as well.
+      Documentation: git-commit -a
+      Documentation: git-reset - interrupted workflow.
+
+
+Version v1.0.9; changes since v1.0.8:
+-------------------------------------
+
+Johannes Schindelin (1):
+      glossary: explain "master" and "origin"
+
+
+Version v1.0.8; changes since v1.0.7:
+-------------------------------------
+
+Joe English (1):
+      Substitute "/" with $opt_s in tag names as well as branch names
+
+Junio C Hamano (7):
+      unpack-objects: default to quiet if stderr is not a tty.
+      Retire debian/ directory.
+      prune: do not show error from pack-redundant when no packs are found.
+      Compilation: zero-length array declaration.
+      tar-tree: finish honoring extractor's umask in git-tar-tree.
+      revert/cherry-pick: handle single quote in author name.
+      mailsplit: allow empty input from stdin
+
+Yann Dirson (3):
+      Teach cvsexportcommit to add new files
+      Fix typo in debug stanza of t2001
+      Fix git-format-patch usage string wrt output modes.
+
+
+Version v1.0.7; changes since v1.0.6:
+-------------------------------------
+
+Alex Riesen (12):
+      trivial: retval of waitpid is not errno
+      trivial: O_EXCL makes O_TRUNC redundant
+      fix potential deadlock in create_one_file
+      use result of open(2) to check for presence
+      trivial: typo in git-commit.sh
+      trivial: clarify, what are the config's user.name and user.email about
+      trivial: remove the dots at the end of file names from merge-one-file
+      trivial: use git-repo-config to detect if the test can be run on the repository
+      trivial: use git-repo-config to detect how to run tests in the test repository
+      trivial: .gitignore precompiled python modules
+      trivial: check, if t/trash directory was successfully created
+      use GIT_DIR instead of /var/tmp
+
+Amos Waterland (1):
+      AIX compile fix for repo-config.c
+
+Andreas Ericsson (1):
+      git: grok 'help' to mean '--help'.
+
+Eric Wong (2):
+      svnimport: support repositories requiring SSL authentication
+      Documentation/git-svnimport: document -T and -t switches correctly
+
+Gerrit Pape (1):
+      Fix skipping merge-order test with NO_OPENSSL=1.
+
+Jon Loeliger (1):
+      Fix git-symbolic-ref typo in git.txt.
+
+Jonas Fonseca (2):
+      git-init-db(1): Describe --shared and the idempotent nature of init-db
+      Wrap synopsis lines and use [verse] to keep formatting
+
+Junio C Hamano (6):
+      Documentation: spell.
+      code comments: spell
+      ?alloc: do not return NULL when asked for zero bytes
+      git-fetch --tags: reject malformed tags.
+      format-patch/commit: Quote single quote in the author name properly.
+      t3300: skip when filesystem does not like TAB in filenames.
+
+Linus Torvalds (1):
+      Fix nasty approxidate bug
+
+
+Version v1.0.6; changes since v1.0.5:
+-------------------------------------
+
+Junio C Hamano (3):
+      Guard a test against wc that pads its output with whitespace
+      Fix bogus tests on rev-list output.
+      Do not mark tags fetched via --tags flag as mergeable
+
+Sam Ravnborg (1):
+      copy_fd: close ifd on error
+
+
+Version v1.0.5; changes since v1.0.4:
+-------------------------------------
+
+Eric Wong (1):
+      short circuit out of a few places where we would allocate zero bytes
+
+Johannes Schindelin (1):
+      Handle symlinks graciously
+
+Junio C Hamano (2):
+      avoid asking ?alloc() for zero bytes.
+      t5300: avoid false failures.
+
+
+Version v1.0.4; changes since v1.0.3:
+-------------------------------------
+
+Junio C Hamano (5):
+      check_packed_git_idx(): check integrity of the idx file itself.
+      show-branch: usability updates.
+      merge --no-commit: tweak message
+      ls-files --full-name: usage string and documentation.
+      mailinfo: iconv does not like "latin-1" -- should spell it "latin1"
+
+
+Version v1.0.3; changes since v1.0.2:
+-------------------------------------
+
+Alex Riesen (1):
+      \n usage in stderr output
+
+Johannes Schindelin (2):
+      git-format-patch should show the correct version
+      sha1_to_hex: properly terminate the SHA1
+
+Junio C Hamano (1):
+      send-pack: reword non-fast-forward error message.
+
+Nick Hengeveld (1):
+      Fix for http-fetch from file:// URLs
+
+Pavel Roskin (1):
+      sanity check in add_packed_git()
+
+
+Version v1.0.2; changes since v1.0.1:
+-------------------------------------
+
+Junio C Hamano (1):
+      server-info: skip empty lines.
+
+Pavel Roskin (1):
+      quote.c: Make loop control more readable.
+
+
+Version v1.0.1; changes since v1.0.0b:
+--------------------------------------
+
+
+Version v1.0.0b; changes since v1.0.0a:
+---------------------------------------
+
+Junio C Hamano (1):
+      server-info: skip empty lines.
+
+Pavel Roskin (1):
+      quote.c: Make loop control more readable.
+
+
+Version v1.0.0a; changes since v1.0.0:
+--------------------------------------
+
+Johannes Schindelin (1):
+      Avoid misleading success message on error
+
+Junio C Hamano (3):
+      objects/info/packs: work around bug in http-fetch.c::fetch_indices()
+      http-fetch.c: fix objects/info/pack parsing.
+      GIT 1.0.0a
+
+Pavel Roskin (1):
+      An off-by-one bug found by valgrind
+
+
+Version v1.0.0; changes since v1.0rc6:
+--------------------------------------
+
+Eric Wong (1):
+      Documentation/git-archimport: document -o, -a, f, -D options
+
+Fredrik Kuivinen (3):
+      git-diff: Usage string clean-up
+      git-log: Add usage string
+      git-whatchanged: Add usage string
+
+Jan Harkes (1):
+      Fix git-am --skip
+
+Johannes Schindelin (1):
+      We do not like "HEAD" as a new branch name
+
+Junio C Hamano (32):
+      clone-pack: make it usable for partial branch cloning.
+      Documentation: tutorial
+      get_sha1_basic(): corner case ambiguity fix
+      applymbox: typofix
+      Sort globbed refname in show-branch.
+      refs.c: off-by-one fix.
+      Examples of resetting.
+      Forbid pattern maching characters in refnames.
+      Comment fixes.
+      Documentation: HTTP needs update-server-info.
+      Remove misguided branch disambiguation.
+      Revert "refs.c: off-by-one fix."
+      Revert "We do not like "HEAD" as a new branch name"
+      Revert "get_sha1_basic(): corner case ambiguity fix"
+      fetch-pack: -k option to keep downloaded pack.
+      clone-pack: remove unused and undocumented --keep flag
+      Documentation: typos and small fixes in "everyday".
+      howto/using-topic-branches: Recommend public URL git://git.kernel.org/
+      rev-list --objects: fix object list without commit.
+      Documentation: stdout of update-hook is connected to /dev/null
+      Remove generated files */*.py[co]
+      Remove unused cmd-rename.sh
+      Remove "octopus".
+      tests: make scripts executable
+      xread/xwrite: do not worry about EINTR at calling sites.
+      diff: --abbrev option
+      diff --abbrev: document --abbrev=<n> form.
+      format-patch: make sure header and body are separated.
+      Racy GIT
+      Racy GIT (part #2)
+      ce_smudge_racily_clean_entry: explain why it works.
+      A shared repository should be writable by members.
+
+Linus Torvalds (3):
+      Make "git help" react to window size correctly
+      Make "git help" sort git commands in columns
+      Make "git-send-pack" less verbose by default
+
+Martin Langhoff (1):
+      svnimport: exit cleanly when we are up to date
+
+Nicolas Pitre (1):
+      small cleanup for diff-delta.c
+
+
+Version v1.0rc6; changes since v1.0rc5:
+---------------------------------------
+
+Amos Waterland (1):
+      git rebase loses author name/email if given bad email address
+
+Fredrik Kuivinen (12):
+      Usage message clean-up, take #2
+      Trivial usage string clean-up
+      git-verify-tag: Usage string clean-up, emit usage string at incorrect invocation
+      git-revert: Usage string clean-up
+      git-am: Usage string clean-up
+      git-applypatch: Usage string clean-up, emit usage string at incorrect invocation
+      git-cherry: Usage string clean-up, use the 'usage' function
+      git-fetch: Usage string clean-up, emit usage string at unrecognized option
+      git-lost-found: Usage string clean-up, emit usage string at incorrect invocation
+      git-prune: Usage string clean-up, use the 'usage' function
+      git-rebase: Usage string clean-up, emit usage string at incorrect invocation
+      git-repack: Usage string clean-up, emit usage at incorrect invocation
+
+H. Peter Anvin (1):
+      git-am support for naked email messages (take 2)
+
+Junio C Hamano (22):
+      diffcore-break.c: check diff_delta() return value.
+      Add deltifier test.
+      diff-delta.c: allow delta with empty blob.
+      Everyday: some examples.
+      Revert "diff-delta.c: allow delta with empty blob."
+      Revert "Add deltifier test."
+      diffcore-break: do not break too small filepair.
+      Everyday: a bit more example.
+      Documentation: more examples.
+      Documentation: fix missing links to git(7)
+      Documentation: diff examples.
+      Documentation: not learning core git commands.
+      git-clone: tell the user a bit more about clone-pack failure.
+      allow merging any committish
+      checkout-index: fix checking out specific path.
+      Everyday: a bit more examples.
+      t3200: branch --help does not die anymore.
+      applypatch: no need to do non-portable [[ ... ]]
+      Documentation: topic branches
+      rebase: do not get confused in fast-forward situation.
+      Do not let errors pass by unnoticed when running `make check'.
+      mailinfo and git-am: allow "John Doe <johndoe>"
+
+Lukas Sandström (1):
+      Bugfixes for git-rebase
+
+Martin Atukunda (1):
+      define MAXPATHLEN for hosts that don't support it
+
+Petr Baudis (1):
+      Make git-send-pack exit with error when some refs couldn't be pushed out
+
+
+Version v1.0rc5; changes since v1.0rc4:
+---------------------------------------
+
+Alex Riesen (1):
+      use "git init-db" in tests
+
+Daniel Barkalow (3):
+      Warn when send-pack does nothing
+      Clean up file descriptors when calling hooks.
+      Allow saving an object from a pipe
+
+Eric Wong (9):
+      archimport: first, make sure it still compiles
+      archimport: remove String::ShellQuote dependency.
+      archimport: fix -t tmpdir switch
+      archimport: remove git wrapper dependency
+      archimport: add -D <depth> and -a switch
+      archimport: safer log file parsing
+      archimport: Add the accurate changeset applyer
+      archimport: Fix a bug I introduced in the new log parser
+      archimport: fix a in new changeset applyer addition
+
+Jason Riedy (3):
+      Document config.mak in INSTALL.
+      Initial AIX portability fixes.
+      Use printf rather than echo -n.
+
+Jon Loeliger (1):
+      Added documentation for few missing options.
+
+Junio C Hamano (51):
+      compat/setenv: do not free what we fed putenv(3).
+      git.c: two fixes, gitsetenv type and off-by-one error.
+      show-branch: allow glob pattern to name branches to show.
+      Documentation: rebase does not use cherry-pick anymore.
+      struct tree: remove unused field "parent"
+      git.c: remove excess output for debugging when command is too long.
+      sha1_file.c: make sure packs in an alternate odb is named properly.
+      server-info.c: drop unused D lines.
+      server-info: stop sorting packs by latest date.
+      server-info: throw away T computation as well.
+      Documentation: talk about pathspec in bisect.
+      Documentation: git-mv manpage workaround.
+      Documentation: git-diff asciidoc table workaround.
+      Documentation: push/receive hook references.
+      Documentation: shared repository management in tutorial.
+      server-info.c: use pack_local like everybody else.
+      server-info.c: and two functions are not used anymore.
+      config.c: remove unnecessary header in minimum configuration file.
+      Clean up compatibility definitions.
+      Fix 5501 test
+      git-mv to work with Perl 5.6
+      hash-object: -- and --help
+      init-db: check extra arguments and complain.
+      write-tree: check extra arguments and die but be a bit more helpful.
+      Documentation: hash-object.
+      Documentaiton (read-tree): update description of 3-way
+      git-merge-one-file: resurrect leading path creation.
+      qsort() ptrdiff_t may be larger than int
+      checkout-index: allow checking out from higher stages.
+      git-merge-one: new merge world order.
+      update-index: allow --index-info to add higher stages.
+      Documentation: git.html/git.7
+      Documentation(glossary): minor formatting clean-ups.
+      Documentation(cvs-migration): minor cleanups.
+      Documentation(tutorial): adjust merge example to the new merge world order.
+      refs.c: make sure leading directories exist before writing a ref.
+      Make sure we use compat/subprocess.py with Python 2.3 while running tests.
+      Documentation: recursive is the default strategy these days.
+      show-branch: comment typo
+      Documentation: git-prune
+      qsort(): ptrdiff_t may be larger than int
+      git-prune: never lose objects reachable from our refs.
+      Use GIT_EXEC_PATH explicitly for initial git-init-db in tests.
+      Everyday GIT with 20 commands
+      Link Everyday GIT to main documentation tree.
+      t3300: funny name test
+      t0000: catch trivial pilot errors.
+      format-patch: use same number of digits in numbers
+      merge-recursive: leave unmerged entries in the index.
+      merge-recursive: cleanup setIndexStages
+      t/t6022: a new test for renaming merge.
+
+Nikolai Weibull (16):
+      Document the --non-empty command-line option to git-pack-objects.
+      Fix the description of --utf8 and --keep to git-am.
+      Use uniform description for the '--' option.
+      Documentation/git-commit.txt: Add long options and -- to documentation.
+      Documentation/git-verify-pack.txt: added documentation for --.
+      Documentation/git-cvsimport.txt: Fix a slight glitch in description heading.
+      Documentation/git-cherry-pick: Add --replay and --no-commit.
+      Add documentation for git-revert and git-cherry-pick.
+      Add documentation for the --topo-order option to git-show-branch.
+      Documentation/git-format-patch.txt: Add --signoff, --check, and long option-names.
+      Documentation/git-ls-remote.txt: Add -h and -t.
+      Documentation/git-repack.txt: Add -l and -n.
+      Documentation/git-http-fetch.txt: Document the commit-id argument.
+      Documentation/git-update-server-info.txt: Add -f alias for --force to documentation.
+      Documentation/git-tag.txt: Fix the order of sections (DESCRIPTION should come before OPTIONS).
+      Documentation/git-read-tree.txt: Add --reset to SYNOPSIS.
+
+Paul Mackerras (3):
+      gitk: Factored out some common code into a new start_rev_list procedure
+      gitk: Some improvements for the code for updating the display
+      gitk: Work around Tcl's non-standard names for encodings
+
+Petr Baudis (2):
+      Update the git-ls-tree documentation
+      Document the --(no-)edit switch of git-revert and git-cherry-pick
+
+Sven Verdoolaege (1):
+      gitk: add Update menu item.
+
+
+Version v1.0rc4; changes since v1.0rc3:
+---------------------------------------
+
+Alecs King (1):
+      Documentation/git-log.txt: trivial typo fix.
+
+Alex Riesen (5):
+      speedup allocation in pack-redundant.c
+      remove unused variable
+      arguments cleanup and some formatting
+      Add tests for git-mv in subdirectories
+      git wrapper: more careful argument stuffing
+
+Alexander Litvinov (1):
+      git-mv is not able to handle big directories
+
+Andreas Ericsson (13):
+      git-daemon: --inetd implies --syslog
+      C implementation of the 'git' program, take two.
+      Update git(7) man-page for the C wrapper.
+      git --help COMMAND brings up the git-COMMAND man-page.
+      daemon.c: fix arg parsing bugs
+      Library code for user-relative paths, take three.
+      Server-side support for user-relative paths.
+      Client side support for user-relative paths.
+      Documentation update for user-relative paths.
+      git-reset.txt: Small fix + clarifications.
+      git-daemon support for user-relative paths.
+      Introduce $(ALL_PROGRAMS) for 'all:' and 'install:' to operate on.
+      cvsimport: Don't let local settings hinder cvs user-migration.
+
+Eric Wong (3):
+      remove shellquote usage for tags
+      archimport: don't die on merge-base failure
+      Disambiguate the term 'branch' in Arch vs git
+
+Frank Sorenson (1):
+      gitk: Specify line hover font
+
+Fredrik Kuivinen (5):
+      merge-recursive: Replace 'except:'
+      git-merge: Exit with code 2 if no strategy was able to handle the merge.
+      test-lib.sh: Add new function, test_expect_code
+      New test case: merge with directory/file conflicts
+      New test case: Criss-cross merge
+
+H. Peter Anvin (3):
+      git-core-foo -> git-foo, except the core package
+      rename/copy score parsing updates.
+      A few more options for git-cat-file
+
+Jan Andres (1):
+      Fix typo in http-push.c
+
+Jason Riedy (1):
+      Add compat/setenv.c, use in git.c.
+
+Jeff Hobbs (1):
+      gitk: put braces around exprs
+
+Johannes Schindelin (13):
+      Add config variable core.symrefsonly
+      Fix tests with new git in C
+      Give python a chance to find "backported" modules
+      Add functions git_config_set() and git_config_set_multivar()
+      Add git-config-set, a simple helper for scripts to set config variables
+      Add documentation for git-config-set
+      Add test case for git-config-set
+      git-config-set: add more options
+      git-config-set: support selecting values by non-matching regex
+      git-config-set: Properly terminate strings with '\0'
+      Allow hierarchical section names
+      Rename git-config-set to git-repo-config
+      Make git-mv work in subdirectories, too
+
+Jon Loeliger (1):
+      Fix typos and minor format issues.
+
+Jonas Fonseca (1):
+      Fix git(1) link to git-index-pack
+
+Josef Weidendorfer (6):
+      Fix git-mv for moving directories with 1 file
+      git-mv: shrink usage, no usage on error
+      git-mv: keep git index consistent with file system on failed rename
+      git-mv: fully detect 'directory moved into itself'
+      Small fixes in Documentation/git-mv.txt
+      git-mv: follow -k request even on failing renames
+
+Junio C Hamano (108):
+      Documentation: do not blindly run 'cat' .git/HEAD, or echo into it.
+      diff: make default rename detection limit configurable.
+      sha1_file.c::add_packed_git(): fix type mismatch.
+      git wrapper: basic fixes.
+      git-apply: fail if a patch cannot be applied.
+      git-am: --resolved.
+      apply: allow-binary-replacement.
+      diff: --full-index
+      tests: binary diff application.
+      Add approxidate test calls.
+      Deal with binary diff output from GNU diff 2.8.7
+      git-am: --binary; document --resume and --binary.
+      git-prune: quote possibly empty $dryrun as parameter to test
+      Cygwin *might* be helped with NO_MMAP
+      Do not show .exe in git command list.
+      git-branch: -f to forcibly reset branch head.
+      Rewrite rebase to use git-format-patch piped to git-am.
+      readrefs: grab all refs with one call to ls-remote.
+      git-count-objects: dc replacement
+      git-repack: do not do complex redundancy check.
+      Documentation: rebase-from-internal minor updates.
+      merge-one-file: remove empty directories
+      merge-recursive::removeFile: remove empty directories
+      http.c: reorder to avoid compilation failure.
+      Do not DWIM in userpath library under strict mode.
+      Documentation: add hooks/update example.
+      merge-one-file: use rmdir -p
+      Fix "do not DWIM" patch to enter_repo"
+      Make sure heads/foo and tags/foo do not confuse things.
+      Fix hooks/update template.
+      format-patch: fix two-argument special case, and make it easier to pick single commits
+      rename detection with -M100 means "exact renames only".
+      tutorial: setting up a tree for subsystem maintainers
+      daemon: further tweaks.
+      git-proxy updates.
+      Move diff.renamelimit out of default configuration.
+      git-var: constness and globalness cleanup.
+      pack-redundant: type cleanups.
+      git-merge: make recursive the default strategy
+      git-revert: make --edit default.
+      Teach update-index to read from ls-tree.
+      diff-tree: teach single-commit diff-tree to honour grafts
+      config.c: avoid shadowing global.
+      Prevent "git-commit -a path1 path2..."
+      parse-remote and ls-remote clean-up.
+      git-sh-setup: die if outside git repository.
+      git-var: make it work in subdirectory.
+      setup_git_directory: make sure GIT_DIR is a valid repository.
+      git-sh-setup: move the repository check to a core program.
+      shell.c: complain on insufficient arguments.
+      name-rev: fix off-by-one error in --stdin.
+      format-patch: output filename reported to stdout verbatim.
+      Repository format version check.
+      Check repository format version in enter_repo().
+      init-db: check template and repository format.
+      setup_git_directory(): check repository format version.
+      Introduce i18n.commitencoding.
+      mailinfo: allow -u to fall back on latin1 to utf8 conversion.
+      mailinfo: Use i18n.commitencoding
+      mailinfo: Do not use -u=<encoding>; say --encoding=<encoding>
+      config.c: constness tightening to avoid compilation warning.
+      gitk: Use i18n.commitencoding configuration item.
+      git-mv: quote $src in regexp properly.
+      rebase: one safety net, one bugfix and one optimization.
+      name-rev: fix parent counting.
+      Documentation: Describe merge operation a bit better.
+      write_name_quoted(): make one of the path a counted string.
+      ls-tree: Resurrect funny name quoting lost during rewrite.
+      ls-tree: match the test to the new semantics.
+      bisect: quote pathnames for eval safety.
+      working from subdirectory: preparation
+      git-apply: work from subdirectory.
+      peek-remote: honor proxy config even from subdirectory.
+      fsck-objects: work from subdirectory.
+      checkout-index: work from subdirectory.
+      hash-object: work within subdirectory.
+      ls-tree: work from subdirectory.
+      Make networking commands to work from a subdirectory.
+      Make the rest of commands work from a subdirectory.
+      count-objects: make it operable from a subdirectory.
+      ls-remote: define die() now we do not use git-sh-setup
+      branch: make it operable from a subdirectory.
+      lost-found: make it operable from a subdirectory.
+      tag: make it operable from a subdirectory.
+      verify-tag: make it operable from a subdirectory.
+      define die() for scripts that use it.
+      hash-object.c: type-fix to squelch compiler warnings.
+      applymbox: typofix to enable -m option.
+      applypatch: use "index" lines not "applies-to".
+      format-patch: remove applies-to.
+      format-patch: do not abuse 3-dash marker line.
+      format-patch: run diff in C locale
+      git-diff: do not turn off -p/-M with any diff options.
+      diff-files: show diffs with stage0 and unmerged stage at the same time.
+      merge-recursive: match the unmerged index entry behaviour with merge-resolve
+      Tutorial: adjust merge example to recursive strategy.
+      Documentation: describe '-f' option to git-fetch.
+      Makefile: say the default target upfront.
+      ls-tree: resurrect '-d' to mean 'show trees only'
+      ls-tree: --name-only
+      git-merge-one-file: do not worry about 'rmdir -p' not removing directory.
+      merge-recursive: adjust git-ls-tree use for the latest.
+      t3100: add ls-tree -t and -d tests.
+      merge-one-file: make sure we create the merged file.
+      merge-one-file: make sure we do not mismerge symbolic links.
+      git-merge documentation: conflicting merge leaves higher stages in index
+      documentation: git-bisect (help HTML break man)
+      daemon.c and path.enter_repo(): revamp path validation.
+
+Kevin Geiss (4):
+      git-cvsexportcommit.perl: Fix usage() output.
+      git-cvsexportcommit.perl: use getopts to get binary flags
+      git-cvsexportcommit.perl: exit with non-0 status if patch fails.
+      git-cvsexportcommit.perl: fix typos in output
+
+Linus Torvalds (14):
+      Disallow empty pattern in "git grep"
+      git's rev-parse.c function show_datestring presumes gnu date
+      Teach "approxidate" about weekday syntax
+      Make "git fetch" less verbose by default
+      Teach "approxidate" about weekday syntax
+      git-repack: Properly abort in corrupt repository
+      Allow editing of a revert-message
+      ls-tree: major rewrite to do pathspec
+      ls-tree: further cleanup to parallel ls-files.
+      ls-tree: further tweaks of the rewrite
+      bisect: limit the searchspace by pathspecs
+      diff-files: -1/-2/-3 to diff against unmerged stage.
+      merge-one-file: leave unmerged index entries upon automerge failure.
+      git-ls-tree: add "-t" option to always show the tree entries
+
+Luben Tuikov (1):
+      max-count in terms of intersection
+
+Lukas Sandström (8):
+      Fix llist_sorted_difference_inplace in git-pack-redundant
+      Make git-pack-redundant non-horribly slow on large sets of packs
+      Fix bug introduced by the latest changes to git-pack-redundant
+      Fix a bug in get_all_permutations.
+      Remove all old packfiles when doing "git repack -a -d"
+      Improve the readability of git-pack-redundant
+      Document the "ignore objects" feature of git-pack-redundant
+      Make git-pack-redundant take a list of unimportant objs on stdin
+
+Martin Langhoff (1):
+      archimport: allow for old style branch and public tag names
+
+Matthias Urlichs (1):
+      SVN import: Use one log call
+
+Nick Hengeveld (7):
+      Isolate shared HTTP request functionality
+      Make http-fetch request types more clear
+      Improve pack list response handling
+      Improve XML parsing in http-push
+      http-push memory/fd cleanup
+      Decide whether to build http-push in the Makefile
+      http-push cleanup
+
+Nicolas Pitre (1):
+      'make clean' forgot about some files
+
+Paul Collins (1):
+      proxy-command support for git://
+
+Paul Mackerras (5):
+      Add -r flag and some speedups
+      gitk: Fix some bugs introduced by speedup changes
+      gitk: Disable fastdate stuff for now
+      gitk: Fix diff this->selected and selected->this functions
+      gitk: Add a preferences dialog with some basic stuff
+
+Paul Serice (2):
+      git-daemon not listening when compiled with -DNO_IPV6
+      Fixed git:// IPv4 address problem when compiled with -DNO_IPV6.
+
+Pavel Roskin (4):
+      symref support for import scripts
+      gitk: use git-diff-tree --no-commit-id
+      gitk: UTF-8 support
+      git-clone --shared should imply --local
+
+Petr Baudis (1):
+      Fix bunch of fd leaks in http-fetch
+
+Ralf Baechle (1):
+      git-repack: Fix variable name
+
+Ryan Anderson (1):
+      Add Python version checks to the Makefile to automatically set WITH_OWN_SUBPROCESS_PY
+
+Sergey Vlasov (2):
+      git-fsck-objects: Free tree entries after use
+      Rework object refs tracking to reduce memory usage
+
+Stefan-W. Hahn (1):
+      gitk: moving all three panes if clicking on an arrow.
+
+Timo Hirvonen (2):
+      Fix sparse warnings
+      Move couple of ifdefs after "include config.mk"
+
+Tommi Virtanen (1):
+      Do not attempt to access literal dirname "GIT_OBJECT_DIRECTORY".
+
+Tony Luck (1):
+      Update pull/fetch --tags documentation
+
+YOSHIFUJI Hideaki (2):
+      GIT: Fix compilation error in connect.c
+      Fix a warning about unused value.
+
+Yann Dirson (1):
+      Fix gitk this->selected diffs
+
+anonymous (2):
+      documentation: clarify read-tree --reset
+      documentation: git-tag
+
+
+Version v1.0rc3; changes since v1.0rc2:
+---------------------------------------
+
+Junio C Hamano (1):
+      GIT 0.99.9j aka 1.0rc3
+
+
+Version v1.0rc2; changes since v1.0rc1:
+---------------------------------------
+
+Alex Riesen (1):
+      allow git-update-ref create refs with slashes in names
+
+Andreas Ericsson (1):
+      git-branch: Mention -d and -D in man-page.
+
+Josef Weidendorfer (2):
+      Bugfix: stop if directory already exists
+      Remove git-rename. git-mv does the same
+
+Junio C Hamano (5):
+      Debian: build-depend on libexpat-dev.
+      Rename lost+found to lost-found.
+      Separate LDFLAGS and CFLAGS.
+      apply: fix binary patch detection.
+      Update topo-order test.
+
+Kai Ruemmler (1):
+      Fix compilation warnings in pack-redundant.c
+
+Linus Torvalds (1):
+      Fix git-rev-list "date order" with --topo-order
+
+Matthias Urlichs (3):
+      debian packaging: git-cvs needs cvsps
+      Remove trailing slashes
+      Depend on asciidoc 7 (at least).
+
+Nick Hengeveld (2):
+      Fix for multiple alternates requests in http-fetch
+      Fix fd leak in http-fetch
+
+Nikolai Weibull (3):
+      Document the -n command-line option to git-unpack-objects
+      Document a couple of missing command-line options.
+      Documentation nitpicking
+
+Thomas Matysik (2):
+      Add expat and expat-devel dependencies (for http-push) to RPM spec.
+      Split gitk into seperate RPM package
+
+
diff --git a/debian/changelog.upstream.sh b/debian/changelog.upstream.sh
new file mode 100644 (file)
index 0000000..3441546
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+set -e
+: >debian/changelog.upstream
+exec <debian/versions.upstream
+read old
+while read new; do
+  exec >debian/changelog.upstream."$new"
+  echo "Version $new; changes since $old:"
+  echo "Version $new; changes since $old:" |tr '[:print:]' -
+  echo
+  git shortlog --no-merges "$old".."$new"
+  echo
+  cat debian/changelog.upstream
+  mv debian/changelog.upstream."$new" debian/changelog.upstream
+  old="$new"
+done
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..a8e188a
--- /dev/null
@@ -0,0 +1,337 @@
+Source: git
+Section: vcs
+Priority: optional
+Maintainer: Gerrit Pape <pape@smarden.org>
+Uploaders: Jonathan Nieder <jrnieder@gmail.com>
+Build-Depends: libz-dev,
+ libcurl4-gnutls-dev | libcurl3-gnutls-dev, libexpat1-dev,
+ subversion, libsvn-perl | libsvn-core-perl, libyaml-perl,
+ tcl8.5, gettext,
+ cvs, cvsps, libdbd-sqlite3-perl,
+ unzip, libio-pty-perl,
+ dpkg-dev (>= 1.15.7~),
+ libc6.1 (>= 2.10.2-6) [ia64]
+Build-Depends-Indep: asciidoc (>> 8.0.0), xmlto, docbook-xsl (>> 1.72)
+Standards-Version: 3.9.3.1
+Homepage: http://git-scm.com/
+Vcs-Git: http://smarden.org/git/git.git/
+Vcs-Browser: http://repo.or.cz/w/git/debian.git/
+
+Package: git
+Architecture: any
+Depends: ${shlibs:Depends}, perl-modules, liberror-perl,
+ git-man (>> ${source:Upstream-Version}), git-man (<< ${source:Upstream-Version}-.),
+ libc6.1 (>= 2.10.2-6) [ia64]
+Recommends: patch, less, rsync, ssh-client
+Suggests: gettext-base, git-daemon-run | git-daemon-sysvinit,
+ git-doc, git-el, git-arch, git-cvs, git-svn, git-email, git-gui, gitk, gitweb
+Replaces: gitweb (<< 1:1.7.4~rc1),
+ cogito (<< 0.16rc2-0), git-core (<< 1:1.7.0.4-1.)
+Breaks: gitweb (<< 1:1.7.4~rc1),
+ qgit (<< 1.5.5), git-buildpackage (<< 0.4.38), cogito (<= 0.18.2+),
+ stgit (<< 0.15), stgit-contrib (<< 0.15), gitpkg (<< 0.15),
+ guilt (<< 0.33), gitosis (<< 0.2+20090917-7),
+ git-core (<< 1:1.7.0.4-1.)
+Conflicts: git-core (<< 1:1.5.2~rc3-2.)
+Provides: git-completion, git-core
+Description: fast, scalable, distributed revision control system
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git main components with minimal dependencies.
+ Additional functionality, e.g. a graphical user interface and revision
+ tree visualizer, tools for interoperating with other VCS's, or a web
+ interface, is provided as separate git* packages.
+
+Package: git-man
+Section: doc
+Architecture: all
+Replaces: git (<< 1:1.7.4~rc1),
+ cogito (<< 0.16rc2-0), git-core (<< 1:1.7.0.4-1.)
+Breaks: git (<< 1:1.7.4~rc1)
+Description: fast, scalable, distributed revision control system (manual pages)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides reference documentation for use by the 'man'
+ utility and the 'git help' command.
+
+Package: git-core
+Architecture: all
+Depends: git (>> 1:1.7.0.2)
+Description: fast, scalable, distributed revision control system (obsolete)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This is a transitional dummy package.  The 'git-core' package has been
+ renamed to 'git', which has been installed automatically.  This
+ git-core package is now obsolete, and can safely be removed from the
+ system if no other package depends on it.
+
+Package: git-doc
+Section: doc
+Architecture: all
+Suggests: git, git-arch, git-cvs, git-svn, git-email, gitk, gitweb
+Description: fast, scalable, distributed revision control system (documentation)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the documentation.
+
+Package: git-arch
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), tla
+Suggests: git-doc
+Replaces: cogito (<< 0.16rc2-0)
+Description: fast, scalable, distributed revision control system (arch interoperability)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides tools for importing development history from arch
+ repositories.
+
+Package: git-cvs
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), cvsps, libdbd-sqlite3-perl
+Suggests: git-doc, cvs
+Replaces: cogito (<< 0.16rc2-0)
+Description: fast, scalable, distributed revision control system (cvs interoperability)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git cvsimport, cvsexportcommit, and cvsserver
+ tools, which allow Git to read from and write to CVS repositories and
+ offer access over CVS protocol to Git repositories.
+ .
+ The git cvsimport tool can incrementally import from a repository that
+ is being actively developed and only requires remote access over CVS
+ protocol. Unfortunately, in many situations the import leads to
+ incorrect results. For reliable, one-shot imports, cvs2git from the
+ cvs2svn package or parsecvs may be a better fit.
+
+Package: git-svn
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), libsvn-perl | libsvn-core-perl, libyaml-perl, libwww-perl, libterm-readkey-perl
+Suggests: git-doc, subversion
+Replaces: cogito (<< 0.16rc2-0)
+Description: fast, scalable, distributed revision control system (svn interoperability)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides tools for interoperating with Subversion repositories,
+ and importing SVN development history.
+
+Package: git-email
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.)
+Recommends: libemail-valid-perl, libnet-smtp-ssl-perl, libauthen-sasl-perl
+Suggests: git-doc
+Replaces: cogito (<< 0.16rc2-0)
+Description: fast, scalable, distributed revision control system (email add-on)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git-send-email program for sending series of
+ patch emails.
+
+Package: git-daemon-run
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), runit (>= 1.8.0-2), adduser
+Conflicts: git-daemon-sysvinit
+Description: fast, scalable, distributed revision control system (git-daemon service)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ git-daemon, as provided by the git package, is a simple server for git
+ repositories, ideally suited for read-only updates, i.e. pulling from git
+ repositories through the network.  This package provides a runit service
+ for running git-daemon permanently.
+
+Package: git-daemon-sysvinit
+Priority: extra
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), adduser
+Conflicts: git-daemon-run
+Description: fast, scalable, distributed revision control system (git-daemon service)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ git-daemon, as provided by the git package, is a simple server for git
+ repositories, ideally suited for read-only updates, i.e. pulling from git
+ repositories through the network.  This package provides a sysvinit service
+ for running git-daemon permanently.
+
+Package: git-gui
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), tk
+Replaces: git-core (<< 1:1.5.2.2-3)
+Recommends: gitk
+Suggests: git-doc, aspell
+Description: fast, scalable, distributed revision control system (GUI)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git graphical user interface.
+ .
+ If aspell is installed, it can check the spelling of commit messages
+ as the user types.
+
+Package: gitk
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), tk (>= 8.4)
+Suggests: git-doc
+Replaces: cogito (<< 0.16rc2-0)
+Description: fast, scalable, distributed revision control system (revision tree visualizer)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the gitk program, a tcl/tk revision tree visualizer.
+
+Package: git-el
+Architecture: all
+Depends: git (>= 1:1.7.4.1-2~), emacs | emacsen
+Replaces: git (<< 1:1.7.4.1-2~)
+Breaks: git (<< 1:1.7.4.1-2~)
+Description: fast, scalable, distributed revision control system (emacs support)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides two modules for integration with Emacs:
+ .
+  * git.el:
+ .
+    Status manager that displays the state of all the files of the
+    project and provides easy access to the most frequently used git
+    commands. The user interface is intended to be similar to the
+    pcl-cvs mode. It can be started with `M-x git-status'.
+ .
+  * git-blame.el:
+ .
+    Emacs implementation of incremental "git blame".  When you turn it
+    on while viewing a file, the editor buffer will be updated by
+    setting the background of individual lines to a color that reflects
+    which commit it comes from.
+ .
+ This package does not contain the VC-mode backend for git. That is
+ part of standard Emacs distributions, starting with version 22.2.
+ .
+ For a more polished Emacs interface for Git, see the magit package.
+
+Package: gitweb
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.),
+ perl, apache2 | httpd | lynx-cur
+Suggests: httpd-cgi | libcgi-fast-perl, git-doc
+Description: fast, scalable, distributed revision control system (web interface)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package configures a web interface for browsing git repositories.
+ .
+ If apache2 is installed, the web interface is automatically made
+ available at http://localhost/gitweb.  Other servers that support CGI
+ or mod_perl are supported through manual configuration.
+ .
+ If libcgi-fast-perl is installed, gitweb can also be run over FastCGI
+ (and served by nginx, for example).
+
+Package: git-all
+Architecture: all
+Depends: git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.),
+ git-doc, git-el, git-arch, git-cvs, git-svn, git-email, git-gui, gitk, gitweb
+Recommends: git-daemon-run | git-daemon-sysvinit
+Description: fast, scalable, distributed revision control system (all subpackages)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This is a dummy package which brings in all subpackages.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..0cc858c
--- /dev/null
@@ -0,0 +1,389 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Contact: git@vger.kernel.org
+Source: http://code.google.com/p/git-core/downloads/list
+
+Files: *
+Copyright: © 2005-2012, Linus Torvalds and others.
+License: GPL-2
+
+Files: xdiff/*
+Copyright: © 2003-2009, Davide Libenzi, Johannes E. Schindelin
+License: LGPL-2.1+
+
+Files: xdiff/xhistogram.c
+Copyright: © 2010, Google Inc.
+           and other copyright owners as documented in JGit's IP log.
+License: EDL-1.0
+
+Files: gitk-git/*
+Copyright: © 2005-2011, Paul Mackerras, et al.
+License: GPL-2+
+
+Files: git-gui/*
+Copyright: © 2005-2010, Shawn Pearce, et. al.
+License: GPL-2+
+
+Files: git-gui/po/de.po git-gui/po/fr.po git-gui/po/glossary/*
+Copyright: © 2007-2008, Shawn Pearce, et al.
+License: GPL-2
+Comment: This file is distributed under the same license as the git package.
+
+Files: git-gui/po/glossary/pt_br.po
+Copyright: © 2007, Shawn Pearce, et al.
+License: GPL-2+
+Comment: This file is distributed under the same license as the git-gui package.
+
+Files: gitweb/static/js/*
+Copyright: © 2007, Fredrik Kuivinen <frekui@gmail.com>
+           © 2007, Petr Baudis <pasky@suse.cz>
+      © 2008-2011, Jakub Narebski <jnareb@gmail.com>
+           © 2011, John 'Warthog9' Hawley <warthog9@eaglescrag.net>
+License: GPL-2+
+
+Files: git-svn.perl
+Copyright: © 2006, Eric Wong <normalperson@yhbt.net>
+License: GPL-2+
+
+Files: vcs-svn/*
+Copyright: © 2010, David Barr <david.barr@cordelta.com>
+           © 2008, Jason Evans <jasone@canonware.com>
+           © 2005, Stefan Hegny, hydrografix Consulting GmbH,
+                   Frankfurt/Main, Germany
+                   and others, see http://svn2cc.sarovar.org
+License: BSD-2-clause
+
+Files: imap-send.c
+Copyright: © 2000-2002, Michael R. Elkins <me@mutt.org>
+           © 2002-2004, Oswald Buddenhagen <ossi@users.sf.net>
+           © 2004, Theodore Y. Ts'o <tytso@mit.edu>
+           © 2006, Mike McCormack
+Name: git-imap-send - drops patches into an imap Drafts folder
+  derived from isync/mbsync - mailbox synchronizer
+License: GPL-2+
+
+Files: perl/Git.pm
+Copyright: © 2006, by Petr Baudis <pasky@suse.cz>
+License: GPL-2+
+
+Files: perl/private-Error.pm
+Copyright: © 1997-8, Graham Barr <gbarr@ti.com>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+    a) the GNU General Public License as published by the Free Software
+       Foundation; either version 1, or (at your option) any later
+       version, or
+ .
+    b) the "Artistic License" which comes with Perl.
+ .
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License can be found in '/usr/share/common-licenses/GPL' and
+ the Artistic Licence in '/usr/share/common-licenses/Artistic'.
+
+Files: kwset.c kwset.h
+Copyright: © 1989, 1998, 2000, 2005, Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: trace.c
+Copyright: © 2000-2002, Michael R. Elkins <me@mutt.org>
+           © 2002-2004, Oswald Buddenhagen <ossi@users.sf.net>
+           © 2004, Theodore Y. Ts'o <tytso@mit.edu>
+           © 2006, Mike McCormack
+           © 2006, Christian Couder
+License: GPL-2+
+
+Files: sh-i18n--envsubst.c
+Copyright: © 2010, Ævar Arnfjörð Bjarmason
+           © 1998-2007, Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: t/test-lib.sh
+Copyright: © 2005, Junio C Hamano
+License: GPL-2+
+
+Files: compat/fnmatch/*
+Copyright: © 1991-1999, Free Software Foundation, Inc.
+License: LGPL-2+
+Comment: This file is part of the GNU C Library.
+
+Files: compat/inet_ntop.c compat/inet_pton.c
+Copyright: © 1996-2001, Internet Software Consortium.
+License: ISC
+
+Files: compat/win32/poll.c compat/win32/poll.h
+Copyright: © 2001-2003, 2006-2011, Free Software Foundation, Inc.
+Name: Emulation for poll(2) from gnulib.
+License: GPL-2+
+
+Files: compat/vcbuild/include/sys/utime.h
+Copyright: ?
+License: mingw-runtime
+
+Files: compat/nedmalloc/*
+Copyright: © 2005-2006 Niall Douglas
+License: Boost
+
+Files: compat/nedmalloc/malloc.c.h
+Copyright: © 2006, KJK::Hyperion <hackbunny@reactos.com>
+License: dlmalloc
+
+Files: compat/regex/*
+Copyright: © 1985, 1989-93, 1995-2010, Free Software Foundation, Inc.
+Name: Extended regular expression matching and search library
+License: LGPL-2.1+
+
+Files: compat/strtok_r.c
+Copyright: © 1991, 1996-1999, 2001, 2004, Free Software Foundation, Inc.
+Name: Reentrant string tokenizer.  Generic version.
+License: LGPL-2.1+
+
+Files: compat/obstack.c compat/obstack.h
+Copyright: © 1988-1994, 1996-2005, 2009, Free Software Foundation, Inc.
+Name: Object stack macros.
+License: LGPL-2.1+
+
+Files: contrib/fast-import/git-p4
+Copyright: © 2007, Simon Hausmann <simon@lst.de>
+           © 2007, Trolltech ASA
+License: Expat
+
+Files: contrib/hg-to-git/hg-to-git.py
+Copyright: © 2007, Stelian Pop <stelian@popies.net>
+Name: hg-to-git.py - A Mercurial to GIT converter
+License: GPL-2+
+
+Files: contrib/mw-to-git/git-remote-mediawiki
+Copyright: © 2011
+               Jérémie Nikaes <jeremie.nikaes@ensimag.imag.fr>
+               Arnaud Lacurie <arnaud.lacurie@ensimag.imag.fr>
+               Claire Fousse <claire.fousse@ensimag.imag.fr>
+               David Amouyal <david.amouyal@ensimag.imag.fr>
+               Matthieu Moy <matthieu.moy@grenoble-inp.fr>
+License: GPL-2+
+
+Files: debian/*
+Copyright: © 2005, Sebastian Kuzminsky <seb@highlab.com>
+           © 2005-2006, Andres Salomon <dilinger@debian.org>
+           © 2005-2012, Gerrit Pape <pape@smarden.org>
+License: GPL-2
+
+License: GPL-2
+ You can redistribute this software and/or modify it under the terms of
+ the GNU General Public License as published by the Free Software
+ Foundation; version 2 dated June, 1991.
+ .
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ General Public License for more details.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ can be found in /usr/share/common-licenses/GPL-2 file.
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ can be found in /usr/share/common-licenses/GPL-2 file.
+
+License: LGPL-2+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Library General Public License for more details.
+ .
+ On Debian systems, the complete text of the GNU Library General Public License
+ can be found in the /usr/share/common-licenses/LGPL-2 file.
+
+License: LGPL-2.1+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public License
+ can be found in /usr/share/common-licenses/LGPL-2.1.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+    notice(s), this list of conditions and the following disclaimer
+    unmodified other than the allowable addition of one or more
+    copyright notices.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice(s), this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+License: Expat
+ <http://www.opensource.org/licenses/mit-license.php>:
+ .
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+License: EDL-1.0
+ Redistribution and use in source and binary forms, with or
+ without modification, are permitted provided that the following
+ conditions are met:
+ .
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ .
+ - Redistributions in binary form must reproduce the above
+   copyright notice, this list of conditions and the following
+   disclaimer in the documentation and/or other materials provided
+   with the distribution.
+ .
+ - Neither the name of the Eclipse Foundation, Inc. nor the
+   names of its contributors may be used to endorse or promote
+   products derived from this software without specific prior
+   written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: mingw-runtime
+ This file has no copyright assigned and is placed in the Public Domain.
+ This file is a part of the mingw-runtime package.
+ .
+ The mingw-runtime package and its code is distributed in the hope that it
+ will be useful but WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESSED OR
+ IMPLIED ARE HEREBY DISCLAIMED.  This includes but is not limited to
+ warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ .
+ You are free to use this package and its code without limitation.
+
+License: Boost
+ It is licensed under the Boost Software License which basically means
+ you can do anything you like with it. This does not apply to the malloc.c.h
+ file which remains copyright to others.
+ .
+ Boost Software License - Version 1.0 - August 17th, 2003
+ .
+ Permission is hereby granted, free of charge, to any person or organization
+ obtaining a copy of the software and accompanying documentation covered by
+ this license (the "Software") to use, reproduce, display, distribute,
+ execute, and transmit the Software, and to prepare derivative works of the
+ Software, and to permit third-parties to whom the Software is furnished to
+ do so, all subject to the following:
+ .
+ The copyright notices in the Software and this entire statement, including
+ the above license grant, this restriction and the following disclaimer,
+ must be included in all copies of the Software, in whole or in part, and
+ all derivative works of the Software, unless such copies or derivative
+ works are solely in the form of machine-executable object code generated by
+ a source language processor.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+License: dlmalloc
+ This is a version (aka dlmalloc) of malloc/free/realloc written by
+ Doug Lea and released to the public domain, as explained at
+ http://creativecommons.org/licenses/publicdomain.  Send questions,
+ comments, complaints, performance data, etc to dl@cs.oswego.edu
+ .
+ Incorporates code from intrin_x86.h, which bears the following notice:
+ .
+ Compatibility <intrin_x86.h> header for GCC -- GCC equivalents of intrinsic
+ Microsoft Visual C++ functions. Originally developed for the ReactOS
+ (<http://www.reactos.org/>) and TinyKrnl (<http://www.tinykrnl.org/>)
+ projects.
+ .
+ Copyright (c) 2006 KJK::Hyperion <hackbunny@reactos.com>
+ .
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
diff --git a/debian/diff/0001-hooks-post-receive-email-set-encoding-to-utf-8.diff b/debian/diff/0001-hooks-post-receive-email-set-encoding-to-utf-8.diff
new file mode 100644 (file)
index 0000000..0c67313
--- /dev/null
@@ -0,0 +1,38 @@
+From 1ff228ad3d4df35beba00cbffcf299a463f8f9bf Mon Sep 17 00:00:00 2001
+From: Gerrit Pape <pape@smarden.org>
+Date: Thu, 11 Dec 2008 20:27:21 +0000
+Subject: [PATCH 01/12] hooks/post-receive-email: set encoding to utf-8
+
+Some email clients (e.g., claws-mail) display the message body
+incorrectly when the charset is not defined explicitly in a
+Content-Type header.  "git log" generates logs in UTF-8 encoding by
+default, so add a Content-Type header declaring that encoding to
+the emails the post-receive-email example hook sends.
+
+[jn: also setting the Content-Transfer-Encoding so MTAs know what
+ kind of mangling might be needed when sending to a non 8-bit clean
+ SMTP host]
+
+Requested-by: Alexander Gerasiov <gq@cs.msu.su>
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ contrib/hooks/post-receive-email |    3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email
+index 01af9df..dc184d0 100755
+--- a/contrib/hooks/post-receive-email
++++ b/contrib/hooks/post-receive-email
+@@ -233,6 +233,9 @@ generate_email_header()
+       cat <<-EOF
+       To: $recipients
+       Subject: ${emailprefix}$projectdesc $refname_type $short_refname ${change_type}d. $describe
++      MIME-Version: 1.0
++      Content-Type: text/plain; charset=utf-8
++      Content-Transfer-Encoding: 8bit
+       X-Git-Refname: $refname
+       X-Git-Reftype: $refname_type
+       X-Git-Oldrev: $oldrev
+-- 
+1.7.10
+
diff --git a/debian/diff/0002-post-receive-email-defend-against-non-utf8-i18n.logou.diff b/debian/diff/0002-post-receive-email-defend-against-non-utf8-i18n.logou.diff
new file mode 100644 (file)
index 0000000..42eeaa5
--- /dev/null
@@ -0,0 +1,83 @@
+From d41b94fca5748b0e51f7d505641c396328714813 Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Fri, 7 Oct 2011 04:06:02 -0500
+Subject: [PATCH 02/12] post-receive-email: defend against non-utf8
+ i18n.logoutputencoding setting
+
+The post-receive-email example hook includes a description of the
+repository taken from $GIT_DIR/description in the emails it sends.
+Gitweb also uses that file and assumes it to be UTF-8.  When
+[i18n] logoutputencoding is not UTF-8, the result is a message
+composed with multiple encodings.
+
+This patch teaches post-receive-email to use plumbing where possible
+and to explicitly declare what encoding it expects output to use so
+the output uses UTF-8 consistently.
+
+Making the email charset configurable is left as an exercise for the
+interested reader.
+
+Reported-by: Alexey Shumkin <zapped@mail.ru>
+Helped-by: Johannes Sixt <j6t@kdbg.org>
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ contrib/hooks/post-receive-email |   12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email
+index dc184d0..b59e03c 100755
+--- a/contrib/hooks/post-receive-email
++++ b/contrib/hooks/post-receive-email
+@@ -464,7 +464,7 @@ generate_delete_branch_email()
+       echo "       was  $oldrev"
+       echo ""
+       echo $LOGBEGIN
+-      git show -s --pretty=oneline $oldrev
++      git diff-tree --encoding=UTF-8 -s --pretty=oneline $oldrev
+       echo $LOGEND
+ }
+@@ -540,11 +540,11 @@ generate_atag_email()
+               # performed on them
+               if [ -n "$prevtag" ]; then
+                       # Show changes since the previous release
+-                      git rev-list --pretty=short "$prevtag..$newrev" | git shortlog
++                      git shortlog --encoding=UTF-8 "$prevtag..$newrev"
+               else
+                       # No previous tag, show all the changes since time
+                       # began
+-                      git rev-list --pretty=short $newrev | git shortlog
++                      git shortlog --encoding=UTF-8 "$newrev"
+               fi
+               ;;
+       *)
+@@ -564,7 +564,7 @@ generate_delete_atag_email()
+       echo "       was  $oldrev"
+       echo ""
+       echo $LOGBEGIN
+-      git show -s --pretty=oneline $oldrev
++      git diff-tree --encoding=UTF-8 -s --pretty=oneline $oldrev
+       echo $LOGEND
+ }
+@@ -610,7 +610,7 @@ generate_general_email()
+       echo ""
+       if [ "$newrev_type" = "commit" ]; then
+               echo $LOGBEGIN
+-              git show --no-color --root -s --pretty=medium $newrev
++              git diff-tree --encoding=UTF-8 --root -s --pretty=oneline $newrev
+               echo $LOGEND
+       else
+               # What can we do here?  The tag marks an object that is not
+@@ -629,7 +629,7 @@ generate_delete_general_email()
+       echo "       was  $oldrev"
+       echo ""
+       echo $LOGBEGIN
+-      git show -s --pretty=oneline $oldrev
++      git diff-tree --encoding=UTF-8 -s --pretty=oneline $oldrev
+       echo $LOGEND
+ }
+-- 
+1.7.10
+
diff --git a/debian/diff/0003-remove-interpreter-line-from-shell-libraries.diff b/debian/diff/0003-remove-interpreter-line-from-shell-libraries.diff
new file mode 100644 (file)
index 0000000..d87b3f8
--- /dev/null
@@ -0,0 +1,169 @@
+From d65b91ebbdffcb07ffe17628ca0fce9182ce1dfe Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Tue, 13 Mar 2012 20:01:17 -0500
+Subject: [PATCH 03/12] remove #!interpreter line from shell libraries
+
+In a shell snippet meant to be sourced by another shell script,
+an initial #!/bin/sh line is just a comment and has no effect on
+the script's functionality.
+
+Some people include such a shebang line anyway, as a familiar way of
+documenting what format the file is in.  However, it is even clearer
+to include a comment and no shebang at all, to avoid creating the
+illusion that the indicated choice of shell will have some effect.
+Add some text to git's shell libraries explaining in what context the
+fragments are meant to be sourced and remove the shebangs.
+
+As a happy side effect, vim no longer recognizes the file type of
+files like git-sh-setup without the ".sh" suffix, which should steer
+people toward the git-sh-setup.sh source file.  Thanks to Clemens
+Buchacher for noticing.
+
+Complications (thanks to Jeff King for finding these):
+
+- As explained in v1.7.6-rc3~7 (tests: link shell libraries into
+  valgrind directory, 2011-06-17), the valgrind support in test
+  scripts uses the shebang line to recognize shell libraries which
+  should be symlinked into $GIT_VALGRIND/bin/ along with the wrapped
+  executables.  This patch tweaks the rule to look for a comment
+  starting with "# " in the first line instead.
+
+- Because these files are not marked executable (see v1.7.1-rc0~143^2,
+  2010-01-31), the lack of #! line will not confuse the valgrind
+  support of our test scripts into replacing the shell libraries with
+  the valgrind.sh wrapper (see v1.7.0-rc1~9, 2009-11-25), so this should
+  be safe.
+
+Suggested by Russ Allbery through lintian.
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ git-mergetool--lib.sh      |    3 +--
+ git-parse-remote.sh        |    4 +++-
+ git-rebase--am.sh          |    3 ++-
+ git-rebase--interactive.sh |    8 +++-----
+ git-rebase--merge.sh       |    4 +++-
+ git-sh-i18n.sh             |    5 ++---
+ git-sh-setup.sh            |    9 +++------
+ t/test-lib.sh              |    6 ++----
+ 8 files changed, 19 insertions(+), 23 deletions(-)
+
+diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
+index ed630b2..7a0f499 100644
+--- a/git-mergetool--lib.sh
++++ b/git-mergetool--lib.sh
+@@ -1,5 +1,4 @@
+-#!/bin/sh
+-# git-mergetool--lib is a library for common merge tool functions
++# git-mergetool--lib is a shell library for common merge tool functions
+ diff_mode() {
+       test "$TOOL_MODE" = diff
+ }
+diff --git a/git-parse-remote.sh b/git-parse-remote.sh
+index 484b2e6..10cae3f 100644
+--- a/git-parse-remote.sh
++++ b/git-parse-remote.sh
+@@ -1,4 +1,6 @@
+-#!/bin/sh
++# This is a shell library to calculate the remote repository and
++# upstream branch that should be pulled by "git pull" from the current
++# branch.
+ # git-ls-remote could be called from outside a git managed repository;
+ # this would fail in that case and would issue an error message.
+diff --git a/git-rebase--am.sh b/git-rebase--am.sh
+index c815a24..5d8d451 100644
+--- a/git-rebase--am.sh
++++ b/git-rebase--am.sh
+@@ -1,4 +1,5 @@
+-#!/bin/sh
++# This shell script fragment is sourced by git-rebase to implement
++# its default, fast, patch-based, non-interactive mode.
+ #
+ # Copyright (c) 2010 Junio C Hamano.
+ #
+diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
+index 2e13258..394c85f 100644
+--- a/git-rebase--interactive.sh
++++ b/git-rebase--interactive.sh
+@@ -1,11 +1,9 @@
+-#!/bin/sh
+ #
+ # Copyright (c) 2006 Johannes E. Schindelin
+-# SHORT DESCRIPTION
+-#
+-# This script makes it easy to fix up commits in the middle of a series,
+-# and rearrange commits.
++# This shell script fragment is sourced by git-rebase to implement
++# its interactive mode.  "git rebase --interactive" makes it easy
++# to fix up commits in the middle of a series and rearrange commits.
+ #
+ # The original idea comes from Eric W. Biederman, in
+ # http://article.gmane.org/gmane.comp.version-control.git/22407
+diff --git a/git-rebase--merge.sh b/git-rebase--merge.sh
+index dc59907..0fa0e49 100644
+--- a/git-rebase--merge.sh
++++ b/git-rebase--merge.sh
+@@ -1,4 +1,6 @@
+-#!/bin/sh
++# This shell script fragment is sourced by git-rebase to implement
++# its merge-based non-interactive mode that copes well with renamed
++# files.
+ #
+ # Copyright (c) 2010 Junio C Hamano.
+ #
+diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh
+index 6a27f68..e6c3116 100644
+--- a/git-sh-i18n.sh
++++ b/git-sh-i18n.sh
+@@ -1,9 +1,8 @@
+-#!/bin/sh
++# This shell library is Git's interface to gettext.sh. See po/README
++# for usage instructions.
+ #
+ # Copyright (c) 2010 Ævar Arnfjörð Bjarmason
+ #
+-# This is Git's interface to gettext.sh. See po/README for usage
+-# instructions.
+ # Export the TEXTDOMAIN* data that we need for Git
+ TEXTDOMAIN=git
+diff --git a/git-sh-setup.sh b/git-sh-setup.sh
+index 5d8e4e6..51362d6 100644
+--- a/git-sh-setup.sh
++++ b/git-sh-setup.sh
+@@ -1,9 +1,6 @@
+-#!/bin/sh
+-#
+-# This is included in commands that either have to be run from the toplevel
+-# of the repository, or with GIT_DIR environment variable properly.
+-# If the GIT_DIR does not look like the right correct git-repository,
+-# it dies.
++# This shell scriplet is meant to be included by other shell scripts
++# to set up some variables pointing at the normal git directories and
++# a few helper shell functions.
+ # Having this variable in your environment would break scripts because
+ # you would cause "cd" to be taken to unexpected places.  If you
+diff --git a/t/test-lib.sh b/t/test-lib.sh
+index 9e2b711..62beadd 100644
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -420,11 +420,9 @@ then
+       make_valgrind_symlink () {
+               # handle only executables, unless they are shell libraries that
+-              # need to be in the exec-path.  We will just use "#!" as a
+-              # guess for a shell-script, since we have no idea what the user
+-              # may have configured as the shell path.
++              # need to be in the exec-path.
+               test -x "$1" ||
+-              test "#!" = "$(head -c 2 <"$1")" ||
++              test "# " = "$(head -c 2 <"$1")" ||
+               return;
+               base=$(basename "$1")
+-- 
+1.7.10
+
diff --git a/debian/diff/0004-pre-rebase-hook-capture-documentation-in-a-here-docum.diff b/debian/diff/0004-pre-rebase-hook-capture-documentation-in-a-here-docum.diff
new file mode 100644 (file)
index 0000000..65cc124
--- /dev/null
@@ -0,0 +1,43 @@
+From 8f68f3348ddd9f27d1f574bf5592e943069f20e1 Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Thu, 6 Jan 2011 22:43:05 -0600
+Subject: [PATCH 04/12] pre-rebase hook: capture documentation in a <<here
+ document
+
+Without this change, the sample hook does not pass a syntax check
+(sh -n):
+
+  $ sh -n hooks--pre-rebase.sample
+  hooks--pre-rebase.sample: line 101: syntax error near unexpected token `('
+  hooks--pre-rebase.sample: line 101: `   merged into it again (either directly or indirectly).'
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+Improved-by: Junio C Hamano <gitster@pobox.com>
+---
+ templates/hooks--pre-rebase.sample |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/templates/hooks--pre-rebase.sample b/templates/hooks--pre-rebase.sample
+index 053f111..b7f81c1 100755
+--- a/templates/hooks--pre-rebase.sample
++++ b/templates/hooks--pre-rebase.sample
+@@ -88,9 +88,7 @@ else
+       exit 1
+ fi
+-exit 0
+-
+-################################################################
++<<\DOC_END
+ This sample hook safeguards topic branches that have been
+ published from being rewound.
+@@ -167,3 +165,5 @@ To compute (2):
+       git rev-list master..topic
+       if this is empty, it is fully merged to "master".
++
++DOC_END
+-- 
+1.7.10
+
diff --git a/debian/diff/0005-transport-expose-git_tcp_connect-and-friends-in-new-t.diff b/debian/diff/0005-transport-expose-git_tcp_connect-and-friends-in-new-t.diff
new file mode 100644 (file)
index 0000000..55237f3
--- /dev/null
@@ -0,0 +1,639 @@
+From b0c90efe4a54e259508941ce42273d4b1bc133f8 Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Mon, 6 Jun 2011 04:37:14 -0500
+Subject: [PATCH 05/12] transport: expose git_tcp_connect() and friends in new
+ tcp.h
+
+Split off a new tcp.c with the functions git_tcp_connect() and
+git_proxy_connect() that resolve and connect to a host.
+
+Part of a series to teach git to respect DNS SRV records when making
+new connections; this is a preliminary step to make the connection
+library easier to understand before adding to it.
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ Makefile  |    2 +
+ connect.c |  277 +-----------------------------------------------------------
+ tcp.c     |  278 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ tcp.h     |    8 ++
+ 4 files changed, 289 insertions(+), 276 deletions(-)
+ create mode 100644 tcp.c
+ create mode 100644 tcp.h
+
+diff --git a/Makefile b/Makefile
+index 91ec231..b06c60d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -741,6 +741,7 @@ LIB_OBJS += string-list.o
+ LIB_OBJS += submodule.o
+ LIB_OBJS += symlinks.o
+ LIB_OBJS += tag.o
++LIB_OBJS += tcp.o
+ LIB_OBJS += trace.o
+ LIB_OBJS += transport.o
+ LIB_OBJS += transport-helper.o
+@@ -2167,6 +2168,7 @@ builtin/prune.o builtin/reflog.o reachable.o: reachable.h
+ builtin/commit.o builtin/revert.o wt-status.o: wt-status.h
+ builtin/tar-tree.o archive-tar.o: tar.h
+ connect.o transport.o url.o http-backend.o: url.h
++connect.o tcp.o: tcp.h
+ http-fetch.o http-walker.o remote-curl.o transport.o walker.o: walker.h
+ http.o http-walker.o http-push.o http-fetch.o remote-curl.o: http.h url.h
+diff --git a/connect.c b/connect.c
+index 912cdde..962dc03 100644
+--- a/connect.c
++++ b/connect.c
+@@ -5,6 +5,7 @@
+ #include "refs.h"
+ #include "run-command.h"
+ #include "remote.h"
++#include "tcp.h"
+ #include "url.h"
+ static char *server_capabilities;
+@@ -145,282 +146,6 @@ static enum protocol get_protocol(const char *name)
+       die("I don't handle protocol '%s'", name);
+ }
+-#define STR_(s)       # s
+-#define STR(s)        STR_(s)
+-
+-static void get_host_and_port(char **host, const char **port)
+-{
+-      char *colon, *end;
+-
+-      if (*host[0] == '[') {
+-              end = strchr(*host + 1, ']');
+-              if (end) {
+-                      *end = 0;
+-                      end++;
+-                      (*host)++;
+-              } else
+-                      end = *host;
+-      } else
+-              end = *host;
+-      colon = strchr(end, ':');
+-
+-      if (colon) {
+-              *colon = 0;
+-              *port = colon + 1;
+-      }
+-}
+-
+-static void enable_keepalive(int sockfd)
+-{
+-      int ka = 1;
+-
+-      if (setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, &ka, sizeof(ka)) < 0)
+-              fprintf(stderr, "unable to set SO_KEEPALIVE on socket: %s\n",
+-                      strerror(errno));
+-}
+-
+-#ifndef NO_IPV6
+-
+-static const char *ai_name(const struct addrinfo *ai)
+-{
+-      static char addr[NI_MAXHOST];
+-      if (getnameinfo(ai->ai_addr, ai->ai_addrlen, addr, sizeof(addr), NULL, 0,
+-                      NI_NUMERICHOST) != 0)
+-              strcpy(addr, "(unknown)");
+-
+-      return addr;
+-}
+-
+-/*
+- * Returns a connected socket() fd, or else die()s.
+- */
+-static int git_tcp_connect_sock(char *host, int flags)
+-{
+-      struct strbuf error_message = STRBUF_INIT;
+-      int sockfd = -1;
+-      const char *port = STR(DEFAULT_GIT_PORT);
+-      struct addrinfo hints, *ai0, *ai;
+-      int gai;
+-      int cnt = 0;
+-
+-      get_host_and_port(&host, &port);
+-      if (!*port)
+-              port = "<none>";
+-
+-      memset(&hints, 0, sizeof(hints));
+-      hints.ai_socktype = SOCK_STREAM;
+-      hints.ai_protocol = IPPROTO_TCP;
+-
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "Looking up %s ... ", host);
+-
+-      gai = getaddrinfo(host, port, &hints, &ai);
+-      if (gai)
+-              die("Unable to look up %s (port %s) (%s)", host, port, gai_strerror(gai));
+-
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "done.\nConnecting to %s (port %s) ... ", host, port);
+-
+-      for (ai0 = ai; ai; ai = ai->ai_next, cnt++) {
+-              sockfd = socket(ai->ai_family,
+-                              ai->ai_socktype, ai->ai_protocol);
+-              if ((sockfd < 0) ||
+-                  (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0)) {
+-                      strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n",
+-                                  host, cnt, ai_name(ai), strerror(errno));
+-                      if (0 <= sockfd)
+-                              close(sockfd);
+-                      sockfd = -1;
+-                      continue;
+-              }
+-              if (flags & CONNECT_VERBOSE)
+-                      fprintf(stderr, "%s ", ai_name(ai));
+-              break;
+-      }
+-
+-      freeaddrinfo(ai0);
+-
+-      if (sockfd < 0)
+-              die("unable to connect to %s:\n%s", host, error_message.buf);
+-
+-      enable_keepalive(sockfd);
+-
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "done.\n");
+-
+-      strbuf_release(&error_message);
+-
+-      return sockfd;
+-}
+-
+-#else /* NO_IPV6 */
+-
+-/*
+- * Returns a connected socket() fd, or else die()s.
+- */
+-static int git_tcp_connect_sock(char *host, int flags)
+-{
+-      struct strbuf error_message = STRBUF_INIT;
+-      int sockfd = -1;
+-      const char *port = STR(DEFAULT_GIT_PORT);
+-      char *ep;
+-      struct hostent *he;
+-      struct sockaddr_in sa;
+-      char **ap;
+-      unsigned int nport;
+-      int cnt;
+-
+-      get_host_and_port(&host, &port);
+-
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "Looking up %s ... ", host);
+-
+-      he = gethostbyname(host);
+-      if (!he)
+-              die("Unable to look up %s (%s)", host, hstrerror(h_errno));
+-      nport = strtoul(port, &ep, 10);
+-      if ( ep == port || *ep ) {
+-              /* Not numeric */
+-              struct servent *se = getservbyname(port,"tcp");
+-              if ( !se )
+-                      die("Unknown port %s", port);
+-              nport = se->s_port;
+-      }
+-
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "done.\nConnecting to %s (port %s) ... ", host, port);
+-
+-      for (cnt = 0, ap = he->h_addr_list; *ap; ap++, cnt++) {
+-              memset(&sa, 0, sizeof sa);
+-              sa.sin_family = he->h_addrtype;
+-              sa.sin_port = htons(nport);
+-              memcpy(&sa.sin_addr, *ap, he->h_length);
+-
+-              sockfd = socket(he->h_addrtype, SOCK_STREAM, 0);
+-              if ((sockfd < 0) ||
+-                  connect(sockfd, (struct sockaddr *)&sa, sizeof sa) < 0) {
+-                      strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n",
+-                              host,
+-                              cnt,
+-                              inet_ntoa(*(struct in_addr *)&sa.sin_addr),
+-                              strerror(errno));
+-                      if (0 <= sockfd)
+-                              close(sockfd);
+-                      sockfd = -1;
+-                      continue;
+-              }
+-              if (flags & CONNECT_VERBOSE)
+-                      fprintf(stderr, "%s ",
+-                              inet_ntoa(*(struct in_addr *)&sa.sin_addr));
+-              break;
+-      }
+-
+-      if (sockfd < 0)
+-              die("unable to connect to %s:\n%s", host, error_message.buf);
+-
+-      enable_keepalive(sockfd);
+-
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "done.\n");
+-
+-      return sockfd;
+-}
+-
+-#endif /* NO_IPV6 */
+-
+-
+-static void git_tcp_connect(int fd[2], char *host, int flags)
+-{
+-      int sockfd = git_tcp_connect_sock(host, flags);
+-
+-      fd[0] = sockfd;
+-      fd[1] = dup(sockfd);
+-}
+-
+-
+-static char *git_proxy_command;
+-
+-static int git_proxy_command_options(const char *var, const char *value,
+-              void *cb)
+-{
+-      if (!strcmp(var, "core.gitproxy")) {
+-              const char *for_pos;
+-              int matchlen = -1;
+-              int hostlen;
+-              const char *rhost_name = cb;
+-              int rhost_len = strlen(rhost_name);
+-
+-              if (git_proxy_command)
+-                      return 0;
+-              if (!value)
+-                      return config_error_nonbool(var);
+-              /* [core]
+-               * ;# matches www.kernel.org as well
+-               * gitproxy = netcatter-1 for kernel.org
+-               * gitproxy = netcatter-2 for sample.xz
+-               * gitproxy = netcatter-default
+-               */
+-              for_pos = strstr(value, " for ");
+-              if (!for_pos)
+-                      /* matches everybody */
+-                      matchlen = strlen(value);
+-              else {
+-                      hostlen = strlen(for_pos + 5);
+-                      if (rhost_len < hostlen)
+-                              matchlen = -1;
+-                      else if (!strncmp(for_pos + 5,
+-                                        rhost_name + rhost_len - hostlen,
+-                                        hostlen) &&
+-                               ((rhost_len == hostlen) ||
+-                                rhost_name[rhost_len - hostlen -1] == '.'))
+-                              matchlen = for_pos - value;
+-                      else
+-                              matchlen = -1;
+-              }
+-              if (0 <= matchlen) {
+-                      /* core.gitproxy = none for kernel.org */
+-                      if (matchlen == 4 &&
+-                          !memcmp(value, "none", 4))
+-                              matchlen = 0;
+-                      git_proxy_command = xmemdupz(value, matchlen);
+-              }
+-              return 0;
+-      }
+-
+-      return git_default_config(var, value, cb);
+-}
+-
+-static int git_use_proxy(const char *host)
+-{
+-      git_proxy_command = getenv("GIT_PROXY_COMMAND");
+-      git_config(git_proxy_command_options, (void*)host);
+-      return (git_proxy_command && *git_proxy_command);
+-}
+-
+-static struct child_process *git_proxy_connect(int fd[2], char *host)
+-{
+-      const char *port = STR(DEFAULT_GIT_PORT);
+-      const char **argv;
+-      struct child_process *proxy;
+-
+-      get_host_and_port(&host, &port);
+-
+-      argv = xmalloc(sizeof(*argv) * 4);
+-      argv[0] = git_proxy_command;
+-      argv[1] = host;
+-      argv[2] = port;
+-      argv[3] = NULL;
+-      proxy = xcalloc(1, sizeof(*proxy));
+-      proxy->argv = argv;
+-      proxy->in = -1;
+-      proxy->out = -1;
+-      if (start_command(proxy))
+-              die("cannot start proxy %s", argv[0]);
+-      fd[0] = proxy->out; /* read from proxy stdout */
+-      fd[1] = proxy->in;  /* write to proxy stdin */
+-      return proxy;
+-}
+-
+ #define MAX_CMD_LEN 1024
+ static char *get_port(char *host)
+diff --git a/tcp.c b/tcp.c
+new file mode 100644
+index 0000000..f5e1ab3
+--- /dev/null
++++ b/tcp.c
+@@ -0,0 +1,278 @@
++#include "cache.h"
++#include "run-command.h"
++
++#define STR_(s)       # s
++#define STR(s)        STR_(s)
++
++static void get_host_and_port(char **host, const char **port)
++{
++      char *colon, *end;
++
++      if (*host[0] == '[') {
++              end = strchr(*host + 1, ']');
++              if (end) {
++                      *end = 0;
++                      end++;
++                      (*host)++;
++              } else
++                      end = *host;
++      } else
++              end = *host;
++      colon = strchr(end, ':');
++
++      if (colon) {
++              *colon = 0;
++              *port = colon + 1;
++      }
++}
++
++static void enable_keepalive(int sockfd)
++{
++      int ka = 1;
++
++      if (setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, &ka, sizeof(ka)) < 0)
++              fprintf(stderr, "unable to set SO_KEEPALIVE on socket: %s\n",
++                      strerror(errno));
++}
++
++#ifndef NO_IPV6
++
++static const char *ai_name(const struct addrinfo *ai)
++{
++      static char addr[NI_MAXHOST];
++      if (getnameinfo(ai->ai_addr, ai->ai_addrlen, addr, sizeof(addr), NULL, 0,
++                      NI_NUMERICHOST) != 0)
++              strcpy(addr, "(unknown)");
++
++      return addr;
++}
++
++/*
++ * Returns a connected socket() fd, or else die()s.
++ */
++static int git_tcp_connect_sock(char *host, int flags)
++{
++      struct strbuf error_message = STRBUF_INIT;
++      int sockfd = -1;
++      const char *port = STR(DEFAULT_GIT_PORT);
++      struct addrinfo hints, *ai0, *ai;
++      int gai;
++      int cnt = 0;
++
++      get_host_and_port(&host, &port);
++      if (!*port)
++              port = "<none>";
++
++      memset(&hints, 0, sizeof(hints));
++      hints.ai_socktype = SOCK_STREAM;
++      hints.ai_protocol = IPPROTO_TCP;
++
++      if (flags & CONNECT_VERBOSE)
++              fprintf(stderr, "Looking up %s ... ", host);
++
++      gai = getaddrinfo(host, port, &hints, &ai);
++      if (gai)
++              die("Unable to look up %s (port %s) (%s)", host, port, gai_strerror(gai));
++
++      if (flags & CONNECT_VERBOSE)
++              fprintf(stderr, "done.\nConnecting to %s (port %s) ... ", host, port);
++
++      for (ai0 = ai; ai; ai = ai->ai_next, cnt++) {
++              sockfd = socket(ai->ai_family,
++                              ai->ai_socktype, ai->ai_protocol);
++              if ((sockfd < 0) ||
++                  (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0)) {
++                      strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n",
++                                  host, cnt, ai_name(ai), strerror(errno));
++                      if (0 <= sockfd)
++                              close(sockfd);
++                      sockfd = -1;
++                      continue;
++              }
++              if (flags & CONNECT_VERBOSE)
++                      fprintf(stderr, "%s ", ai_name(ai));
++              break;
++      }
++
++      freeaddrinfo(ai0);
++
++      if (sockfd < 0)
++              die("unable to connect to %s:\n%s", host, error_message.buf);
++
++      enable_keepalive(sockfd);
++
++      if (flags & CONNECT_VERBOSE)
++              fprintf(stderr, "done.\n");
++
++      strbuf_release(&error_message);
++
++      return sockfd;
++}
++
++#else /* NO_IPV6 */
++
++/*
++ * Returns a connected socket() fd, or else die()s.
++ */
++static int git_tcp_connect_sock(char *host, int flags)
++{
++      struct strbuf error_message = STRBUF_INIT;
++      int sockfd = -1;
++      const char *port = STR(DEFAULT_GIT_PORT);
++      char *ep;
++      struct hostent *he;
++      struct sockaddr_in sa;
++      char **ap;
++      unsigned int nport;
++      int cnt;
++
++      get_host_and_port(&host, &port);
++
++      if (flags & CONNECT_VERBOSE)
++              fprintf(stderr, "Looking up %s ... ", host);
++
++      he = gethostbyname(host);
++      if (!he)
++              die("Unable to look up %s (%s)", host, hstrerror(h_errno));
++      nport = strtoul(port, &ep, 10);
++      if ( ep == port || *ep ) {
++              /* Not numeric */
++              struct servent *se = getservbyname(port,"tcp");
++              if ( !se )
++                      die("Unknown port %s", port);
++              nport = se->s_port;
++      }
++
++      if (flags & CONNECT_VERBOSE)
++              fprintf(stderr, "done.\nConnecting to %s (port %s) ... ", host, port);
++
++      for (cnt = 0, ap = he->h_addr_list; *ap; ap++, cnt++) {
++              memset(&sa, 0, sizeof sa);
++              sa.sin_family = he->h_addrtype;
++              sa.sin_port = htons(nport);
++              memcpy(&sa.sin_addr, *ap, he->h_length);
++
++              sockfd = socket(he->h_addrtype, SOCK_STREAM, 0);
++              if ((sockfd < 0) ||
++                  connect(sockfd, (struct sockaddr *)&sa, sizeof sa) < 0) {
++                      strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n",
++                              host,
++                              cnt,
++                              inet_ntoa(*(struct in_addr *)&sa.sin_addr),
++                              strerror(errno));
++                      if (0 <= sockfd)
++                              close(sockfd);
++                      sockfd = -1;
++                      continue;
++              }
++              if (flags & CONNECT_VERBOSE)
++                      fprintf(stderr, "%s ",
++                              inet_ntoa(*(struct in_addr *)&sa.sin_addr));
++              break;
++      }
++
++      if (sockfd < 0)
++              die("unable to connect to %s:\n%s", host, error_message.buf);
++
++      enable_keepalive(sockfd);
++
++      if (flags & CONNECT_VERBOSE)
++              fprintf(stderr, "done.\n");
++
++      return sockfd;
++}
++
++#endif /* NO_IPV6 */
++
++
++void git_tcp_connect(int fd[2], char *host, int flags)
++{
++      int sockfd = git_tcp_connect_sock(host, flags);
++
++      fd[0] = sockfd;
++      fd[1] = dup(sockfd);
++}
++
++
++static char *git_proxy_command;
++
++static int git_proxy_command_options(const char *var, const char *value,
++              void *cb)
++{
++      if (!strcmp(var, "core.gitproxy")) {
++              const char *for_pos;
++              int matchlen = -1;
++              int hostlen;
++              const char *rhost_name = cb;
++              int rhost_len = strlen(rhost_name);
++
++              if (git_proxy_command)
++                      return 0;
++              if (!value)
++                      return config_error_nonbool(var);
++              /* [core]
++               * ;# matches www.kernel.org as well
++               * gitproxy = netcatter-1 for kernel.org
++               * gitproxy = netcatter-2 for sample.xz
++               * gitproxy = netcatter-default
++               */
++              for_pos = strstr(value, " for ");
++              if (!for_pos)
++                      /* matches everybody */
++                      matchlen = strlen(value);
++              else {
++                      hostlen = strlen(for_pos + 5);
++                      if (rhost_len < hostlen)
++                              matchlen = -1;
++                      else if (!strncmp(for_pos + 5,
++                                        rhost_name + rhost_len - hostlen,
++                                        hostlen) &&
++                               ((rhost_len == hostlen) ||
++                                rhost_name[rhost_len - hostlen -1] == '.'))
++                              matchlen = for_pos - value;
++                      else
++                              matchlen = -1;
++              }
++              if (0 <= matchlen) {
++                      /* core.gitproxy = none for kernel.org */
++                      if (matchlen == 4 &&
++                          !memcmp(value, "none", 4))
++                              matchlen = 0;
++                      git_proxy_command = xmemdupz(value, matchlen);
++              }
++              return 0;
++      }
++
++      return git_default_config(var, value, cb);
++}
++
++int git_use_proxy(const char *host)
++{
++      git_proxy_command = getenv("GIT_PROXY_COMMAND");
++      git_config(git_proxy_command_options, (void*)host);
++      return (git_proxy_command && *git_proxy_command);
++}
++
++struct child_process *git_proxy_connect(int fd[2], char *host)
++{
++      const char *port = STR(DEFAULT_GIT_PORT);
++      const char **argv;
++      struct child_process *proxy;
++
++      get_host_and_port(&host, &port);
++
++      argv = xmalloc(sizeof(*argv) * 4);
++      argv[0] = git_proxy_command;
++      argv[1] = host;
++      argv[2] = port;
++      argv[3] = NULL;
++      proxy = xcalloc(1, sizeof(*proxy));
++      proxy->argv = argv;
++      proxy->in = -1;
++      proxy->out = -1;
++      if (start_command(proxy))
++              die("cannot start proxy %s", argv[0]);
++      fd[0] = proxy->out; /* read from proxy stdout */
++      fd[1] = proxy->in;  /* write to proxy stdin */
++      return proxy;
++}
+diff --git a/tcp.h b/tcp.h
+new file mode 100644
+index 0000000..4de5f71
+--- /dev/null
++++ b/tcp.h
+@@ -0,0 +1,8 @@
++#ifndef TCP_H
++#define TCP_H
++
++extern int git_use_proxy(const char *host);
++extern void git_tcp_connect(int fd[2], char *host, int flags);
++extern struct child_process *git_proxy_connect(int fd[2], char *host);
++
++#endif
+-- 
+1.7.10
+
diff --git a/debian/diff/0006-daemon-make-host-resolution-into-a-separate-function.diff b/debian/diff/0006-daemon-make-host-resolution-into-a-separate-function.diff
new file mode 100644 (file)
index 0000000..dc1992c
--- /dev/null
@@ -0,0 +1,158 @@
+From 20d233bb44d7d21c8c76645900b49a8b5702474d Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Mon, 6 Jun 2011 04:38:45 -0500
+Subject: [PATCH 06/12] daemon: make host resolution into a separate function
+
+The locate_host() function looks up the IP address and canonical
+hostname of the host named by its argument.  If it succeeds,
+*ip_address and *canon_hostname are freed and replaced by the hosts'
+IP address and canonical hostname, respectively, as strings.  If it
+fails, *ip_address and *canon_hostname are left alone.
+
+The git daemon uses this functionality to support the %IP and %CH
+placeholders for its --interpolated-path feature.  Splitting it out as
+a separate function would make it easier to tweak, for example to
+unify the ipv6 and ipv4 code paths or to share code with other parts
+of git that make DNS queries.
+
+No functional change intended.
+
+Signed-off-by; Jonathan Nieder <jrnieder@gmail.com>
+---
+ daemon.c |  112 +++++++++++++++++++++++++++++++++++---------------------------
+ 1 file changed, 63 insertions(+), 49 deletions(-)
+
+diff --git a/daemon.c b/daemon.c
+index ab21e66..93356d6 100644
+--- a/daemon.c
++++ b/daemon.c
+@@ -441,6 +441,65 @@ static void parse_host_and_port(char *hostport, char **host,
+       }
+ }
++#ifndef NO_IPV6
++
++static void locate_host(const char *hostname, char **ip_address,
++                                              char **canon_hostname)
++{
++      struct addrinfo hints;
++      struct addrinfo *ai;
++      int gai;
++      static char addrbuf[HOST_NAME_MAX + 1];
++      struct sockaddr_in *sin_addr;
++
++      memset(&hints, 0, sizeof(hints));
++      hints.ai_flags = AI_CANONNAME;
++
++      gai = getaddrinfo(hostname, NULL, &hints, &ai);
++      if (gai)
++              return;
++
++      sin_addr = (void *)ai->ai_addr;
++      inet_ntop(AF_INET, &sin_addr->sin_addr, addrbuf, sizeof(addrbuf));
++      free(*ip_address);
++      *ip_address = xstrdup(addrbuf);
++
++      free(*canon_hostname);
++      *canon_hostname = xstrdup(ai->ai_canonname ?
++                                ai->ai_canonname : *ip_address);
++
++      freeaddrinfo(ai);
++}
++
++#else
++
++static void locate_host(const char *hostname, char **ip_address,
++                                              char **canon_hostname)
++{
++      struct hostent *hent;
++      struct sockaddr_in sa;
++      char **ap;
++      static char addrbuf[HOST_NAME_MAX + 1];
++
++      hent = gethostbyname(hostname);
++
++      ap = hent->h_addr_list;
++      memset(&sa, 0, sizeof sa);
++      sa.sin_family = hent->h_addrtype;
++      sa.sin_port = htons(0);
++      memcpy(&sa.sin_addr, *ap, hent->h_length);
++
++      inet_ntop(hent->h_addrtype, &sa.sin_addr,
++                addrbuf, sizeof(addrbuf));
++
++      free(*canon_hostname);
++      *canon_hostname = xstrdup(hent->h_name);
++      free(*ip_address);
++      *ip_address = xstrdup(addrbuf);
++}
++
++#endif
++
+ /*
+  * Read the host as supplied by the client connection.
+  */
+@@ -476,56 +535,11 @@ static void parse_host_arg(char *extra_args, int buflen)
+       }
+       /*
+-       * Locate canonical hostname and its IP address.
++       * Locate canonical hostname and its IP address,
++       * if possible.
+        */
+-      if (hostname) {
+-#ifndef NO_IPV6
+-              struct addrinfo hints;
+-              struct addrinfo *ai;
+-              int gai;
+-              static char addrbuf[HOST_NAME_MAX + 1];
+-
+-              memset(&hints, 0, sizeof(hints));
+-              hints.ai_flags = AI_CANONNAME;
+-
+-              gai = getaddrinfo(hostname, NULL, &hints, &ai);
+-              if (!gai) {
+-                      struct sockaddr_in *sin_addr = (void *)ai->ai_addr;
+-
+-                      inet_ntop(AF_INET, &sin_addr->sin_addr,
+-                                addrbuf, sizeof(addrbuf));
+-                      free(ip_address);
+-                      ip_address = xstrdup(addrbuf);
+-
+-                      free(canon_hostname);
+-                      canon_hostname = xstrdup(ai->ai_canonname ?
+-                                               ai->ai_canonname : ip_address);
+-
+-                      freeaddrinfo(ai);
+-              }
+-#else
+-              struct hostent *hent;
+-              struct sockaddr_in sa;
+-              char **ap;
+-              static char addrbuf[HOST_NAME_MAX + 1];
+-
+-              hent = gethostbyname(hostname);
+-
+-              ap = hent->h_addr_list;
+-              memset(&sa, 0, sizeof sa);
+-              sa.sin_family = hent->h_addrtype;
+-              sa.sin_port = htons(0);
+-              memcpy(&sa.sin_addr, *ap, hent->h_length);
+-
+-              inet_ntop(hent->h_addrtype, &sa.sin_addr,
+-                        addrbuf, sizeof(addrbuf));
+-
+-              free(canon_hostname);
+-              canon_hostname = xstrdup(hent->h_name);
+-              free(ip_address);
+-              ip_address = xstrdup(addrbuf);
+-#endif
+-      }
++      if (hostname)
++              locate_host(hostname, &ip_address, &canon_hostname);
+ }
+-- 
+1.7.10
+
diff --git a/debian/diff/0007-daemon-move-locate_host-to-tcp.c.diff b/debian/diff/0007-daemon-move-locate_host-to-tcp.c.diff
new file mode 100644 (file)
index 0000000..d655c80
--- /dev/null
@@ -0,0 +1,223 @@
+From 24a4b1328b9cd1dbeff6f17f0034fd432784dcc4 Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Mon, 6 Jun 2011 04:39:29 -0500
+Subject: [PATCH 07/12] daemon: move locate_host() to tcp.c
+
+Keep the different name resolution functions close together so they
+can learn from each other and perhaps share code in the future.
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ Makefile |    2 +-
+ daemon.c |   66 ++------------------------------------------------------------
+ tcp.c    |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ tcp.h    |    3 +++
+ 4 files changed, 63 insertions(+), 65 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index b06c60d..d321ad4 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2168,7 +2168,7 @@ builtin/prune.o builtin/reflog.o reachable.o: reachable.h
+ builtin/commit.o builtin/revert.o wt-status.o: wt-status.h
+ builtin/tar-tree.o archive-tar.o: tar.h
+ connect.o transport.o url.o http-backend.o: url.h
+-connect.o tcp.o: tcp.h
++connect.o daemon.o tcp.o: tcp.h
+ http-fetch.o http-walker.o remote-curl.o transport.o walker.o: walker.h
+ http.o http-walker.o http-push.o http-fetch.o remote-curl.o: http.h url.h
+diff --git a/daemon.c b/daemon.c
+index 93356d6..fe8883f 100644
+--- a/daemon.c
++++ b/daemon.c
+@@ -1,14 +1,11 @@
+ #include "cache.h"
+ #include "pkt-line.h"
++#include "tcp.h"
+ #include "exec_cmd.h"
+ #include "run-command.h"
+ #include "strbuf.h"
+ #include "string-list.h"
+-#ifndef HOST_NAME_MAX
+-#define HOST_NAME_MAX 256
+-#endif
+-
+ #ifndef NI_MAXSERV
+ #define NI_MAXSERV 32
+ #endif
+@@ -441,65 +438,6 @@ static void parse_host_and_port(char *hostport, char **host,
+       }
+ }
+-#ifndef NO_IPV6
+-
+-static void locate_host(const char *hostname, char **ip_address,
+-                                              char **canon_hostname)
+-{
+-      struct addrinfo hints;
+-      struct addrinfo *ai;
+-      int gai;
+-      static char addrbuf[HOST_NAME_MAX + 1];
+-      struct sockaddr_in *sin_addr;
+-
+-      memset(&hints, 0, sizeof(hints));
+-      hints.ai_flags = AI_CANONNAME;
+-
+-      gai = getaddrinfo(hostname, NULL, &hints, &ai);
+-      if (gai)
+-              return;
+-
+-      sin_addr = (void *)ai->ai_addr;
+-      inet_ntop(AF_INET, &sin_addr->sin_addr, addrbuf, sizeof(addrbuf));
+-      free(*ip_address);
+-      *ip_address = xstrdup(addrbuf);
+-
+-      free(*canon_hostname);
+-      *canon_hostname = xstrdup(ai->ai_canonname ?
+-                                ai->ai_canonname : *ip_address);
+-
+-      freeaddrinfo(ai);
+-}
+-
+-#else
+-
+-static void locate_host(const char *hostname, char **ip_address,
+-                                              char **canon_hostname)
+-{
+-      struct hostent *hent;
+-      struct sockaddr_in sa;
+-      char **ap;
+-      static char addrbuf[HOST_NAME_MAX + 1];
+-
+-      hent = gethostbyname(hostname);
+-
+-      ap = hent->h_addr_list;
+-      memset(&sa, 0, sizeof sa);
+-      sa.sin_family = hent->h_addrtype;
+-      sa.sin_port = htons(0);
+-      memcpy(&sa.sin_addr, *ap, hent->h_length);
+-
+-      inet_ntop(hent->h_addrtype, &sa.sin_addr,
+-                addrbuf, sizeof(addrbuf));
+-
+-      free(*canon_hostname);
+-      *canon_hostname = xstrdup(hent->h_name);
+-      free(*ip_address);
+-      *ip_address = xstrdup(addrbuf);
+-}
+-
+-#endif
+-
+ /*
+  * Read the host as supplied by the client connection.
+  */
+@@ -539,7 +477,7 @@ static void parse_host_arg(char *extra_args, int buflen)
+        * if possible.
+        */
+       if (hostname)
+-              locate_host(hostname, &ip_address, &canon_hostname);
++              git_locate_host(hostname, &ip_address, &canon_hostname);
+ }
+diff --git a/tcp.c b/tcp.c
+index f5e1ab3..9263e0d 100644
+--- a/tcp.c
++++ b/tcp.c
+@@ -1,6 +1,10 @@
+ #include "cache.h"
+ #include "run-command.h"
++#ifndef HOST_NAME_MAX
++#define HOST_NAME_MAX 256
++#endif
++
+ #define STR_(s)       # s
+ #define STR(s)        STR_(s)
+@@ -47,6 +51,34 @@ static const char *ai_name(const struct addrinfo *ai)
+       return addr;
+ }
++void git_locate_host(const char *hostname, char **ip_address,
++                                      char **canon_hostname)
++{
++      struct addrinfo hints;
++      struct addrinfo *ai;
++      int gai;
++      static char addrbuf[HOST_NAME_MAX + 1];
++      struct sockaddr_in *sin_addr;
++
++      memset(&hints, 0, sizeof(hints));
++      hints.ai_flags = AI_CANONNAME;
++
++      gai = getaddrinfo(hostname, NULL, &hints, &ai);
++      if (gai)
++              return;
++
++      sin_addr = (void *)ai->ai_addr;
++      inet_ntop(AF_INET, &sin_addr->sin_addr, addrbuf, sizeof(addrbuf));
++      free(*ip_address);
++      *ip_address = xstrdup(addrbuf);
++
++      free(*canon_hostname);
++      *canon_hostname = xstrdup(ai->ai_canonname ?
++                                ai->ai_canonname : *ip_address);
++
++      freeaddrinfo(ai);
++}
++
+ /*
+  * Returns a connected socket() fd, or else die()s.
+  */
+@@ -111,6 +143,31 @@ static int git_tcp_connect_sock(char *host, int flags)
+ #else /* NO_IPV6 */
++void git_locate_host(const char *hostname, char **ip_address,
++                                      char **canon_hostname)
++{
++      struct hostent *hent;
++      struct sockaddr_in sa;
++      char **ap;
++      static char addrbuf[HOST_NAME_MAX + 1];
++
++      hent = gethostbyname(hostname);
++
++      ap = hent->h_addr_list;
++      memset(&sa, 0, sizeof sa);
++      sa.sin_family = hent->h_addrtype;
++      sa.sin_port = htons(0);
++      memcpy(&sa.sin_addr, *ap, hent->h_length);
++
++      inet_ntop(hent->h_addrtype, &sa.sin_addr,
++                addrbuf, sizeof(addrbuf));
++
++      free(*canon_hostname);
++      *canon_hostname = xstrdup(hent->h_name);
++      free(*ip_address);
++      *ip_address = xstrdup(addrbuf);
++}
++
+ /*
+  * Returns a connected socket() fd, or else die()s.
+  */
+diff --git a/tcp.h b/tcp.h
+index 4de5f71..bed3cdc 100644
+--- a/tcp.h
++++ b/tcp.h
+@@ -1,6 +1,9 @@
+ #ifndef TCP_H
+ #define TCP_H
++extern void git_locate_host(const char *hostname,
++                      char **ip_address, char **canon_hostname);
++
+ extern int git_use_proxy(const char *host);
+ extern void git_tcp_connect(int fd[2], char *host, int flags);
+ extern struct child_process *git_proxy_connect(int fd[2], char *host);
+-- 
+1.7.10
+
diff --git a/debian/diff/0008-tcp-unify-ipv4-and-ipv6-code-paths.diff b/debian/diff/0008-tcp-unify-ipv4-and-ipv6-code-paths.diff
new file mode 100644 (file)
index 0000000..0f7e066
--- /dev/null
@@ -0,0 +1,574 @@
+From aea828f4cb26d3ddc4ff49308e8b33c09effc66f Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Mon, 6 Jun 2011 04:41:28 -0500
+Subject: [PATCH 08/12] tcp: unify ipv4 and ipv6 code paths
+
+In order to support old ipv4- and current mixed ipv4/ipv6 systems, git
+code that makes use of DNS facilities currently involves implementing
+each DNS-heavy block of code twice, once using the gethostbyname() API
+and again using getaddrinfo(), choosing between the two
+implementations with "#ifdef NO_IPV6".
+
+The result is that we maintain two variants that are supposed to
+accomplish the same thing of certain code paths:
+
+ - connection setup in core git (git_tcp_connect_sock)
+ - connection setup in git daemon
+ - %IP and %CH substitution in git daemon
+ - connection setup in git imap-send
+
+Any change to these procedures has to be made in both places, which
+makes enhancements and cleanups there more painful than necessary.
+
+Th new DNS API is meant to solve that by providing a thin abstraction
+on top of the usual DNS resolution interfaces that both
+gethostbyname()- and getaddrinfo()-centric interfaces and can easily
+implement.  Using this API means you do not have to implement your
+higher-level logic twice just because it uses DNS.
+
+API dictionary in the !NO_IPV6 case (see dns-ipv6.h and dns-ipv6.c for
+details):
+
+       resolver_result = struct addrinfo *
+       resolved_address = const struct addrinfo *
+       dns_resolve = getaddrinfo
+       for_each_address = for (ai0 = ai; ai; ai = ai->ai_next)
+
+       dns_family = ->ai_family
+       dns_socktype = ->ai_socktype
+       etc
+
+       dns_strerror = gai_strerror
+       dns_free = freeaddrinfo
+
+To make a lookup:
+
+       resolver_result ai;
+       dns_resolve(host, port, 0, &ai);
+       ...
+       dns_free(ai);
+
+To iterate over responses:
+
+       resolved_address i;
+       for_each_address(i, ai) {
+               ...
+       }
+
+Two functions in the API are a little strange and probably need more
+work: dns_name and dns_ip_address both return the IP address
+corresponding to a resolved address.  The former returns its result
+in a static buffer and is meant for use in error messages, while the
+latter returns its result in a malloc()ed buffer and is meant to
+support virtual hosting.
+
+This patch introduces the DNS API and translates git_locate_host() and
+git_tcp_connect_sock() to use it as an example.  No functional change
+intended.
+
+In the !NO_IPV6 codepath, the git_locate_host() function that is used
+to find the canonical IP and hostname for a git server's public
+address (for virtual hosting) tells getaddrinfo() to restrict
+attention to TCP services after this patch.  That should make no
+difference because the service parameter is NULL.
+
+The NO_IPV6 codepath assumes that h_errno is never 0 on error.
+POSIX.1-2004 does not specify whether 0 is a valid value for h_errno,
+but luckily common practice is for h_errno to be a strictly positive
+integer.  If gethostbyname() errors out with h_errno == 0 on some
+platform, die with a message indicating a BUG so the bad assumption
+can be corrected.
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+Improved-by: Erik Faye-Lund <kusmabite@gmail.com>
+---
+ Makefile   |    5 ++
+ dns-ipv4.c |   36 ++++++++++++
+ dns-ipv4.h |   74 ++++++++++++++++++++++++
+ dns-ipv6.c |   49 ++++++++++++++++
+ dns-ipv6.h |   32 +++++++++++
+ tcp.c      |  182 +++++++++++-------------------------------------------------
+ 6 files changed, 227 insertions(+), 151 deletions(-)
+ create mode 100644 dns-ipv4.c
+ create mode 100644 dns-ipv4.h
+ create mode 100644 dns-ipv6.c
+ create mode 100644 dns-ipv6.h
+
+diff --git a/Makefile b/Makefile
+index d321ad4..ea44b91 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1618,6 +1618,11 @@ ifdef NO_TRUSTABLE_FILEMODE
+ endif
+ ifdef NO_IPV6
+       BASIC_CFLAGS += -DNO_IPV6
++      LIB_OBJS += dns-ipv4.o
++      LIB_H += dns-ipv4.h
++else
++      LIB_OBJS += dns-ipv6.o
++      LIB_H += dns-ipv6.h
+ endif
+ ifdef NO_UINTMAX_T
+       BASIC_CFLAGS += -Duintmax_t=uint32_t
+diff --git a/dns-ipv4.c b/dns-ipv4.c
+new file mode 100644
+index 0000000..8820c9e
+--- /dev/null
++++ b/dns-ipv4.c
+@@ -0,0 +1,36 @@
++#include "cache.h"
++#include "dns-ipv4.h"
++
++int dns_resolve(const char *host, const char *port, int flags,
++              resolver_result *res)
++{
++      char *ep;
++      struct hostent *he;
++      unsigned int nport;
++
++      he = gethostbyname(host);
++      if (!he && (flags & RESOLVE_FAIL_QUIETLY)) {
++              if (!h_errno)
++                      die("BUG: gethostbyname failed but h_errno == 0");
++              return h_errno;
++      }
++      if (!he)
++              die("Unable to look up %s (%s)", host, hstrerror(h_errno));
++
++      if (!port) {
++              nport = 0;
++              goto done;
++      }
++      nport = strtoul(port, &ep, 10);
++      if ( ep == port || *ep ) {
++              /* Not numeric */
++              struct servent *se = getservbyname(port,"tcp");
++              if ( !se )
++                      die("Unknown port %s", port);
++              nport = se->s_port;
++      }
++done:
++      res->he = he;
++      res->port = nport;
++      return 0;
++}
+diff --git a/dns-ipv4.h b/dns-ipv4.h
+new file mode 100644
+index 0000000..c63558b
+--- /dev/null
++++ b/dns-ipv4.h
+@@ -0,0 +1,74 @@
++#ifndef DNS_IPV4_H
++#define DNS_IPV4_H
++
++#ifndef HOST_NAME_MAX
++#define HOST_NAME_MAX 256
++#endif
++
++struct ipv4_address {
++      char **ap;
++      struct sockaddr_in sa;
++};
++
++struct ipv4_addrinfo {
++      struct hostent *he;
++      unsigned int port;
++};
++
++typedef struct ipv4_addrinfo resolver_result;
++typedef struct ipv4_address resolved_address;
++
++enum {
++      RESOLVE_CANONNAME = 1,
++      /*
++       * Quietly return an error code instead of exiting on error.
++       * Callers can use dns_strerror() to get an error string.
++       */
++      RESOLVE_FAIL_QUIETLY = 2
++};
++extern int dns_resolve(const char *host, const char *port, int flags,
++                      resolver_result *res);
++
++static inline const char *dns_name(const resolved_address *addr)
++{
++      return inet_ntoa(*(struct in_addr *)&addr->sa.sin_addr);
++}
++
++static inline char *dns_ip_address(const resolved_address *addr,
++                                      const resolver_result *ai)
++{
++      char addrbuf[HOST_NAME_MAX + 1];
++      inet_ntop(ai->he->h_addrtype, &addr->sa.sin_addr,
++                addrbuf, sizeof(addrbuf));
++      return xstrdup(addrbuf);
++}
++
++static inline int dns_fill_sockaddr_(char *ap,
++              const struct ipv4_addrinfo *ai, struct sockaddr_in *sa)
++{
++      if (!ap)        /* done. */
++              return -1;
++
++      memset(sa, 0, sizeof(*sa));
++      sa->sin_family = ai->he->h_addrtype;
++      sa->sin_port = htons(ai->port);
++      memcpy(&sa->sin_addr, ap, ai->he->h_length);
++      return 0;
++}
++
++#define for_each_address(addr, ai) \
++      for ((addr).ap = (ai).he->h_addr_list; \
++           !dns_fill_sockaddr_(*(addr).ap, &(ai), &(addr).sa); \
++           (addr).ap++)
++
++#define dns_family(addr, ai) ((ai).he->h_addrtype)
++#define dns_socktype(addr, ai) SOCK_STREAM
++#define dns_protocol(addr, ai) 0
++#define dns_addr(addr, ai) ((struct sockaddr *) &(addr).sa)
++#define dns_addrlen(addr, ai) sizeof((addr).sa)
++#define dns_canonname(addr, ai) ((ai).he->h_name)
++
++#define dns_strerror(n) hstrerror(n)
++#define dns_free(ai) do { /* nothing */ } while (0)
++
++#endif
+diff --git a/dns-ipv6.c b/dns-ipv6.c
+new file mode 100644
+index 0000000..2129136
+--- /dev/null
++++ b/dns-ipv6.c
+@@ -0,0 +1,49 @@
++#include "cache.h"
++#include "dns-ipv6.h"
++
++#ifndef HOST_NAME_MAX
++#define HOST_NAME_MAX 256
++#endif
++
++const char *dns_name(const resolved_address *i)
++{
++      const struct addrinfo *ai = *i;
++      static char addr[NI_MAXHOST];
++      if (getnameinfo(ai->ai_addr, ai->ai_addrlen, addr, sizeof(addr), NULL, 0,
++                      NI_NUMERICHOST) != 0)
++              strcpy(addr, "(unknown)");
++
++      return addr;
++}
++
++char *dns_ip_address(const resolved_address *i, const resolver_result *ai0)
++{
++      const struct addrinfo *ai = *i;
++      char addrbuf[HOST_NAME_MAX + 1];
++      struct sockaddr_in *sin_addr;
++
++      sin_addr = (void *)ai->ai_addr;
++      inet_ntop(AF_INET, &sin_addr->sin_addr, addrbuf, sizeof(addrbuf));
++      return xstrdup(addrbuf);
++}
++
++int dns_resolve(const char *host, const char *port, int flags,
++              resolver_result *res)
++{
++      struct addrinfo hints;
++      int gai;
++
++      memset(&hints, 0, sizeof(hints));
++      if (flags & RESOLVE_CANONNAME)
++              hints.ai_flags = AI_CANONNAME;
++      hints.ai_socktype = SOCK_STREAM;
++      hints.ai_protocol = IPPROTO_TCP;
++
++      gai = getaddrinfo(host, port, &hints, res);
++      if (gai && (flags & RESOLVE_FAIL_QUIETLY))
++              return gai;
++      if (gai)
++              die("Unable to look up %s (port %s) (%s)", host, port, gai_strerror(gai));
++
++      return 0;
++}
+diff --git a/dns-ipv6.h b/dns-ipv6.h
+new file mode 100644
+index 0000000..4211c9e
+--- /dev/null
++++ b/dns-ipv6.h
+@@ -0,0 +1,32 @@
++#ifndef DNS_IPV6_H
++#define DNS_IPV6_H
++
++typedef struct addrinfo *resolver_result;
++typedef const struct addrinfo *resolved_address;
++
++enum {
++      RESOLVE_CANONNAME = 1,
++      RESOLVE_FAIL_QUIETLY = 2
++};
++extern int dns_resolve(const char *host, const char *port, int flags,
++                      resolver_result *res);
++/* result is in static buffer */
++extern const char *dns_name(const resolved_address *i);
++/* result is in malloc'ed buffer */
++extern char *dns_ip_address(const resolved_address *i,
++                              const resolver_result *ai);
++
++#define for_each_address(i, ai) \
++      for (i = ai; i; i = (i)->ai_next)
++
++#define dns_family(i, ai) ((i)->ai_family)
++#define dns_socktype(i, ai) ((i)->ai_socktype)
++#define dns_protocol(i, ai) ((i)->ai_protocol)
++#define dns_addr(i, ai) ((i)->ai_addr)
++#define dns_addrlen(i, ai) ((i)->ai_addrlen)
++#define dns_canonname(i, ai) ((i)->ai_canonname)
++
++#define dns_strerror(gai) gai_strerror(gai)
++#define dns_free(ai) freeaddrinfo(ai)
++
++#endif
+diff --git a/tcp.c b/tcp.c
+index 9263e0d..4239daf 100644
+--- a/tcp.c
++++ b/tcp.c
+@@ -1,8 +1,10 @@
+ #include "cache.h"
+ #include "run-command.h"
+-#ifndef HOST_NAME_MAX
+-#define HOST_NAME_MAX 256
++#ifndef NO_IPV6
++#include "dns-ipv6.h"
++#else
++#include "dns-ipv4.h"
+ #endif
+ #define STR_(s)       # s
+@@ -39,44 +41,27 @@ static void enable_keepalive(int sockfd)
+                       strerror(errno));
+ }
+-#ifndef NO_IPV6
+-
+-static const char *ai_name(const struct addrinfo *ai)
+-{
+-      static char addr[NI_MAXHOST];
+-      if (getnameinfo(ai->ai_addr, ai->ai_addrlen, addr, sizeof(addr), NULL, 0,
+-                      NI_NUMERICHOST) != 0)
+-              strcpy(addr, "(unknown)");
+-
+-      return addr;
+-}
+-
+ void git_locate_host(const char *hostname, char **ip_address,
+                                       char **canon_hostname)
+ {
+-      struct addrinfo hints;
+-      struct addrinfo *ai;
+-      int gai;
+-      static char addrbuf[HOST_NAME_MAX + 1];
+-      struct sockaddr_in *sin_addr;
+-
+-      memset(&hints, 0, sizeof(hints));
+-      hints.ai_flags = AI_CANONNAME;
++      resolver_result ai;
++      resolved_address i;
+-      gai = getaddrinfo(hostname, NULL, &hints, &ai);
+-      if (gai)
++      if (dns_resolve(hostname, NULL,
++                      RESOLVE_CANONNAME | RESOLVE_FAIL_QUIETLY, &ai))
+               return;
+-      sin_addr = (void *)ai->ai_addr;
+-      inet_ntop(AF_INET, &sin_addr->sin_addr, addrbuf, sizeof(addrbuf));
+-      free(*ip_address);
+-      *ip_address = xstrdup(addrbuf);
++      for_each_address(i, ai) {
++              free(*ip_address);
++              *ip_address = dns_ip_address(&i, &ai);
+-      free(*canon_hostname);
+-      *canon_hostname = xstrdup(ai->ai_canonname ?
+-                                ai->ai_canonname : *ip_address);
++              free(*canon_hostname);
++              *canon_hostname = xstrdup(dns_canonname(i, ai) ?
++                                      dns_canonname(i, ai) : *ip_address);
++              break;
++      }
+-      freeaddrinfo(ai);
++      dns_free(ai);
+ }
+ /*
+@@ -87,46 +72,42 @@ static int git_tcp_connect_sock(char *host, int flags)
+       struct strbuf error_message = STRBUF_INIT;
+       int sockfd = -1;
+       const char *port = STR(DEFAULT_GIT_PORT);
+-      struct addrinfo hints, *ai0, *ai;
+-      int gai;
+-      int cnt = 0;
++      resolver_result ai;
++      resolved_address i;
++      int cnt = -1;
+       get_host_and_port(&host, &port);
+       if (!*port)
+               port = "<none>";
+-      memset(&hints, 0, sizeof(hints));
+-      hints.ai_socktype = SOCK_STREAM;
+-      hints.ai_protocol = IPPROTO_TCP;
+-
+       if (flags & CONNECT_VERBOSE)
+               fprintf(stderr, "Looking up %s ... ", host);
+-      gai = getaddrinfo(host, port, &hints, &ai);
+-      if (gai)
+-              die("Unable to look up %s (port %s) (%s)", host, port, gai_strerror(gai));
++      if (dns_resolve(host, port, 0, &ai))
++              die("BUG: dns_resolve returned error?");
+       if (flags & CONNECT_VERBOSE)
+               fprintf(stderr, "done.\nConnecting to %s (port %s) ... ", host, port);
+-      for (ai0 = ai; ai; ai = ai->ai_next, cnt++) {
+-              sockfd = socket(ai->ai_family,
+-                              ai->ai_socktype, ai->ai_protocol);
+-              if ((sockfd < 0) ||
+-                  (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0)) {
++      for_each_address(i, ai) {
++              cnt++;
++              sockfd = socket(dns_family(i, ai),
++                              dns_socktype(i, ai), dns_protocol(i, ai));
++              if (sockfd < 0 ||
++                  connect(sockfd, dns_addr(i, ai), dns_addrlen(i, ai)) < 0) {
+                       strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n",
+-                                  host, cnt, ai_name(ai), strerror(errno));
++                                  host, cnt, dns_name(&i), strerror(errno));
+                       if (0 <= sockfd)
+                               close(sockfd);
+                       sockfd = -1;
+                       continue;
+               }
+               if (flags & CONNECT_VERBOSE)
+-                      fprintf(stderr, "%s ", ai_name(ai));
++                      fprintf(stderr, "%s ", dns_name(&i));
+               break;
+       }
+-      freeaddrinfo(ai0);
++      dns_free(ai);
+       if (sockfd < 0)
+               die("unable to connect to %s:\n%s", host, error_message.buf);
+@@ -141,107 +122,6 @@ static int git_tcp_connect_sock(char *host, int flags)
+       return sockfd;
+ }
+-#else /* NO_IPV6 */
+-
+-void git_locate_host(const char *hostname, char **ip_address,
+-                                      char **canon_hostname)
+-{
+-      struct hostent *hent;
+-      struct sockaddr_in sa;
+-      char **ap;
+-      static char addrbuf[HOST_NAME_MAX + 1];
+-
+-      hent = gethostbyname(hostname);
+-
+-      ap = hent->h_addr_list;
+-      memset(&sa, 0, sizeof sa);
+-      sa.sin_family = hent->h_addrtype;
+-      sa.sin_port = htons(0);
+-      memcpy(&sa.sin_addr, *ap, hent->h_length);
+-
+-      inet_ntop(hent->h_addrtype, &sa.sin_addr,
+-                addrbuf, sizeof(addrbuf));
+-
+-      free(*canon_hostname);
+-      *canon_hostname = xstrdup(hent->h_name);
+-      free(*ip_address);
+-      *ip_address = xstrdup(addrbuf);
+-}
+-
+-/*
+- * Returns a connected socket() fd, or else die()s.
+- */
+-static int git_tcp_connect_sock(char *host, int flags)
+-{
+-      struct strbuf error_message = STRBUF_INIT;
+-      int sockfd = -1;
+-      const char *port = STR(DEFAULT_GIT_PORT);
+-      char *ep;
+-      struct hostent *he;
+-      struct sockaddr_in sa;
+-      char **ap;
+-      unsigned int nport;
+-      int cnt;
+-
+-      get_host_and_port(&host, &port);
+-
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "Looking up %s ... ", host);
+-
+-      he = gethostbyname(host);
+-      if (!he)
+-              die("Unable to look up %s (%s)", host, hstrerror(h_errno));
+-      nport = strtoul(port, &ep, 10);
+-      if ( ep == port || *ep ) {
+-              /* Not numeric */
+-              struct servent *se = getservbyname(port,"tcp");
+-              if ( !se )
+-                      die("Unknown port %s", port);
+-              nport = se->s_port;
+-      }
+-
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "done.\nConnecting to %s (port %s) ... ", host, port);
+-
+-      for (cnt = 0, ap = he->h_addr_list; *ap; ap++, cnt++) {
+-              memset(&sa, 0, sizeof sa);
+-              sa.sin_family = he->h_addrtype;
+-              sa.sin_port = htons(nport);
+-              memcpy(&sa.sin_addr, *ap, he->h_length);
+-
+-              sockfd = socket(he->h_addrtype, SOCK_STREAM, 0);
+-              if ((sockfd < 0) ||
+-                  connect(sockfd, (struct sockaddr *)&sa, sizeof sa) < 0) {
+-                      strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n",
+-                              host,
+-                              cnt,
+-                              inet_ntoa(*(struct in_addr *)&sa.sin_addr),
+-                              strerror(errno));
+-                      if (0 <= sockfd)
+-                              close(sockfd);
+-                      sockfd = -1;
+-                      continue;
+-              }
+-              if (flags & CONNECT_VERBOSE)
+-                      fprintf(stderr, "%s ",
+-                              inet_ntoa(*(struct in_addr *)&sa.sin_addr));
+-              break;
+-      }
+-
+-      if (sockfd < 0)
+-              die("unable to connect to %s:\n%s", host, error_message.buf);
+-
+-      enable_keepalive(sockfd);
+-
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "done.\n");
+-
+-      return sockfd;
+-}
+-
+-#endif /* NO_IPV6 */
+-
+-
+ void git_tcp_connect(int fd[2], char *host, int flags)
+ {
+       int sockfd = git_tcp_connect_sock(host, flags);
+-- 
+1.7.10
+
diff --git a/debian/diff/0009-daemon-check-for-errors-retrieving-IP-address.diff b/debian/diff/0009-daemon-check-for-errors-retrieving-IP-address.diff
new file mode 100644 (file)
index 0000000..643510a
--- /dev/null
@@ -0,0 +1,121 @@
+From 0c968436ec848d6b88e9c508ad17d52868a4f064 Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Fri, 17 Jun 2011 05:26:05 -0500
+Subject: [PATCH 09/12] daemon: check for errors retrieving IP address
+
+To retrieve a canonical IP address for possible use in a
+--interpolated-path=%IP string, the git daemon calls inet_ntop to fill
+a buffer of size HOST_NAME_MAX+1, ignoring errors, and copies the
+result.  If the address has length > HOST_NAME_MAX (which was as low
+as 8 in ancient times) then inet_ntop could error out, leading the git
+daemon to copy uninitialized data.
+
+This probably never happens in practice because modern systems allow
+such long hostnames as 64 chars (POSIX requires at least 255) or have
+no compile-time maximum at all and let git fall back to a buffer size
+of 256.  But it is more comforting not to rely on that.  So:
+
+ - in "ipv4" code, which uses inet_ntop, use a buffer size of 64 (long
+   enough to hold an ipv6 address if needed).
+
+ - in ipv6 code, use the "getnameinfo" function that is already being
+   used to convert addresses to text in error messages.  It uses a
+   buffer of length NI_MAXHOST.
+
+ - check for errors and make dns_ip_address() and git_locate_host()
+   return NULL when they occur.  strbuf_expand_dict_cb treats NULL as
+   an empty substitution string.
+
+As a nice side effect, the fallback definition of HOST_NAME_MAX for
+platforms that don't define it is no longer needed.
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ dns-ipv4.h |   11 +++++------
+ dns-ipv6.c |   16 ++++++++--------
+ tcp.c      |    6 ++++--
+ 3 files changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/dns-ipv4.h b/dns-ipv4.h
+index c63558b..6f70d63 100644
+--- a/dns-ipv4.h
++++ b/dns-ipv4.h
+@@ -1,9 +1,7 @@
+ #ifndef DNS_IPV4_H
+ #define DNS_IPV4_H
+-#ifndef HOST_NAME_MAX
+-#define HOST_NAME_MAX 256
+-#endif
++#define ADDRBUFLEN 64 /* 46 for an ipv6 address, plus a little extra */
+ struct ipv4_address {
+       char **ap;
+@@ -37,9 +35,10 @@ static inline const char *dns_name(const resolved_address *addr)
+ static inline char *dns_ip_address(const resolved_address *addr,
+                                       const resolver_result *ai)
+ {
+-      char addrbuf[HOST_NAME_MAX + 1];
+-      inet_ntop(ai->he->h_addrtype, &addr->sa.sin_addr,
+-                addrbuf, sizeof(addrbuf));
++      char addrbuf[ADDRBUFLEN];
++      if (!inet_ntop(ai->he->h_addrtype, &addr->sa.sin_addr,
++                addrbuf, sizeof(addrbuf)))
++              return NULL;
+       return xstrdup(addrbuf);
+ }
+diff --git a/dns-ipv6.c b/dns-ipv6.c
+index 2129136..0b0e060 100644
+--- a/dns-ipv6.c
++++ b/dns-ipv6.c
+@@ -1,8 +1,9 @@
+ #include "cache.h"
+ #include "dns-ipv6.h"
+-#ifndef HOST_NAME_MAX
+-#define HOST_NAME_MAX 256
++/* from RFC 2553 */
++#ifndef NI_MAXHOST
++#define NI_MAXHOST 1025
+ #endif
+ const char *dns_name(const resolved_address *i)
+@@ -19,12 +20,11 @@ const char *dns_name(const resolved_address *i)
+ char *dns_ip_address(const resolved_address *i, const resolver_result *ai0)
+ {
+       const struct addrinfo *ai = *i;
+-      char addrbuf[HOST_NAME_MAX + 1];
+-      struct sockaddr_in *sin_addr;
+-
+-      sin_addr = (void *)ai->ai_addr;
+-      inet_ntop(AF_INET, &sin_addr->sin_addr, addrbuf, sizeof(addrbuf));
+-      return xstrdup(addrbuf);
++      char addr[NI_MAXHOST];
++      if (getnameinfo(ai->ai_addr, ai->ai_addrlen, addr, sizeof(addr),
++                      NULL, 0, NI_NUMERICHOST))
++              return NULL;
++      return xstrdup(addr);
+ }
+ int dns_resolve(const char *host, const char *port, int flags,
+diff --git a/tcp.c b/tcp.c
+index 4239daf..83f0313 100644
+--- a/tcp.c
++++ b/tcp.c
+@@ -56,8 +56,10 @@ void git_locate_host(const char *hostname, char **ip_address,
+               *ip_address = dns_ip_address(&i, &ai);
+               free(*canon_hostname);
+-              *canon_hostname = xstrdup(dns_canonname(i, ai) ?
+-                                      dns_canonname(i, ai) : *ip_address);
++              *canon_hostname =
++                      dns_canonname(i, ai) ? xstrdup(dns_canonname(i, ai)) :
++                      *ip_address ? xstrdup(*ip_address) :
++                      NULL;
+               break;
+       }
+-- 
+1.7.10
+
diff --git a/debian/diff/0010-transport-optionally-honor-DNS-SRV-records.diff b/debian/diff/0010-transport-optionally-honor-DNS-SRV-records.diff
new file mode 100644 (file)
index 0000000..38109d0
--- /dev/null
@@ -0,0 +1,586 @@
+From 45fc5a20d12c748c4577a6b6edcd362a00eeec6f Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Mon, 6 Jun 2011 04:46:20 -0500
+Subject: [PATCH 10/12] transport: optionally honor DNS SRV records
+
+SRV records are an extra layer of indirection on top of A/AAAA records
+mapping from domain names and service types to the hostnames of
+machines that offer that service.  That has a couple of nice effects:
+
+ - a single domain can use different hosts for different services
+ - a single domain can use multiple hosts for one service
+
+Teach git to perform a SRV lookup whenever resolving a git:// URL.
+This means:
+
+ - if your git server was previously the same machine as your wesnoth
+   server, you can move it to a separate machine without forcing
+   everyone to update their links to the old URLs
+
+ - if you have a primary git server and a backup machine that should
+   be used when the primary server goes down, the client can
+   automatically take care of it
+
+ - if you have multiple git servers and would like to spread load
+   between them, the client can automatically take care of it
+
+That is, SRV records let us ask the client to carry out various tasks
+that would require a proxy on the server side with traditional DNS.
+The client performs a SRV query to _git._tcp.<domain name> to receive
+its instructions.  RFC 2782 has details.
+
+Ideally reaping these benefits would just involve passing a special
+flag to getaddrinfo().  Since we don't live in such a world, this
+patch uses the BIND 8 API provided by libresolv to parse the response
+for ourselves.
+
+RFC 2782 requires some non-determinism in the order of hosts
+contacted; this patch uses drand48() for that.  To avoid causing
+trouble for platforms that lack the libbind ns_* functions or
+drand48(), the SRV support is only provided when requested by setting
+the USE_SRV_RR compile-time option.
+
+git servers must ensure that they can also be reached by a plain
+A/AAAA lookup to support git clients without SRV support, for example
+by proxying connections to an appropriate server:
+
+       # in inetd.conf
+       git stream tcp nowait.400 nobody /usr/sbin/tcpd \
+               /bin/nc -q0 gitserver.example.com git
+
+Based on a patch by Julien Cristau <jcristau@debian.org>.
+
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ Makefile |   10 ++
+ srv.c    |  321 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ srv.h    |   15 +++
+ tcp.c    |  100 ++++++++++++++------
+ 4 files changed, 418 insertions(+), 28 deletions(-)
+ create mode 100644 srv.c
+ create mode 100644 srv.h
+
+diff --git a/Makefile b/Makefile
+index ea44b91..51b8e48 100644
+--- a/Makefile
++++ b/Makefile
+@@ -151,6 +151,10 @@ all::
+ # Notably on Solaris hstrerror resides in libresolv and on Solaris 7
+ # inet_ntop and inet_pton additionally reside there.
+ #
++# Define USE_SRV_RR if you want git to pay attention to SRV resource records
++# when looking up servers to contact over git protocol.  This implies
++# NEEDS_RESOLV.
++#
+ # Define NO_MMAP if you want to avoid mmap.
+ #
+ # Define NO_PTHREADS if you do not have or do not want to use Pthreads.
+@@ -1495,6 +1499,11 @@ endif
+ ifdef NEEDS_NSL
+       EXTLIBS += -lnsl
+ endif
++ifdef USE_SRV_RR
++      BASIC_CFLAGS += -DUSE_SRV_RR
++      LIB_OBJS += srv.o
++      NEEDS_RESOLV = YesPlease
++endif
+ ifdef NEEDS_RESOLV
+       EXTLIBS += -lresolv
+ endif
+@@ -2174,6 +2183,7 @@ builtin/commit.o builtin/revert.o wt-status.o: wt-status.h
+ builtin/tar-tree.o archive-tar.o: tar.h
+ connect.o transport.o url.o http-backend.o: url.h
+ connect.o daemon.o tcp.o: tcp.h
++tcp.o srv.o: srv.h
+ http-fetch.o http-walker.o remote-curl.o transport.o walker.o: walker.h
+ http.o http-walker.o http-push.o http-fetch.o remote-curl.o: http.h url.h
+diff --git a/srv.c b/srv.c
+new file mode 100644
+index 0000000..2716206
+--- /dev/null
++++ b/srv.c
+@@ -0,0 +1,321 @@
++#include "git-compat-util.h"
++#include "strbuf.h"
++#include "srv.h"
++
++#include <arpa/nameser.h>
++#include <resolv.h>
++
++struct parsed_srv_rr {
++      int priority;
++      int weight;
++      int port;
++      char *target;
++};
++
++static void srv_swap(struct parsed_srv_rr *p1, struct parsed_srv_rr *p2)
++{
++      char *a, *b;
++      int size = sizeof(struct parsed_srv_rr);
++
++      for (a = (char *) p1, b = (char *) p2; size; size--) {
++              char t = *a;
++              *a++ = *b;
++              *b++ = t;
++      }
++}
++
++static int priority_compare(const void *p1, const void *p2)
++{
++      const struct parsed_srv_rr *a = p1, *b = p2;
++
++      /* can't overflow because priorities are 16 bits wide */
++      return b->priority - a->priority;
++}
++
++static int get_qname_for_srv(struct strbuf *sb, const char *host)
++{
++      const char prefix[] = "_git._tcp.";
++      size_t hostlen;
++
++      hostlen = strlen(host);
++      if (unsigned_add_overflows(strlen(prefix) + 1, hostlen))
++              return error("absurdly long hostname");
++
++      strbuf_reset(sb);
++      strbuf_grow(sb, strlen(prefix) + hostlen);
++      strbuf_add(sb, prefix, strlen(prefix));
++      strbuf_add(sb, host, hostlen);
++      return 0;
++}
++
++static int srv_parse_rr(const ns_msg *msg,
++                      const ns_rr *rr, struct parsed_srv_rr *res)
++{
++      const unsigned char *p;
++      char buf[1024];
++
++      if (ns_rr_rdlen(*rr) < 2+2+2 /* priority, weight, port */)
++              return error("SRV RR is too short");
++
++      p = ns_rr_rdata(*rr);
++      res->priority = *p++ << CHAR_BIT;
++      res->priority += *p++;
++
++      res->weight = *p++ << CHAR_BIT;
++      res->weight += *p++;
++
++      res->port = *p++ << CHAR_BIT;
++      res->port += *p++;
++
++      /*
++       * RFC2782 doesn't allow compressed target domain names but we
++       * might as well accept them anyway.
++       */
++      if (dn_expand(ns_msg_base(*msg), ns_msg_end(*msg), p,
++                      buf, sizeof(buf)) < 0)
++              return error("cannot expand target domain name in SRV RR");
++
++      res->target = xstrdup(buf);
++      return 0;
++}
++
++static int srv_parse(ns_msg *msg, struct parsed_srv_rr **res)
++{
++      struct parsed_srv_rr *rrs = NULL;
++      int nr_parsed = 0;
++      int cnames = 0;
++      int i, n;
++
++      n = ns_msg_count(*msg, ns_s_an);
++
++      /* skip CNAME records */
++      for (i = 0; i < n; i++) {
++              ns_rr rr;
++              if (ns_parserr(msg, ns_s_an, i, &rr)) {
++                      error("cannot parse DNS RR: %s", strerror(errno));
++                      goto fail;
++              }
++              if (ns_rr_type(rr) != ns_t_cname)
++                      break;
++      }
++      cnames = i;
++      n -= cnames;
++
++      rrs = xmalloc(n * sizeof(*rrs));
++      for (i = 0; i < n; i++) {
++              ns_rr rr;
++
++              if (ns_parserr(msg, ns_s_an, cnames + i, &rr)) {
++                      error("cannot parse DNS RR: %s", strerror(errno));
++                      goto fail;
++              }
++              if (ns_rr_type(rr) != ns_t_srv) {
++                      error("expected SRV RR, found RR type %d",
++                                              (int) ns_rr_type(rr));
++                      goto fail;
++              }
++              if (srv_parse_rr(msg, &rr, rrs + i))
++                      /* srv_parse_rr writes a message */
++                      goto fail;
++              nr_parsed++;
++      }
++
++      *res = rrs;
++      return n;
++fail:
++      for (i = 0; i < nr_parsed; i++)
++              free(rrs[i].target);
++      free(rrs);
++      return -1;
++}
++
++static int weighted_item(struct parsed_srv_rr *rrs, int n, unsigned int pos)
++{
++      int i;
++
++      for (i = 0; i < n; i++) {
++              unsigned int wt = rrs[i].weight;
++
++              if (pos <= wt)
++                      break;
++              pos -= wt;
++      }
++      return i;
++}
++
++static void shuffle_one(struct parsed_srv_rr *rrs, int n,
++                              int i, int *j, unsigned int *wt_remaining)
++{
++      unsigned int pos;
++      int k;
++
++      pos = (unsigned int) ((*wt_remaining + 1) * drand48());
++
++      if (!pos) {
++              *wt_remaining -= rrs[i].weight;
++              return;
++      }
++
++      /* Which item will take the place of rrs[i]? */
++      if (*j < i)
++              *j = i;
++      k = *j + weighted_item(rrs + *j, n - *j, pos);
++
++      assert(k < n);
++      *wt_remaining -= rrs[k].weight;
++
++      if (k == i)
++              return;
++
++      srv_swap(rrs + i, rrs + k);
++
++      /*
++       * If rrs[i] had weight zero, move it to stay in the clump
++       * of weight-zero records.  rrs[k] cannot have had weight
++       * zero because pos > 0.
++       */
++      assert(*j <= k);
++      if (i < *j) {
++              srv_swap(rrs + k, rrs + *j);
++              (*j)++;
++      }
++}
++
++static void weighted_shuffle(struct parsed_srv_rr *rrs, int n)
++{
++      int i, j;
++      unsigned int total = 0;
++      static int seeded;
++
++      /*
++       * Calculate total weight and move weight-zero
++       * records to the beginning of the array.
++       */
++      assert(n < (1 << 16));
++      for (i = j = 0; i < n; i++) {
++              unsigned int wt = rrs[i].weight;
++              assert(wt < (1 << 16));
++
++              if (!wt) {
++                      srv_swap(rrs + i, rrs + j);
++                      j++;
++              }
++
++              /*
++               * In the worst case, n is 2^16 - 1 and
++               * each weight is 2^16 - 1, making the total
++               * a little less than 2^32.
++               */
++              assert(!unsigned_add_overflows(total, wt + 1));
++              total += wt;
++      }
++      /* Usual case: all weights are zero. */
++      if (!total)
++              return;
++
++      if (!seeded) {
++              seeded = 1;
++              srand48(time(NULL));
++      }
++
++      for (i = 0; i < n; i++)
++              /*
++               * Now the records starting at rrs[i] could be in any order,
++               * except those of weight 0 are at the start of the list
++               * (ending with rrs[j-1]).
++               *
++               * Pick an item from rrs[i]..rrs[n] at random, taking weights
++               * into account, and reorder to make it rrs[i], preserving
++               * that invariant.
++               */
++              shuffle_one(rrs, n, i, &j, &total);
++}
++
++static void sort_rrs(struct parsed_srv_rr *rrs, int n)
++{
++      int i, j, prio;
++
++      qsort(rrs, n, sizeof(*rrs), priority_compare);
++
++      /*
++       * Within each priority level, order servers randomly,
++       * respecting weight.
++       */
++      j = 0;
++      prio = rrs[j].priority;
++      for (i = 0; i < n; i++) {
++              if (rrs[i].priority == prio)
++                      continue;
++
++              weighted_shuffle(rrs + j, i - j);
++              j = i;
++              prio = rrs[j].priority;
++      }
++      weighted_shuffle(rrs + j, n - j);
++}
++
++/* Reference: RFC2782. */
++int get_srv(const char *host, struct host **hosts)
++{
++      struct strbuf sb = STRBUF_INIT;
++      unsigned char buf[1024];
++      ns_msg msg;
++      int len, n, i, ret;
++      struct parsed_srv_rr *rrs = NULL;
++      struct host *reply = NULL;
++
++      /* if no SRV record is found, fall back to plain address lookup */
++      ret = 0;
++
++      /* _git._tcp.<host> */
++      if (get_qname_for_srv(&sb, host))
++              goto out;
++      len = res_query(sb.buf, ns_c_in, ns_t_srv, buf, sizeof(buf));
++      if (len < 0)
++              goto out;
++
++      /* If a SRV RR cannot be parsed, give up. */
++      ret = -1;
++
++      if (ns_initparse(buf, len, &msg)) {
++              error("cannot initialize DNS parser: %s", strerror(errno));
++              goto out;
++      }
++      n = srv_parse(&msg, &rrs);
++      if (n < 0)
++              /* srv_parse writes a message */
++              goto out;
++      if (!n) {
++              ret = 0;
++              goto out;
++      }
++      assert(n < (1 << 16));
++
++      /* A single RR with target "." means "go away". */
++      if (n == 1 &&
++          (!*rrs[0].target || !strcmp(rrs[0].target, ".")))
++              goto out2;
++
++      sort_rrs(rrs, n);
++
++      /* Success! */
++      ret = n;
++      reply = xmalloc(n * sizeof(*reply));
++      for (i = 0; i < n; i++) {
++              char buf[32];
++              snprintf(buf, sizeof(buf), "%d", rrs[i].port);
++
++              reply[i].hostname = rrs[i].target;
++              reply[i].port = xstrdup(buf);
++      }
++      *hosts = reply;
++      goto out;
++
++out2:
++      for (i = 0; i < n; i++)
++              free(rrs[i].target);
++out:
++      free(rrs);
++      strbuf_release(&sb);
++      return ret;
++}
+diff --git a/srv.h b/srv.h
+new file mode 100644
+index 0000000..7cea4f4
+--- /dev/null
++++ b/srv.h
+@@ -0,0 +1,15 @@
++#ifndef SRV_H
++#define SRV_H
++
++struct host {
++      char *hostname;
++      char *port;
++};
++
++#ifndef USE_SRV_RR
++#define get_srv(host, hosts) 0
++#else
++extern int get_srv(const char *host, struct host **hosts);
++#endif
++
++#endif
+diff --git a/tcp.c b/tcp.c
+index 83f0313..c27a0d7 100644
+--- a/tcp.c
++++ b/tcp.c
+@@ -1,5 +1,6 @@
+ #include "cache.h"
+ #include "run-command.h"
++#include "srv.h"
+ #ifndef NO_IPV6
+ #include "dns-ipv6.h"
+@@ -72,46 +73,85 @@ void git_locate_host(const char *hostname, char **ip_address,
+ static int git_tcp_connect_sock(char *host, int flags)
+ {
+       struct strbuf error_message = STRBUF_INIT;
+-      int sockfd = -1;
+-      const char *port = STR(DEFAULT_GIT_PORT);
+-      resolver_result ai;
+-      resolved_address i;
+-      int cnt = -1;
++      int sockfd = -1, gai = 0;
++      const char *port = NULL;
++      struct host *hosts = NULL;
++      int j, n = 0;
+       get_host_and_port(&host, &port);
++      if (!port) {
++              port = STR(DEFAULT_GIT_PORT);
++              n = get_srv(host, &hosts);
++      }
++      if (n < 0)
++              die("Unable to look up %s", host);
+       if (!*port)
+               port = "<none>";
++      if (!n) {
++              hosts = xmalloc(sizeof(*hosts));
++              hosts[0].hostname = xstrdup(host);
++              hosts[0].port = xstrdup(port);
++              n = 1;
++      }
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "Looking up %s ... ", host);
++      for (j = 0; j < n; j++) {
++              resolver_result ai;
++              resolved_address i;
++              int cnt;
+-      if (dns_resolve(host, port, 0, &ai))
+-              die("BUG: dns_resolve returned error?");
++              if (flags & CONNECT_VERBOSE)
++                      fprintf(stderr, "Looking up %s ... ", hosts[j].hostname);
+-      if (flags & CONNECT_VERBOSE)
+-              fprintf(stderr, "done.\nConnecting to %s (port %s) ... ", host, port);
++              gai = dns_resolve(hosts[j].hostname,
++                              hosts[j].port, RESOLVE_FAIL_QUIETLY, &ai);
++              if (gai) {
++                      if (flags & CONNECT_VERBOSE)
++                              fprintf(stderr, "failed.\n");
+-      for_each_address(i, ai) {
+-              cnt++;
+-              sockfd = socket(dns_family(i, ai),
+-                              dns_socktype(i, ai), dns_protocol(i, ai));
+-              if (sockfd < 0 ||
+-                  connect(sockfd, dns_addr(i, ai), dns_addrlen(i, ai)) < 0) {
+-                      strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n",
+-                                  host, cnt, dns_name(&i), strerror(errno));
+-                      if (0 <= sockfd)
+-                              close(sockfd);
+-                      sockfd = -1;
++                      if (n == 1 && !strcmp(host, hosts[j].hostname))
++                              strbuf_addf(&error_message, "%s: %s\n",
++                                      host, dns_strerror(gai));
++                      else
++                              strbuf_addf(&error_message,
++                                      "%s[%d: %s:%s]: %s\n", host, j,
++                                      hosts[j].hostname, hosts[j].port,
++                                      dns_strerror(gai));
+                       continue;
+               }
++
+               if (flags & CONNECT_VERBOSE)
+-                      fprintf(stderr, "%s ", dns_name(&i));
+-              break;
+-      }
++                      fprintf(stderr, "done.\nConnecting to %s (port %s) ... ",
++                                      hosts[j].hostname, hosts[j].port);
++
++              cnt = -1;
++              for_each_address(i, ai) {
++                      cnt++;
++                      sockfd = socket(dns_family(i, ai),
++                                      dns_socktype(i, ai), dns_protocol(i, ai));
++                      if (sockfd < 0 ||
++                          connect(sockfd, dns_addr(i, ai), dns_addrlen(i, ai)) < 0) {
++                              strbuf_addf(&error_message, "%s[%d: %s]: errno=%s\n",
++                                              hosts[j].hostname,
++                                              cnt,
++                                              dns_name(&i),
++                                              strerror(errno));
++                              if (0 <= sockfd)
++                                      close(sockfd);
++                              sockfd = -1;
++                              continue;
++                      }
++                      if (flags & CONNECT_VERBOSE)
++                              fprintf(stderr, "%s ", dns_name(&i));
++                      break;
++              }
+-      dns_free(ai);
++              dns_free(ai);
+-      if (sockfd < 0)
++              if (sockfd >= 0)
++                      break;
++      }
++
++      if (gai || sockfd < 0)
+               die("unable to connect to %s:\n%s", host, error_message.buf);
+       enable_keepalive(sockfd);
+@@ -119,8 +159,12 @@ static int git_tcp_connect_sock(char *host, int flags)
+       if (flags & CONNECT_VERBOSE)
+               fprintf(stderr, "done.\n");
++      for (j = 0; j < n; j++) {
++              free(hosts[j].hostname);
++              free(hosts[j].port);
++      }
++      free(hosts);
+       strbuf_release(&error_message);
+-
+       return sockfd;
+ }
+-- 
+1.7.10
+
diff --git a/debian/diff/0011-srv-be-more-tolerant-of-broken-DNS-replies.diff b/debian/diff/0011-srv-be-more-tolerant-of-broken-DNS-replies.diff
new file mode 100644 (file)
index 0000000..2b60d5b
--- /dev/null
@@ -0,0 +1,122 @@
+From eb8dc7c34c58f8c2bec2a89e930069af07822de4 Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Fri, 13 Jan 2012 15:51:12 -0600
+Subject: [PATCH 11/12] srv: be more tolerant of broken DNS replies
+
+At a hotel with a very broken Wi-Fi setup, Richard found his copy
+of git unable to cope:
+
+       % git clone git://git.kitenet.net/mr
+       Cloning into 'mr'...
+       error: cannot initialize DNS parser: Message too long
+       fatal: Unable to look up git.kitenet.net
+
+Other programs gave some warnings but otherwise worked fine.  From a
+packet capture, it seems that the response to a SRV query for
+_git._tcp.git.kitenet.net in this setup was a single A resource record
+pointing to the link-local address 169.254.1.1, followed by two
+trailing bytes: c0 1a.  The trailing bytes cause the underlying parser
+to fail.
+
+It would not be good to silently tolerate this and similar kinds of
+brokenness, but working around it would help people on affected
+systems to recover.  Luckily RFC2782 gives us enough leeway to act as
+we please for this particular kind of error, so give a warning and
+fall back to an A/AAAA query (which should work).
+
+Similarly, if we receive non-SRV RRs in response to a SRV query,
+RFC2782 does not say to error out, so in the spirit of graceful
+degradation let's warn and skip those records.
+
+Reported-by: Richard Hartmann <richih.mailinglist@gmail.com>
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ srv.c |   40 ++++++++++++++++++++++++++--------------
+ 1 file changed, 26 insertions(+), 14 deletions(-)
+
+diff --git a/srv.c b/srv.c
+index 2716206..829ef76 100644
+--- a/srv.c
++++ b/srv.c
+@@ -83,7 +83,6 @@ static int srv_parse(ns_msg *msg, struct parsed_srv_rr **res)
+ {
+       struct parsed_srv_rr *rrs = NULL;
+       int nr_parsed = 0;
+-      int cnames = 0;
+       int i, n;
+       n = ns_msg_count(*msg, ns_s_an);
+@@ -98,30 +97,33 @@ static int srv_parse(ns_msg *msg, struct parsed_srv_rr **res)
+               if (ns_rr_type(rr) != ns_t_cname)
+                       break;
+       }
+-      cnames = i;
+-      n -= cnames;
+-      rrs = xmalloc(n * sizeof(*rrs));
+-      for (i = 0; i < n; i++) {
++      rrs = xmalloc((n - i) * sizeof(*rrs));
++      for (; i < n; i++) {
+               ns_rr rr;
+-              if (ns_parserr(msg, ns_s_an, cnames + i, &rr)) {
++              if (ns_parserr(msg, ns_s_an, i, &rr)) {
+                       error("cannot parse DNS RR: %s", strerror(errno));
+                       goto fail;
+               }
+               if (ns_rr_type(rr) != ns_t_srv) {
+-                      error("expected SRV RR, found RR type %d",
++                      /*
++                       * Maybe the server is playing tricks and returned
++                       * an A record.  Let it pass and if we don't get
++                       * any SRV RRs, we can fall back to an A lookup.
++                       */
++                      warning("expected SRV RR, found RR type %d",
+                                               (int) ns_rr_type(rr));
+-                      goto fail;
++                      continue;
+               }
+-              if (srv_parse_rr(msg, &rr, rrs + i))
++              if (srv_parse_rr(msg, &rr, rrs + nr_parsed))
+                       /* srv_parse_rr writes a message */
+                       goto fail;
+               nr_parsed++;
+       }
+       *res = rrs;
+-      return n;
++      return nr_parsed;
+ fail:
+       for (i = 0; i < nr_parsed; i++)
+               free(rrs[i].target);
+@@ -274,13 +276,23 @@ int get_srv(const char *host, struct host **hosts)
+       if (len < 0)
+               goto out;
+-      /* If a SRV RR cannot be parsed, give up. */
+-      ret = -1;
+-
++      /*
++       * If the reply to a SRV query is malformed, fall back to an
++       * A query.
++       *
++       * The RFC2782 usage rules don't say anything about this, but
++       * in practice, it seems that some firewalls or DNS servers
++       * (think: captive portal) handle A queries sensibly and
++       * provide malformed replies in response to SRV queries.
++       */
+       if (ns_initparse(buf, len, &msg)) {
+-              error("cannot initialize DNS parser: %s", strerror(errno));
++              warning("cannot parse SRV response: %s", strerror(errno));
+               goto out;
+       }
++
++      /* If a SRV RR cannot be parsed, give up. */
++      ret = -1;
++
+       n = srv_parse(&msg, &rrs);
+       if (n < 0)
+               /* srv_parse writes a message */
+-- 
+1.7.10
+
diff --git a/debian/diff/0012-Makefile-add-a-knob-to-turn-off-hardlinks-within-same.diff b/debian/diff/0012-Makefile-add-a-knob-to-turn-off-hardlinks-within-same.diff
new file mode 100644 (file)
index 0000000..0323271
--- /dev/null
@@ -0,0 +1,85 @@
+From 06e677d2db434aa3d11b14a7a8bf6c48c8caf4ac Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Wed, 12 Oct 2011 03:38:42 -0500
+Subject: [PATCH 12/12] Makefile: add a knob to turn off hardlinks within same
+ directory
+
+The git builtins in $(gitexecdir) are implemented as hard links to a
+single git binary by default, so even the overhead of symlink
+resolution is not needed to run them.  However, the trick can be
+harmful, in two cases:
+
+ - on Windows, some tools to estimate directory size hugely
+   overestimate the size of git (each hardlink counts as taking up the
+   same amount of space as git.exe)
+
+ - various filesystems have limits on the number of hardlinks that
+   can be made to a particular file --- Linux's LINK_MAX is 127,
+   _POSIX_LINK_MAX is 8, and btrfs has a limit of 4096 /
+   ($len_filename + 8) or so links to a given inode in a single
+   directory.
+
+Normally that second case is not a problem (when ln fails, "make
+install" falls back to "ln -s"), but if git is tar'ed up on one
+filesystem and then extracted on a more limited one, it can result in
+"Too many links" errors.
+
+Nowadays people are encouraged to (and typically do) run builtins
+using the "git" command name directly rather than those dashed forms
+in scripts, making the use of hardlinks for the dashed forms a
+somewhat pointless optimization.  Introduce a new knob to allow people
+to turn it off with a simple "make install NO_HARDLINKS=YesPlease".
+
+Typically someone using this setting would want to set
+NO_CROSS_DIRECTORY_HARDLINKS, too, but that is not enforced, so you
+can make $(bindir)/git and $(gitexecdir)/git into hardlinks to the
+same inode and still make sure your tarball avoids the btrfs limits if
+you want.
+
+Requested-by: Bastian Blank <waldi@debian.org>
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ Makefile |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index 51b8e48..1e518f5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -251,6 +251,10 @@ all::
+ # Define NO_CROSS_DIRECTORY_HARDLINKS if you plan to distribute the installed
+ # programs as a tar, where bin/ and libexec/ might be on different file systems.
+ #
++# Define NO_HARDLINKS if you plan to distribute the installed programs as a tar
++# that might be extracted on a filesystem like btrfs that does not cope well
++# with many links to one inode in one directory.
++#
+ # Define USE_NED_ALLOCATOR if you want to replace the platforms default
+ # memory allocators with the nedmalloc allocator written by Niall Douglas.
+ #
+@@ -2552,12 +2556,14 @@ endif
+       } && \
+       for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \
+               $(RM) "$$bindir/$$p" && \
++              test -z "$(NO_HARDLINKS)" && \
+               ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \
+               ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \
+               cp "$$bindir/git$X" "$$bindir/$$p" || exit; \
+       done && \
+       for p in $(BUILT_INS); do \
+               $(RM) "$$execdir/$$p" && \
++              test -z "$(NO_HARDLINKS)" && \
+               ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
+               ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
+               cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
+@@ -2565,6 +2571,7 @@ endif
+       remote_curl_aliases="$(REMOTE_CURL_ALIASES)" && \
+       for p in $$remote_curl_aliases; do \
+               $(RM) "$$execdir/$$p" && \
++              test -z "$(NO_HARDLINKS)" && \
+               ln "$$execdir/git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
+               ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
+               cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \
+-- 
+1.7.10
+
diff --git a/debian/diff/0013-git-svn-use-YAML-format-for-mergeinfo-cache-when-poss.diff b/debian/diff/0013-git-svn-use-YAML-format-for-mergeinfo-cache-when-poss.diff
new file mode 100644 (file)
index 0000000..a0f1dfd
--- /dev/null
@@ -0,0 +1,294 @@
+From db8445cce70a6bdb014fb04624ebcce7f39ad905 Mon Sep 17 00:00:00 2001
+From: Jonathan Nieder <jrnieder@gmail.com>
+Date: Sat, 9 Jun 2012 17:35:35 -0500
+Subject: git-svn: use YAML format for mergeinfo cache when possible
+
+Since v1.7.0-rc2~11 (git-svn: persistent memoization, 2010-01-30),
+git-svn has maintained some private per-repository caches in
+.git/svn/.caches to avoid refetching and recalculating some
+mergeinfo-related information with every "git svn fetch".
+
+These caches use the 'nstore' format from the perl core module
+Storable, which can be read and written quickly and was designed for
+transfer over the wire (the 'n' stands for 'network').  This format is
+supposed to be endianness-independent and independent of
+floating-point representation.
+
+Unfortunately the format is *not* independent of the perl version ---
+new perl versions will write files that very old perl cannot read.
+Worse, the format is not independent of the size of a perl integer.
+So if you toggle perl's use64bitint compile-time option, then using
+'git svn fetch' on your old repositories produces errors like this:
+
+       Byte order is not compatible at ../../lib/Storable.pm (autosplit
+       into ../../lib/auto/Storable/_retrieve.al) line 380, at
+       /usr/share/perl/5.12/Memoize/Storable.pm line 21
+
+That is, upgrading perl to a version that uses use64bitint for the
+first time makes git-svn suddenly refuse to fetch in existing
+repositories.  Removing .git/svn/.caches lets git-svn recover.
+
+It's time to switch to a platform independent serializer backend with
+better compatibility guarantees.  This patch uses YAML::Any.
+
+Other choices were considered:
+
+ - thawing data from Data::Dumper involves "eval".  Doing that without
+   creating a security risk is fussy.
+
+ - the JSON API works on scalars in memory and doesn't provide a
+   standard way to serialize straight to disk.
+
+YAML::Any is reasonably fast and has a pleasant API.  In most
+backends, LoadFile() reads the entire file into a scalar anyway and
+converts it as a second step, but having an interface that allows the
+deserialization to happen on the fly without a temporary is still a
+comfort.
+
+YAML::Any is not a core perl module, so we take care to use it when
+and only when it is available.  Installations without that module
+should fall back to using Storable with all its quirks, keeping their
+cache files in
+
+       .git/svn/.caches/*.db
+
+Installations with YAML peacefully coexist by keeping a separate set
+of cache files in
+
+       .git/svn/.caches/*.yaml.
+
+In most cases, switching between is a one-time thing, so it doesn't
+seem worth the complication to migrate existing caches.
+
+The upshot: after this patch, as long as YAML::Any is installed you
+can move your git repository between machines with different perl
+installations and "git svn fetch" will work fine.  If you do not have
+YAML::Any, the behavior is unchanged (and in particular does not get
+any worse).
+
+[jn: update fallback NO_PERL_MAKEMAKER rules, too, thanks to Adam
+ Roben; tweak log message to take
+ https://rt.cpan.org/Public/Bug/Display.html?id=77790 into account,
+ thanks to Tim Retout]
+
+Reported-by: Sandro Weiser <sandro.weiser@informatik.tu-chemnitz.de>
+Reported-by: Bdale Garbee <bdale@gag.com>
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+Signed-off-by: Eric Wong <normalperson@yhbt.net>
+Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
+---
+ git-svn.perl                 |   31 +++++++++++---
+ perl/Git/SVN/Memoize/YAML.pm |   93 ++++++++++++++++++++++++++++++++++++++++++
+ perl/Makefile                |    8 +++-
+ perl/Makefile.PL             |    1 +
+ 4 files changed, 125 insertions(+), 8 deletions(-)
+ create mode 100644 perl/Git/SVN/Memoize/YAML.pm
+
+diff --git a/git-svn.perl b/git-svn.perl
+index ca038ec..77bab24 100755
+--- a/git-svn.perl
++++ b/git-svn.perl
+@@ -2031,6 +2031,10 @@ package Git::SVN;
+ use Time::Local;
+ use Memoize;  # core since 5.8.0, Jul 2002
+ use Memoize::Storable;
++my $can_use_yaml;
++BEGIN {
++      $can_use_yaml = eval { require Git::SVN::Memoize::YAML; 1};
++}
+ my ($_gc_nr, $_gc_period);
+@@ -3553,6 +3557,17 @@ sub has_no_changes {
+               command_oneline("rev-parse", "$commit~1^{tree}"));
+ }
++sub tie_for_persistent_memoization {
++      my $hash = shift;
++      my $path = shift;
++
++      if ($can_use_yaml) {
++              tie %$hash => 'Git::SVN::Memoize::YAML', "$path.yaml";
++      } else {
++              tie %$hash => 'Memoize::Storable', "$path.db", 'nstore';
++      }
++}
++
+ # The GIT_DIR environment variable is not always set until after the command
+ # line arguments are processed, so we can't memoize in a BEGIN block.
+ {
+@@ -3565,22 +3580,26 @@ sub has_no_changes {
+               my $cache_path = "$ENV{GIT_DIR}/svn/.caches/";
+               mkpath([$cache_path]) unless -d $cache_path;
+-              tie my %lookup_svn_merge_cache => 'Memoize::Storable',
+-                  "$cache_path/lookup_svn_merge.db", 'nstore';
++              my %lookup_svn_merge_cache;
++              my %check_cherry_pick_cache;
++              my %has_no_changes_cache;
++
++              tie_for_persistent_memoization(\%lookup_svn_merge_cache,
++                  "$cache_path/lookup_svn_merge");
+               memoize 'lookup_svn_merge',
+                       SCALAR_CACHE => 'FAULT',
+                       LIST_CACHE => ['HASH' => \%lookup_svn_merge_cache],
+               ;
+-              tie my %check_cherry_pick_cache => 'Memoize::Storable',
+-                  "$cache_path/check_cherry_pick.db", 'nstore';
++              tie_for_persistent_memoization(\%check_cherry_pick_cache,
++                  "$cache_path/check_cherry_pick");
+               memoize 'check_cherry_pick',
+                       SCALAR_CACHE => 'FAULT',
+                       LIST_CACHE => ['HASH' => \%check_cherry_pick_cache],
+               ;
+-              tie my %has_no_changes_cache => 'Memoize::Storable',
+-                  "$cache_path/has_no_changes.db", 'nstore';
++              tie_for_persistent_memoization(\%has_no_changes_cache,
++                  "$cache_path/has_no_changes");
+               memoize 'has_no_changes',
+                       SCALAR_CACHE => ['HASH' => \%has_no_changes_cache],
+                       LIST_CACHE => 'FAULT',
+diff --git a/perl/Git/SVN/Memoize/YAML.pm b/perl/Git/SVN/Memoize/YAML.pm
+new file mode 100644
+index 0000000..9676b8f
+--- /dev/null
++++ b/perl/Git/SVN/Memoize/YAML.pm
+@@ -0,0 +1,93 @@
++package Git::SVN::Memoize::YAML;
++use warnings;
++use strict;
++use YAML::Any ();
++
++# based on Memoize::Storable.
++
++sub TIEHASH {
++      my $package = shift;
++      my $filename = shift;
++      my $truehash = (-e $filename) ? YAML::Any::LoadFile($filename) : {};
++      my $self = {FILENAME => $filename, H => $truehash};
++      bless $self => $package;
++}
++
++sub STORE {
++      my $self = shift;
++      $self->{H}{$_[0]} = $_[1];
++}
++
++sub FETCH {
++      my $self = shift;
++      $self->{H}{$_[0]};
++}
++
++sub EXISTS {
++      my $self = shift;
++      exists $self->{H}{$_[0]};
++}
++
++sub DESTROY {
++      my $self = shift;
++      YAML::Any::DumpFile($self->{FILENAME}, $self->{H});
++}
++
++sub SCALAR {
++      my $self = shift;
++      scalar(%{$self->{H}});
++}
++
++sub FIRSTKEY {
++      'Fake hash from Git::SVN::Memoize::YAML';
++}
++
++sub NEXTKEY {
++      undef;
++}
++
++1;
++__END__
++
++=head1 NAME
++
++Git::SVN::Memoize::YAML - store Memoized data in YAML format
++
++=head1 SYNOPSIS
++
++    use Memoize;
++    use Git::SVN::Memoize::YAML;
++
++    tie my %cache => 'Git::SVN::Memoize::YAML', $filename;
++    memoize('slow_function', SCALAR_CACHE => [HASH => \%cache]);
++    slow_function(arguments);
++
++=head1 DESCRIPTION
++
++This module provides a class that can be used to tie a hash to a
++YAML file.  The file is read when the hash is initialized and
++rewritten when the hash is destroyed.
++
++The intent is to allow L<Memoize> to back its cache with a file in
++YAML format, just like L<Memoize::Storable> allows L<Memoize> to
++back its cache with a file in Storable format.  Unlike the Storable
++format, the YAML format is platform-independent and fairly stable.
++
++Carps on error.
++
++=head1 DIAGNOSTICS
++
++See L<YAML::Any>.
++
++=head1 DEPENDENCIES
++
++L<YAML::Any> from CPAN.
++
++=head1 INCOMPATIBILITIES
++
++None reported.
++
++=head1 BUGS
++
++The entire cache is read into a Perl hash when loading the file,
++so this is not very scalable.
+diff --git a/perl/Makefile b/perl/Makefile
+index 3e21766..fec6546 100644
+--- a/perl/Makefile
++++ b/perl/Makefile
+@@ -24,17 +24,21 @@ ifdef NO_PERL_MAKEMAKER
+ instdir_SQ = $(subst ','\'',$(prefix)/lib)
+ $(makfile): ../GIT-CFLAGS Makefile
+       echo all: private-Error.pm Git.pm Git/I18N.pm > $@
+-      echo '  mkdir -p blib/lib/Git' >> $@
++      echo '  mkdir -p blib/lib/Git/SVN/Memoize' >> $@
+       echo '  $(RM) blib/lib/Git.pm; cp Git.pm blib/lib/' >> $@
+       echo '  $(RM) blib/lib/Git/I18N.pm; cp Git/I18N.pm blib/lib/Git/' >> $@
++      echo '  $(RM) blib/lib/Git/SVN/Memoize/YAML.pm' >> $@
++      echo '  cp Git/SVN/Memoize/YAML.pm blib/lib/Git/SVN/Memoize/' >> $@
+       echo '  $(RM) blib/lib/Error.pm' >> $@
+       '$(PERL_PATH_SQ)' -MError -e 'exit($$Error::VERSION < 0.15009)' || \
+       echo '  cp private-Error.pm blib/lib/Error.pm' >> $@
+       echo install: >> $@
+       echo '  mkdir -p "$$(DESTDIR)$(instdir_SQ)"' >> $@
+-      echo '  mkdir -p "$$(DESTDIR)$(instdir_SQ)/Git"' >> $@
++      echo '  mkdir -p "$$(DESTDIR)$(instdir_SQ)/Git/SVN/Memoize"' >> $@
+       echo '  $(RM) "$$(DESTDIR)$(instdir_SQ)/Git.pm"; cp Git.pm "$$(DESTDIR)$(instdir_SQ)"' >> $@
+       echo '  $(RM) "$$(DESTDIR)$(instdir_SQ)/Git/I18N.pm"; cp Git/I18N.pm "$$(DESTDIR)$(instdir_SQ)/Git"' >> $@
++      echo '  $(RM) "$$(DESTDIR)$(instdir_SQ)/Git/SVN/Memoize/YAML.pm"' >> $@
++      echo '  cp Git/SVN/Memoize/YAML.pm "$$(DESTDIR)$(instdir_SQ)/Git/SVN/Memoize"' >> $@
+       echo '  $(RM) "$$(DESTDIR)$(instdir_SQ)/Error.pm"' >> $@
+       '$(PERL_PATH_SQ)' -MError -e 'exit($$Error::VERSION < 0.15009)' || \
+       echo '  cp private-Error.pm "$$(DESTDIR)$(instdir_SQ)/Error.pm"' >> $@
+diff --git a/perl/Makefile.PL b/perl/Makefile.PL
+index 456d45b..321dfe1 100644
+--- a/perl/Makefile.PL
++++ b/perl/Makefile.PL
+@@ -27,6 +27,7 @@ MAKE_FRAG
+ my %pm = (
+       'Git.pm' => '$(INST_LIBDIR)/Git.pm',
+       'Git/I18N.pm' => '$(INST_LIBDIR)/Git/I18N.pm',
++      'Git/SVN/Memoize/YAML.pm' => '$(INST_LIBDIR)/Git/SVN/Memoize/YAML.pm',
+ );
+ # We come with our own bundled Error.pm. It's not in the set of default
+-- 
+1.7.10.4
+
diff --git a/debian/diff/0016-CVE-2015-7545-backport1.patch b/debian/diff/0016-CVE-2015-7545-backport1.patch
new file mode 100644 (file)
index 0000000..efea7d4
--- /dev/null
@@ -0,0 +1,128 @@
+Backport of:
+
+From e448fed8e6ba9cd9237b7c8045c11cc40afc8595 Mon Sep 17 00:00:00 2001
+From: Michael Haggerty <mhagger@alum.mit.edu>
+Date: Wed, 12 Sep 2012 16:04:42 +0200
+Subject: [PATCH] string_list: add function string_list_append_nodup()
+
+Add a new function that appends a string to a string_list without
+copying it.  This can be used to pass ownership of an already-copied
+string to a string_list that has strdup_strings set.
+
+Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
+Signed-off-by: Junio C Hamano <gitster@pobox.com>
+---
+ Documentation/technical/api-string-list.txt | 17 ++++++++++++++---
+ string-list.c                               | 20 +++++++++++++++-----
+ string-list.h                               | 18 ++++++++++++++++++
+ 3 files changed, 47 insertions(+), 8 deletions(-)
+
+Index: git-1.7.9.5/Documentation/technical/api-string-list.txt
+===================================================================
+--- git-1.7.9.5.orig/Documentation/technical/api-string-list.txt       2015-12-11 15:19:47.512099675 -0500
++++ git-1.7.9.5/Documentation/technical/api-string-list.txt    2015-12-11 15:19:47.508099636 -0500
+@@ -20,8 +20,8 @@
+ member (you need this if you add things later) and you should set the
+ `nr` and `alloc` members in that case, too.
+-. Adds new items to the list, using `string_list_append` or
+-  `string_list_insert`.
++. Adds new items to the list, using `string_list_append`,
++  `string_list_append_nodup`, or `string_list_insert`.
+ . Can check if a string is in the list using `string_list_has_string` or
+   `unsorted_string_list_has_string` and get it from the list using
+@@ -100,7 +100,18 @@
+ `string_list_append`::
+-      Append a new string to the end of the string_list.
++      Append a new string to the end of the string_list.  If
++      `strdup_string` is set, then the string argument is copied;
++      otherwise the new `string_list_entry` refers to the input
++      string.
++
++`string_list_append_nodup`::
++
++      Append a new string to the end of the string_list.  The new
++      `string_list_entry` always refers to the input string, even if
++      `strdup_string` is set.  This function can be used to hand
++      ownership of a malloc()ed string to a `string_list` that has
++      `strdup_string` set.
+ `sort_string_list`::
+Index: git-1.7.9.5/string-list.c
+===================================================================
+--- git-1.7.9.5.orig/string-list.c     2015-12-11 15:19:47.512099675 -0500
++++ git-1.7.9.5/string-list.c  2015-12-11 15:19:47.508099636 -0500
+@@ -148,13 +148,23 @@
+               printf("%s:%p\n", p->items[i].string, p->items[i].util);
+ }
+-struct string_list_item *string_list_append(struct string_list *list, const char *string)
++struct string_list_item *string_list_append_nodup(struct string_list *list,
++                                                char *string)
+ {
++      struct string_list_item *retval;
+       ALLOC_GROW(list->items, list->nr + 1, list->alloc);
+-      list->items[list->nr].string =
+-              list->strdup_strings ? xstrdup(string) : (char *)string;
+-      list->items[list->nr].util = NULL;
+-      return list->items + list->nr++;
++      retval = &list->items[list->nr++];
++      retval->string = string;
++      retval->util = NULL;
++      return retval;
++}
++
++struct string_list_item *string_list_append(struct string_list *list,
++                                          const char *string)
++{
++      return string_list_append_nodup(
++                      list,
++                      list->strdup_strings ? xstrdup(string) : (char *)string);
+ }
+ static int cmp_items(const void *a, const void *b)
+Index: git-1.7.9.5/string-list.h
+===================================================================
+--- git-1.7.9.5.orig/string-list.h     2015-12-11 15:19:47.512099675 -0500
++++ git-1.7.9.5/string-list.h  2015-12-11 15:19:47.508099636 -0500
+@@ -29,6 +29,7 @@
+ #define for_each_string_list_item(item,list) \
+       for (item = (list)->items; item < (list)->items + (list)->nr; ++item)
++
+ /* Use these functions only on sorted lists: */
+ int string_list_has_string(const struct string_list *list, const char *string);
+ int string_list_find_insert_index(const struct string_list *list, const char *string,
+@@ -38,11 +39,28 @@
+                                                    int insert_at, const char *string);
+ struct string_list_item *string_list_lookup(struct string_list *list, const char *string);
++
+ /* Use these functions only on unsorted lists: */
++
++/*
++ * Add string to the end of list.  If list->strdup_string is set, then
++ * string is copied; otherwise the new string_list_entry refers to the
++ * input string.
++ */
+ struct string_list_item *string_list_append(struct string_list *list, const char *string);
++
++/*
++ * Like string_list_append(), except string is never copied.  When
++ * list->strdup_strings is set, this function can be used to hand
++ * ownership of a malloc()ed string to list without making an extra
++ * copy.
++ */
++struct string_list_item *string_list_append_nodup(struct string_list *list, char *string);
++
+ void sort_string_list(struct string_list *list);
+ int unsorted_string_list_has_string(struct string_list *list, const char *string);
+ struct string_list_item *unsorted_string_list_lookup(struct string_list *list,
+                                                    const char *string);
++
+ void unsorted_string_list_delete_item(struct string_list *list, int i, int free_util);
+ #endif /* STRING_LIST_H */
diff --git a/debian/diff/0017-CVE-2015-7545-backport2.patch b/debian/diff/0017-CVE-2015-7545-backport2.patch
new file mode 100644 (file)
index 0000000..3b30df5
--- /dev/null
@@ -0,0 +1,312 @@
+Backport of:
+
+From ff919f965d20d003e3882c70de667f41a86349ac Mon Sep 17 00:00:00 2001
+From: Michael Haggerty <mhagger@alum.mit.edu>
+Date: Wed, 12 Sep 2012 16:04:43 +0200
+Subject: [PATCH] string_list: add two new functions for splitting strings
+
+Add two new functions, string_list_split() and
+string_list_split_in_place().  These split a string into a string_list
+on a separator character.  The first makes copies of the substrings
+(leaving the input string untouched) and the second splits the
+original string in place, overwriting the separator characters with
+NULs and referring to the original string's memory.
+
+These functions are similar to the strbuf_split_*() functions except
+that they work with the more powerful string_list interface.
+
+Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
+Signed-off-by: Junio C Hamano <gitster@pobox.com>
+---
+ .gitignore                                  |  1 +
+ Documentation/technical/api-string-list.txt | 22 +++++++++-
+ Makefile                                    |  1 +
+ string-list.c                               | 53 ++++++++++++++++++++++++
+ string-list.h                               | 29 +++++++++++++
+ t/t0063-string-list.sh                      | 63 +++++++++++++++++++++++++++++
+ test-string-list.c                          | 45 +++++++++++++++++++++
+ 7 files changed, 213 insertions(+), 1 deletion(-)
+ create mode 100755 t/t0063-string-list.sh
+ create mode 100644 test-string-list.c
+
+Index: git-1.7.9.5/.gitignore
+===================================================================
+--- git-1.7.9.5.orig/.gitignore        2015-12-11 15:20:05.116273275 -0500
++++ git-1.7.9.5/.gitignore     2015-12-11 15:20:31.712535357 -0500
+@@ -186,6 +186,7 @@
+ /test-run-command
+ /test-sha1
+ /test-sigchain
++/test-string-list
+ /test-subprocess
+ /test-svn-fe
+ /common-cmds.h
+Index: git-1.7.9.5/Documentation/technical/api-string-list.txt
+===================================================================
+--- git-1.7.9.5.orig/Documentation/technical/api-string-list.txt       2015-12-11 15:20:05.116273275 -0500
++++ git-1.7.9.5/Documentation/technical/api-string-list.txt    2015-12-11 15:20:05.116273275 -0500
+@@ -21,7 +21,8 @@
+ `nr` and `alloc` members in that case, too.
+ . Adds new items to the list, using `string_list_append`,
+-  `string_list_append_nodup`, or `string_list_insert`.
++  `string_list_append_nodup`, `string_list_insert`,
++  `string_list_split`, and/or `string_list_split_in_place`.
+ . Can check if a string is in the list using `string_list_has_string` or
+   `unsorted_string_list_has_string` and get it from the list using
+@@ -135,6 +136,25 @@
+       is set. The third parameter controls if the `util` pointer of the
+       items should be freed or not.
++`string_list_split`::
++`string_list_split_in_place`::
++
++      Split a string into substrings on a delimiter character and
++      append the substrings to a `string_list`.  If `maxsplit` is
++      non-negative, then split at most `maxsplit` times.  Return the
++      number of substrings appended to the list.
+++
++`string_list_split` requires a `string_list` that has `strdup_strings`
++set to true; it leaves the input string untouched and makes copies of
++the substrings in newly-allocated memory.
++`string_list_split_in_place` requires a `string_list` that has
++`strdup_strings` set to false; it splits the input string in place,
++overwriting the delimiter characters with NULs and creating new
++string_list_items that point into the original string (the original
++string must therefore not be modified or freed while the `string_list`
++is in use).
++
++
+ Data structures
+ ---------------
+Index: git-1.7.9.5/Makefile
+===================================================================
+--- git-1.7.9.5.orig/Makefile  2015-12-11 15:20:05.116273275 -0500
++++ git-1.7.9.5/Makefile       2015-12-11 15:20:48.316698864 -0500
+@@ -494,6 +494,7 @@
+ TEST_PROGRAMS_NEED_X += test-run-command
+ TEST_PROGRAMS_NEED_X += test-sha1
+ TEST_PROGRAMS_NEED_X += test-sigchain
++TEST_PROGRAMS_NEED_X += test-string-list
+ TEST_PROGRAMS_NEED_X += test-subprocess
+ TEST_PROGRAMS_NEED_X += test-svn-fe
+Index: git-1.7.9.5/string-list.c
+===================================================================
+--- git-1.7.9.5.orig/string-list.c     2015-12-11 15:20:05.116273275 -0500
++++ git-1.7.9.5/string-list.c  2015-12-11 15:20:05.116273275 -0500
+@@ -204,3 +204,56 @@
+       list->items[i] = list->items[list->nr-1];
+       list->nr--;
+ }
++
++int string_list_split(struct string_list *list, const char *string,
++                    int delim, int maxsplit)
++{
++      int count = 0;
++      const char *p = string, *end;
++
++      if (!list->strdup_strings)
++              die("internal error in string_list_split(): "
++                  "list->strdup_strings must be set");
++      for (;;) {
++              count++;
++              if (maxsplit >= 0 && count > maxsplit) {
++                      string_list_append(list, p);
++                      return count;
++              }
++              end = strchr(p, delim);
++              if (end) {
++                      string_list_append_nodup(list, xmemdupz(p, end - p));
++                      p = end + 1;
++              } else {
++                      string_list_append(list, p);
++                      return count;
++              }
++      }
++}
++
++int string_list_split_in_place(struct string_list *list, char *string,
++                             int delim, int maxsplit)
++{
++      int count = 0;
++      char *p = string, *end;
++
++      if (list->strdup_strings)
++              die("internal error in string_list_split_in_place(): "
++                  "list->strdup_strings must not be set");
++      for (;;) {
++              count++;
++              if (maxsplit >= 0 && count > maxsplit) {
++                      string_list_append(list, p);
++                      return count;
++              }
++              end = strchr(p, delim);
++              if (end) {
++                      *end = '\0';
++                      string_list_append(list, p);
++                      p = end + 1;
++              } else {
++                      string_list_append(list, p);
++                      return count;
++              }
++      }
++}
+Index: git-1.7.9.5/string-list.h
+===================================================================
+--- git-1.7.9.5.orig/string-list.h     2015-12-11 15:20:05.116273275 -0500
++++ git-1.7.9.5/string-list.h  2015-12-11 15:20:05.116273275 -0500
+@@ -63,4 +63,33 @@
+                                                    const char *string);
+ void unsorted_string_list_delete_item(struct string_list *list, int i, int free_util);
++
++/*
++ * Split string into substrings on character delim and append the
++ * substrings to list.  The input string is not modified.
++ * list->strdup_strings must be set, as new memory needs to be
++ * allocated to hold the substrings.  If maxsplit is non-negative,
++ * then split at most maxsplit times.  Return the number of substrings
++ * appended to list.
++ *
++ * Examples:
++ *   string_list_split(l, "foo:bar:baz", ':', -1) -> ["foo", "bar", "baz"]
++ *   string_list_split(l, "foo:bar:baz", ':', 0) -> ["foo:bar:baz"]
++ *   string_list_split(l, "foo:bar:baz", ':', 1) -> ["foo", "bar:baz"]
++ *   string_list_split(l, "foo:bar:", ':', -1) -> ["foo", "bar", ""]
++ *   string_list_split(l, "", ':', -1) -> [""]
++ *   string_list_split(l, ":", ':', -1) -> ["", ""]
++ */
++int string_list_split(struct string_list *list, const char *string,
++                    int delim, int maxsplit);
++
++/*
++ * Like string_list_split(), except that string is split in-place: the
++ * delimiter characters in string are overwritten with NULs, and the
++ * new string_list_items point into string (which therefore must not
++ * be modified or freed while the string_list is in use).
++ * list->strdup_strings must *not* be set.
++ */
++int string_list_split_in_place(struct string_list *list, char *string,
++                             int delim, int maxsplit);
+ #endif /* STRING_LIST_H */
+Index: git-1.7.9.5/t/t0063-string-list.sh
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git-1.7.9.5/t/t0063-string-list.sh 2015-12-11 15:20:05.116273275 -0500
+@@ -0,0 +1,63 @@
++#!/bin/sh
++#
++# Copyright (c) 2012 Michael Haggerty
++#
++
++test_description='Test string list functionality'
++
++. ./test-lib.sh
++
++test_split () {
++      cat >expected &&
++      test_expect_success "split $1 at $2, max $3" "
++              test-string-list split '$1' '$2' '$3' >actual &&
++              test_cmp expected actual &&
++              test-string-list split_in_place '$1' '$2' '$3' >actual &&
++              test_cmp expected actual
++      "
++}
++
++test_split "foo:bar:baz" ":" "-1" <<EOF
++3
++[0]: "foo"
++[1]: "bar"
++[2]: "baz"
++EOF
++
++test_split "foo:bar:baz" ":" "0" <<EOF
++1
++[0]: "foo:bar:baz"
++EOF
++
++test_split "foo:bar:baz" ":" "1" <<EOF
++2
++[0]: "foo"
++[1]: "bar:baz"
++EOF
++
++test_split "foo:bar:baz" ":" "2" <<EOF
++3
++[0]: "foo"
++[1]: "bar"
++[2]: "baz"
++EOF
++
++test_split "foo:bar:" ":" "-1" <<EOF
++3
++[0]: "foo"
++[1]: "bar"
++[2]: ""
++EOF
++
++test_split "" ":" "-1" <<EOF
++1
++[0]: ""
++EOF
++
++test_split ":" ":" "-1" <<EOF
++2
++[0]: ""
++[1]: ""
++EOF
++
++test_done
+Index: git-1.7.9.5/test-string-list.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git-1.7.9.5/test-string-list.c     2015-12-11 15:20:05.116273275 -0500
+@@ -0,0 +1,45 @@
++#include "cache.h"
++#include "string-list.h"
++
++void write_list(const struct string_list *list)
++{
++      int i;
++      for (i = 0; i < list->nr; i++)
++              printf("[%d]: \"%s\"\n", i, list->items[i].string);
++}
++
++int main(int argc, char **argv)
++{
++      if (argc == 5 && !strcmp(argv[1], "split")) {
++              struct string_list list = STRING_LIST_INIT_DUP;
++              int i;
++              const char *s = argv[2];
++              int delim = *argv[3];
++              int maxsplit = atoi(argv[4]);
++
++              i = string_list_split(&list, s, delim, maxsplit);
++              printf("%d\n", i);
++              write_list(&list);
++              string_list_clear(&list, 0);
++              return 0;
++      }
++
++      if (argc == 5 && !strcmp(argv[1], "split_in_place")) {
++              struct string_list list = STRING_LIST_INIT_NODUP;
++              int i;
++              char *s = xstrdup(argv[2]);
++              int delim = *argv[3];
++              int maxsplit = atoi(argv[4]);
++
++              i = string_list_split_in_place(&list, s, delim, maxsplit);
++              printf("%d\n", i);
++              write_list(&list);
++              string_list_clear(&list, 0);
++              free(s);
++              return 0;
++      }
++
++      fprintf(stderr, "%s: unknown function name: %s\n", argv[0],
++              argv[1] ? argv[1] : "(there was none)");
++      return 1;
++}
diff --git a/debian/diff/0018-CVE-2015-7545-1.patch b/debian/diff/0018-CVE-2015-7545-1.patch
new file mode 100644 (file)
index 0000000..d73644c
--- /dev/null
@@ -0,0 +1,444 @@
+Backport of:
+
+From a5adaced2e13c135d5d9cc65be9eb95aa3bacedf Mon Sep 17 00:00:00 2001
+From: Jeff King <peff@peff.net>
+Date: Wed, 16 Sep 2015 13:12:52 -0400
+Subject: [PATCH] transport: add a protocol-whitelist environment variable
+
+If we are cloning an untrusted remote repository into a
+sandbox, we may also want to fetch remote submodules in
+order to get the complete view as intended by the other
+side. However, that opens us up to attacks where a malicious
+user gets us to clone something they would not otherwise
+have access to (this is not necessarily a problem by itself,
+but we may then act on the cloned contents in a way that
+exposes them to the attacker).
+
+Ideally such a setup would sandbox git entirely away from
+high-value items, but this is not always practical or easy
+to set up (e.g., OS network controls may block multiple
+protocols, and we would want to enable some but not others).
+
+We can help this case by providing a way to restrict
+particular protocols. We use a whitelist in the environment.
+This is more annoying to set up than a blacklist, but
+defaults to safety if the set of protocols git supports
+grows). If no whitelist is specified, we continue to default
+to allowing all protocols (this is an "unsafe" default, but
+since the minority of users will want this sandboxing
+effect, it is the only sensible one).
+
+A note on the tests: ideally these would all be in a single
+test file, but the git-daemon and httpd test infrastructure
+is an all-or-nothing proposition rather than a test-by-test
+prerequisite. By putting them all together, we would be
+unable to test the file-local code on machines without
+apache.
+
+Signed-off-by: Jeff King <peff@peff.net>
+Signed-off-by: Junio C Hamano <gitster@pobox.com>
+---
+ Documentation/git.txt          | 32 ++++++++++++++
+ connect.c                      |  5 +++
+ t/lib-proto-disable.sh         | 96 ++++++++++++++++++++++++++++++++++++++++++
+ t/t5810-proto-disable-local.sh | 14 ++++++
+ t/t5811-proto-disable-git.sh   | 20 +++++++++
+ t/t5812-proto-disable-http.sh  | 20 +++++++++
+ t/t5813-proto-disable-ssh.sh   | 20 +++++++++
+ t/t5814-proto-disable-ext.sh   | 18 ++++++++
+ transport-helper.c             |  2 +
+ transport.c                    | 21 ++++++++-
+ transport.h                    |  7 +++
+ 11 files changed, 254 insertions(+), 1 deletion(-)
+ create mode 100644 t/lib-proto-disable.sh
+ create mode 100755 t/t5810-proto-disable-local.sh
+ create mode 100755 t/t5811-proto-disable-git.sh
+ create mode 100755 t/t5812-proto-disable-http.sh
+ create mode 100755 t/t5813-proto-disable-ssh.sh
+ create mode 100755 t/t5814-proto-disable-ext.sh
+
+Index: git-1.7.9.5/Documentation/git.txt
+===================================================================
+--- git-1.7.9.5.orig/Documentation/git.txt     2015-12-14 11:28:56.815667028 -0500
++++ git-1.7.9.5/Documentation/git.txt  2015-12-14 11:28:56.811666996 -0500
+@@ -607,6 +607,38 @@
+ -----------
+ Please see linkgit:gitglossary[7].
++`GIT_ALLOW_PROTOCOL`::
++      If set, provide a colon-separated list of protocols which are
++      allowed to be used with fetch/push/clone. This is useful to
++      restrict recursive submodule initialization from an untrusted
++      repository. Any protocol not mentioned will be disallowed (i.e.,
++      this is a whitelist, not a blacklist). If the variable is not
++      set at all, all protocols are enabled.  The protocol names
++      currently used by git are:
++
++        - `file`: any local file-based path (including `file://` URLs,
++          or local paths)
++
++        - `git`: the anonymous git protocol over a direct TCP
++          connection (or proxy, if configured)
++
++        - `ssh`: git over ssh (including `host:path` syntax,
++          `git+ssh://`, etc).
++
++        - `rsync`: git over rsync
++
++        - `http`: git over http, both "smart http" and "dumb http".
++          Note that this does _not_ include `https`; if you want both,
++          you should specify both as `http:https`.
++
++        - any external helpers are named by their protocol (e.g., use
++          `hg` to allow the `git-remote-hg` helper)
+++
++Note that this controls only git's internal protocol selection.
++If libcurl is used (e.g., by the `http` transport), it may
++redirect to other protocols. There is not currently any way to
++restrict this.
++
+ Environment Variables
+ ---------------------
+Index: git-1.7.9.5/connect.c
+===================================================================
+--- git-1.7.9.5.orig/connect.c 2015-12-14 11:28:56.815667028 -0500
++++ git-1.7.9.5/connect.c      2015-12-14 11:30:16.972311958 -0500
+@@ -7,6 +7,7 @@
+ #include "remote.h"
+ #include "tcp.h"
+ #include "url.h"
++#include "string-list.h"
+ static char *server_capabilities;
+@@ -166,6 +167,20 @@
+ static struct child_process no_fork;
++void connect_transport_check_allowed(const char *type)
++{
++      struct string_list allowed = STRING_LIST_INIT_DUP;
++      const char *v = getenv("GIT_ALLOW_PROTOCOL");
++
++      if (!v)
++              return;
++
++      string_list_split(&allowed, v, ':', -1);
++      if (!unsorted_string_list_has_string(&allowed, type))
++              die("transport '%s' not allowed", type);
++      string_list_clear(&allowed, 0);
++}
++
+ /*
+  * This returns a dummy child_process if the transport protocol does not
+  * need fork(2), or a struct child_process object if it does.  Once done,
+@@ -264,6 +279,8 @@
+               port = get_port(host);
+       if (protocol == PROTO_GIT) {
++              connect_transport_check_allowed("git");
++
+               /* These underlying connection commands die() if they
+                * cannot connect.
+                */
+@@ -305,6 +322,7 @@
+               const char *ssh = getenv("GIT_SSH");
+               int putty = ssh && strcasestr(ssh, "plink");
+               if (!ssh) ssh = "ssh";
++              connect_transport_check_allowed("ssh");
+               *arg++ = ssh;
+               if (putty && !strcasestr(ssh, "tortoiseplink"))
+@@ -320,6 +338,7 @@
+               /* remove repo-local variables from the environment */
+               conn->env = local_repo_env;
+               conn->use_shell = 1;
++              connect_transport_check_allowed("file");
+       }
+       *arg++ = cmd.buf;
+       *arg = NULL;
+Index: git-1.7.9.5/t/lib-proto-disable.sh
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git-1.7.9.5/t/lib-proto-disable.sh 2015-12-14 11:28:56.815667028 -0500
+@@ -0,0 +1,96 @@
++# Test routines for checking protocol disabling.
++
++# test cloning a particular protocol
++#   $1 - description of the protocol
++#   $2 - machine-readable name of the protocol
++#   $3 - the URL to try cloning
++test_proto () {
++      desc=$1
++      proto=$2
++      url=$3
++
++      test_expect_success "clone $1 (enabled)" '
++              rm -rf tmp.git &&
++              (
++                      GIT_ALLOW_PROTOCOL=$proto &&
++                      export GIT_ALLOW_PROTOCOL &&
++                      git clone --bare "$url" tmp.git
++              )
++      '
++
++      test_expect_success "fetch $1 (enabled)" '
++              (
++                      cd tmp.git &&
++                      GIT_ALLOW_PROTOCOL=$proto &&
++                      export GIT_ALLOW_PROTOCOL &&
++                      git fetch
++              )
++      '
++
++      test_expect_success "push $1 (enabled)" '
++              (
++                      cd tmp.git &&
++                      GIT_ALLOW_PROTOCOL=$proto &&
++                      export GIT_ALLOW_PROTOCOL &&
++                      git push origin HEAD:pushed
++              )
++      '
++
++      test_expect_success "push $1 (disabled)" '
++              (
++                      cd tmp.git &&
++                      GIT_ALLOW_PROTOCOL=none &&
++                      export GIT_ALLOW_PROTOCOL &&
++                      test_must_fail git push origin HEAD:pushed
++              )
++      '
++
++      test_expect_success "fetch $1 (disabled)" '
++              (
++                      cd tmp.git &&
++                      GIT_ALLOW_PROTOCOL=none &&
++                      export GIT_ALLOW_PROTOCOL &&
++                      test_must_fail git fetch
++              )
++      '
++
++      test_expect_success "clone $1 (disabled)" '
++              rm -rf tmp.git &&
++              (
++                      GIT_ALLOW_PROTOCOL=none &&
++                      export GIT_ALLOW_PROTOCOL &&
++                      test_must_fail git clone --bare "$url" tmp.git
++              )
++      '
++}
++
++# set up an ssh wrapper that will access $host/$repo in the
++# trash directory, and enable it for subsequent tests.
++setup_ssh_wrapper () {
++      test_expect_success 'setup ssh wrapper' '
++              write_script ssh-wrapper <<-\EOF &&
++              echo >&2 "ssh: $*"
++              host=$1; shift
++              cd "$TRASH_DIRECTORY/$host" &&
++              eval "$*"
++              EOF
++              GIT_SSH="$PWD/ssh-wrapper" &&
++              export GIT_SSH &&
++              export TRASH_DIRECTORY
++      '
++}
++
++# set up a wrapper that can be used with remote-ext to
++# access repositories in the "remote" directory of trash-dir,
++# like "ext::fake-remote %S repo.git"
++setup_ext_wrapper () {
++      test_expect_success 'setup ext wrapper' '
++              write_script fake-remote <<-\EOF &&
++              echo >&2 "fake-remote: $*"
++              cd "$TRASH_DIRECTORY/remote" &&
++              eval "$*"
++              EOF
++              PATH=$TRASH_DIRECTORY:$PATH &&
++              export TRASH_DIRECTORY
++      '
++}
+Index: git-1.7.9.5/t/t5810-proto-disable-local.sh
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git-1.7.9.5/t/t5810-proto-disable-local.sh 2015-12-14 11:28:56.815667028 -0500
+@@ -0,0 +1,14 @@
++#!/bin/sh
++
++test_description='test disabling of local paths in clone/fetch'
++. ./test-lib.sh
++. "$TEST_DIRECTORY/lib-proto-disable.sh"
++
++test_expect_success 'setup repository to clone' '
++      test_commit one
++'
++
++test_proto "file://" file "file://$PWD"
++test_proto "path" file .
++
++test_done
+Index: git-1.7.9.5/t/t5812-proto-disable-http.sh
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git-1.7.9.5/t/t5812-proto-disable-http.sh  2015-12-14 11:28:56.815667028 -0500
+@@ -0,0 +1,20 @@
++#!/bin/sh
++
++test_description='test disabling of git-over-http in clone/fetch'
++. ./test-lib.sh
++. "$TEST_DIRECTORY/lib-proto-disable.sh"
++. "$TEST_DIRECTORY/lib-httpd.sh"
++start_httpd
++
++test_expect_success 'create git-accessible repo' '
++      bare="$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
++      test_commit one &&
++      git --bare init "$bare" &&
++      git push "$bare" HEAD &&
++      (cd "$bare" && git config http.receivepack true)
++'
++
++test_proto "smart http" http "$HTTPD_URL/smart/repo.git"
++
++stop_httpd
++test_done
+Index: git-1.7.9.5/t/t5813-proto-disable-ssh.sh
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git-1.7.9.5/t/t5813-proto-disable-ssh.sh   2015-12-14 11:28:56.815667028 -0500
+@@ -0,0 +1,20 @@
++#!/bin/sh
++
++test_description='test disabling of git-over-ssh in clone/fetch'
++. ./test-lib.sh
++. "$TEST_DIRECTORY/lib-proto-disable.sh"
++
++setup_ssh_wrapper
++
++test_expect_success 'setup repository to clone' '
++      test_commit one &&
++      mkdir remote &&
++      git init --bare remote/repo.git &&
++      git push remote/repo.git HEAD
++'
++
++test_proto "host:path" ssh "remote:repo.git"
++test_proto "ssh://" ssh "ssh://remote/$PWD/remote/repo.git"
++test_proto "git+ssh://" ssh "git+ssh://remote/$PWD/remote/repo.git"
++
++test_done
+Index: git-1.7.9.5/t/t5814-proto-disable-ext.sh
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git-1.7.9.5/t/t5814-proto-disable-ext.sh   2015-12-14 11:28:56.815667028 -0500
+@@ -0,0 +1,18 @@
++#!/bin/sh
++
++test_description='test disabling of remote-helper paths in clone/fetch'
++. ./test-lib.sh
++. "$TEST_DIRECTORY/lib-proto-disable.sh"
++
++setup_ext_wrapper
++
++test_expect_success 'setup repository to clone' '
++      test_commit one &&
++      mkdir remote &&
++      git init --bare remote/repo.git &&
++      git push remote/repo.git HEAD
++'
++
++test_proto "remote-helper" ext "ext::fake-remote %S repo.git"
++
++test_done
+Index: git-1.7.9.5/transport-helper.c
+===================================================================
+--- git-1.7.9.5.orig/transport-helper.c        2015-12-14 11:28:56.815667028 -0500
++++ git-1.7.9.5/transport-helper.c     2015-12-14 11:28:56.815667028 -0500
+@@ -878,6 +878,8 @@
+       struct helper_data *data = xcalloc(sizeof(*data), 1);
+       data->name = name;
++      transport_check_allowed(name);
++
+       if (getenv("GIT_TRANSPORT_HELPER_DEBUG"))
+               debug = 1;
+Index: git-1.7.9.5/transport.c
+===================================================================
+--- git-1.7.9.5.orig/transport.c       2015-12-14 11:28:56.815667028 -0500
++++ git-1.7.9.5/transport.c    2015-12-14 11:28:56.815667028 -0500
+@@ -11,6 +11,7 @@
+ #include "branch.h"
+ #include "url.h"
+ #include "submodule.h"
++#include "string-list.h"
+ /* rsync support */
+@@ -884,6 +885,20 @@
+       return strchr(url, ':') - url;
+ }
++void transport_check_allowed(const char *type)
++{
++      struct string_list allowed = STRING_LIST_INIT_DUP;
++      const char *v = getenv("GIT_ALLOW_PROTOCOL");
++
++      if (!v)
++              return;
++
++      string_list_split(&allowed, v, ':', -1);
++      if (!unsorted_string_list_has_string(&allowed, type))
++              die("transport '%s' not allowed", type);
++      string_list_clear(&allowed, 0);
++}
++
+ struct transport *transport_get(struct remote *remote, const char *url)
+ {
+       const char *helper;
+@@ -915,12 +930,14 @@
+       if (helper) {
+               transport_helper_init(ret, helper);
+       } else if (!prefixcmp(url, "rsync:")) {
++              transport_check_allowed("rsync");
+               ret->get_refs_list = get_refs_via_rsync;
+               ret->fetch = fetch_objs_via_rsync;
+               ret->push = rsync_transport_push;
+               ret->smart_options = NULL;
+       } else if (is_local(url) && is_file(url) && is_bundle(url, 1)) {
+               struct bundle_transport_data *data = xcalloc(1, sizeof(*data));
++              transport_check_allowed("file");
+               ret->data = data;
+               ret->get_refs_list = get_refs_from_bundle;
+               ret->fetch = fetch_refs_from_bundle;
+@@ -932,7 +949,10 @@
+               || !prefixcmp(url, "ssh://")
+               || !prefixcmp(url, "git+ssh://")
+               || !prefixcmp(url, "ssh+git://")) {
+-              /* These are builtin smart transports. */
++              /*
++               * These are builtin smart transports; "allowed" transports
++               * will be checked individually in git_connect.
++               */
+               struct git_transport_data *data = xcalloc(1, sizeof(*data));
+               ret->data = data;
+               ret->set_option = NULL;
+Index: git-1.7.9.5/transport.h
+===================================================================
+--- git-1.7.9.5.orig/transport.h       2015-12-14 11:28:56.815667028 -0500
++++ git-1.7.9.5/transport.h    2015-12-14 11:28:56.815667028 -0500
+@@ -109,6 +109,13 @@
+ /* Returns a transport suitable for the url */
+ struct transport *transport_get(struct remote *, const char *);
++/*
++ * Check whether a transport is allowed by the environment,
++ * and die otherwise. type should generally be the URL scheme,
++ * as described in Documentation/git.txt
++ */
++void transport_check_allowed(const char *type);
++
+ /* Transport options which apply to git:// and scp-style URLs */
+ /* The program to use on the remote side to send a pack */
diff --git a/debian/diff/0019-CVE-2015-7545-2.patch b/debian/diff/0019-CVE-2015-7545-2.patch
new file mode 100644 (file)
index 0000000..02c815a
--- /dev/null
@@ -0,0 +1,103 @@
+From 33cfccbbf35a56e190b79bdec5c85457c952a021 Mon Sep 17 00:00:00 2001
+From: Jeff King <peff@peff.net>
+Date: Wed, 16 Sep 2015 13:13:12 -0400
+Subject: [PATCH] submodule: allow only certain protocols for submodule fetches
+
+Some protocols (like git-remote-ext) can execute arbitrary
+code found in the URL. The URLs that submodules use may come
+from arbitrary sources (e.g., .gitmodules files in a remote
+repository). Let's restrict submodules to fetching from a
+known-good subset of protocols.
+
+Note that we apply this restriction to all submodule
+commands, whether the URL comes from .gitmodules or not.
+This is more restrictive than we need to be; for example, in
+the tests we run:
+
+  git submodule add ext::...
+
+which should be trusted, as the URL comes directly from the
+command line provided by the user. But doing it this way is
+simpler, and makes it much less likely that we would miss a
+case. And since such protocols should be an exception
+(especially because nobody who clones from them will be able
+to update the submodules!), it's not likely to inconvenience
+anyone in practice.
+
+Reported-by: Blake Burkhart <bburky@bburky.com>
+Signed-off-by: Jeff King <peff@peff.net>
+Signed-off-by: Junio C Hamano <gitster@pobox.com>
+---
+ git-submodule.sh            |  9 +++++++++
+ t/t5815-submodule-protos.sh | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 52 insertions(+)
+ create mode 100755 t/t5815-submodule-protos.sh
+
+Index: git-1.7.9.5/git-submodule.sh
+===================================================================
+--- git-1.7.9.5.orig/git-submodule.sh  2015-12-11 14:57:22.995090688 -0500
++++ git-1.7.9.5/git-submodule.sh       2015-12-11 14:57:22.991090654 -0500
+@@ -18,6 +18,15 @@
+ . git-parse-remote
+ require_work_tree
++# Restrict ourselves to a vanilla subset of protocols; the URLs
++# we get are under control of a remote repository, and we do not
++# want them kicking off arbitrary git-remote-* programs.
++#
++# If the user has already specified a set of allowed protocols,
++# we assume they know what they're doing and use that instead.
++: ${GIT_ALLOW_PROTOCOL=file:git:http:https:ssh}
++export GIT_ALLOW_PROTOCOL
++
+ command=
+ branch=
+ force=
+Index: git-1.7.9.5/t/t5815-submodule-protos.sh
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ git-1.7.9.5/t/t5815-submodule-protos.sh    2015-12-11 14:57:22.991090654 -0500
+@@ -0,0 +1,43 @@
++#!/bin/sh
++
++test_description='test protocol whitelisting with submodules'
++. ./test-lib.sh
++. "$TEST_DIRECTORY"/lib-proto-disable.sh
++
++setup_ext_wrapper
++setup_ssh_wrapper
++
++test_expect_success 'setup repository with submodules' '
++      mkdir remote &&
++      git init remote/repo.git &&
++      (cd remote/repo.git && test_commit one) &&
++      # submodule-add should probably trust what we feed it on the cmdline,
++      # but its implementation is overly conservative.
++      GIT_ALLOW_PROTOCOL=ssh git submodule add remote:repo.git ssh-module &&
++      GIT_ALLOW_PROTOCOL=ext git submodule add "ext::fake-remote %S repo.git" ext-module &&
++      git commit -m "add submodules"
++'
++
++test_expect_success 'clone with recurse-submodules fails' '
++      test_must_fail git clone --recurse-submodules . dst
++'
++
++test_expect_success 'setup individual updates' '
++      rm -rf dst &&
++      git clone . dst &&
++      (cd dst && git submodule init)
++'
++
++test_expect_success 'update of ssh allowed' '
++      (cd dst && git submodule update ssh-module)
++'
++
++test_expect_success 'update of ext not allowed' '
++      (cd dst && test_must_fail git submodule update ext-module)
++'
++
++test_expect_success 'user can override whitelist' '
++      (cd dst && GIT_ALLOW_PROTOCOL=ext git submodule update ext-module)
++'
++
++test_done
diff --git a/debian/diff/0020-CVE-2015-7545-3.patch b/debian/diff/0020-CVE-2015-7545-3.patch
new file mode 100644 (file)
index 0000000..d91dee0
--- /dev/null
@@ -0,0 +1,106 @@
+Backport of:
+
+From 5088d3b38775f8ac12d7f77636775b16059b67ef Mon Sep 17 00:00:00 2001
+From: Jeff King <peff@peff.net>
+Date: Tue, 22 Sep 2015 18:03:49 -0400
+Subject: [PATCH] transport: refactor protocol whitelist code
+
+The current callers only want to die when their transport is
+prohibited. But future callers want to query the mechanism
+without dying.
+
+Let's break out a few query functions, and also save the
+results in a static list so we don't have to re-parse for
+each query.
+
+Based-on-a-patch-by: Blake Burkhart <bburky@bburky.com>
+Signed-off-by: Jeff King <peff@peff.net>
+Signed-off-by: Junio C Hamano <gitster@pobox.com>
+---
+ transport.c | 38 ++++++++++++++++++++++++++++++--------
+ transport.h | 15 +++++++++++++--
+ 2 files changed, 43 insertions(+), 10 deletions(-)
+
+Index: git-1.7.9.5/transport.c
+===================================================================
+--- git-1.7.9.5.orig/transport.c       2015-12-11 15:10:14.318531953 -0500
++++ git-1.7.9.5/transport.c    2015-12-11 15:10:14.314531915 -0500
+@@ -885,18 +885,40 @@
+       return strchr(url, ':') - url;
+ }
+-void transport_check_allowed(const char *type)
++static const struct string_list *protocol_whitelist(void)
+ {
+-      struct string_list allowed = STRING_LIST_INIT_DUP;
+-      const char *v = getenv("GIT_ALLOW_PROTOCOL");
++      static int enabled = -1;
++      static struct string_list allowed = STRING_LIST_INIT_DUP;
++
++      if (enabled < 0) {
++              const char *v = getenv("GIT_ALLOW_PROTOCOL");
++              if (v) {
++                      string_list_split(&allowed, v, ':', -1);
++                      sort_string_list(&allowed);
++                      enabled = 1;
++              } else {
++                      enabled = 0;
++              }
++      }
++
++      return enabled ? &allowed : NULL;
++}
+-      if (!v)
+-              return;
++int is_transport_allowed(const char *type)
++{
++      const struct string_list *allowed = protocol_whitelist();
++      return !allowed || string_list_has_string(allowed, type);
++}
+-      string_list_split(&allowed, v, ':', -1);
+-      if (!unsorted_string_list_has_string(&allowed, type))
++void transport_check_allowed(const char *type)
++{
++      if (!is_transport_allowed(type))
+               die("transport '%s' not allowed", type);
+-      string_list_clear(&allowed, 0);
++}
++
++int transport_restrict_protocols(void)
++{
++      return !!protocol_whitelist();
+ }
+ struct transport *transport_get(struct remote *remote, const char *url)
+Index: git-1.7.9.5/transport.h
+===================================================================
+--- git-1.7.9.5.orig/transport.h       2015-12-11 15:10:14.318531953 -0500
++++ git-1.7.9.5/transport.h    2015-12-11 15:10:14.314531915 -0500
+@@ -110,12 +110,23 @@
+ struct transport *transport_get(struct remote *, const char *);
+ /*
++ * Check whether a transport is allowed by the environment. Type should
++ * generally be the URL scheme, as described in Documentation/git.txt
++ */
++int is_transport_allowed(const char *type);
++
++/*
+  * Check whether a transport is allowed by the environment,
+- * and die otherwise. type should generally be the URL scheme,
+- * as described in Documentation/git.txt
++ * and die otherwise.
+  */
+ void transport_check_allowed(const char *type);
++/*
++ * Returns true if the user has attempted to turn on protocol
++ * restrictions at all.
++ */
++int transport_restrict_protocols(void);
++
+ /* Transport options which apply to git:// and scp-style URLs */
+ /* The program to use on the remote side to send a pack */
diff --git a/debian/diff/0021-CVE-2015-7545-4.patch b/debian/diff/0021-CVE-2015-7545-4.patch
new file mode 100644 (file)
index 0000000..04a2b96
--- /dev/null
@@ -0,0 +1,175 @@
+Backport of:
+
+From f4113cac0c88b4f36ee6f3abf3218034440a68e3 Mon Sep 17 00:00:00 2001
+From: Blake Burkhart <bburky@bburky.com>
+Date: Tue, 22 Sep 2015 18:06:04 -0400
+Subject: [PATCH] http: limit redirection to protocol-whitelist
+
+Previously, libcurl would follow redirection to any protocol
+it was compiled for support with. This is desirable to allow
+redirection from HTTP to HTTPS. However, it would even
+successfully allow redirection from HTTP to SFTP, a protocol
+that git does not otherwise support at all. Furthermore
+git's new protocol-whitelisting could be bypassed by
+following a redirect within the remote helper, as it was
+only enforced at transport selection time.
+
+This patch limits redirects within libcurl to HTTP, HTTPS,
+FTP and FTPS. If there is a protocol-whitelist present, this
+list is limited to those also allowed by the whitelist. As
+redirection happens from within libcurl, it is impossible
+for an HTTP redirect to a protocol implemented within
+another remote helper.
+
+When the curl version git was compiled with is too old to
+support restrictions on protocol redirection, we warn the
+user if GIT_ALLOW_PROTOCOL restrictions were requested. This
+is a little inaccurate, as even without that variable in the
+environment, we would still restrict SFTP, etc, and we do
+not warn in that case. But anything else means we would
+literally warn every time git accesses an http remote.
+
+This commit includes a test, but it is not as robust as we
+would hope. It redirects an http request to ftp, and checks
+that curl complained about the protocol, which means that we
+are relying on curl's specific error message to know what
+happened. Ideally we would redirect to a working ftp server
+and confirm that we can clone without protocol restrictions,
+and not with them. But we do not have a portable way of
+providing an ftp server, nor any other protocol that curl
+supports (https is the closest, but we would have to deal
+with certificates).
+
+[jk: added test and version warning]
+
+Signed-off-by: Jeff King <peff@peff.net>
+Signed-off-by: Junio C Hamano <gitster@pobox.com>
+---
+ Documentation/git.txt         |  5 -----
+ http.c                        | 17 +++++++++++++++++
+ t/lib-httpd/apache.conf       |  1 +
+ t/t5812-proto-disable-http.sh |  9 +++++++++
+ 4 files changed, 27 insertions(+), 5 deletions(-)
+
+Index: git-1.7.9.5/Documentation/git.txt
+===================================================================
+--- git-1.7.9.5.orig/Documentation/git.txt     2015-12-14 12:36:05.513295946 -0500
++++ git-1.7.9.5/Documentation/git.txt  2015-12-14 12:36:05.509295899 -0500
+@@ -633,11 +633,6 @@
+         - any external helpers are named by their protocol (e.g., use
+           `hg` to allow the `git-remote-hg` helper)
+-+
+-Note that this controls only git's internal protocol selection.
+-If libcurl is used (e.g., by the `http` transport), it may
+-redirect to other protocols. There is not currently any way to
+-restrict this.
+ Environment Variables
+Index: git-1.7.9.5/http.c
+===================================================================
+--- git-1.7.9.5.orig/http.c    2015-12-14 12:36:05.513295946 -0500
++++ git-1.7.9.5/http.c 2015-12-14 12:41:08.756793731 -0500
+@@ -4,6 +4,7 @@
+ #include "run-command.h"
+ #include "url.h"
+ #include "credential.h"
++#include "string-list.h"
+ int active_requests;
+ int http_is_verbose;
+@@ -241,9 +242,40 @@
+       return 1;
+ }
++static const struct string_list *http_protocol_whitelist(void)
++{
++      static int enabled = -1;
++      static struct string_list allowed = STRING_LIST_INIT_DUP;
++
++      if (enabled < 0) {
++              const char *v = getenv("GIT_ALLOW_PROTOCOL");
++              if (v) {
++                      string_list_split(&allowed, v, ':', -1);
++                      sort_string_list(&allowed);
++                      enabled = 1;
++              } else {
++                      enabled = 0;
++              }
++      }
++
++      return enabled ? &allowed : NULL;
++}
++
++int http_is_transport_allowed(const char *type)
++{
++      const struct string_list *allowed = http_protocol_whitelist();
++      return !allowed || string_list_has_string(allowed, type);
++}
++
++int http_transport_restrict_protocols(void)
++{
++      return !!http_protocol_whitelist();
++}
++
+ static CURL *get_curl_handle(void)
+ {
+       CURL *result = curl_easy_init();
++      long allowed_protocols = 0;
+       if (!curl_ssl_verify) {
+               curl_easy_setopt(result, CURLOPT_SSL_VERIFYPEER, 0);
+@@ -294,6 +326,21 @@
+ #elif LIBCURL_VERSION_NUM >= 0x071101
+       curl_easy_setopt(result, CURLOPT_POST301, 1);
+ #endif
++#if LIBCURL_VERSION_NUM >= 0x071304
++      if (http_is_transport_allowed("http"))
++              allowed_protocols |= CURLPROTO_HTTP;
++      if (http_is_transport_allowed("https"))
++              allowed_protocols |= CURLPROTO_HTTPS;
++      if (http_is_transport_allowed("ftp"))
++              allowed_protocols |= CURLPROTO_FTP;
++      if (http_is_transport_allowed("ftps"))
++              allowed_protocols |= CURLPROTO_FTPS;
++      curl_easy_setopt(result, CURLOPT_REDIR_PROTOCOLS, allowed_protocols);
++#else
++      if (http_transport_restrict_protocols())
++              warning("protocol restrictions not applied to curl redirects because\n"
++                      "your curl version is too old (>= 7.19.4)");
++#endif
+       if (getenv("GIT_CURL_VERBOSE"))
+               curl_easy_setopt(result, CURLOPT_VERBOSE, 1);
+Index: git-1.7.9.5/t/lib-httpd/apache.conf
+===================================================================
+--- git-1.7.9.5.orig/t/lib-httpd/apache.conf   2015-12-14 12:36:05.513295946 -0500
++++ git-1.7.9.5/t/lib-httpd/apache.conf        2015-12-14 12:36:05.509295899 -0500
+@@ -71,6 +71,7 @@
+ RewriteEngine on
+ RewriteRule ^/smart-redir-perm/(.*)$ /smart/$1 [R=301]
+ RewriteRule ^/smart-redir-temp/(.*)$ /smart/$1 [R=302]
++RewriteRule ^/ftp-redir/(.*)$ ftp://localhost:1000/$1 [R=302]
+ <IfDefine SSL>
+ LoadModule ssl_module modules/mod_ssl.so
+Index: git-1.7.9.5/t/t5812-proto-disable-http.sh
+===================================================================
+--- git-1.7.9.5.orig/t/t5812-proto-disable-http.sh     2015-12-14 12:36:05.513295946 -0500
++++ git-1.7.9.5/t/t5812-proto-disable-http.sh  2015-12-14 12:36:05.509295899 -0500
+@@ -16,5 +16,14 @@
+ test_proto "smart http" http "$HTTPD_URL/smart/repo.git"
++test_expect_success 'curl redirects respect whitelist' '
++      test_must_fail env GIT_ALLOW_PROTOCOL=http:https \
++              git clone "$HTTPD_URL/ftp-redir/repo.git" 2>stderr &&
++      {
++              test_i18ngrep "ftp.*disabled" stderr ||
++              test_i18ngrep "your curl version is too old"
++      }
++'
++
+ stop_httpd
+ test_done
diff --git a/debian/diff/0022-CVE-2015-7545-5.patch b/debian/diff/0022-CVE-2015-7545-5.patch
new file mode 100644 (file)
index 0000000..9c6adde
--- /dev/null
@@ -0,0 +1,61 @@
+From b258116462399b318c86165c61a5c7123043cfd4 Mon Sep 17 00:00:00 2001
+From: Blake Burkhart <bburky@bburky.com>
+Date: Tue, 22 Sep 2015 18:06:20 -0400
+Subject: [PATCH] http: limit redirection depth
+
+By default, libcurl will follow circular http redirects
+forever. Let's put a cap on this so that somebody who can
+trigger an automated fetch of an arbitrary repository (e.g.,
+for CI) cannot convince git to loop infinitely.
+
+The value chosen is 20, which is the same default that
+Firefox uses.
+
+Signed-off-by: Jeff King <peff@peff.net>
+Signed-off-by: Junio C Hamano <gitster@pobox.com>
+---
+ http.c                        | 1 +
+ t/lib-httpd/apache.conf       | 3 +++
+ t/t5812-proto-disable-http.sh | 4 ++++
+ 3 files changed, 8 insertions(+)
+
+Index: git-1.7.9.5/http.c
+===================================================================
+--- git-1.7.9.5.orig/http.c    2015-12-14 12:41:16.704882808 -0500
++++ git-1.7.9.5/http.c 2015-12-14 12:41:16.700882762 -0500
+@@ -321,6 +321,7 @@
+       }
+       curl_easy_setopt(result, CURLOPT_FOLLOWLOCATION, 1);
++      curl_easy_setopt(result, CURLOPT_MAXREDIRS, 20);
+ #if LIBCURL_VERSION_NUM >= 0x071301
+       curl_easy_setopt(result, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
+ #elif LIBCURL_VERSION_NUM >= 0x071101
+Index: git-1.7.9.5/t/lib-httpd/apache.conf
+===================================================================
+--- git-1.7.9.5.orig/t/lib-httpd/apache.conf   2015-12-14 12:41:16.704882808 -0500
++++ git-1.7.9.5/t/lib-httpd/apache.conf        2015-12-14 12:41:16.700882762 -0500
+@@ -73,6 +73,9 @@
+ RewriteRule ^/smart-redir-temp/(.*)$ /smart/$1 [R=302]
+ RewriteRule ^/ftp-redir/(.*)$ ftp://localhost:1000/$1 [R=302]
++RewriteRule ^/loop-redir/x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-(.*) /$1 [R=302]
++RewriteRule ^/loop-redir/(.*)$ /loop-redir/x-$1 [R=302]
++
+ <IfDefine SSL>
+ LoadModule ssl_module modules/mod_ssl.so
+Index: git-1.7.9.5/t/t5812-proto-disable-http.sh
+===================================================================
+--- git-1.7.9.5.orig/t/t5812-proto-disable-http.sh     2015-12-14 12:41:16.704882808 -0500
++++ git-1.7.9.5/t/t5812-proto-disable-http.sh  2015-12-14 12:41:16.700882762 -0500
+@@ -25,5 +25,9 @@
+       }
+ '
++test_expect_success 'curl limits redirects' '
++      test_must_fail git clone "$HTTPD_URL/loop-redir/smart/repo.git"
++'
++
+ stop_httpd
+ test_done
diff --git a/debian/diff/0023-CVE-2016-2315.patch b/debian/diff/0023-CVE-2016-2315.patch
new file mode 100644 (file)
index 0000000..2d2f784
--- /dev/null
@@ -0,0 +1,70 @@
+From 34fa79a6cde56d6d428ab0d3160cb094ebad3305 Mon Sep 17 00:00:00 2001
+From: Jeff King <peff@peff.net>
+Date: Thu, 24 Sep 2015 17:08:19 -0400
+Subject: [PATCH] prefer memcpy to strcpy
+
+When we already know the length of a string (e.g., because
+we just malloc'd to fit it), it's nicer to use memcpy than
+strcpy, as it makes it more obvious that we are not going to
+overflow the buffer (because the size we pass matches the
+size in the allocation).
+
+This also eliminates calls to strcpy, which make auditing
+the code base harder.
+
+Signed-off-by: Jeff King <peff@peff.net>
+Signed-off-by: Junio C Hamano <gitster@pobox.com>
+---
+ compat/nedmalloc/nedmalloc.c | 5 +++--
+ fast-import.c                | 5 +++--
+ revision.c                   | 2 +-
+ 3 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/compat/nedmalloc/nedmalloc.c b/compat/nedmalloc/nedmalloc.c
+index 609ebba..a0a16eb 100644
+--- a/compat/nedmalloc/nedmalloc.c
++++ b/compat/nedmalloc/nedmalloc.c
+@@ -954,8 +954,9 @@
+ {
+       char *s2 = 0;
+       if (s1) {
+-              s2 = malloc(strlen(s1) + 1);
+-              strcpy(s2, s1);
++              size_t len = strlen(s1) + 1;
++              s2 = malloc(len);
++              memcpy(s2, s1, len);
+       }
+       return s2;
+ }
+diff --git a/fast-import.c b/fast-import.c
+index 895c6b4..cf6d8bc 100644
+--- a/fast-import.c
++++ b/fast-import.c
+@@ -638,8 +638,9 @@
+ static char *pool_strdup(const char *s)
+ {
+-      char *r = pool_alloc(strlen(s) + 1);
+-      strcpy(r, s);
++      size_t len = strlen(s) + 1;
++      char *r = pool_alloc(len);
++      memcpy(r, s, len);
+       return r;
+ }
+diff --git a/revision.c b/revision.c
+index af2a18e..2236463 100644
+--- a/revision.c
++++ b/revision.c
+@@ -29,7 +29,7 @@
+       }
+       n = xmalloc(len);
+       m = n + len - (nlen + 1);
+-      strcpy(m, name);
++      memcpy(m, name, nlen + 1);
+       for (p = path; p; p = p->up) {
+               if (p->elem_len) {
+                       m -= p->elem_len + 1;
+-- 
+2.1.4
+
diff --git a/debian/diff/0024-CVE-2016-2324.patch b/debian/diff/0024-CVE-2016-2324.patch
new file mode 100644 (file)
index 0000000..254bbab
--- /dev/null
@@ -0,0 +1,51 @@
+From: Takashi Iwai <tiwai@suse.com>
+Date: Thu, 17 Mar 2016 07:51:23 +0100
+Subject: prevent buffer overflow in path_name() (CVE-2016-2324)
+
+Using int type for string sizes in path_name() allows a remotely
+triggered buffer overflow if arithmetic wraps around. Use size_t instead
+and bail out if resulting size exceeds INT_MAX.
+---
+ revision.c | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+--- a/revision.c
++++ b/revision.c
+@@ -20,14 +20,20 @@
+ {
+       const struct name_path *p;
+       char *n, *m;
+-      int nlen = strlen(name);
+-      int len = nlen + 1;
++      size_t nlen = strlen(name);
++      size_t len = nlen + 1;
++      if (len >= INT_MAX)
++              goto error;
+       for (p = path; p; p = p->up) {
+               if (p->elem_len)
+                       len += p->elem_len + 1;
++              if (len >= INT_MAX)
++                      goto error;
+       }
+       n = xmalloc(len);
++      if (!n)
++              goto error;
+       m = n + len - (nlen + 1);
+       memcpy(m, name, nlen + 1);
+       for (p = path; p; p = p->up) {
+@@ -38,6 +44,14 @@
+               }
+       }
+       return n;
++
++ error:
++      /* FIXME: better to return an error, but the caller of this function
++       * doesn't do any NULL-checks, so it's safer to exit forcibly
++       */
++      exit(1);
++
++      return NULL;
+ }
+ static int show_path_component_truncated(FILE *out, const char *name, int len)
diff --git a/debian/examples/index.aux-generation b/debian/examples/index.aux-generation
new file mode 100644 (file)
index 0000000..16390a3
--- /dev/null
@@ -0,0 +1,46 @@
+From: Matthew Wilcox <matthew@wil.cx>
+To: 383219@bugs.debian.org
+Cc: Roland Mas <lolando@debian.org>
+Subject: index.aux generation
+Date: Thu, 24 Aug 2006 08:55:10 -0600
+
+Alioth needs to generate an index.aux file.  It'd be helpful if we had
+an example script for doing this.  Here's the script used for
+git.infradead.org (MIT licence, says its author):
+
+--- cut ---
+#!/bin/sh
+
+cd /home
+for a in * ; do [ -r $a/public_git ] && [ ! -d /home/git/users/$a ] && ln -s /home/$a/public_git /home/git/users/$a ; done
+
+cd /home/git
+find . -name 'HEAD' | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do
+        TREEUID=`stat -c %U $DIR`
+        TREEUSERNAME=`grep ^$TREEUID: /etc/passwd | cut -f5 -d: | sed s/\ /+/`
+        if [ "$TREEUSERNAME" = "" ]; then
+                TREEUSERNAME=$TREEUID
+        fi
+        echo $DIR $TREEUSERNAME | sed s:/:%2F:g
+done > /home/git/.index.aux.$$
+
+mv /home/git/.index.aux.$$ /home/git/.index.aux
+
+--- cut ---
+
+I suspect Alioth wants something like (untested ...)
+
+cd /srv/git.debian.org/git
+ls */*/HEAD | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do
+        TREEUID=`stat -c %U $DIR`
+        TREEUSERNAME=`XXX`
+        if [ "$TREEUSERNAME" = "" ]; then
+                TREEUSERNAME=$TREEUID
+        fi
+        echo $DIR $TREEUSERNAME | sed s:/:%2F:g
+done > /srv/git.debian.org/.index.aux.$$
+
+mv /srv/git.debian.org/.index.aux.$$ /srv/git.debian.org/.index.aux
+
+where XXX would be how to turn a username into the name of a user.
+I dunno how Alioth works; ldap or postgres db seem plausible answers.
diff --git a/debian/git-core.postinst b/debian/git-core.postinst
new file mode 100644 (file)
index 0000000..9044b4f
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+set -e
+
+test "$1" = configure || exit 0
+test -n "$2" || exit 0
+dpkg --compare-versions "$2" le '1:1.7.0.4-2' || exit 0
+test -d /usr/share/doc/git-core || exit 0
+
+if ! rmdir /usr/share/doc/git-core; then
+  echo Moving /usr/share/doc/git-core to /usr/share/doc/git/git-core.old >&2
+  mv -f /usr/share/doc/git-core /usr/share/doc/git/git-core.old
+fi
+ln -s git /usr/share/doc/git-core
diff --git a/debian/git-core.preinst b/debian/git-core.preinst
new file mode 100644 (file)
index 0000000..c032e00
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+set -e
+
+test -z "$2" || dpkg --compare-versions "$2" gt '1:1.5.2~rc3-2' ||
+  exec update-alternatives --remove git /usr/bin/git-scm
diff --git a/debian/git-daemon-run.README.Debian b/debian/git-daemon-run.README.Debian
new file mode 100644 (file)
index 0000000..943096a
--- /dev/null
@@ -0,0 +1,31 @@
+git-daemon-run for Debian
+-------------------------
+
+This package enables a git-daemon service.  This allows people to use a
+git:// URL to access your repositories.
+
+After installing this package, wait five seconds for the git-daemon
+service to be picked up by runit, and check its status and logs:
+
+ sv stat git-daemon
+ cat /var/log/git-daemon/current
+
+See the sv(8) program on how to manage the service, or, alternatively,
+create a symbolic link /etc/init.d/git-daemon pointing to /usr/bin/sv to
+have an LSB compatible interface to control it:
+
+ ln -s /usr/bin/sv /etc/init.d/git-daemon
+ /etc/init.d/git-daemon status
+
+The git daemon by default looks into the directory /var/cache/git/ for
+repositories (this is configured in /etc/sv/git-daemon/run).  It expects
+the repositories' .git subdirectories in that directory, symlinks
+pointing to the corresponding subdirectories in the repositories are just
+fine, e.g.:
+
+ ln -s ~pape/git/foo/.git /var/cache/git/foo.git
+
+This makes 'git-clone git://git.example.org/git/foo' to clone the foo
+repository on remote machines work.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 03 Jun 2007 09:51:53 +0000
diff --git a/debian/git-daemon-run.conffiles b/debian/git-daemon-run.conffiles
new file mode 100644 (file)
index 0000000..1278a06
--- /dev/null
@@ -0,0 +1,2 @@
+/etc/sv/git-daemon/run
+/etc/sv/git-daemon/log/run
diff --git a/debian/git-daemon-run.postinst b/debian/git-daemon-run.postinst
new file mode 100644 (file)
index 0000000..8994c61
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/sh
+set -e
+
+test "$1" = 'configure' || exit 0
+
+getent passwd gitlog >/dev/null || \
+  adduser --system --home /nonexistent --no-create-home gitlog
+getent passwd gitdaemon >/dev/null || \
+  adduser --system --home /nonexistent --no-create-home gitdaemon
+
+test -z "$2" || dpkg --compare-versions "$2" gt '1:1.5.4.2-1' || {
+  update-service --remove /etc/sv/git-daemon 2>/dev/null || :
+  sleep 6
+  set "$1"
+}
+
+# enable git-daemon service
+update-service --add /etc/sv/git-daemon
+
+# restart git-daemon service if it was running
+test -z "$2" || sv -v term git-daemon || :
diff --git a/debian/git-daemon-run.postrm b/debian/git-daemon-run.postrm
new file mode 100644 (file)
index 0000000..09c9bfd
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+set -e
+
+test "$1" = 'purge' || exit 0
+
+sv down /etc/sv/git-daemon 2>/dev/null || :
+sv down /etc/sv/git-daemon/log 2>/dev/null || :
+sv force-shutdown /etc/sv/git-daemon 2>/dev/null || :
+sv force-stop /etc/sv/git-daemon/log 2>/dev/null || :
+rm -rf /etc/sv/git-daemon/supervise /etc/sv/git-daemon/log/supervise
+rm -rf /var/lib/supervise/git-daemon /var/lib/supervise/git-daemon.log
+
+for i in '@*' current config lock state; do
+  rm -f /var/log/git-daemon/$i
+done
+rmdir /var/log/git-daemon || :
+
+getent passwd gitlog >/dev/null || exit 0
+! deluser --version >/dev/null 2>&1 || exec deluser -f gitlog
+echo 'deluser program not available, not removing system user "gitlog".' >&2
diff --git a/debian/git-daemon-run.prerm b/debian/git-daemon-run.prerm
new file mode 100644 (file)
index 0000000..41f7561
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+
+test "$1" = 'remove' || test "$1" = 'deconfigure' || \
+  test "$1" = 'failed-upgrade' || exit 0
+
+update-service --remove /etc/sv/git-daemon || :
diff --git a/debian/git-daemon-sysvinit.README.Debian b/debian/git-daemon-sysvinit.README.Debian
new file mode 100644 (file)
index 0000000..320d700
--- /dev/null
@@ -0,0 +1,31 @@
+git-daemon-sysvinit for Debian
+------------------------------
+
+This package enables a git-daemon service.  This allows people to use a
+git:// URL to access your repositories.
+
+After installing this package, the daemon needs to be enabled in
+/etc/default/git-daemon by setting:
+
+  GIT_DAEMON_ENABLE=false
+
+to:
+
+  GIT_DAEMON_ENABLE=true
+
+After that, the git daemon can be started with:
+
+  # /etc/init.d/git-daemon start
+
+The git daemon by default looks into the directory /var/cache/git/ for
+repositories (this is configured in /etc/default/git-daemon).  It expects
+the repositories' .git subdirectories in that directory, symlinks
+pointing to the corresponding subdirectories in the repositories are just
+fine, e.g.:
+
+ ln -s ~daniel/git/foo/.git /var/cache/git/foo.git
+
+This makes 'git-clone git://git.example.org/git/foo' to clone the foo
+repository on remote machines work.
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 19 Oct 2010 00:54:58 +0200
diff --git a/debian/git-daemon-sysvinit.conffiles b/debian/git-daemon-sysvinit.conffiles
new file mode 100644 (file)
index 0000000..c626099
--- /dev/null
@@ -0,0 +1,2 @@
+/etc/default/git-daemon
+/etc/init.d/git-daemon
diff --git a/debian/git-daemon-sysvinit.postinst b/debian/git-daemon-sysvinit.postinst
new file mode 100644 (file)
index 0000000..d186c68
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -e
+
+test "$1" = 'configure' || exit 0
+
+getent passwd gitdaemon >/dev/null || \
+  adduser --system --home /nonexistent --no-create-home gitdaemon
+
+if [ -x "/etc/init.d/git-daemon" ]; then
+       # enable git-daemon service
+       update-rc.d git-daemon defaults >/dev/null
+
+       # restart git-daemon service if it was running
+       if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+               invoke-rc.d git-daemon start || exit $?
+       else
+               /etc/init.d/git-daemon start || exit $?
+       fi
+fi
diff --git a/debian/git-daemon-sysvinit.postrm b/debian/git-daemon-sysvinit.postrm
new file mode 100644 (file)
index 0000000..f195c2c
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+set -e
+
+test "$1" = 'remove' || exit 0
+
+update-rc.d git-daemon remove >/dev/null
diff --git a/debian/git-daemon-sysvinit.prerm b/debian/git-daemon-sysvinit.prerm
new file mode 100644 (file)
index 0000000..c9a6a6a
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+set -e
+
+test "$1" = 'remove' || test "$1" = 'deconfigure' || \
+  test "$1" = 'failed-upgrade' || exit 0
+
+if [ -x "/etc/init.d/git-daemon" ]; then
+       if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+               invoke-rc.d git-daemon stop || exit $?
+       else
+               /etc/init.d/git-daemon stop || exit $?
+       fi
+fi
diff --git a/debian/git-daemon.default b/debian/git-daemon.default
new file mode 100644 (file)
index 0000000..2020805
--- /dev/null
@@ -0,0 +1,14 @@
+# Defaults for git-daemon initscript
+# sourced by /etc/init.d/git-daemon
+# installed at /etc/default/git-daemon by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+GIT_DAEMON_ENABLE=false
+GIT_DAEMON_USER=gitdaemon
+GIT_DAEMON_DIRECTORY=/var/cache/git
+
+# Additional options that are passed to the Daemon.
+GIT_DAEMON_OPTIONS=""
diff --git a/debian/git-daemon.init b/debian/git-daemon.init
new file mode 100644 (file)
index 0000000..7bfe17d
--- /dev/null
@@ -0,0 +1,138 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          git-daemon
+# Required-Start:    $network $remote_fs $syslog
+# Required-Stop:     $network $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: git-daemon service
+# Description:       git-daemon is a simple server for git repositories,
+#                    ideally suited for read-only updates, i.e. pulling from
+#                    git repositories through the network.
+### END INIT INFO
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/lib/git-core
+DESC="git-daemon service"
+NAME=git-daemon
+DAEMON=/usr/lib/git-core/$NAME
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -e /usr/share/git-core/sysvinit/sentinel ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+GIT_DAEMON_USER=${GIT_DAEMON_USER:-gitdaemon}
+GIT_DAEMON_BASE_PATH=${GIT_DAEMON_BASE_PATH:-/var/cache}
+GIT_DAEMON_DIRECTORY=${GIT_DAEMON_DIRECTORY:-/var/cache/git}
+
+DAEMON_ARGS="--user=$GIT_DAEMON_USER --pid-file=$PIDFILE --detach"
+DAEMON_ARGS="$DAEMON_ARGS --reuseaddr --verbose $GIT_DAEMON_OPTIONS"
+DAEMON_ARGS="$DAEMON_ARGS --base-path=$GIT_DAEMON_BASE_PATH $GIT_DAEMON_DIRECTORY"
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+       # Return
+       #   0 if daemon has been started
+       #   1 if daemon was already running
+       #   2 if daemon could not be started
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+               $DAEMON_ARGS \
+               || return 2
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+       # Return
+       #   0 if daemon has been stopped
+       #   1 if daemon was already stopped
+       #   2 if daemon could not be stopped
+       #   other if a failure occurred
+       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       # Many daemons don't delete their pidfiles when they exit.
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+    if [ $GIT_DAEMON_ENABLE = true ]; then
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
+    else
+       [ "$VERBOSE" != no ] && log_warning_msg "$NAME not enabled in /etc/default/$NAME, not starting..."
+       exit 0
+    fi
+
+    do_start
+    case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+  ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       if [ $GIT_DAEMON_ENABLE != true ]; then
+               [ "$VERBOSE" != no ] && log_warning_msg "$NAME not enabled in /etc/default/$NAME, stopping..."
+               do_stop
+               case "$?" in
+                 0|1)
+                       log_end_msg 0 ;;
+                 *)
+                       log_end_msg 1 ;;
+               esac
+               exit
+       fi
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/debian/git-daemon/log/run b/debian/git-daemon/log/run
new file mode 100644 (file)
index 0000000..eed4ed7
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+
+LOG=/var/log/git-daemon
+
+test -d "$LOG" || mkdir -p -m2750 "$LOG" && chown gitlog:adm "$LOG"
+exec chpst -ugitlog svlogd -tt "$LOG"
diff --git a/debian/git-daemon/run b/debian/git-daemon/run
new file mode 100644 (file)
index 0000000..ef24724
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+exec 2>&1
+echo 'git-daemon starting.'
+exec chpst -ugitdaemon \
+  "$(git --exec-path)"/git-daemon --verbose --reuseaddr \
+    --base-path=/var/cache /var/cache/git
diff --git a/debian/git-doc.doc-base.everyday-git b/debian/git-doc.doc-base.everyday-git
new file mode 100644 (file)
index 0000000..89d24e9
--- /dev/null
@@ -0,0 +1,12 @@
+Document: everyday-git
+Title: Everyday Git With 20 Commands Or So
+Author: Junio C Hamano
+Abstract: A useful minimum set of git commands, in context.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/everyday.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/everyday.html
+Files: /usr/share/doc/git-doc/everyday.html
diff --git a/debian/git-doc.doc-base.git-bisect-lk2009 b/debian/git-doc.doc-base.git-bisect-lk2009
new file mode 100644 (file)
index 0000000..69d763e
--- /dev/null
@@ -0,0 +1,19 @@
+Document: git-bisect-lk2009
+Title: Fighting regressions with git bisect
+Author: Christian Couder
+Abstract: "git bisect" enables software users and developers
+ to easily find the commit that introduced a regression. We
+ show why it is important to have good tools to fight
+ regressions. We describe how "git bisect" works from the
+ outside and the algorithms it uses inside. Then we explain
+ how to take advantage of "git bisect" to improve current
+ practices. And we discuss how "git bisect" could improve in
+ the future.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/git-bisect-lk2009.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/git-bisect-lk2009.html
+Files: /usr/share/doc/git-doc/git-bisect-lk2009.html
diff --git a/debian/git-doc.doc-base.git-howtos b/debian/git-doc.doc-base.git-howtos
new file mode 100644 (file)
index 0000000..437b878
--- /dev/null
@@ -0,0 +1,16 @@
+Document: git-howtos
+Title: Git How-to Documents
+Author: The git list
+Abstract: Mailing list postings made by various people
+ describing how they use git in their workflow.
+Section: File Management
+
+Format: Text
+Index: /usr/share/doc/git-doc/howto-index.txt
+Files: /usr/share/doc/git-doc/howto-index.txt
+ /usr/share/doc/git-doc/howto/*.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/howto-index.html
+Files: /usr/share/doc/git-doc/howto-index.html
+ /usr/share/doc/git-doc/howto/*.html
diff --git a/debian/git-doc.doc-base.git-index-format b/debian/git-doc.doc-base.git-index-format
new file mode 100644 (file)
index 0000000..245a1b5
--- /dev/null
@@ -0,0 +1,9 @@
+Document: git-index-format
+Title: Git index format
+Author: Robin Rosenberg, Nguyễn Thái Ngọc Duy, Junio C Hamano, and the git list
+Abstract: The on-disk format of Git's staging area, merging area,
+ and working directory cache.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/technical/index-format.txt
diff --git a/debian/git-doc.doc-base.git-pack-format b/debian/git-doc.doc-base.git-pack-format
new file mode 100644 (file)
index 0000000..e7c728b
--- /dev/null
@@ -0,0 +1,9 @@
+Document: git-pack-format
+Title: Git pack format and packing heuristics
+Author: Jon Loeliger, Junio C Hamano, and the git list
+Abstract: Git's packed data format.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/technical/pack-format.txt
+ /usr/share/doc/git-doc/technical/pack-heuristics.txt
diff --git a/debian/git-doc.doc-base.git-protocol b/debian/git-doc.doc-base.git-protocol
new file mode 100644 (file)
index 0000000..4495708
--- /dev/null
@@ -0,0 +1,12 @@
+Document: git-protocol
+Title: Technical documentation for git protocol
+Author: Scott Chacon and the git list
+Abstract: Reference documentation for the upload-pack and
+ receive-pack protocols that underlie git's ssh://, git://,
+ file://, and smart http:// transports.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/technical/pack-protocol.txt
+ /usr/share/doc/git-doc/technical/protocol-*.txt
+ /usr/share/doc/git-doc/technical/send-pack-pipeline.txt
diff --git a/debian/git-doc.doc-base.git-reference-manual b/debian/git-doc.doc-base.git-reference-manual
new file mode 100644 (file)
index 0000000..f22068b
--- /dev/null
@@ -0,0 +1,14 @@
+Document: git-reference-manual
+Title: Git Reference Manual
+Author: David Greaves and the git list
+Abstract: Git manual pages, including glossary and tutorials.
+Section: File Management
+
+Format: HTML
+Index: /usr/share/doc/git-doc/git.html
+Files: /usr/share/doc/git-doc/git.html
+ /usr/share/doc/git-doc/git[a-z]*.html
+ /usr/share/doc/git-doc/git-[ac-su-z]*.html
+ /usr/share/doc/git-doc/git-b[a-hj-z]*.html
+ /usr/share/doc/git-doc/git-bisect.html
+ /usr/share/doc/git-doc/git-t[a-np-z]*.html
diff --git a/debian/git-doc.doc-base.git-shallow-clone-design b/debian/git-doc.doc-base.git-shallow-clone-design
new file mode 100644 (file)
index 0000000..9f94a2f
--- /dev/null
@@ -0,0 +1,12 @@
+Document: git-shallow-clone-design
+Title: Technical documentation for shallow clones in git
+Author: Johannes Schindelin
+Abstract: There has not been any work on the git fetch/clone
+ --depth lately, so it is hard to find out what it does, and
+ how.  This document describes the ideas as well as the
+ current problems, and can serve as a starting point for
+ shallow people.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/technical/shallow.txt
diff --git a/debian/git-doc.doc-base.git-technical b/debian/git-doc.doc-base.git-technical
new file mode 100644 (file)
index 0000000..0bb74d0
--- /dev/null
@@ -0,0 +1,14 @@
+Document: git-api
+Title: Git internal API documentation
+Author: Junio C Hamano and the git list
+Abstract: Git has grown a set of internal API over time.
+ This collection documents them.
+Section: Programming/C
+
+Format: Text
+Index: /usr/share/doc/git-doc/technical/api-index.txt
+Files: /usr/share/doc/git-doc/technical/api-*.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/technical/api-index.html
+Files: /usr/share/doc/git-doc/technical/api-*.html
diff --git a/debian/git-doc.doc-base.git-tools b/debian/git-doc.doc-base.git-tools
new file mode 100644 (file)
index 0000000..1199fa0
--- /dev/null
@@ -0,0 +1,13 @@
+Document: git-tools
+Title: A short git tools survey
+Author: Marco Costalba
+Abstract: A brief and outdated survey of useful git tools,
+ including third-party and external projects.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/git-tools.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/git-tools.html
+Files: /usr/share/doc/git-doc/git-tools.html
diff --git a/debian/git-doc.doc-base.git-trivial-merge-rules b/debian/git-doc.doc-base.git-trivial-merge-rules
new file mode 100644 (file)
index 0000000..b6ae363
--- /dev/null
@@ -0,0 +1,9 @@
+Document: git-trivial-merge-rules
+Title: Trivial merge rules for git read-tree
+Author: Daniel Barkalow
+Abstract: This document describes the outcomes of the
+ trivial merge logic in git read-tree.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/technical/trivial-merge.txt
diff --git a/debian/git-doc.doc-base.git-user-manual b/debian/git-doc.doc-base.git-user-manual
new file mode 100644 (file)
index 0000000..5e9a98d
--- /dev/null
@@ -0,0 +1,16 @@
+Document: git-user-manual
+Title: Git User's Manual (for version 1.5.3 or newer)
+Author: J. Bruce Fields and the git list
+Abstract: This manual provides a leisurely but practical
+ introduction to git.  Chapters 1 and 2 explain how to fetch
+ and study a project using git.  People needing to do actual
+ development will also want to read chapters 3 and 4.
+ Further chapters cover more specialized topics.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/user-manual.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/user-manual.html
+Files: /usr/share/doc/git-doc/user-manual.html
diff --git a/debian/git-doc.doc-base.the-racy-git-problem b/debian/git-doc.doc-base.the-racy-git-problem
new file mode 100644 (file)
index 0000000..1991c13
--- /dev/null
@@ -0,0 +1,19 @@
+Document: the-racy-git-problem
+Title: Use of index and the "racy git" problem
+Author: Junio C Hamano
+Abstract: In order to speed up comparison between files in
+ the work tree and index entries, git compares current
+ lstat(2) information with saved lstat(2) information from
+ whenever it updated the corresponding index entry.  A very
+ quick update that does not change file size could therefore
+ make git incorrectly think files in the working tree are
+ unmodified even though they actually are modified.  This is
+ called the "racy git" problem (discovered by Pasky), and
+ the entries that would appear clean when they ought not to
+ be because of this problem are called "racily clean".
+ .
+ This document explains how git avoids that problem.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/technical/racy-git.txt
diff --git a/debian/git-doc.docs b/debian/git-doc.docs
new file mode 100644 (file)
index 0000000..b0a52bc
--- /dev/null
@@ -0,0 +1,2 @@
+tmp/html/*
+Documentation/technical
diff --git a/debian/git-el.conffiles b/debian/git-el.conffiles
new file mode 100644 (file)
index 0000000..8910604
--- /dev/null
@@ -0,0 +1 @@
+/etc/emacs/site-start.d/50git-core.el
diff --git a/debian/git-el.emacsen-install b/debian/git-el.emacsen-install
new file mode 100644 (file)
index 0000000..da35fdb
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+# Based on /usr/share/doc/emacsen-common/sample-package-install-foo.gz.
+#
+# Unlike the example, we place symlinks to the elisp source alongside
+# the compiled bytecode, so the .el source is available to the various
+# Emacs help tools.  Putting .el and .elc files in the same directory
+# keeps "list-load-path-shadows" happy.
+
+set -e
+FLAVOR=$1
+el_files="git.el git-blame.el"
+el_dir=/usr/share/git-core/emacs
+elc_dir=/usr/share/$FLAVOR/site-lisp/git
+
+# The emacs startup file looks for these files in
+# /usr/share/${debian-emacs-flavor}/site-lisp/git.
+# Installing to the generic /usr/share/emacs/site-list/git would be
+# pointless.
+[ "$FLAVOR" != emacs ] || exit 0
+
+printf 'install/git: Handling install of emacsen flavor %s\n' "$FLAVOR"
+[ -d "$elc_dir" ] || mkdir "$elc_dir"
+(
+  cd $elc_dir
+  for i in $el_files
+  do
+    ln -sf $el_dir/$i $i
+  done
+
+  printf 'install/git: Byte-compiling for %s\n' "$FLAVOR"
+  set -x
+  $FLAVOR -batch -q -no-site-file -f batch-byte-compile $el_files
+)
diff --git a/debian/git-el.emacsen-remove b/debian/git-el.emacsen-remove
new file mode 100644 (file)
index 0000000..5d345e1
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+# Clean up after git.emacsen-install.  That is:
+#  1. Remove compiled .elc bytecode from the site-lisp directory.
+#  2. Remove .el symlinks from the site-lisp directory.
+set -e
+FLAVOR=$1
+el_files="git.el git-blame.el"
+elc_files="git.elc git-blame.elc"
+elc_dir=/usr/share/$FLAVOR/site-lisp/git
+
+[ "$FLAVOR" != emacs ] || exit 0
+printf 'remove/git: Handling removal of emacsen flavor %s\n' "$FLAVOR"
+[ -d "$elc_dir" ] || exit 0
+(cd "$elc_dir"; rm -f $elc_files $el_files)
+# Simulate --ignore-fail-on-non-empty (which is a GNU extension).
+rmdir "$elc_dir" 2>/dev/null || true
diff --git a/debian/git-el.emacsen-startup b/debian/git-el.emacsen-startup
new file mode 100644 (file)
index 0000000..a32a841
--- /dev/null
@@ -0,0 +1,32 @@
+;; -*-emacs-lisp-*-
+;;
+;; Emacs startup file, e.g.  /etc/emacs/site-start.d/50git-core.el
+;; for the Debian git package
+
+
+(let ((dir (concat "/usr/share/"
+                   (symbol-name debian-emacs-flavor)
+                   "/site-lisp/git")))
+  (if (not (file-exists-p dir))
+      (message "git removed but not purged, skipping setup")
+
+    ;; debian-pkg-add-load-path-item as from debian 3.1 "sarge",
+    ;; emacsen-common 1.4.14 of June 2002
+    (debian-pkg-add-load-path-item dir)
+
+    ;; Compatibility note: In debian git-core 1:1.7.0-1 there was a long
+    ;; list of generated autoloads here, but now pruned back to the
+    ;; interactive entrypoints.  If you were using those autoloads in elisp
+    ;; code, don't do that, use (require 'git) to express the dependency.
+
+    ;; git.el
+
+    (autoload 'git-status "git" "Entry point into git-status mode." t)
+
+    ;; git-blame.el
+
+    ;; this autoload as recommended by git-blame.el comments
+    (autoload 'git-blame-mode "git-blame"
+      "Minor mode for incremental blame for Git." t)))
+
+;; End of file
diff --git a/debian/git-el.postinst b/debian/git-el.postinst
new file mode 100644 (file)
index 0000000..5ffd7c9
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+set -e
+test "$1" = configure || exit 0
+/usr/lib/emacsen-common/emacs-package-install git
+
+# Clean up after 1:1.7.4.1-1 through 1:1.7.4.1-3.
+! test -L /usr/share/git-core/emacs/emacs ||
+rm -f /usr/share/git-core/emacs/emacs
+! test -L /usr/share/doc/git/contrib/emacs.old ||
+rm -f /usr/share/doc/git/contrib/emacs.old
+
+# Replace the old /usr/share/doc/git/contrib/emacs directory
+# with a symlink.
+test -z "$2" &&
+! test -L /usr/share/doc/git/contrib/emacs &&
+test -d /usr/share/doc/git/contrib/emacs || exit 0
+
+if ! rmdir /usr/share/doc/git/contrib/emacs; then
+  echo Moving /usr/share/doc/git/contrib/emacs to emacs.old >&2
+  mv -f /usr/share/doc/git/contrib/emacs /usr/share/doc/git/contrib/emacs.old
+fi
+ln -s ../../../git-core/emacs /usr/share/doc/git/contrib/emacs
diff --git a/debian/git-el.prerm b/debian/git-el.prerm
new file mode 100644 (file)
index 0000000..f97d72d
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+set -e
+/usr/lib/emacsen-common/emacs-package-remove git
diff --git a/debian/git.NEWS.Debian b/debian/git.NEWS.Debian
new file mode 100644 (file)
index 0000000..e7341d6
--- /dev/null
@@ -0,0 +1,34 @@
+git (1:1.7.0.4-2~exp0) experimental; urgency=low
+
+  The Debian package 'git-core' has been renamed to 'git'.  Before
+  Debian version 5.0 (codenamed "lenny"), the 'git' package provided
+  the GNU Interactive Tools, and in the lenny release, it was renamed
+  to 'gnuit', leaving the 'git' package as a transitional dummy
+  package.
+
+  If the GNU Interactive Tools package was installed with Debian
+  version 4.0 (etch) or earlier on this system, the new 'git' package
+  (a content addressable filesystem) may be installed on upgrade, even
+  though it was not installed before.
+
+  In this case, sorry for the hassle.  Simply remove the new 'git'
+  package again if you're not interested in it:
+
+   # apt-get remove --purge git
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 21 Mar 2010 22:12:01 +0000
+
+git-core (1:1.6.0-1) experimental; urgency=low
+
+  Most of the programs are now installed outside the default $PATH,
+  except for "git", "gitk" and some server side programs that need
+  to be accessible for technical reasons.  Invoking a git subcommand
+  as "git-xyzzy" from the command line has been deprecated since
+  early 2006 (and officially announced in the 1.5.4 release notes);
+  using the "git-xyzzy" form in scripts after adding the output from
+  "git --exec-path" to the $PATH is still supported in this release,
+  but users are again strongly encouraged to adjust their scripts to
+  use the "git xyzzy" form, as this support might be dropped in later
+  releases.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 24 Aug 2008 22:31:44 +0000
diff --git a/debian/git.README.Debian b/debian/git.README.Debian
new file mode 100644 (file)
index 0000000..b96faf9
--- /dev/null
@@ -0,0 +1,69 @@
+Git for Debian
+--------------
+
+When setting up a git.example.org server, there are several things to
+configure to make everything work nicely together.  All this is optional.
+
+1. Run a git-daemon.  This allows people to use a git:// URL to access your
+repositories.  This package provides the git-daemon program, to enable a
+git-daemon service, configure inetd(8) to launch it on demand, or install the
+git-daemon-run package to run it permanently:
+ cat >> /etc/inetd.conf <<EOF
+git stream tcp4 nowait nobody /usr/bin/git git daemon --inetd --base-path=/var/cache /var/cache/git
+git stream tcp6 nowait nobody /usr/bin/git git daemon --inetd --base-path=/var/cache /var/cache/git
+EOF
+
+Or:
+ apt-get install git-daemon-run
+
+Wait five seconds for the service to be picked up, and check its status and
+logs:
+
+ sv stat git-daemon
+ cat /var/log/git-daemon/current
+
+The git daemon by default looks into the directory /var/cache/git/ for
+repositories (this is configured in /etc/sv/git-daemon/run).  It expects
+the repositories' .git subdirectories in /var/cache/git/, symlinks pointing
+to the corresponding subdirectories in the repositories are just fine, e.g.:
+
+ ln -s ~pape/git/foo/.git /var/cache/git/foo.git
+
+Now git-clone git://git.example.org/git/repo will work.
+
+2. Install rsync.  This allows people to use rsync:// URLs to access your
+repositories.  You then need to add a stanza to /etc/rsyncd.conf that looks
+like this:
+
+[git]
+    path = /var/cache/git
+    readonly = yes
+
+Now git-clone rsync://git.example.org/git/repo will work.
+
+3. Configure a web server for git.  This allows people to use a http:// URL
+to access your repositories.
+
+Here's an example for an apache virtual server.  Add a stanza to your apache
+configuration that looks like this:
+
+<VirtualHost *:80>
+    ServerName git.example.org
+    ServerAdmin webmaster@example.org
+    HeaderName HEADER
+    # bogus but safe DocumentRoot
+    DocumentRoot /var/cache/git
+    ErrorLog /var/log/apache2/git.example.org-error.log
+    CustomLog /var/log/apache2/git.example.org-access.log combined
+    Alias /robots.txt /var/www/cvs.robots.txt
+    Alias /static /usr/share/gitweb/static
+    Alias /git /var/cache/git
+    ScriptAlias / /usr/share/gitweb/gitweb.cgi
+    RedirectMatch permanent "^/~(.*)$" "http://example.org/~$1" 
+</VirtualHost>
+
+Now git clone http://git.example.org/git/repo will work.  And if you
+installed the gitweb package, http://git.example.org/ now will display a
+list of repositories, making them accessible through a web browser.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 15 Sep 2006 09:19:37 +0000
diff --git a/debian/git.README.emacs b/debian/git.README.emacs
new file mode 100644 (file)
index 0000000..704b661
--- /dev/null
@@ -0,0 +1,33 @@
+The git-el package provides various modules for Emacs support.
+
+When the git-el package is installed, the modules will be automatically
+made available to installed Emacs versions.  The configuration
+can be overridden in /etc/emacs/site-start.d/50git-core.el.
+
+The following modules are available:
+
+* git.el:
+
+  Status manager that displays the state of all the files of the
+  project, and provides easy access to the most frequently used git
+  commands. The user interface is as far as possible compatible with
+  the pcl-cvs mode. It can be started with `M-x git-status'.
+
+* git-blame.el:
+
+  Emacs implementation of incremental git-blame.  When you turn it on
+  while viewing a file, the editor buffer will be updated by setting
+  the background of individual lines to a color that reflects which
+  commit it comes from.
+
+* 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 starting from version
+  22.2.
+
+  If you have an earlier Emacs version, upgrading to Emacs 22 is
+  recommended, since the VC mode in older Emacs is not generic enough
+  to be able to support git in a reasonable manner, and no attempt has
+  been made to backport vc-git.el.
diff --git a/debian/git.README.source b/debian/git.README.source
new file mode 100644 (file)
index 0000000..9b70130
--- /dev/null
@@ -0,0 +1,84 @@
+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 http://smarden.org/git/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/diff/ directory, add a
+meaningful message to debian/changelog, and commit the changes to the
+debian-sid branch
+
+ $ mv ????-*.diff debian/diff/
+ $ git add debian/diff
+ $ 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/git.conffiles b/debian/git.conffiles
new file mode 100644 (file)
index 0000000..95583c6
--- /dev/null
@@ -0,0 +1 @@
+/etc/bash_completion.d/git
diff --git a/debian/git.docs b/debian/git.docs
new file mode 100644 (file)
index 0000000..bfb05b7
--- /dev/null
@@ -0,0 +1,2 @@
+README
+Documentation/RelNotes
diff --git a/debian/git.lintian-overrides b/debian/git.lintian-overrides
new file mode 100644 (file)
index 0000000..f51e40f
--- /dev/null
@@ -0,0 +1,8 @@
+# the git manual pages are in the git-man package.
+git binary: binary-without-manpage usr/bin/git
+git binary: binary-without-manpage usr/bin/git-receive-pack
+git binary: binary-without-manpage usr/bin/git-shell
+git binary: binary-without-manpage usr/bin/git-upload-archive
+git binary: binary-without-manpage usr/bin/git-upload-pack
+# every new .git dir contains empty branches/ to support old scripts.
+git binary: package-contains-empty-directory usr/share/git-core/templates/branches/
diff --git a/debian/git.postinst b/debian/git.postinst
new file mode 100644 (file)
index 0000000..1e21b75
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/sh
+set -e
+test "$1" = configure || exit 0
+
+# Snippet based on dpkg-maintscript-helper from dpkg 1.15.8.  Using a
+# home-grown snippet instead of using Pre-Depends: dpkg (>= 1.15.7)
+# makes the package easier to try out on old systems without requiring
+# new dpkg in these early times.
+#
+# Kind reader of the future: it's about time to rip this out and use a
+# call to dpkg-maintscript-helper, don't you think?
+rm_conffile () {
+  CONFFILE=$1; shift
+  if dpkg --compare-versions "$2" lt-nl '1:1.7.4.1-2~'; then
+    if test -e "$CONFFILE.dpkg-backup"; then
+      mv -f "$CONFFILE.dpkg-backup" "$CONFFILE.dpkg-bak"
+    fi
+    if test -e "$CONFFILE.dpkg-remove"; then
+      echo "Removing $CONFFILE ..."
+      rm -f "$CONFFILE.dpkg-remove"
+    fi
+  fi
+}
+
+removed_conffile=/etc/emacs/site-start.d/50git-core.el
+rm_conffile "$removed_conffile" "$1" "$2"
+
+# Carry over modifications so git-el can use them.
+if dpkg --compare-versions "$2" lt '1:1.7.4.1-2~' &&
+   ! test -e "$removed_conffile" &&
+   test -r "$removed_conffile".dpkg-bak; then
+  mv "$removed_conffile".dpkg-bak "$removed_conffile"
+fi
+
+# 1.7.7-1 replaces /usr/share/doc/git/contrib/hooks with a symlink,
+# but dpkg doesn't do so on package upgrade
+if test -n "$2" && dpkg --compare-versions "$2" lt '1:1.7.7-1' &&
+   test ! -L /usr/share/doc/git/contrib/hooks &&
+   test -d /usr/share/doc/git/contrib/hooks; then
+  rmdir /usr/share/doc/git/contrib/hooks &&
+  ln -s ../../../git-core/contrib/hooks \
+    /usr/share/doc/git/contrib/hooks
+fi
diff --git a/debian/git.postrm b/debian/git.postrm
new file mode 100644 (file)
index 0000000..78b0f9c
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/sh
+set -e
+
+# Snippet based on dpkg-maintscript-helper from dpkg 1.15.8.
+# Postinst explains why.
+rm_conffile () {
+       CONFFILE=$1; shift
+       if test "$1" = purge; then
+               rm -f "$CONFFILE.dpkg-bak" "$CONFFILE.dpkg-remove" \
+                       "$CONFFILE.dpkg-backup"
+               return
+       fi
+
+       test "$1" = abort-install || test "$1" = abort-upgrade || return 0
+       dpkg --compare-versions "$2" lt-nl '1:1.7.4.1-2~' || return 0
+       if test -e "$CONFFILE.dpkg-remove"; then
+               echo "Reinstalling $CONFFILE that was moved away"
+               mv "$CONFFILE.dpkg-remove" "$CONFFILE"
+       fi
+       if test -e "$CONFFILE.dpkg-backup"; then
+               echo "Reinstalling $CONFFILE that was backed up"
+               mv "$CONFFILE.dpkg-backup" "$CONFFILE"
+       fi
+}
+
+
+# Now /etc/emacs/site-start.d/50git-core.el belongs to the
+# git-el package.
+#
+# NOTE: this leaves behind a /etc/emacs/site-start.d/50git-core.el
+# file if it was modified while the broken 1.7.4.1-1 package
+# was installed.  Installing and purging git-el works around
+# that.
+rm_conffile /etc/emacs/site-start.d/50git-core.el "$1" "$2"
diff --git a/debian/git.preinst b/debian/git.preinst
new file mode 100644 (file)
index 0000000..eccf0d8
--- /dev/null
@@ -0,0 +1,66 @@
+#!/bin/sh
+set -e
+
+# Snippet based on dpkg-maintscript-helper from dpkg 1.15.8.
+# Postinst explains why.
+rm_conffile () {
+       CONFFILE=$1; shift
+       test "$1" = install || test "$1" = upgrade || return 0
+       dpkg --compare-versions "$2" lt-nl '1:1.7.4.1-2~' || return 0
+       test -e "$CONFFILE" || return 0
+
+       md5sum=$(md5sum $CONFFILE | sed -e 's/ .*//')
+       old_md5sum=$(
+               dpkg-query -W -f='${Conffiles}' git |
+               sed -n -e "\' $CONFFILE ' { s/ obsolete\$//; s/.* //; p }"
+       )
+       if test "$md5sum" != "$old_md5sum"; then
+               echo "$CONFFILE has been modified by you."
+               echo "Saving as $CONFFILE.dpkg-bak ..."
+               mv -f "$CONFFILE" "$CONFFILE.dpkg-backup"
+       else
+               echo "Moving $CONFFILE out of the way..."
+               mv -f "$CONFFILE" "$CONFFILE.dpkg-remove"
+       fi
+}
+
+# Now /etc/emacs/site-start.d/50git-core.el belongs to the
+# git-el package.  If we are upgrading from a pre- 1.7.4.1-2~
+# version then git-el is at most unpacked (so its version
+# is 50git-core.el.dpkg-new if present), and we can remove
+# an unchanged 50git-core.el file without danger.
+#
+rm_conffile /etc/emacs/site-start.d/50git-core.el "$1" "$2"
+
+# Git versions before 1.7.7-2 kept about 100 hard links to
+# /usr/lib/git-core/git at /usr/lib/git-core/git-* to avoid
+# wasting time resolving a symlink when old scripts call "git
+# foo" as git-foo.  Btrfs doesn't like to have more than 130 or
+# so links to a single inode in a given directory.  dpkg versions
+# 1.16.1 and later temporarily double the number of hard links to
+# an inode when upgrading a package.
+#
+# Replace the hard links with symlinks _before_ upgrading to
+# avoid trouble.
+#
+# For added fun, coreutils mv will not replace a file by a
+# symlink to the same inode (bug #654666).  We give
+# /usr/lib/git-core/git its own inode to work around that.
+
+if test "$1" = upgrade &&
+   dpkg --compare-versions "$2" lt-nl '1:1.7.7-2'; then
+       refinode=$(stat -c%i /usr/lib/git-core/git-add)
+
+       rm -f /usr/lib/git-core/git.tmp
+       cp -p /usr/lib/git-core/git /usr/lib/git-core/git.tmp
+       mv -f /usr/lib/git-core/git.tmp /usr/lib/git-core/git
+       for f in /usr/lib/git-core/*; do
+               test "$f" != /usr/lib/git-core/git &&
+               test "$f" != /usr/lib/git-core/git-add || continue
+               rm -f "$f.tmp"
+               inode=$(stat -c%i "$f")
+               test "$inode" = "$refinode" || continue
+               ln -s git "$f.tmp"
+               mv -f "$f.tmp" "$f"
+       done
+fi
diff --git a/debian/git.prerm b/debian/git.prerm
new file mode 100644 (file)
index 0000000..aa3940a
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+set -e
+# The /usr/share/doc/git/contrib/emacs directory was replaced
+# with a symlink in 1:1.7.4~rc1-0.1.
+# If downgrading, put the directory back.
+test "$1" = upgrade || exit 0
+dpkg --compare-versions "$2" le '1:1.7.2.3-2.2' || exit 0
+test -L /usr/share/doc/git/contrib/emacs || exit 0
+target=$(readlink /usr/share/doc/git/contrib/emacs)
+test "$target" = ../../../git-core/emacs || exit 0
+rm -f /usr/share/doc/git/contrib/emacs
+mkdir /usr/share/doc/git/contrib/emacs
diff --git a/debian/gitweb.NEWS.Debian b/debian/gitweb.NEWS.Debian
new file mode 100644 (file)
index 0000000..776e384
--- /dev/null
@@ -0,0 +1,27 @@
+gitweb (1:1.7.4.1-1) unstable; urgency=low
+
+  The gitweb auxiliary files gitweb.css, git-favicon.png,
+  git-logo.png, and gitweb.js have been moved from /usr/share/gitweb
+  to a static/ subdirectory.  You may need to adapt your web server
+  and gitweb configuration to adjust.  See /usr/share/doc/git/README.Debian
+  for details.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 13 Dec 2010 01:12:31 -0600
+
+gitweb (1:1.7.2.3-1) experimental; urgency=low
+
+  Since version 1.6.6-rc1, gitweb includes a "git blame" feature that
+  loads asynchronously using the gitweb.js script.  You may need to
+  adapt your web server configuration to include it.  See
+  /usr/share/doc/git/README.Debian for details.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 14 Aug 2010 03:10:24 -0500
+
+git-core (1:1.5.6.2-1) unstable; urgency=low
+
+  The gitweb auxiliary files gitweb.css, git-favicon.png, git-logo.png
+  are moved from /var/www/ to /usr/share/gitweb/ to comply with the
+  current draft Debian webapps policy.  You need to either adapt the
+  web server configuration, or copy/symlink them back to /var/www/.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 06 Jul 2008 18:35:27 +0000
diff --git a/debian/gitweb.README.Debian b/debian/gitweb.README.Debian
new file mode 100644 (file)
index 0000000..f2ea231
--- /dev/null
@@ -0,0 +1,19 @@
+gitweb for Debian
+-----------------
+
+The gitweb CGI by default looks into the directory /var/cache/git/ for
+browsable repositories (this is configured in /etc/gitweb.conf).  It expects
+the repositories' .git subdirectories in /var/cache/git/, symlinks pointing
+to the corresponding subdirectories in the repositories are just fine, e.g.:
+
+ ln -s ~pape/git/foo/.git /var/cache/git/foo.git
+
+On systems with an Apache webserver, gitweb is automatically made available at
+http://localhost/gitweb. You can deactivate it by commenting out the first
+line of /etc/apache2/conf.d/gitweb.
+
+For more details about setting up gitweb for a git.example.org server, and
+on how to make the git core tools such as 'git clone' work through http, see
+/usr/share/doc/git/README.Debian.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 15 Sep 2006 09:19:37 +0000
diff --git a/debian/gitweb.apache2.conf b/debian/gitweb.apache2.conf
new file mode 100644 (file)
index 0000000..ef91603
--- /dev/null
@@ -0,0 +1,6 @@
+Alias /gitweb /usr/share/gitweb
+
+<Directory /usr/share/gitweb>
+  Options FollowSymLinks +ExecCGI
+  AddHandler cgi-script .cgi
+</Directory>
diff --git a/debian/gitweb.conf b/debian/gitweb.conf
new file mode 100644 (file)
index 0000000..ea99551
--- /dev/null
@@ -0,0 +1,30 @@
+# path to git projects (<project>.git)
+$projectroot = "/var/cache/git";
+
+# directory to use for temp files
+$git_temp = "/tmp";
+
+# target of the home link on top of all pages
+#$home_link = $my_uri || "/";
+
+# html text to include at home page
+#$home_text = "indextext.html";
+
+# file with project list; by default, simply scan the projectroot dir.
+#$projects_list = $projectroot;
+
+# stylesheet to use
+#@stylesheets = ("static/gitweb.css");
+
+# javascript code for gitweb
+#$javascript = "static/gitweb.js";
+
+# logo to use
+#$logo = "static/git-logo.png";
+
+# the 'favicon'
+#$favicon = "static/git-favicon.png";
+
+# git-diff-tree(1) options to use for generated patches
+#@diff_opts = ("-M");
+@diff_opts = ();
diff --git a/debian/gitweb.conffiles b/debian/gitweb.conffiles
new file mode 100644 (file)
index 0000000..27a8287
--- /dev/null
@@ -0,0 +1,2 @@
+/etc/gitweb.conf
+/etc/apache2/conf.d/gitweb
diff --git a/debian/gitweb.docs b/debian/gitweb.docs
new file mode 100644 (file)
index 0000000..4b5b95d
--- /dev/null
@@ -0,0 +1 @@
+gitweb/README
diff --git a/debian/gitweb.examples b/debian/gitweb.examples
new file mode 100644 (file)
index 0000000..7392458
--- /dev/null
@@ -0,0 +1 @@
+debian/examples/index.aux-generation
diff --git a/debian/gitweb.postinst b/debian/gitweb.postinst
new file mode 100644 (file)
index 0000000..b51381b
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh
+set -e
+
+case "$1" in
+    configure)
+        if [ -x /etc/init.d/apache2 ]
+        then
+            if which /usr/sbin/invoke-rc.d >/dev/null 2>&1
+            then
+                invoke-rc.d apache2 reload || true
+            else
+                /etc/init.d/apache2 reload || true
+            fi
+        fi
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
diff --git a/debian/implicit b/debian/implicit
new file mode 100644 (file)
index 0000000..e131a82
--- /dev/null
@@ -0,0 +1,112 @@
+.PHONY: deb-checkdir deb-checkuid
+
+deb-checkdir:
+       @test -e debian/control || sh -cx '! : wrong directory'
+deb-checkuid:
+       @test "`id -u`" -eq 0 || sh -cx '! : need root privileges'
+
+%.deb: %.deb-docs %.deb-lintian %.deb-doc-base %.deb-DEBIAN
+       @rm -f $*.deb $*.deb-checkdir $*.deb-docs $*.deb-docs-base \
+         $*.deb-docs-docs $*.deb-docs-examples \
+         $*.deb-lintian $*.deb-doc-base $*.deb-DEBIAN \
+         $*.deb-DEBIAN-dir $*.deb-DEBIAN-scripts $*.deb-DEBIAN-md5sums
+
+%.udeb: %.deb-DEBIAN
+       @rm -f $*.deb $*.deb-checkdir $*.deb-DEBIAN $*.deb-DEBIAN-dir \
+         $*.deb-DEBIAN-scripts $*.deb-DEBIAN-md5sums
+
+%.deb-checkdir: install
+       @test -d debian/$* || sh -cx '! : directory debian/$* missing'
+       @test "`id -u`" -eq 0 || sh -cx '! : need root privileges'
+
+%.deb-docs-base: install
+       : implicit
+       @rm -f debian/$*/usr/share/doc/$*/* || :
+       @install -d -m0755 debian/$*/usr/share/doc/$*
+       : debian/$*/usr/share/doc/$*/
+       @sh -cx 'install -m0644 debian/copyright debian/$*/usr/share/doc/$*/'
+       @sh -cx 'install -m0644 debian/changelog \
+         debian/$*/usr/share/doc/$*/changelog.Debian'
+       @test ! -r changelog || \
+         sh -cx 'install -m0644 changelog debian/$*/usr/share/doc/$*/'
+       @test -r debian/$*/usr/share/doc/$*/changelog || \
+         sh -cx 'mv debian/$*/usr/share/doc/$*/changelog.Debian \
+           debian/$*/usr/share/doc/$*/changelog'
+       @test -s debian/$*/usr/share/doc/$*/changelog || \
+         sh -cx 'rm -f debian/$*/usr/share/doc/$*/changelog'
+       @gzip -9 debian/$*/usr/share/doc/$*/changelog*
+%.deb-docs-docs: %.deb-docs-base
+       @for i in `cat debian/$*.docs 2>/dev/null || :`; do \
+         if test -d $$i; then \
+           sh -cx "install -d -m0755 debian/$*/usr/share/doc/$*/$${i##*/}" && \
+           for j in $$i/*; do \
+             sh -cx "install -m0644 $$j \
+               debian/$*/usr/share/doc/$*/$${i##*/}/" || exit 1; \
+           done || exit 1; \
+           continue; \
+         fi; \
+         sh -cx "install -m0644 $$i debian/$*/usr/share/doc/$*/" || exit 1; \
+       done
+       @for i in `ls -d debian/$*.README.* 2>/dev/null || :`; do  \
+         sh -cx "install -m0644 $$i \
+           debian/$*/usr/share/doc/$*/$${i#debian/$*.}" || exit 1; \
+       done
+       @if test -r debian/$*.NEWS.Debian; then \
+         sh -cx 'install -m0644 debian/$*.NEWS.Debian \
+           debian/$*/usr/share/doc/$*/NEWS.Debian && \
+             gzip -9 debian/$*/usr/share/doc/$*/NEWS.Debian'; \
+       fi
+%.deb-docs-examples: %.deb-docs-docs
+       @rm -rf debian/$*/usr/share/doc/$*/examples
+       : debian/$*/usr/share/doc/$*/examples/
+       @test ! -r debian/$*.examples || \
+         install -d -m0755 debian/$*/usr/share/doc/$*/examples
+       @for i in `cat debian/$*.examples 2>/dev/null || :`; do \
+         sh -cx "install -m0644 $$i debian/$*/usr/share/doc/$*/examples/" \
+           || exit 1; \
+       done
+%.deb-docs: %.deb-checkdir %.deb-docs-base %.deb-docs-docs %.deb-docs-examples
+       : debian/$*/usr/share/doc/$*/ ok
+
+%.deb-lintian: %.deb-checkdir
+       : debian/$*/usr/share/lintian/overrides
+       @test ! -r debian/$*.lintian-overrides || \
+         install -d -m0755 debian/$*/usr/share/lintian/overrides
+       @test ! -r debian/$*.lintian-overrides || \
+         sh -cx "install -m0644 debian/$*.lintian-overrides \
+           debian/$*/usr/share/lintian/overrides/$*"
+%.deb-doc-base: %.deb-checkdir
+       : debian/$*/usr/share/doc-base
+       @! ls -d debian/$*.doc-base.* || \
+         install -d -m0755 debian/$*/usr/share/doc-base
+       @for i in `ls -d debian/$*.doc-base.* 2>/dev/null || :`; do \
+         sh -cx "install -m0644 $$i \
+           debian/$*/usr/share/doc-base/$${i#debian/$*.doc-base.}" || exit 1; \
+       done
+
+%.deb-DEBIAN-base: install
+       @rm -rf debian/$*/DEBIAN
+       : debian/$*/DEBIAN/
+       @install -d -m0755 debian/$*/DEBIAN
+       @for i in conffiles shlibs templates; do \
+         test ! -r debian/$*.$$i || \
+           sh -cx "install -m0644 debian/$*.$$i debian/$*/DEBIAN/$$i" \
+             || exit 1; \
+       done
+%.deb-DEBIAN-scripts: %.deb-DEBIAN-base
+       @for i in preinst prerm postinst postrm config; do \
+         test ! -r debian/$*.$$i || \
+           sh -cx "install -m0755 debian/$*.$$i debian/$*/DEBIAN/$$i" \
+             || exit 1; \
+       done
+%.deb-DEBIAN-md5sums: %.deb-DEBIAN-base
+       : debian/$*/DEBIAN/md5sums
+       @rm -f debian/$*/DEBIAN/md5sums
+       @cd debian/$* && find * -path 'DEBIAN' -prune -o \
+         -type f -exec md5sum {} >>DEBIAN/md5sums \;
+       @chmod 0644 debian/$*/DEBIAN/md5sums
+       @test -s debian/$*/DEBIAN/md5sums || \
+         rm -f debian/$*/DEBIAN/md5sums
+%.deb-DEBIAN: %.deb-checkdir %.deb-DEBIAN-base %.deb-DEBIAN-scripts \
+         %.deb-DEBIAN-md5sums
+       : debian/$*/DEBIAN/ ok
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..1617406
--- /dev/null
@@ -0,0 +1,306 @@
+#!/usr/bin/make -f
+
+ARCH ?=$(shell dpkg-architecture -qDEB_HOST_ARCH)
+BUILD_DOCS =$(shell if type asciidoc >/dev/null 2>&1; then echo 1; fi)
+
+CC =gcc
+CPPFLAGS :=$(shell dpkg-buildflags --get CPPFLAGS)
+CFLAGS :=-Wall $(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS)
+LDFLAGS :=$(shell dpkg-buildflags --get LDFLAGS)
+STRIP =strip
+TEST =test
+OPTS =NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core \
+  mandir=/usr/share/man htmldir=/usr/share/doc/git/html \
+  INSTALLDIRS=vendor \
+  NO_PYTHON=1 \
+  USE_SRV_RR=1 \
+  THREADED_DELTA_SEARCH=1 \
+  NO_CROSS_DIRECTORY_HARDLINKS=1 NO_HARDLINKS=1 \
+  DEFAULT_PAGER=pager DEFAULT_EDITOR=editor \
+  CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)'
+DOC_OPTS =prefix=/usr htmldir=/usr/share/doc/git/html \
+  ASCIIDOC8=1 ASCIIDOC_NO_ROFF=1
+
+ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+  STRIP =: strip
+endif
+ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+  TEST =
+endif
+
+TMP =$(shell pwd)/tmp
+GIT =$(shell pwd)/debian/git
+
+patch: deb-checkdir patch-stamp
+patch-stamp:
+       for i in `ls -1 debian/diff/*.diff debian/diff/*.patch \
+           2>/dev/null || :`; do \
+         patch -p1 -N -r- <$$i || test $$? = 1 || exit 1; \
+       done
+       chmod a+x t/*.sh
+       touch patch-stamp
+
+build: build-arch build-indep
+
+build-arch: deb-checkdir build-arch-stamp
+build-arch-stamp: patch-stamp
+       -$(CC) -v
+       DESTDIR='$(GIT)' $(MAKE) all $(OPTS)
+       test -z '$(TEST)' || \
+         DESTDIR='$(GIT)' $(MAKE) $(TEST) $(OPTS) || \
+         GIT_TEST_OPTS=--verbose DESTDIR='$(GIT)' $(MAKE) $(TEST) $(OPTS)
+       touch build-arch-stamp
+
+build-indep: deb-checkdir build-indep-stamp
+build-indep-stamp: patch-stamp build-arch-stamp
+       : 'Work around bug #478524'
+       set -e; if test '$(BUILD_DOCS)' = 1; \
+       then \
+               $(MAKE) -CDocumentation man html $(DOC_OPTS); \
+       fi
+       touch build-indep-stamp
+
+clean: deb-checkdir
+       $(MAKE) clean $(OPTS)
+       ! test -e patch-stamp || \
+         for i in `ls -1r debian/diff/*.diff debian/diff/*.patch \
+             2>/dev/null || :`; do \
+           patch -p1 -NR -r- <$$i || test $$? = 1 || exit 1; \
+         done
+       rm -rf '$(TMP)'
+       rm -f patch-stamp build-arch-stamp build-indep-stamp
+       rm -rf '$(GIT)' '$(GIT)'-doc '$(GIT)'-arch '$(GIT)'-cvs
+       rm -rf '$(GIT)'-svn '$(GIT)'-email '$(GIT)'-el
+       rm -rf '$(GIT)'-daemon-run '$(GIT)'-daemon-sysvinit '$(GIT)'-gui
+       rm -rf '$(GIT)'k '$(GIT)'web '$(GIT)'-all '$(GIT)'-man '$(GIT)'-core
+       rm -f debian/files debian/substvars changelog
+
+install: install-arch install-indep
+install-arch: deb-checkdir deb-checkuid build-arch-stamp
+       # git
+       rm -rf '$(GIT)'
+       install -d -m0755 '$(GIT)'/usr/bin
+       DESTDIR='$(GIT)' $(MAKE) install $(OPTS)
+       install -d -m0755 '$(GIT)'/var/cache/git
+       rm -f '$(GIT)'/usr/share/perl5/Error.pm
+       rm -rf '$(GIT)'/usr/share/man
+       chmod 644 '$(GIT)'/usr/share/perl5/Git.pm
+       : 'Disable preliminary German translation.'
+       rm -rf '$(GIT)'/usr/share/locale/de
+       # don't include arch, cvs, svn, email, gui tools, and gitk program
+       for i in git-archimport git-cvs git-svn git-send-email \
+        git-gui git-citool; do \
+         rm -f '$(GIT)'/usr/lib/git-core/$$i*; \
+       done
+       rm -f '$(GIT)'/usr/bin/git-cvsserver
+       rm -f '$(GIT)'/usr/bin/gitk
+       for i in '$(GIT)'/usr/bin/* '$(GIT)'/usr/lib/git-core/*; do \
+         test -d $$i || \
+         test "`head -c2 $$i`" = '#!' || \
+         test "`head -c2 $$i`" = '# ' || \
+         $(STRIP) -R .comment -R .note $$i; \
+       done
+       # don't include git-gui's lib
+       rm -rf '$(GIT)'/usr/share/git-gui/
+       # don't include gitk's lib
+       rm -rf '$(GIT)'/usr/share/gitk/
+       # bash completion
+       install -d -m0755 '$(GIT)'/etc/bash_completion.d
+       install -m0644 contrib/completion/git-completion.bash \
+         '$(GIT)'/etc/bash_completion.d/git
+       # gitweb
+       install -d -m0755 '$(GIT)'/usr/share/gitweb
+       ln -s gitweb.cgi '$(GIT)'/usr/share/gitweb/index.cgi
+       # contrib hooks
+       install -d -m0755 '$(GIT)'/usr/share/git-core/contrib/hooks
+       install -m0644 contrib/hooks/* \
+         '$(GIT)'/usr/share/git-core/contrib/hooks/
+       # contrib
+       install -d -m0755 '$(GIT)'/usr/share/doc/git
+       cp -R contrib '$(GIT)'/usr/share/doc/git/
+       rm -rf '$(GIT)'/usr/share/doc/git/contrib/completion
+       rm -rf '$(GIT)'/usr/share/doc/git/contrib/emacs
+       find '$(GIT)'/usr/share/doc/git/contrib -type f | xargs chmod 0644
+       find '$(GIT)'/usr/share/doc/git/contrib -type d | xargs chmod 0755
+         # remove contrib hooks, they are now installed in
+         # /usr/share/git-core/contrib, keep symlink for backward compatibility
+       rm -rf '$(GIT)'/usr/share/doc/git/contrib/hooks
+       ln -s ../../../git-core/contrib/hooks \
+         '$(GIT)'/usr/share/doc/git/contrib/
+       find '$(GIT)'/usr/share/doc/git/ -name .gitignore | xargs rm -f
+       # upstream changelog
+       test -r changelog || ln -s debian/changelog.upstream changelog
+
+install-indep:
+       : 'Work around bug #478524'
+       set -e; if test '$(BUILD_DOCS)' = 1; \
+       then \
+               $(MAKE) -f debian/rules install-indep-real; \
+       fi
+install-indep-real: build-arch-stamp build-indep-stamp
+       rm -rf '$(TMP)'
+       install -d -m0755 '$(TMP)'
+       DESTDIR='$(TMP)' $(MAKE) install install-doc $(OPTS)
+       $(MAKE) -CDocumentation install-webdoc WEBDOC_DEST='$(TMP)'/html \
+         2>/dev/null
+       # RelNotes are shipped in git
+       rm -rf '$(TMP)'/html/RelNotes
+       # git-man
+       rm -rf '$(GIT)'-man
+       install -d -m0755 '$(GIT)'-man/usr/share/man/man3
+       DESTDIR='$(GIT)'-man $(MAKE) install-doc $(OPTS)
+       install -m 0644 '$(TMP)'/usr/share/man/man3/Git.3pm \
+         '$(GIT)'-man/usr/share/man/man3/Git.3pm
+       rm -f '$(GIT)'-man/usr/share/man/man3/private-Error.3pm
+       # don't include arch, cvs, svn, email, gui, and gitk man pages
+       for i in git-archimport git-cvs git-svn git-send-email gitk \
+        git-gui git-citool; do \
+         rm -f '$(GIT)'-man/usr/share/man/man1/$$i*; \
+       done
+       chmod 0644 '$(GIT)'-man/usr/share/man/man?/*.[0-9]*
+       gzip -9 '$(GIT)'-man/usr/share/man/man?/*.[0-9]*
+       # git-doc
+       rm -rf '$(GIT)'-doc
+       install -d -m0755 '$(GIT)'-doc/usr/share/doc/git
+       ln -s ../git-doc '$(GIT)'-doc/usr/share/doc/git/html
+       # git-cvs, git-svn
+       for i in cvs svn; do \
+         rm -rf '$(GIT)'-$$i && \
+         install -d -m0755 '$(GIT)'-$$i/usr/lib/git-core && \
+         install -m0755 '$(TMP)'/usr/lib/git-core/git-$$i* \
+           '$(GIT)'-$$i/usr/lib/git-core/ && \
+         install -d -m0755 '$(GIT)'-$$i/usr/share/man/man1 && \
+         install -m0644 '$(TMP)'/usr/share/man/man1/git-$$i* \
+           '$(GIT)'-$$i/usr/share/man/man1/ && \
+         gzip -9 '$(GIT)'-$$i/usr/share/man/man1/*.1 || exit 1; \
+       done
+       # git-cvs
+       install -d -m0755 '$(GIT)'-cvs/usr/bin
+       install -m0755 '$(TMP)'/usr/bin/git-cvsserver '$(GIT)'-cvs/usr/bin/
+       # git-arch
+       rm -rf '$(GIT)'-arch
+       install -d -m0755 '$(GIT)'-arch/usr/lib/git-core
+       install -m0755 '$(TMP)'/usr/lib/git-core/git-archimport \
+         '$(GIT)'-arch/usr/lib/git-core/
+       install -d -m0755 '$(GIT)'-arch/usr/share/man/man1
+       install -m0644 '$(TMP)'/usr/share/man/man1/git-archimport.1 \
+         '$(GIT)'-arch/usr/share/man/man1/
+       gzip -9 '$(GIT)'-arch/usr/share/man/man1/*.1
+       # git-email
+       rm -rf '$(GIT)'-email
+       install -d -m0755 '$(GIT)'-email/usr/lib/git-core
+       install -m0755 '$(TMP)'/usr/lib/git-core/git-send-email \
+         '$(GIT)'-email/usr/lib/git-core/
+       install -d -m0755 '$(GIT)'-email/usr/share/man/man1
+       install -m0644 '$(TMP)'/usr/share/man/man1/git-send-email.1 \
+         '$(GIT)'-email/usr/share/man/man1/
+       gzip -9 '$(GIT)'-email/usr/share/man/man1/*.1
+       # git-daemon-run
+       rm -rf '$(GIT)'-daemon-run
+       install -d -m0755 '$(GIT)'-daemon-run/etc/sv/git-daemon/log
+       install -m0755 debian/git-daemon/run \
+         '$(GIT)'-daemon-run/etc/sv/git-daemon/run
+       install -m0755 debian/git-daemon/log/run \
+         '$(GIT)'-daemon-run/etc/sv/git-daemon/log/run
+       # git-daemon-sysvinit
+       rm -rf '$(GIT)'-daemon-sysvinit
+       install -d -m0755 '$(GIT)'-daemon-sysvinit/etc/init.d
+       install -m0755 debian/git-daemon.init \
+         '$(GIT)'-daemon-sysvinit/etc/init.d/git-daemon
+       install -d -m0755 '$(GIT)'-daemon-sysvinit/etc/default
+       install -m0644 debian/git-daemon.default \
+         '$(GIT)'-daemon-sysvinit/etc/default/git-daemon
+       install -d -m0755 '$(GIT)'-daemon-sysvinit/usr/share/git-core/sysvinit
+       >'$(GIT)'-daemon-sysvinit/usr/share/git-core/sysvinit/sentinel
+       chmod 0644 \
+         '$(GIT)'-daemon-sysvinit/usr/share/git-core/sysvinit/sentinel
+       # git-el
+       rm -rf '$(GIT)'-el
+       install -m0644 -D debian/git-el.emacsen-startup \
+         '$(GIT)'-el/etc/emacs/site-start.d/50git-core.el
+       install -m0755 -D debian/git-el.emacsen-install \
+         '$(GIT)'-el/usr/lib/emacsen-common/packages/install/git
+       install -m0755 -D debian/git-el.emacsen-remove \
+         '$(GIT)'-el/usr/lib/emacsen-common/packages/remove/git
+       install -d -m0755 '$(GIT)'-el/usr/share/git-core/emacs
+       install -m0644 contrib/emacs/git-blame.el \
+         '$(GIT)'-el/usr/share/git-core/emacs/git-blame.el
+       install -m0644 contrib/emacs/git.el \
+         '$(GIT)'-el/usr/share/git-core/emacs/git.el
+       install -d -m0755 '$(GIT)'-el/usr/share/doc/git-el
+       ln -s ../git/README.emacs \
+         '$(GIT)'-el/usr/share/doc/git-el/README.Debian
+       install -d -m0755 '$(GIT)'-el/usr/share/doc/git/contrib
+       ln -s ../../../git-core/emacs \
+         '$(GIT)'-el/usr/share/doc/git/contrib/emacs
+       # git-gui
+       rm -rf '$(GIT)'-gui
+       install -d -m0755 '$(GIT)'-gui/usr/lib/git-core
+       install -m0755 '$(TMP)'/usr/lib/git-core/git-gui \
+         '$(GIT)'-gui/usr/lib/git-core/
+       install -m0755 '$(TMP)'/usr/lib/git-core/git-gui--askpass \
+         '$(GIT)'-gui/usr/lib/git-core/
+       install -m0755 '$(TMP)'/usr/lib/git-core/git-citool \
+         '$(GIT)'-gui/usr/lib/git-core/
+       install -d -m0755 '$(GIT)'-gui/usr/share/man/man1
+       for i in gui citool; do \
+         install -m0644 '$(TMP)'/usr/share/man/man1/git-$$i* \
+           '$(GIT)'-gui/usr/share/man/man1/; \
+       done
+       gzip -9 '$(GIT)'-gui/usr/share/man/man1/*.1
+       install -d -m0755 '$(GIT)'-gui/usr/share/git-gui
+       cp -a '$(TMP)'/usr/share/git-gui/lib '$(GIT)'-gui/usr/share/git-gui/
+       # gitk
+       rm -rf '$(GIT)'k
+       install -d -m0755 '$(GIT)'k/usr/bin
+       install -m0755 '$(TMP)'/usr/bin/gitk \
+         '$(GIT)'k/usr/bin/gitk
+       install -d -m0755 '$(GIT)'k/usr/share/man/man1
+       install -m0644 '$(TMP)'/usr/share/man/man1/gitk.1 \
+         '$(GIT)'k/usr/share/man/man1/
+       gzip -9 '$(GIT)'k/usr/share/man/man1/*.1
+       install -d -m0755 '$(GIT)'k/usr/share/gitk
+       cp -a '$(TMP)'/usr/share/gitk/lib '$(GIT)'k/usr/share/gitk/
+       # gitweb
+       rm -rf '$(GIT)'web
+       install -d -m0755 '$(GIT)'web/usr/lib/cgi-bin
+       ln -s ../../share/gitweb/gitweb.cgi \
+         '$(GIT)'web/usr/lib/cgi-bin/gitweb.cgi
+       install -d -m0755 '$(GIT)'web/etc
+       install -m0644 debian/gitweb.conf '$(GIT)'web/etc/gitweb.conf
+       install -d -m0755 '$(GIT)'web/etc/apache2/conf.d
+       install -m0644 debian/gitweb.apache2.conf \
+         '$(GIT)'web/etc/apache2/conf.d/gitweb
+       # git-all
+       rm -rf '$(GIT)'-all
+       install -d -m0755 '$(GIT)'-all
+       # git-core
+       rm -rf '$(GIT)'-core
+       install -d -m0755 '$(GIT)'-core/usr/share/doc
+       ln -s git '$(GIT)'-core/usr/share/doc/git-core
+       # upstream changelog
+       test -r changelog || ln -s debian/changelog.upstream changelog
+
+binary: binary-arch binary-indep
+binary-arch: install-arch git.deb
+       rm -f debian/substvars
+       dpkg-shlibdeps '$(GIT)'/usr/bin/* '$(GIT)'/usr/lib/git-core/*
+       dpkg-gencontrol -isp -pgit -P'$(GIT)'
+       dpkg -b '$(GIT)' ..
+binary-indep: install-indep git-doc.deb git-arch.deb git-cvs.deb git-svn.deb \
+         git-daemon-run.deb git-daemon-sysvinit.deb \
+         git-email.deb git-gui.deb gitk.deb gitweb.deb \
+         git-all.deb git-el.deb git-man.deb git-core.deb-DEBIAN
+       rm -f debian/substvars
+       for i in -doc -arch -cvs -svn -daemon-run -daemon-sysvinit \
+        -email -gui k web -all -core -el -man; do \
+         dpkg-gencontrol -isp -pgit$$i -P'$(GIT)'$$i && \
+         dpkg -b '$(GIT)'$$i .. || exit 1; \
+       done
+
+.PHONY: patch clean
+.PHONY: build build-arch build-indep
+.PHONY: install install-arch install-indep install-indep-real
+.PHONY: binary binary-arch binary-indep
+
+include debian/implicit
diff --git a/debian/versions.upstream b/debian/versions.upstream
new file mode 100644 (file)
index 0000000..8c15f19
--- /dev/null
@@ -0,0 +1,348 @@
+v1.0rc1
+v1.0rc2
+v1.0rc3
+v1.0rc4
+v1.0rc5
+v1.0rc6
+v1.0.0
+v1.0.0a
+v1.0.0b
+v1.0.1
+v1.0.2
+v1.0.3
+v1.0.4
+v1.0.5
+v1.0.6
+v1.0.7
+v1.0.8
+v1.0.9
+v1.0.10
+v1.0.11
+v1.0.12
+v1.0.13
+v1.1.0
+v1.1.1
+v1.1.2
+v1.1.3
+v1.1.4
+v1.1.5
+v1.1.6
+v1.2.0
+v1.2.1
+v1.2.2
+v1.2.3
+v1.2.4
+v1.2.5
+v1.2.6
+v1.3.0-rc1
+v1.3.0-rc2
+v1.3.0-rc3
+v1.3.0-rc4
+v1.3.0
+v1.3.1
+v1.3.2
+v1.3.3
+v1.4.0-rc1
+v1.4.0-rc2
+v1.4.0
+v1.4.1-rc1
+v1.4.1-rc2
+v1.4.1
+v1.4.1.1
+v1.4.2-rc1
+v1.4.2-rc2
+v1.4.2-rc3
+v1.4.2-rc4
+v1.4.2
+v1.4.2.1
+v1.4.2.2
+v1.4.2.3
+v1.4.2.4
+v1.4.3-rc1
+v1.4.3-rc2
+v1.4.3-rc3
+v1.4.3
+v1.4.3.1
+v1.4.3.2
+v1.4.3.3
+v1.4.3.4
+v1.4.3.5
+v1.4.4-rc1
+v1.4.4-rc2
+v1.4.4
+v1.4.4.1
+v1.4.4.2
+v1.4.4.3
+v1.4.4.4
+v1.5.0-rc0
+v1.5.0-rc1
+v1.5.0-rc2
+v1.5.0-rc3
+v1.5.0-rc4
+v1.5.0
+v1.5.0.1
+v1.5.0.2
+v1.5.0.3
+v1.5.0.4
+v1.5.0.5
+v1.5.0.6
+v1.5.0.7
+v1.5.1-rc1
+v1.5.1-rc2
+v1.5.1-rc3
+v1.5.1
+v1.5.1.1
+v1.5.1.2
+v1.5.1.3
+v1.5.1.4
+v1.5.1.5
+v1.5.1.6
+v1.5.2-rc0
+v1.5.2-rc1
+v1.5.2-rc2
+v1.5.2-rc3
+v1.5.2
+v1.5.2.1
+v1.5.2.2
+v1.5.2.3
+v1.5.2.4
+v1.5.2.5
+v1.5.3-rc0
+v1.5.3-rc1
+v1.5.3-rc2
+v1.5.3-rc3
+v1.5.3-rc4
+v1.5.3-rc5
+v1.5.3-rc6
+v1.5.3-rc7
+v1.5.3
+v1.5.3.1
+v1.5.3.2
+v1.5.3.3
+v1.5.3.4
+v1.5.3.5
+v1.5.3.6
+v1.5.3.7
+v1.5.3.8
+v1.5.4-rc0
+v1.5.4-rc1
+v1.5.4-rc2
+v1.5.4-rc3
+v1.5.4-rc4
+v1.5.4-rc5
+v1.5.4
+v1.5.4.1
+v1.5.4.2
+v1.5.4.3
+v1.5.4.4
+v1.5.4.5
+v1.5.4.6
+v1.5.4.7
+v1.5.5-rc0
+v1.5.5-rc1
+v1.5.5-rc2
+v1.5.5-rc3
+v1.5.5
+v1.5.5.1
+v1.5.5.2
+v1.5.5.3
+v1.5.5.4
+v1.5.5.5
+v1.5.5.6
+v1.5.6-rc0
+v1.5.6-rc1
+v1.5.6-rc2
+v1.5.6-rc3
+v1.5.6
+v1.5.6.1
+v1.5.6.2
+v1.5.6.3
+v1.5.6.4
+v1.5.6.5
+v1.5.6.6
+v1.6.0-rc0
+v1.6.0-rc1
+v1.6.0-rc2
+v1.6.0-rc3
+v1.6.0
+v1.6.0.1
+v1.6.0.2
+v1.6.0.3
+v1.6.0.4
+v1.6.0.5
+v1.6.0.6
+v1.6.1-rc1
+v1.6.1-rc2
+v1.6.1-rc3
+v1.6.1-rc4
+v1.6.1
+v1.6.1.1
+v1.6.1.2
+v1.6.1.3
+v1.6.1.4
+v1.6.2-rc0
+v1.6.2-rc1
+v1.6.2-rc2
+v1.6.2
+v1.6.2.1
+v1.6.2.2
+v1.6.2.3
+v1.6.2.4
+v1.6.2.5
+v1.6.3-rc0
+v1.6.3-rc1
+v1.6.3-rc2
+v1.6.3-rc3
+v1.6.3-rc4
+v1.6.3
+v1.6.3.1
+v1.6.3.2
+v1.6.3.3
+v1.6.3.4
+v1.6.4-rc0
+v1.6.4-rc1
+v1.6.4-rc2
+v1.6.4-rc3
+v1.6.4
+v1.6.4.1
+v1.6.4.2
+v1.6.4.3
+v1.6.4.4
+v1.6.4.5
+v1.6.5-rc0
+v1.6.5-rc1
+v1.6.5-rc2
+v1.6.5-rc3
+v1.6.5
+v1.6.5.1
+v1.6.5.2
+v1.6.5.3
+v1.6.5.4
+v1.6.5.5
+v1.6.5.6
+v1.6.5.7
+v1.6.5.8
+v1.6.5.9
+v1.6.6-rc0
+v1.6.6-rc1
+v1.6.6-rc2
+v1.6.6-rc3
+v1.6.6-rc4
+v1.6.6
+v1.6.6.1
+v1.6.6.2
+v1.6.6.3
+v1.7.0-rc0
+v1.7.0-rc1
+v1.7.0-rc2
+v1.7.0
+v1.7.0.1
+v1.7.0.2
+v1.7.0.3
+v1.7.0.4
+v1.7.0.5
+v1.7.0.6
+v1.7.0.7
+v1.7.0.8
+v1.7.0.9
+v1.7.1-rc0
+v1.7.1-rc1
+v1.7.1-rc2
+v1.7.1
+v1.7.1.1
+v1.7.1.2
+v1.7.1.3
+v1.7.1.4
+v1.7.2-rc0
+v1.7.2-rc1
+v1.7.2-rc2
+v1.7.2-rc3
+v1.7.2
+v1.7.2.1
+v1.7.2.2
+v1.7.2.3
+v1.7.2.4
+v1.7.2.5
+v1.7.3-rc0
+v1.7.3-rc1
+v1.7.3-rc2
+v1.7.3
+v1.7.3.1
+v1.7.3.2
+v1.7.3.3
+v1.7.3.4
+v1.7.3.5
+v1.7.4-rc0
+v1.7.4-rc1
+v1.7.4-rc2
+v1.7.4-rc3
+v1.7.4
+v1.7.4.1
+v1.7.4.2
+v1.7.4.3
+v1.7.4.4
+v1.7.4.5
+v1.7.5-rc0
+v1.7.5-rc1
+v1.7.5-rc2
+v1.7.5-rc3
+v1.7.5
+v1.7.5.1
+v1.7.5.2
+v1.7.5.3
+v1.7.5.4
+v1.7.6-rc0
+v1.7.6-rc1
+v1.7.6-rc2
+v1.7.6-rc3
+v1.7.6
+v1.7.6.1
+v1.7.6.2
+v1.7.6.3
+v1.7.6.4
+v1.7.6.5
+v1.7.7-rc0
+v1.7.7-rc1
+v1.7.7-rc2
+v1.7.7-rc3
+v1.7.7
+v1.7.7.1
+v1.7.7.2
+v1.7.7.3
+v1.7.7.4
+v1.7.7.5
+v1.7.7.6
+v1.7.7.7
+v1.7.8-rc0
+v1.7.8-rc1
+v1.7.8-rc2
+v1.7.8-rc3
+v1.7.8-rc4
+v1.7.8
+v1.7.8.1
+v1.7.8.2
+v1.7.8.3
+v1.7.8.4
+v1.7.8.5
+v1.7.8.6
+v1.7.9-rc0
+v1.7.9-rc1
+v1.7.9-rc2
+v1.7.9
+v1.7.9.1
+v1.7.9.2
+v1.7.9.3
+v1.7.9.4
+v1.7.9.5
+v1.7.9.6
+v1.7.9.7
+v1.7.10-rc0
+v1.7.10-rc1
+v1.7.10-rc2
+v1.7.10-rc3
+v1.7.10-rc4
+v1.7.10
+v1.7.10.1
+v1.7.10.2
+v1.7.10.3
+v1.7.10.4
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..5d318ea
--- /dev/null
@@ -0,0 +1,4 @@
+version=3
+opts="uversionmangle=s/\.rc/~rc/" \
+http://code.google.com/p/git-core/downloads/list \
+//git-core.googlecode.com/files/git-([\d.]+(?:rc\d+)?)\.tar\.gz