diff options
Diffstat (limited to 'debian')
91 files changed, 80732 insertions, 0 deletions
diff --git a/debian/README.emacs b/debian/README.emacs new file mode 100644 index 0000000..e893018 --- /dev/null +++ b/debian/README.emacs @@ -0,0 +1,24 @@ +The git-el package previously provided the following modules for Emacs +support: + +* git.el: + + Status manager that displayed the state of all the files of the + project and provided access to the most frequently used Git + commands. Its interface was modeled after the pcl-cvs mode. + + Modern alternatives include Magit, available from the elpa-magit + package, and the VC-mode backend for Git that is part of standard + Emacs distributions. + +* git-blame.el: + + A wrapper for "git blame" written before Emacs's own vc-annotate + mode, which can be invoked using C-x v g, learned to invoke + "git blame". + +* vc-git.el: + + This file used to contain the VC-mode backend for Git, but it is no + longer distributed with Git. It is now maintained as part of Emacs + and included in standard Emacs distributions. diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..ce13c78 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,85 @@ +Git sources for Debian +---------------------- + +The git Debian package sources are available through git, and +through 'apt-get source git'. Getting the sources through git +should be preferred: + + # apt-get install git # if not yet done + + $ git clone https://repo.or.cz/r/git/debian.git/ git + $ cd git + +After cloning the repository, you have checked out the debian-sid +branch, ready to be used by dpkg-buildpackage, e.g. + + $ dpkg-buildpackage -i -rfakeroot -uc -us + +If you want to make changes in the ./debian/ subdirectory, this is the +correct branch to work on. After making changes, document them in +debian/changelog, and commit through 'git add' and 'git commit', or 'git +commit -a', or similar. If you think the changes should be incorporated +into the standard Debian package, create the patch[es] through 'git +format-patch', and send them to the Debian Bug Tracking System, e.g. + + $ vi debian/rules + $ debchange -pi + $ git commit -a + $ git format-patch HEAD^ + + +If you want to make changes to the upstream git sources, first checkout +the release+patches branch + + $ git checkout -b release+patches origin/release+patches + +The release+patches branch holds patches on top of the current release +version that is packaged for Debian/unstable. The current release +version is available in the release branch. If you are interested, you +can checkout this branch too + + $ git checkout -b release origin/release + +When releasing a new Debian package based on a new upstream release, the +release branch will be fastforwarded, and the release+patches branch is +rewound and rebased on the new HEAD of the release branch. This is done +by + + $ git checkout release + $ git merge v1.6.5 + $ git checkout release+patches + $ git rebase release + +You generally don't need to do that, but beware that the release+patches +branch is rewound occasionally. + +After checking out the release+patches branch, make the desired changes +to the upstream sources, and commit them. To integrate the changes into +the Debian package, extract these changes, and change to the debian-sid +branch (Note: the file extension for the patches is '.diff', use 'git +config --add format.suffix .diff' to make that the default) + + $ git format-patch release..release+patches + $ git checkout debian-sid + +Now move the extracted patches into the debian/patches/ directory, add +their filenames to debian/patches/series, add a meaningful message to +debian/changelog, and commit the changes to the debian-sid branch: + + $ ls ????-*.diff >> debian/patches/series + $ mv ????-*.diff debian/patches/ + $ git add debian/patches + $ debchange -pi + $ git add debian/changelog + $ git commit + +Again, if you think the changes should be incorporated into the standard +Debian package, create the patch[es] from the debian-sid branch through +'git format-patch', send them to the Debian Bug Tracking System. + +There's a mailing list to coordinate work on the git-core packages, if +you're interested in helping please subscribe to the +<debian-package-git> mailing list by sending an email to +<debian-package-git-subscribe@list.smarden.org>. + + -- Gerrit Pape <pape@smarden.org> Sat, 10 Apr 2010 12:28:52 +0000 diff --git a/debian/apache2/gitweb.conf b/debian/apache2/gitweb.conf new file mode 100644 index 0000000..cb914bc --- /dev/null +++ b/debian/apache2/gitweb.conf @@ -0,0 +1,19 @@ +<IfModule mod_alias.c> + <IfModule mod_mime.c> + <IfModule mod_cgi.c> + Define ENABLE_GITWEB + </IfModule> + <IfModule mod_cgid.c> + Define ENABLE_GITWEB + </IfModule> + </IfModule> +</IfModule> + +<IfDefine ENABLE_GITWEB> + Alias /gitweb /usr/share/gitweb + + <Directory /usr/share/gitweb> + Options +FollowSymLinks +ExecCGI + AddHandler cgi-script .cgi + </Directory> +</IfDefine> diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..177a37f --- /dev/null +++ b/debian/changelog @@ -0,0 +1,4211 @@ +git (1:2.30.2-1+deb11u2) bullseye-security; urgency=high + + * Non-maintainer upload by the Security Team. + * CVE-2023-22490: data exfiltration while performing local clone from + malicious repository + * CVE-2023-23946: path traversal vulnerbility in git-apply that a path + outside the working tree can be overwritten as the acting user + + -- Aron Xu <aron@debian.org> Wed, 22 Feb 2023 17:51:09 +0800 + +git (1:2.30.2-1+deb11u1) bullseye-security; urgency=high + + * Non-maintainer upload by the Security Team. + * CVE-2022-23521: multiple integer overflows while parsing gitattributes + * CVE-2022-24765: owner check for the top-level directory to avoid + discovering a repository in a directory that is owned by someone other + than the current user, which may lead to arbitary command execution + * CVE-2022-29187: code execution and privilege escalation when the + repository directory and gitdir have different ownership + * CVE-2022-39253: exposure of sensitive information while performing local + clone from malicious repository + * CVE-2022-39260: integer overflow and out-of-bouns array reads/writes in + git shell's command line input processing + * CVE-2022-41903: integer overflow in commit formatting machinery + + -- Aron Xu <aron@debian.org> Thu, 26 Jan 2023 22:59:15 +0800 + +git (1:2.30.2-1) unstable; urgency=medium + + * new upstream point release (see RelNotes/2.30.2.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 09 Mar 2021 17:45:38 -0800 + +git (1:2.30.1-1) unstable; urgency=low + + * new upstream point release (see RelNotes/2.30.1.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 16 Feb 2021 21:55:22 -0800 + +git (1:2.30.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.30.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 28 Dec 2020 16:22:30 -0800 + +git (1:2.30.0~rc2-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 23 Dec 2020 15:17:54 -0800 + +git (1:2.30.0~rc1-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.30.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 21 Dec 2020 13:58:04 -0800 + +git (1:2.29.2-1) unstable; urgency=low + + * new upstream point release (see RelNotes/2.29.2.txt). + * debian/copyright: remove unused BSD-2-Clause text. The last part + of Git under that license was removed in v2.29.0. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 02 Nov 2020 09:33:37 -0800 + +git (1:2.29.1-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.29.0.txt). + * update debian/copyright. + * debian/control: Build-Depends: debhelper-compat (= 10) + * debian/rules: run "dh --without autoreconf" to speed up build, + since we don't use the autotools-generated configure script. + * git-el: install elisp for the "emacs" flavor, too (thx Zack Weinberg; + closes: #972871). Breaks: emacsen-common (<< 3.0.0~) to avoid + triggering on older systems where "emacs" was a virtual package. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 26 Oct 2020 17:25:55 -0700 + +git (1:2.28.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.28.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 27 Jul 2020 11:02:01 -0700 + +git (1:2.28.0~rc2-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 22 Jul 2020 17:36:57 -0700 + +git (1:2.28.0~rc1-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 17 Jul 2020 18:40:53 -0700 + +git (1:2.28.0~rc0-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.28.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 13 Jul 2020 15:03:55 -0700 + +git (1:2.27.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.27.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 01 Jun 2020 10:05:06 -0700 + +git (1:2.27.0~rc2-1) unstable; urgency=low + + * new upstream release candidate (closes: #757402). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 26 May 2020 14:27:25 -0700 + +git (1:2.27.0~rc0-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.27.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 18 May 2020 16:57:41 -0700 + +git (1:2.26.2-1) unstable; urgency=high + + * new upstream point release (see RelNotes/2.26.2.txt). + * Addresses the security issue CVE-2020-11008. + + With a crafted URL that contains a newline or empty host, or + lacks a scheme, the credential helper machinery can be fooled + into providing credential information that is not appropriate + for the protocol in use and host being contacted. + + Unlike the vulnerability fixed in 2.26.1, the credentials are + not for a host of the attacker's choosing. Instead, they are + for an unspecified host, based on how the configured + credential helper handles an absent "host" parameter. + + The attack has been made impossible by refusing to work with + underspecified credential patterns. + + Thanks to Carlo Arenas for reporting that Git was still + vulnerable, Felix Wilhelm for providing the proof of concept + demonstrating this issue, and Jeff King for promptly providing + a corrected fix. + + Tested using the proof of concept at + https://crbug.com/project-zero/2021. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 20 Apr 2020 10:44:09 -0700 + +git (1:2.26.1-1) unstable; urgency=high + + * new upstream point release (see RelNotes/2.26.1.txt). + * Addresses the security issue CVE-2020-5260. + + With a crafted URL that contains a newline, the credential + helper machinery can be fooled to supply credential information + for the wrong host. The attack has been made impossible by + forbidding a newline character in any value passed via the + credential protocol. + + Thanks to Felix Wilhelm of Google Project Zero for finding + this vulnerability and Jeff King for fixing it. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 14 Apr 2020 10:29:38 -0700 + +git (1:2.26.0-2) unstable; urgency=low + + * fixes to the (newly default) rebase --merge backend: + * honor GIT_REFLOG_ACTION (thx Ian Jackson and Elijah Newren; + closes: #955152). + * avoid "nothing to do" error when fast-forwarding a branch with + rebase.abbreviateCommands=true (thx Jan Alexander Steffens and + Alban Gruin). + * debian/control: downgrade Recommends by git-all on git-daemon-run + to Suggests. The git-all package is a "batteries included" full + installation of Git. Automatically running a daemon is not useful + to most of its users. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 14 Apr 2020 10:09:37 -0700 + +git (1:2.26.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.26.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 23 Mar 2020 13:19:36 -0700 + +git (1:2.26.0~rc2-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.26.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 16 Mar 2020 21:17:23 -0700 + +git (1:2.25.1-1) unstable; urgency=low + + * new upstream point release (see RelNotes/2.25.1.txt). + * update debian/copyright. + * debian/control: remove Gerrit Pape from the Maintainer field, + as requested. Thanks to Gerrit for putting together this + package in a way that has been pleasant to maintain. + * debian/rules: use "dpkg-architecture" instead of "uname -m" to + retrieve host arch. This makes the resulting "git version + --build-options" more predictable when building for i386 on an + amd64 machine (thx to Ceridwen for detecting this in reprotest). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 18 Feb 2020 17:26:36 -0800 + +git (1:2.25.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.25.0.txt). + * build against Python 3 (thx Steve Langasek, closes: #948832). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 14 Jan 2020 02:58:47 +0000 + +git (1:2.25.0~rc2-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 08 Jan 2020 16:08:27 -0800 + +git (1:2.25.0~rc1-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 03 Jan 2020 15:12:18 -0800 + +git (1:2.25.0~rc0-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.25.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 27 Dec 2019 15:08:51 -0800 + +git (1:2.24.1-1) unstable; urgency=low + + * update to use upstream tarball for 2.24.1. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 10 Dec 2019 13:21:59 -0800 + +git (1:2.24.0-2) unstable; urgency=high + + * new upstream point release (see RelNotes/2.24.1.txt). + * Addresses the security issues CVE-2019-1348, CVE-2019-1349, + CVE-2019-1350, CVE-2019-1351, CVE-2019-1352, CVE-2019-1353, + CVE-2019-1354, and CVE-2019-1387. + + Credit for finding these vulnerabilities goes to Microsoft + Security Response Center, in particular to Nicolas Joly. Fixes + were provided by Jeff King and Johannes Schindelin with help + from Garima Singh. + + * Addresses CVE-2019-19604, arbitrary code execution via the + "update" field in .gitmodules. + + Credit for finding this vulnerability goes to Joern + Schneeweisz from GitLab. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 09 Dec 2019 06:20:25 +0000 + +git (1:2.24.0-1) unstable; urgency=medium + + * new upstream release (see RelNotes/2.24.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 03 Nov 2019 22:16:20 -0800 + +git (1:2.24.0~rc2-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 30 Oct 2019 12:52:19 -0700 + +git (1:2.24.0~rc1-1) unstable; urgency=medium + + * new upstream release candidate. + * test-tool: read --total as an int, not uint64 (thx John Paul Adrian + Glaubitz; closes: #942674) + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 24 Oct 2019 15:44:01 -0700 + +git (1:2.24.0~rc0-1) unstable; urgency=medium + + * new upstream release candidate (see RelNotes/2.24.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 18 Oct 2019 15:15:37 -0700 + +git (1:2.23.0-1) unstable; urgency=medium + + * new upstream release (see RelNotes/2.23.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 18 Aug 2019 16:58:15 -0700 + +git (1:2.23.0~rc1-1) unstable; urgency=low + + * new upstream release candidate. + * tests: sort output of hashmap iteration (closes: #933519) + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 02 Aug 2019 17:21:22 -0700 + +git (1:2.23.0~rc0-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.23.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 29 Jul 2019 17:07:53 -0700 + +git (1:2.22.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.21.0.txt, RelNotes/2.22.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 08 Jul 2019 10:50:51 -0700 + +git (1:2.20.1-2) unstable; urgency=low + + * package git-gui: actually Suggests: meld for mergetool support; + describe what meld is used for in package description (thx Jens + Reyer; closes: #707790). + * package gitweb: Depends: libhttp-date-perl | libtime-parsedate-perl + instead of ... | libtime-modules-perl (thx gregor herrmann; closes: + #879165). + * debian/control: use https in Vcs-Browser URL. + * debian/rules: build and test quietly if DEB_BUILD_OPTIONS=terse. + * debian/control: Standards-Version: 4.3.0.1. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 21 Jan 2019 22:32:28 -0800 + +git (1:2.20.1-1) unstable; urgency=medium + + * new upstream point release (see RelNotes/2.20.1.txt). + * package git-gui: Suggests: meld for mergetool support (thx Jens + Reyer; closes: #707790). + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 16 Dec 2018 16:53:30 -0800 + +git (1:2.20.0-1) unstable; urgency=medium + + * new upstream release (see RelNotes/2.20.0.txt). + * package git: Recommends: ca-certificates for https support (thx HJ; + closes: #915644). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 10 Dec 2018 11:07:26 -0800 + +git (1:2.20.0~rc2-1) unstable; urgency=low + + * new upstream release candidate. + * rebase: specify 'rebase -i' in reflog for interactive rebase + (closes: #914695). + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 02 Dec 2018 12:11:19 -0800 + +git (1:2.20.0~rc1-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.20.0.txt). + * debian/rules: target clean: don't remove t/t4256/1/mailinfo.c.orig. + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 25 Nov 2018 11:47:53 -0800 + +git (1:2.19.2-1) unstable; urgency=high + + * new upstream point release (see RelNotes/2.19.2.txt). + * run-command: do not fall back to cwd when command is not in $PATH. + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 22 Nov 2018 14:48:49 -0800 + +git (1:2.19.1-1) unstable; urgency=high + + * new upstream point release (see RelNotes/2.19.1.txt, + CVE-2018-17456). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 05 Oct 2018 10:10:45 -0700 + +git (1:2.19.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.19.0.txt). + * debian/patches/0001-*, 0002-*: remove; applied upstream. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 10 Sep 2018 13:33:45 -0700 + +git (1:2.19.0~rc2-2) unstable; urgency=low + + * debian/patches: + * 0001-http-backend-allow-empty-CONTENT_LENGTH: new from + upstream: http-backend: treat empty CONTENT_LENGTH as absent + (closes: #907587). + * 0002-Revert-Merge-branch-sb-submodule-core-worktree.diff: new + from upstream: stop setting and unsetting core.worktree in + submodules, since the code to do so does not handle submodules + with an embedded .git directory (thx Allan Sandfeld Jensen). + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 09 Sep 2018 19:08:55 -0700 + +git (1:2.19.0~rc2-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 04 Sep 2018 15:47:54 -0700 + +git (1:2.19.0~rc1-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.19.0.txt). + * debian/control: Standards-Version: 4.1.5.0. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 28 Aug 2018 13:48:50 -0700 + +git (1:2.18.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.18.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 21 Jun 2018 15:25:50 -0700 + +git (1:2.18.0~rc2-2) unstable; urgency=low + + * debian/control: Breaks: dgit (<< 5.1~) that lacks support + for working-tree-encoding attribute (thx Ian Jackson; + closes: #901897). + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 20 Jun 2018 10:22:51 -0700 + +git (1:2.18.0~rc2-1) unstable; urgency=low + + * new upstream release candidate. + * debian/README.emacs: describe removed emacs support. + * debian/control: package git-el: describe transitional + modules; Recommends: elpa-magit. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 18 Jun 2018 09:19:59 -0700 + +git (1:2.17.1-1) unstable; urgency=high + + * new upstream point release to fix CVE-2018-11235, arbitary code + execution via submodule names in .gitmodules (see RelNotes/2.17.1.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 28 May 2018 17:37:54 -0700 + +git (1:2.17.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.17.0.txt). + * debian/rules: add NO_USE_CPAN_FALLBACKS=1 to OPTS to avoid + installing bundled copies of perl modules. + * debian/control: Build-Depends: libmailtools-perl, liberror-perl; + git-email: Depends: libmailtools-perl for Mail::Address. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 02 Apr 2018 12:58:14 -0700 + +git (1:2.16.3-1) unstable; urgency=low + + * new upstream point release (see RelNotes/2.16.3.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 23 Mar 2018 09:56:37 -0700 + +git (1:2.16.2-1) unstable; urgency=low + + * new upstream point release (see RelNotes/2.16.2.txt). + * debian/control: correct spelling of openssh-client in Breaks + relation. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 23 Feb 2018 13:53:02 -0800 + +git (1:2.16.1-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.16.txt, RelNotes/2.16.1.txt). + * debian/control: Breaks: openssh-client (<< 1:6.8) since the latter + lacks support for the "-G" option (thx Bryan Turner; see + https://crbug.com/git/7). + * debian/patches/git-gui-Sort-entries-in-optimized-tclIndex.diff: + remove; applied upstream. + * debian/rules: do not install contrib/**/.gitattributes to + /usr/share/doc (thx Paul Wise and Bastien Roucaries for suggesting + it through lintian). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 05 Feb 2018 12:27:37 -0800 + +git (1:2.15.1-3) unstable; urgency=low + + * debian/rules: remove remnants of git-core package that prevented + building twice in a row (thx Andreas Beckmann; closes: #884890). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 22 Dec 2017 17:13:42 -0800 + +git (1:2.15.1-2) unstable; urgency=low + + * gitweb: Recommends: 'apache2 (>= 2.4.6-4~) | lynx | httpd' instead + of ... | lynx-cur | ... (thx Łukasz Zemczak; see #490265). + * debian/control: Standards-Version: 4.1.2.0. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 18 Dec 2017 09:45:31 -0800 + +git (1:2.15.1-1) unstable; urgency=low + + * new upstream point release (see RelNotes/2.15.1.txt). + * debian/control: Build-Depends-Indep: asciidoc (>= 8.6.10). + * debian/control: Standards-Version: 4.1.1.1. + * debian/patches: + * Normalize-generated-asciidoc-timestamps-...diff: remove; no + longer needed (thx Anders Kaseorg; see #782294). + * git-gui-Sort-entries-in-optimized-tclIndex.diff: update to + upstream version. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 29 Nov 2017 13:49:38 -0800 + +git (1:2.15.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.15.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 30 Oct 2017 10:56:56 -0700 + +git (1:2.15.0~rc2-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 23 Oct 2017 10:15:45 -0700 + +git (1:2.15.0~rc1-1) unstable; urgency=low + + * new upstream release candidate. + * remove transitional git-core package (thx Holger Levsen; + closes: #878189). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 16 Oct 2017 09:29:08 -0700 + +git (1:2.15.0~rc0-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.15.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 09 Oct 2017 10:13:35 -0700 + +git (1:2.14.2-1) unstable; urgency=high + + * new upstream point release (see RelNotes/2.14.1.txt). Among other + changes, this fixes a remote shell command execution vulnerability + via CVS protocol: + - git-shell: drop cvsserver support by default + - git-cvsserver: harden backtick captures against user input + + Thanks to joernchen of Phenoelit for discovering, reporting, and + fixing this vulnerability, and to Junio C Hamano and Jeff King for + the fixes to related issues. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 25 Sep 2017 18:23:18 -0700 + +git (1:2.14.1-3) unstable; urgency=low + + * git.README.Debian: remove obsolete instructions about setting up a + server to handle rsync:// protocol. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 28 Aug 2017 10:08:04 -0700 + +git (1:2.14.1-2) unstable; urgency=low + + * debian/control: git-daemon-sysvinit: Priority: optional. + * debian/control: clarify how to decide between git-daemon-run and + git-daemon-sysvinit in package descriptions. + * debian/control: Standards-Version: 4.0.1.0. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 14 Aug 2017 12:14:32 -0700 + +git (1:2.14.1-1) unstable; urgency=high + + * new upstream point release to fix CVE-2017-1000117, arbitrary + code execution issues via URLs (see RelNotes/2.14.1.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 10 Aug 2017 09:16:20 -0700 + +git (1:2.14.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.14.0.txt). + * debian/patches/0001-pre-rebase-hook-capture-documentation-...diff: + remove; applied upstream. + * build against PCRE v2 if available at build time (thx to Ævar + Arnfjörð Bjarmason for the suggestion). Build-Depends: + libpcre2-dev | libpcre3-dev. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 07 Aug 2017 11:31:25 -0700 + +git (1:2.13.3-1) unstable; urgency=low + + * new upstream point release (see RelNotes/2.13.3.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 17 Jul 2017 12:16:44 -0700 + +git (1:2.13.2-3) unstable; urgency=low + + * remove git-arch package. It depended on GNU Arch, which has not + been maintained upstream for more than 10 years (thx Adrian + Bunk; closes: #866059). + * debian/rules: do not allow flaky git-svn tests t9128.4 or t9167.3 + to cause the build to fail, either (closes: #865789). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 30 Jun 2017 16:11:06 -0700 + +git (1:2.13.2-2) unstable; urgency=low + + * git-email: use perl in dependency instead of perl-modules (thx + Damyan Ivanov for suggesting it through lintian). + * debian/rules: do not allow flaky git-svn test t9128.3 to cause + the build to fail (closes: #865789). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 26 Jun 2017 15:17:48 -0700 + +git (1:2.13.2-1) unstable; urgency=low + + * new upstream point release (see RelNotes/2.13.2.txt). + * git-email: Depends: perl-modules (>> 5.21.5) | libnet-smtp-ssl-perl + for starttls support instead of unconditionally requiring + Net::SMTP::SSL (thx Dennis Kaarsemaker). + * debian/rules: skip HTML documentation generation when + DEB_BUILD_OPTIONS=nodoc. + * debian/copyright: use https form of Format URL. + * debian/control: Standards-Version: 4.0.0.0. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 26 Jun 2017 11:47:14 -0700 + +git (1:2.13.1-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.12.0.txt, RelNotes/2.13.0.txt). + * debian/patches/xdiff-Do-not-enable-XDF_FAST_HASH-by-default.diff, + shell-disallow-repo-names-beginning-with-dash.patch: remove; applied + upstream. + * update debian/copyright + * debian/rules: run tests once and always produce verbose output. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 21 Jun 2017 15:42:17 -0700 + +git (1:2.11.0-4) unstable; urgency=low + + [ Alan Jenkins ] + * git: remove Recommends: rsync (closes #862435). + * git-arch: Depends: rsync. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 15 May 2017 12:13:38 -0700 + +git (1:2.11.0-3) unstable; urgency=high + + * Do not allow git helpers run via git-shell to launch a pager + (CVE-2017-8386). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 09 May 2017 16:23:17 -0700 + +git (1:2.11.0-2) unstable; urgency=medium + + * gitweb: Depends: libcgi-pm-perl; Build-Depends: libcgi-pm-perl + (thx Mikko Rasa; closes: #847961). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 27 Dec 2016 15:17:12 -0800 + +git (1:2.11.0-1) unstable; urgency=medium + + * New upstream release (see RelNotes/2.11.0.txt). + * debian/patches/git-sh-setup-Restore-sourcability-from-outside-script.diff: + remove; applied upstream. + * Replace + debian/patches/Documentation-omit-asciidoc-footer-on-generated-input.diff + with the more upstreamable + debian/patches/Normalize-generated-asciidoc-timestamps-with-SOURCE_D.diff. + * debian/patches/git-gui-Sort-entries-in-optimized-tclIndex.diff, + debian/patches/xdiff-Do-not-enable-XDL_FAST_HASH-by-default.diff: + Further improvements to build reproducibility. + + -- Anders Kaseorg <andersk@mit.edu> Wed, 30 Nov 2016 23:34:59 -0500 + +git (1:2.10.2-3) unstable; urgency=medium + + * debian/rules: Split override_dh_installdocs into -arch and -indep + parts. (Closes: #843393) + + -- Anders Kaseorg <andersk@mit.edu> Wed, 16 Nov 2016 16:12:02 -0500 + +git (1:2.10.2-2) unstable; urgency=medium + + * Add missing upstream changelog entries from v2.10.2. + * gitweb: Add version to Breaks: apache2.2-common (<< 2.3~). + * git-mediawiki: Shorten description. + * Link extra license files to common-licenses. + * Invoke dpkg-maintscript-helper dir_to_symlink correctly. + (Closes: #843011) + * debian/patches/Documentation-omit-asciidoc-footer-on-generated-input.diff: + Omit the “last updated” footer when processing asciidoc inputs that + are generated at build time. (Closes: #813912) + + -- Anders Kaseorg <andersk@mit.edu> Sat, 05 Nov 2016 07:20:14 -0400 + +git (1:2.10.2-1) unstable; urgency=medium + + * New upstream point release (see RelNotes/2.10.2.txt). + - imap-send: Tell cURL to use imap:// or imaps:// (Closes: #648329) + * Run asciidoc in TZ=UTC to improve the reproducibility of documentation + footer timestamps. + * debian/patches/git-sh-setup-Restore-sourcability-from-outside-script.diff: + Restore sourcability of git-sh-setup from outside scripts. + (Closes: #842477) + + -- Anders Kaseorg <andersk@mit.edu> Sat, 29 Oct 2016 22:44:37 -0400 + +git (1:2.10.1-1) unstable; urgency=medium + + * New upstream release (see RelNotes/2.10.0.txt, RelNotes/2.10.1.txt). + (Closes: #840800) + * debian/rules: Fix clean target to remove GIT-VERSION-FILE and + contrib/subtree build products. (Closes: #834870) + * Fix a missing reference in /usr/share/doc-base/everyday-git. + (Closes: #836516) + * Migrate patches to 3.0 (quilt) format. (Closes: #834566) + * Migrate packaging to Debhelper. (Closes: #834886) + * Replace perl-modules dependency with perl. + * git-daemon-sysvinit: Depend lsb-base (>= 3.0-6) for + /lib/lsb/init-functions. + + -- Anders Kaseorg <andersk@mit.edu> Fri, 14 Oct 2016 21:47:15 -0400 + +git (1:2.9.3-1) unstable; urgency=medium + + * New upstream release (see RelNotes/2.8.2.txt, RelNotes/2.8.3.txt, + RelNotes/2.9.0.txt, RelNotes/2.9.1.txt, RelNotes/2.9.2.txt, + RelNotes/2.9.3.txt). + + -- Anders Kaseorg <andersk@mit.edu> Tue, 16 Aug 2016 16:32:47 -0400 + +git (1:2.8.1-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/0003-0007-srv-be-more-tolerant-of-broken-DNS-replies.diff: + remove. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 18 Apr 2016 17:23:33 -0700 + +git (1:2.8.0~rc3-1) unstable; urgency=medium + + * new upstream release candidate (see RelNotes/2.8.0.txt). + * harden against on-stack and on-heap buffer overflows (CVE-2016-2324, + CVE-2016-2315; closes: #818318). + * debian/git.docs: update for README -> README.md renaming. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 16 Mar 2016 18:28:12 -0700 + +git (1:2.7.0-1) unstable; urgency=low + + * new upstream release. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 19 Jan 2016 11:04:08 -0800 + +git (1:2.7.0~rc3-1) unstable; urgency=low + + * new upstream release candidate (see RelNotes/2.7.0.txt). + * debian/control: Standards-Version: 3.9.6.0. + * debian/control: use HTTPS for Homepage URL. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 04 Jan 2016 12:25:50 -0800 + +git (1:2.6.4-1) unstable; urgency=medium + + * new upstream point release (see RelNotes/2.6.4.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 10 Dec 2015 16:07:19 -0800 + +git (1:2.6.3-1) unstable; urgency=medium + + * new upstream point release (see RelNotes/2.6.3.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 08 Dec 2015 12:02:26 -0800 + +git (1:2.6.2-1) unstable; urgency=low + + * new upstream point release (see RelNotes/2.6.2.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 23 Oct 2015 11:52:44 -0700 + +git (1:2.6.1-1) unstable; urgency=high + + * new upstream point release (see RelNotes/2.6.1.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 05 Oct 2015 11:16:05 -0700 + +git (1:2.6.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.6.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 29 Sep 2015 12:55:19 -0700 + +git (1:2.5.3-1) unstable; urgency=medium + + * new upstream point release (see RelNotes/2.5.2.txt, 2.5.3.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 18 Sep 2015 12:36:49 -0700 + +git (1:2.5.1-1) unstable; urgency=medium + + * new upstream point release (see RelNotes/2.5.1.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 28 Aug 2015 14:27:25 -0700 + +git (1:2.5.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.5.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 28 Jul 2015 10:47:13 -0700 + +git (1:2.4.6-1) unstable; urgency=medium + + * new upstream release (see RelNotes/2.[234].*.txt). + * debian/rules: use install-html target for git-subtree docs + (see #768795). + * gitweb: Pre-Depends: dpkg 1.16.1 for -noawait support. + * gitweb.apache2.conf: make configuration conditional on MIME + support (thx Uwe Storbeck; closes: #775236). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 21 Jul 2015 12:08:09 -0700 + +git (1:2.1.4-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Use interest-noawait triggers for gitweb to avoid a + trigger cycle. (Closes: #774607) + + -- Niels Thykier <niels@thykier.net> Mon, 02 Feb 2015 19:42:37 +0100 + +git (1:2.1.4-2) unstable; urgency=medium + + * update gitweb configuration for Apache 2.4: + * apache2.conf: + * make configuration conditional on CGI and alias support. + * put explicit '+' before FollowSymLinks option. + * README.Debian: update with new configuration file path. + Mention CGI support requirement. + * prerm: fix typo in last line (it should be "fi", not "then"). + * update version number in conffile handling code to handle + upgrades within testing. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 19 Dec 2014 17:52:50 -0800 + +git (1:2.1.4-1) unstable; urgency=medium + + * new upstream point release (CVE-2014-9390). + * checkout: tighten exit code handling on errors. + * avoid writing filenames to the work tree that some filesystems + do not distinguish from ".git". + * reject ".gIt" and other path components that case-fold + to ".git" in "git checkout", "git add", and "git fsck". + * new '[core] protectHFS' setting to reject path components + such as ".Git\u200f" that HFS+ folds to ".git" in + "git checkout" and "git add". Always reject such paths + in "git fsck". (U+200F is the Unicode right-to-left + mark.) + * new '[core] protectNTFS' setting to reject path components + such as ".Git " that NTFS folds to ".git" in "git checkout" + and "git add". Always reject such paths in "git fsck". + * gitweb: use apache 2.4-compatible configuration (thx Jean-Michel + Nirgal Vourgère for advice; closes: #669292). + * rules, conffiles: Apache configuration goes in + /etc/apache2/conf-available, not conf.d. + * preinst, postinst, postrm: use dpkg-maintscript-helper to + rename the conffile and preserve local changes. + * postinst, prerm, postrm: use apache2-maintscript-helper if + present to load and unload gitweb configuration. + * implicit: check for debian/$pkg.triggers. + * triggers: re-run postinst when apache2-maintscript-helper is + installed. + * control: + * Pre-Depends: dpkg 1.15.8 for dpkg-maintscript-helper. + * Breaks: apache2.2-common because the Apache configuration + requires version 2.4. + * debian/diff/0009-git-svn-use-SVN-Ra-get_dir2-when-possible.diff: + new from upstream: git svn: use get_dir2 instead of get_dir when + possible (thx Eric Wong; works around: #767530). + * debian/diff/0010-gitweb-hack-around-CGI-s-list-context-...diff: + new from upstream: gitweb: be explicit about use of param() in list + context, avoiding log noiose with libcgi-pm-perl >= 4.08 and a test + failure in t9500-gitweb-standalone-no-errors.sh (thx Reiner + Herrmann; closes: #770655). + * correct spelling of Roland Mas's name in the 1:2.1.3-1 changelog + entry. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 19 Dec 2014 15:55:34 -0800 + +git (1:2.1.3-1) unstable; urgency=low + + * new upstream point release. + * config --add: avoid segfault when key already has an empty value. + * remote-http: avoid failure due to command line length limits when + pushing many refs. + * fast-import: avoid segfault when trying to clear root tree. + * index-pack: reliably detect and error out when encountering + duplicate delta base. + * gc: do not prune objects only reachable from HEAD . + * fsck: be more consistent about exiting nonzero for corruption. + * am: tighten check for mbox 'From ' line. + * daemon: fix error message when bind() fails. + * mergetool: fix --output handling in meld >= 3.12 (see GNOME + bug 737869). + * gitweb: use start_form instead of startform for compatibility + with CGI.pm 4.04 and newer (thx Roland Mas; closes: #765525). + * pack-objects: do not write invalid bitmaps when hitting pack + size limit. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 04 Nov 2014 13:20:39 -0800 + +git (1:2.1.1-1) unstable; urgency=low + + * new upstream point release. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 22 Sep 2014 17:56:49 -0700 + +git (1:2.1.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.1.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 15 Aug 2014 16:09:26 -0700 + +git (1:2.1.0~rc1-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 05 Aug 2014 13:59:00 -0700 + +git (1:2.0.1-1) unstable; urgency=low + + * new upstream point release. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 25 Jun 2014 15:09:25 -0700 + +git (1:2.0.0-2) unstable; urgency=low + + * debian/rules: drop obsolete THREADED_DELTA_SEARCH setting. + * debian/rules: add SANE_TOOL_PATH= INSTALL=install TAR=tar to + OPTS to fix the Dyson build (thx Игорь Пашев; closes: + #734097). + * debian/rules: remove NO_PYTHON=1 now that the git_remote_helpers + library has been removed. + * debian/rules: remove git-p4 and its documentation from the git, + git-man, and git-doc packages. It depends on Perforce, which is + not part of Debian. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 17 Jun 2014 16:17:46 -0700 + +git (1:2.0.0-1) unstable; urgency=low + + * new upstream release (see RelNotes/2.0.0.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 28 May 2014 16:06:41 -0700 + +git (1:2.0.0~rc4-1) unstable; urgency=low + + * new upstream release candidate. + * remove source-highlight build dependency since the markup + requiring it was removed upstream (thx Anders Kaserog; + LP: #1316810). + * remove git-bzr package to make room for a package built from + https://github.com/felipec/git-remote-bzr. + * debian/control: remove references to git-bzr package. + * debian/control: remove Build-Depends: bzr, python-bzrlib. + * debian/rules: remove rules to build, install, and clean + git-remote-bzr. + * debian/git-doc.docs: do not install git-remote-bzr.html. + * debian/git-remote-bzr.txt, debian/git-bzr.postinst, + debian/git-bzr.prerm, debian/git-bzr.README.Debian: remove. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 21 May 2014 11:34:56 -0700 + +git (1:2.0.0~rc2-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 05 May 2014 17:25:50 -0700 + +git (1:2.0.0~rc0-2) unstable; urgency=low + + [ Anders Kaseorg ] + * add source-highlight build dependency (closes: #745591). + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 23 Apr 2014 11:09:25 -0700 + +git (1:2.0.0~rc0-1) unstable; urgency=low + + * new upstream release candidate. + * debian/diff/0009-contrib-subtree-unset-prefix-before-....diff: + remove; applied upstream. + * update debian/copyright. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 18 Apr 2014 17:01:04 -0700 + +git (1:1.9.2-1) unstable; urgency=low + + * new upstream point release. + * wt-status: subject full label string to l10n (thx Raphaël + Hertzog; closes: #725777). + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 09 Apr 2014 15:15:18 -0700 + +git (1:1.9.1-1) unstable; urgency=low + + * new upstream point release. + + [ Jonathan Nieder ] + * git-email: Recommends: libio-socket-ssl-perl (>= 1.951) since + earlier versions do not use OpenSSL's defaults when ca_path + and ca_file are unset. + + [ Gilles Filippini ] + * install git-subtree from contrib (closes: #704652). + * debian/diff/0009-contrib-subtree-unset-prefix-before-proceeding.diff: + new; unset the 'prefix' environment variable before proceeding. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 18 Mar 2014 15:58:46 -0700 + +git (1:1.9.0-1) unstable; urgency=low + + * new upstream release. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 18 Feb 2014 08:31:49 -0800 + +git (1:1.9.0~rc3-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 07 Feb 2014 15:53:52 -0800 + +git (1:1.9~rc1-1) unstable; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 27 Jan 2014 14:07:56 -0800 + +git (1:1.9~rc0-1) unstable; urgency=low + + * new upstream release candidate. + * debian/diff: + * 0001-remove-interpreter-line-from-shell-libraries.diff: + remove; applied upstream. + * 0002...0009: rename to 0001-*, ..., 0008-*. + * 0010-git-remote-mediawiki-do-not-remove-installed-...diff: + remove; applied upstream. + * debian/rules install: no more need to include DESTDIR in + mw-to-git INSTLIBDIR. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 27 Jan 2014 13:05:17 -0800 + +git (1:1.8.5.3-1) unstable; urgency=low + + * new upstream point release. + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 16 Jan 2014 16:18:25 -0800 + +git (1:1.8.5.2-2) unstable; urgency=low + + * /etc/bash_completion.d/git-prompt: check for git-sh-prompt + and do not source it if git is removed but not purged (thx + Craig Small; closes: #726669). + * debian/control: package git Breaks: git-buildpackage versions + that rely on output from 'git status' without the --porcelain + flag (closes: #734223). + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 09 Jan 2014 14:46:23 -0800 + +git (1:1.8.5.2-1) unstable; urgency=low + + * new upstream point release. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 17 Dec 2013 16:31:01 -0800 + +git (1:1.8.5.1-1) unstable; urgency=medium + + * new upstream point release. + * submodule: do not copy unknown update mode from .gitmodules. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 03 Dec 2013 14:12:55 -0800 + +git (1:1.8.5-1) unstable; urgency=low + + * new upstream release. + * merge branch debian-experimental. + * git-daemon-sysvinit: advertise GIT_DAEMON_BASE_PATH in + /etc/default/git-daemon (thx Alexander Dahl and Antonio + Ospite; closes: #704985). + + -- Jonathan Nieder <jrnieder@gmail.com> Sat, 30 Nov 2013 11:28:02 -0800 + +git (1:1.8.5~rc3-1) experimental; urgency=low + + * new upstream release candidate. + + [ Anders Kaseorg ] + * debian/rules: pass $(OPTS) to contrib/mw-to-git/Makefile + (closes: #729763). + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 21 Nov 2013 16:35:29 -0800 + +git (1:1.8.5~rc2-1) experimental; urgency=low + + * merge branch debian-sid. + * new upstream release candidate. + + [ Thorsten Glaser ] + * package mw-to-git (closes: #718395). + * debian/control: new package git-mediawiki; Depends: + libmediawiki-api-perl (>= 0.39), liblwp-protocol-https-perl, + libdatetime-format-iso8601-perl; package git now Suggests + and git-all Depends: git-mediawiki. + * debian/rules: build and install Git::Mediawiki perl module, + mediawiki remote helper, and 'git mw' command in + git-mediawiki package. + * debian/diff/0010-git-remote-mediawiki-do-not-remove-...diff: + new from upstream: mw-to-git: do not remove installed files + in "clean" target. + * debian/git-mediawiki.docs: install git-remote-mediawiki.txt. + + [ Anders Kaseorg ] + * debian/diff/0003-transport-expose-git_tcp_connect-...diff: + include tcp.h before using tcp functions (closes: #728508). + + [ Jonathan Nieder ] + * debian/diff/0012-cvsserver-Determinize-output-to-...diff: + remove; applied upstream. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 13 Nov 2013 16:12:29 -0800 + + +git (1:1.8.4.4-1) unstable; urgency=low + + * new upstream point release. + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 21 Nov 2013 17:51:36 -0800 + +git (1:1.8.4.3-1) unstable; urgency=low + + * new upstream point release. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 11 Nov 2013 15:51:10 -0800 + +git (1:1.8.5~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff: + * 0001-hooks-post-receive-email-set-encoding-to-utf-8.diff, + 0002-post-receive-email-defend-against-non-utf8-...diff: + remove; applied upstream. + * 0003...0012: rename to 0001-*, ..., 0010-*. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 30 Oct 2013 16:01:15 -0700 + +git (1:1.8.4.2-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/0012-cvsserver-Determinize-output-to-...diff: + new from upstream: sort cvsserver output to combat Perl 5.18 + hash randomization (thx Anders Kaseorg; closes: #727226). + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 30 Oct 2013 16:00:07 -0700 + +git (1:1.8.4.1-1) unstable; urgency=low + + * merge branch debian-experimental. + * new upstream point release. + * debian/control: Build-Depends tcl instead of tcl8.5 + (closes: #725961). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 21 Oct 2013 11:46:45 -0700 + +git (1:1.8.4-1) experimental; urgency=low + + * new upstream release. + + -- Jonathan Nieder <jrnieder@gmail.com> Sat, 24 Aug 2013 14:50:38 -0700 + +git (1:1.8.4~rc4-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/0012-*, 0013-*: remove; applied upstream. + * debian/rules: define .NOTPARALLEL to avoid races between + "make" child processes (thx Anders Kaseorg; closes: #720274). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 19 Aug 2013 22:41:08 -0700 + +git (1:1.8.4~rc3-1) unstable; urgency=low + + * new upstream release candidate. + * switch de translation from pure German to German+English. + * debian/diff/: + * 0012-Revert-git-stash-avoid-data-loss-when-....diff: new + from upstream: stash: omit too-slow check for files + replaced by directories before stashing. + * 0013-Revert-Add-new-shortcut-for-HEAD.diff: new from + upstream: treat "@" and names like "refs/heads/@/foo" as + ordinary refnames again. + * debian/control: Vcs-Git: https://repo.or.cz/r/git/debian.git/ + (thx brian m. carlson; closes: #719932). + * debian/git.README.source: suggest developing against + https://repo.or.cz/r/git/debian.git/. + * debian/watch: use xz-compressed tars from kernel.org again. + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 18 Aug 2013 03:41:49 -0700 + +git (1:1.8.4~rc2-1) unstable; urgency=low + + * new upstream release candidate. + * cat-file: do not split --batch input lines on whitespace + (thx Joey Hess; closes: #718517). + + -- Jonathan Nieder <jrnieder@gmail.com> Sat, 10 Aug 2013 12:25:45 -0700 + +git (1:1.8.4~rc1-1) unstable; urgency=low + + * new upstream release candidate. + * debian/watch: point to code.google.com again. + * debian/git.preinst: + * check that targets in /var/cache/git/* exist when + creating symlinks from /var/lib/git/ (thx Steve Cotton and + Christoph Anton Mitterer; closes: #718411). + * remove spurious '/var/lib/git/*' symlink from the upgrade + to 1:1.8.4~rc0-1. + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 01 Aug 2013 23:14:58 -0700 + +git (1:1.8.4~rc0-1) unstable; urgency=low + + * new upstream release candidate. + * use /var/lib/git instead of /var/cache/git as default git + project root to comply with the Filesystem Hierarchy Standard + (thx Julian Gilbey; closes: #483788): + * git-daemon.default, git-daemon.in, git-daemon/run: use + base path of /var/lib and projectroot of /var/lib/git. + * gitweb.conf: $projectroot = "/var/lib/git". + * rules: package git: install empty /var/lib/git directory + instead of /var/cache/git. + * git.README.Debian, git-daemon-run.README.Debian, + git-daemon-sysvinit.README.Debian, gitweb.README.Debian: + update for the new project root. + * git.preinst: install symlinks /var/lib/git/* -> + ../../cache/git/*. + * git.NEWS.Debian: advertise the change and explain how to + adapt to it. + * update debian/copyright. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 30 Jul 2013 19:11:14 -0700 + +git (1:1.8.3.2-1) unstable; urgency=low + + * new upstream point release (see RelNotes/1.8.3.2.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 01 Jul 2013 19:20:03 -0700 + +git (1:1.8.3.1-1) unstable; urgency=low + + * merge branch debian-experimental + * new upstream point release (see RelNotes/1.8.3.1.txt). + * debian/watch: use xz-compressed tarballs from kernel.org. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 12 Jun 2013 07:50:53 -0700 + +git (1:1.8.3-1) experimental; urgency=low + + * new upstream release (see RelNotes/1.8.3.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 29 May 2013 22:32:40 -0700 + +git (1:1.8.3~rc3-1) experimental; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 19 May 2013 11:49:16 -0700 + +git (1:1.8.3~rc2-1) experimental; urgency=low + + * new upstream release candidate. + * gitk: "grep diff" pickaxe variant (closes: #589283). + * debian/rules: install perl modules with correct permissions + (thx Christian Schwartz for suggesting it through lintian). + * move "git svn" perl helpers to the git-svn package. + * debian/rules: install Git::SVN and Git::SVN::* to the + git-svn package, not git. + * debian/control: git-svn: Breaks: and Replaces: old git. + * debian/rules: install perl module manpages to git-man and + git-svn packages, as appropriate. + * debian/rules: mark hooks in /usr/share/git-core/contrib/hooks/ + as executable (thx Olivier Berger; closes: #687391). + * debian/control: drop Depends: and Build-Depends: libc6.1 + (>= 2.10.2-6) [ia64] workaround for #563882, since that bug did + not affect any stable release. + * debian/control: drop dependencies on pre-Debian 5.0 (lenny) + packages. + * do not accept libcurl3-gnutls-dev as a substitute for + libcurl4-gnutls-dev. + * do not accept libsvn-core-perl as a substitute for + libsvn-perl. + * make asciidoc, docbook-xsl, runit, and tk dependencies + unversioned. + * git, git-man, git-cvs, git-svn, git-email, gitk: drop Breaks + and Replaces against cogito (<< 0.16rc2-0). + * git: drop Breaks against old qgit and git-buildpackage. + * git: drop Conflicts against git-core (<< 1:1.5.2~rc3-2.). + * git-gui: no longer Replaces git-core (<< 1:1.5.2.2-3). + * Use source format 3.0 (quilt). + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 15 May 2013 00:20:06 -0700 + +git (1:1.8.3~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * log --pretty: avoid undefined behavior in %>, %<, %><'s + truncation support (closes: #706400). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 03 May 2013 23:28:04 -0700 + +git (1:1.8.3~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * remote-bzr: respect bzr "author" field in import (closes: + #705245). + * remote-bzr: allow re-add of a deleted file in the same commit + (closes: #704913, #704959). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 29 Apr 2013 00:29:14 -0700 + +git (1:1.8.2.1-1) experimental; urgency=low + + * new upstream point release (see RelNotes/1.8.2.1.txt). + * debian/implicit: + * check for debian/changelog.upstream. + * %.deb-DEBIAN-md5sums depends on /usr/share/doc/$pkg/doc/, + doc-base/, and lintian/ directories. + * do not remove files named after implicit targets. + * debian/rules: + * respect <num> in DEB_BUILD_OPTIONS=parallel=<num>. + * do not create ./changelog symlink (avoiding a race). + * override implicit git-core.deb-docs target, since git-core does + not have its own doc/ directory. + * debian/README.source: point to git.README.source (thx Helmut + Grohne; closes: #704580) + * debian/git.NEWS.Debian: add leading spaces before tab for + changelog parsers (thx Russ Allbery for suggesting it through + lintian). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 08 Apr 2013 00:46:02 -0700 + +git (1:1.8.2-1) experimental; urgency=low + + * new upstream release (see RelNotes/1.8.2.txt). + * package the bzr remote helper (closes: #702697). + * debian/control: new package git-bzr; Priority: extra; Provides: + git-remote-bzr; Depends: python, python-bzrlib; Conflicts: + bzr-git; Build-Depends: bzr, python, python-bzrlib for tests; + package git now Suggests and git-all Recommends: git-bzr. + * debian/git-remote-bzr.txt: new; explain usage. + * debian/rules: build git-remote-bzr documentation, munge script + shebang line, and install manpage (git-remote-bzr--git.1.gz) + and script (/usr/lib/git-core/git-remote-bzr--git) in git-bzr + package. + * debian/git-doc.docs: install git-remote-bzr.html. + * debian/git-bzr.postinst, debian/git-bzr.prerm: new; provide + /usr/bin/git-remote-bzr through the alternatives system. + * debian/git-bzr.README.Debian: new; explain how to get started. + * debian/control: Standards-Version: 3.9.4.0. + * debian/rules: define %.install depending on install-arch or + install-indep as appropriate for each package. + * debian/implicit: depend on %.install instead of both install-arch + and install-indep so "debian/rules binary-arch" does not try to + build documentation. + * debian/rules build-indep, install-indep: build documentation even + if asciidoc is not installed. Build-Depends: dpkg-dev (>= 1.16.2). + * debian/rules: handle DEB_BUILD_OPTIONS=parallel=<num>. + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 31 Mar 2013 22:06:58 -0700 + +git (1:1.8.2~rc3-1) experimental; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Sat, 09 Mar 2013 00:50:39 -0800 + +git (1:1.8.2~rc2-1) experimental; urgency=low + + * new upstream release candidate. + * skip readlink() of entries in GIT_CEILING_DIRECTORIES after an + empty entry (thx Anders Kaseorg and Michael Haggerty). + * update debian/copyright. + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 03 Mar 2013 15:22:27 -0800 + +git (1:1.8.2~rc1-1) experimental; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Sat, 02 Mar 2013 13:27:28 -0800 + +git (1:1.8.2~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * push: require force for refs under refs/tags/. + * push: require force for annotated tags. + * debian/git.NEWS.Debian: advertise upcoming change to default + behavior of argumentless "git push [<remote>]". + * git-svn: no longer Depends: libwww-perl (thx RjY; closes: + #699536). + * update debian/copyright (closes: #699930). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 18 Feb 2013 16:52:57 -0800 + +git (1:1.8.1.3-1) experimental; urgency=low + + * new upstream point release. + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 07 Feb 2013 23:08:48 -0800 + +git (1:1.8.1.2-1) experimental; urgency=low + + * new upstream point release. + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 03 Feb 2013 23:01:24 -0800 + +git (1:1.8.1.1-1) experimental; urgency=low + + [ Jonathan Nieder ] + * debian/git.NEWS.Debian: bash completion script moved to + /usr/share/bash-completion/completions/ (thx Philipp Marek; + closes: #698055). + + [ Gerrit Pape ] + * new upstream release. + + -- Gerrit Pape <pape@smarden.org> Wed, 16 Jan 2013 08:17:53 +0000 + +git (1:1.8.1-1) experimental; urgency=low + + * new upstream release (see RelNotes/1.8.1.txt). + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 31 Dec 2012 18:40:24 -0800 + +git (1:1.8.1~rc3-1) experimental; urgency=low + + * new upstream release candidate. + * grep: enable perl regex (-P) support (thx Guido Günther; closes: + #669376). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 25 Dec 2012 23:40:08 -0800 + +git (1:1.8.1~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * debian/control: mark all binary packages Multi-Arch: foreign (thx + Colin Watson; closes: #694651). + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 06 Dec 2012 15:10:21 -0800 + +git (1:1.8.0-1) experimental; urgency=low + + * new upstream release (see RelNotes/1.7.11.txt, RelNotes/1.7.12.txt, + RelNotes/1.8.0.txt) + * git-svn: ignore SIGPIPE so serf can recover from HTTP timeouts + (closes: #526989). + * git-svn: use platform specific auth providers. + * git-svn: handle errors and concurrent commits in dcommit + (closes: #676904). + * am: support --include option. + * grep: add a grep.patternType configuration setting. + * daemon: --access-hook for authentication logging and policy. + * merge-base: expose --is-ancestor helper for scripts. + * branch: support --set-upstream-to with simpler syntax than + --set-upstream. + * format-patch: do not use bogus email addresses in message ids. + * http: trim trailing newline from /etc/mailname. + * do not ignore port in ssh URLs with ipv6 literals + (closes: #646178). + * look in ~/.config/git/config (XDG_CONFIG_HOME can override this) + before ~/.gitconfig for configuration. + * [core] excludesfile and attributes file default to + ~/.config/git/ignore and ~/.config/git/attributes. + * var doc: advertise current DEFAULT_PAGER and DEFAULT_EDITOR + settings (closes: #666250). + * git-blame.el: address elisp warnings from emacs: + * use mapc instead of mapchar (closes: #611931). + * do not use goto-line in lisp code (closes: #611933). + * use with-current-buffer where appropriate (closes: #611932). + * cli: add Italian and Vietnamese translations. + * push: introduce new push.default mode "simple". It will be the + default in the next major release. + + [ Jonathan Nieder ] + * debian/diff: + * 0013...0031: remove; applied upstream. + * 0012-Makefile-add-a-knob-to-turn-off-...diff: remove; fixed + upstream. + * debian/rules: + * install German translation. + * use NO_INSTALL_HARDLINKS=1 instead of NO_HARDLINKS=1 in OPTS + (thx Tomáš Myšík and Anders Kaseorg; see #683568). + * install-arch: sanity-check that built-ins still do not approach + btrfs hardlink limit (see #642603). + * git: install git-prompt.sh from contrib/completion to + /usr/lib/git-core/git-sh-prompt. + * git: install completion script to + /usr/share/bash-completion/completions/{git,gitk} instead of + /etc/bash_completion.d. This allows bash-completion 2.0 to load + it on the fly when completing arguments to git commands. + * debian/control: Breaks: bash-completion (<< 1:1.90-1). + * debian/git.preinst, debian/git.postinst, debian/git.postrm: + remove /etc/bash_completion.d/git on upgrade if unmodified. + * debian/rules, debian/git.conffiles, debian/git-prompt.completion: + /etc/bash_completion.d/git-prompt: new; source + /usr/lib/git-core/git-sh-prompt so .bashrc files that rely on the + completion lib defining __git_ps1 can continue to work (thx Danny + Yates and Anders Kaseorg). + * debian/git.conffiles: remove /etc/bash_completion.d/git. + * update debian/copyright. + * debian/control: gitweb: Recommends: libhttp-date-perl or + libtime-module-perl for If-Modified-Since support; Build-Depends: + same to support test suite. + * debian/implicit: use order-only dependencies so "debian/rules + binary-arch" does not try to build documentation. + + [ Gerrit Pape ] + * new upstream release. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 31 Oct 2012 17:58:10 -0700 + +git (1:1.7.10.4-2) unstable; urgency=low + + * debian/diff: + * 0013...0030: new from the upstream 'master' branch: git svn: + adapt to svn 1.7 changes: + * normalize paths and URLs passed to Subversion (thx Michael G. + Schwern; closes: #678137) + * use correct "svn cp" syntax when checking git svn's mangling + of @-signs in branch names (svn became stricter). + * commit filetype changes between a regular file and symlink as + replacement (deletion followed by addition) instead of + modification of files. Otherwise, clients pulling the change + with "svn update" hit an assertion failure (svn issue 4091). + * 0031-git-svn-use-YAML-format-...diff: new from 1.7.11: git svn: + use YAML format for mergeinfo cache when possible. + * debian/control: git-svn: Depends: libyaml-perl for platform- and + version-independent .git/svn/.caches format; Build-Depends: + libyaml-perl for tests (thx Tim Retout for the analysis; closes: + #587650). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 12 Oct 2012 13:27:36 -0700 + +git (1:1.7.10.4-1) unstable; urgency=low + + * new upstream point release (thx Jonathan Nieder). + + -- Gerrit Pape <pape@smarden.org> Fri, 08 Jun 2012 00:04:11 +0000 + +git (1:1.7.10.2-1) unstable; urgency=low + + * new upstream point release. + * merge-recursive: don't detect renames of empty files. + * fast-import: tighten parsing of datarefs. + * diff -c -U0: fix segfault showing start of file. + * debian/rules: do not install preliminary German translation. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 11 May 2012 20:20:15 -0500 + +git (1:1.7.10-1) unstable; urgency=low + + * new upstream release. + * merge: use editor by default in interactive sessions + * submodules: use relative paths to git dir and worktree. + * fast-import: reject "ls" of path with empty components. + * cli: add Chinese, Dutch, Portuguese, and Swedish translations. + * am: officially deprecate -b/--binary option. + * debian/diff: + * 0005-gitk-use-symbolic-font-names-sans-and-monospace-when-.diff, + 0006-gitk-Skip-over-AUTHOR-COMMIT_DATE-when-searching-all-.diff: + remove; applied upstream. + * 0007...0014: rename to 0005-*, ... 0012-*. + * debian/git.README.Debian: make paths in inetd(8) hint + consistent with git-daemon-run and git-daemon-sysvinit setup. + * debian/control: package git: Suggests: gettext-base for translated + output in shell scripts. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 06 Apr 2012 22:28:18 -0500 + +git (1:1.7.9.5-1) unstable; urgency=low + + * new upstream point release. + * debian/control: git-daemon-sysvinit: Priority: extra (thx Jonathan + Nieder; closes: #661317). + + -- Gerrit Pape <pape@smarden.org> Wed, 28 Mar 2012 12:30:35 +0000 + +git (1:1.7.9.4-1) unstable; urgency=low + + * new upstream point release. + * commit: skip intent-to-add entries instead of erroring out. + * grep -I: let diff attribute override binary file detection. + * clone, daemon, http-backend, transport: look for .../foo before + .../foo.git in response to requests for .../foo. + * rev-list: enable or disable --verify-objects behavior based on + the command line instead of uninitialized memory. + * checkout -b: allow switching out of an unborn branch (closes: + #506480). + * debian/diff: clean up patches for upstream. + * 0001-hooks-post-receive-email-set-encoding-to-utf-8.diff: + hooks/post-receive-email: set content-transfer-encoding as well. + * 0002-post-receive-email-defend-against-non-utf8-...diff: new; + hooks/post-receive-email: avoid mixed-encoding messages when + i18n.logoutputencoding is not utf8 (thx Alexey Shumkin). + * 0002-remove-shebang-...diff: rename to 0003-remove-...diff; + remove #! line from sh-i18n and rebase--* shell libraries, too + (lintian); fix tests' --valgrind support to detect shell + libraries without the #! line (thx Jeff King). + * 0003-pre-rebase-hook-capture-...diff: simplify (thx Junio C + Hamano); rename to 0004-*. + * 0004-gitk-use-symbolic-font-names-...diff: rename to 0005-*; use + non-symbolic font names on platforms like Mac OS X, Windows, and + tk <= 8.4 that lack fontconfig support. + * 0005...0008, 0010: rename to 0006-*, ..., 0009-*, 0011-*; + clarify descriptions. + * 0009-tcp-unify-ipv4-and-ipv6-code-paths.diff, 0011-*: combine; + rename to 0010-*. + * 0012-transport-optionally-honor-DNS-SRV-records.diff, 0013-*: + combine; rename to 0011-*. + * 0014, 0015: rename to 0013-*, 0014-*. + * debian/git-daemon.init: respect GIT_DAEMON_ENABLE in restart and + reload actions (thx Jonathan McCrohan; closes: #663522). + * debian/control: git-gui: point to aspell for spell checking support + in the package description; Suggests: aspell (thx Jonathan Ballet, + closes: #656061). + * debian/control: add Vcs-Browser: http://repo.or.cz/w/git/debian.git + (thx Jonathan McCrohan; closes: #663451). + * debian/control: Standards-Version: 3.9.3.1. + * debian/copyright: adopt copyright-format 1.0. + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 14 Mar 2012 02:40:00 -0500 + +git (1:1.7.9.1-1) unstable; urgency=low + + * new upstream point release. + * merge: do not launch an editor on "--no-edit $tag" (thx Guido + Günther; closes: #659255). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 14 Feb 2012 15:32:48 -0600 + +git (1:1.7.9-1) unstable; urgency=low + + * merge branch debian-experimental. + * new upstream release (closes: #657262). + * debian/diff/0016-unix-socket-handle-long-socket-...diff: remove; + applied upstream. + * debian/changelog: add missing parenthesis to 1:1.7.9~rc1-1 entry. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 27 Jan 2012 21:23:27 -0600 + +git (1:1.7.9~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff: + * 0014-Makefile-add-a-knob-to-...diff: rename to 0015-*. + * 0014-srv-be-more-tolerant-of-broken-DNS-replies.diff: new; srv: + convert some error conditions to warnings (closes: #649781). + * 0016-unix-socket-handle-long-socket-pathnames.diff: new from + upstream; credential-cache: handle long socket pathnames (closes: + #655288). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 13 Jan 2012 16:10:44 -0600 + +git (1:1.7.9~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * update debian/copyright. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 06 Jan 2012 17:06:55 -0600 + +git (1:1.7.8.3-1) unstable; urgency=medium + + * new upstream point release. + * debian/git.preinst: on upgrade from git <= 1:1.7.7-1, replace + /usr/lib/git-core/git with a copy of itself. This prevents "are the + same file" errors when replacing hard links to the old copy with + symlinks using "mv" (thx Jon Dowland and Anders Kaseorg; closes: + #654596). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 06 Jan 2012 16:45:46 -0600 + +git (1:1.7.8.2-1) unstable; urgency=low + + * merge branch debian-experimental. + * new upstream release. + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 29 Dec 2011 01:30:43 -0600 + +git (1:1.7.8~rc3-1) experimental; urgency=low + + * new upstream release candidate. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 18 Nov 2011 04:09:51 -0600 + +git (1:1.7.8~rc2-1) experimental; urgency=low + + [ Jonathan Nieder ] + * new upstream release candidate. + * merge branch debian-sid. + * update debian/copyright. + * debian/git.preinst: replace hard links to /usr/lib/git-core/git with + symlinks before upgrading from git <= 1:1.7.7-1 (thx Antti Kultanen; + closes: #645009). + + [ Gerrit Pape ] + * merge branch debian-sid. + + -- Gerrit Pape <pape@smarden.org> Wed, 16 Nov 2011 09:55:47 +0000 + +git (1:1.7.7.3-1) unstable; urgency=low + + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Mon, 14 Nov 2011 10:22:34 +0000 + +git (1:1.7.7.2-1) unstable; urgency=low + + * new upstream point release. + * debian/rules: add separate build-arch and build-indep targets + (thx Roger Leigh for suggesting it through lintian). + * debian/rules: drop CFLAGS=-O0 workaround for ancient hppa code + generation bug (see #426302). + * debian/rules: use dpkg-buildflags to retrieve compiler flags + (including hardening options). Build-Depends: dpkg-dev (>= 1.15.7). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 01 Nov 2011 23:41:55 -0500 + +git (1:1.7.8~rc0-1) experimental; urgency=low + + * merge branch debian-sid. + * new upstream release candidate. + * debian/diff/0001-...diff, 0002-...diff, 0003-...diff: remove; + applied upstream (thx Jonathan Nieder). + + -- Gerrit Pape <pape@smarden.org> Mon, 31 Oct 2011 09:45:53 +0000 + +git (1:1.7.7.1-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/0003-Makefile-do-not-set-setgid-bit-on-dir...diff: + remove; applied upstream. + + -- Gerrit Pape <pape@smarden.org> Mon, 24 Oct 2011 20:27:20 +0000 + +git (1:1.7.7-2) unstable; urgency=low + + [ Jonathan Nieder ] + * debian/git.postinst: check if /usr/share/doc/git/contrib/hooks is a + symlink before changing it to one (thx Євгеній Мещеряков; closes: + #645005). + * debian/diff: + * 0001-ident-check-etc-mailname-if-author-email-is-unknown.diff, + 0007-Makefile-do-not-use-setgid-bit-on-...diff: remove; obsolete. + * 0002...0006, 0008...0015: rename to 0005-*, ..., 0017-*. + * 0001...0004: new from the upstream 'master' branch: + * ident: check /etc/mailname if email is unknown + * ident: do not retrieve default ident when unnecessary + * init --shared: do not set setgid bit on directories on + GNU/kFreeBSD + * Makefile: fix permissions of mergetools/ when building from + source extracted with permissive umask + * 0018-Makefile-add-a-knob-to-turn-off-hardlinks-...diff: new; + Makefile: add a knob to disable hardlinks within bindir and + gitexecdir. + * debian/rules: add NO_HARDLINKS=1 to OPTS (thx Bastian Blank; + closes: #642603). + * debian/rules: do not rely on umask to set contrib permissions. + * update debian/copyright. + * debian/watch, debian/copyright: point to code.google.com for now. + The upstream tarballs haven't been added back to kernel.org yet. + * debian/changelog.upstream, debian/versions.upstream: include + v1.7.6.4. + + [ Simon Chopin ] + * debian/git.postinst: fix fresh install contrib/hooks cleaning + (#645005). + + -- Gerrit Pape <pape@smarden.org> Thu, 13 Oct 2011 00:04:49 +0000 + +git (1:1.7.7-1) unstable; urgency=low + + * new upstream release. + * merge branch debian-experimental. + * debian/rules, debian/git.postinst: move contrib hooks from + /usr/share/doc/git-core/ into /usr/share/git-core/; provide symlink + for backward compatibility (closes: #640949). + + -- Gerrit Pape <pape@smarden.org> Sun, 09 Oct 2011 21:00:07 +0000 + +git (1:1.7.7~rc1-1) experimental; urgency=low + + * merge branch debian-sid. + * new upstream release candidate. + * debian/rules: git: skip directories in /usr/lib/git-core/ and + /usr/bin/ when stripping programs. + + -- Gerrit Pape <pape@smarden.org> Wed, 14 Sep 2011 14:23:10 +0000 + +git (1:1.7.6.3-1) unstable; urgency=low + + * merge branch debian-experimental. + * new upstream point release. + * debian/diff: + * 0007-...diff, ..., 0014-...diff: slightly rework as 0008...0015-* + to provide better error reporting (thx Jonathan Nieder). + * 0015-Makefile-do-not-use-setgid-bit-on-...diff: rename to 0007-*. + + -- Gerrit Pape <pape@smarden.org> Wed, 14 Sep 2011 11:33:23 +0000 + +git (1:1.7.6-1) experimental; urgency=low + + * new upstream release. + * debian/diff: + * 0012-daemon-check-for-errors...diff: clarify patch description. + * 0013-transport-learn-to-honor-DNS-SRV...diff: rename to 0014-*. + * 0013-tcp-make-dns_resolve-return-an-error-code.diff: new; make + dns_resolve() pass on return value from getaddrinfo. + * 0014-transport-honor-DNS-SRV-records.diff: fix two regressions + introduced by this patch when it was added in 1:1.7.6~rc1-1. + * use descriptive messages like "Unable to look up + git.example.com: Out of memory" to report errors from the + resolver, instead of "unable to connect to a socket (success)". + * tolerate alias (CNAME) records in the DNS reply for + _git._tcp.<host>, instead of confusing them for invalid SRV + records and erroring out. + * 0015-Makefile-do-not-use-setgid...diff: new; Makefile: set + DIR_HAS_BSD_GROUP_SEMANTICS on GNU/kFreeBSD. + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 28 Jun 2011 12:54:58 -0500 + +git (1:1.7.6~rc2-1) experimental; urgency=low + + * new upstream release candidate. + + [ Daniel Baumann ] + * add an init.d script for git-daemon (closes: #422139). + * debian/control, debian/rules: new package git-daemon-sysvinit; + Depends: adduser; Conflicts: git-daemon-run; package git now + Suggests and git-all Recommends: git-daemon-run | + git-daemon-sysvinit. + * debian/git-daemon.init: new; script to start or stop git-daemon. + * debian/git-daemon.default: new; provide some default settings and + disable the daemon by default on first installation. + * debian/git-daemon-sysvinit.README.Debian: new; explain how to get + started. + * debian/git-daemon-sysvinit.conffiles: new; treat + /etc/default/git-daemon, /etc/init.d/git-daemon as conffiles. + * debian/git-daemon-sysvinit.postinst: new; add gitdaemon system + user; register and invoke init script to start git-daemon. + * debian/git-daemon-sysvinit.prerm: new; stops git-daemon. + * debian/git-daemon-sysvinit.postrm: new; unregisters init script. + + [ Jonathan Nieder ] + * debian/diff/: + * 0009-daemon-move-...diff, 0011-tcp-...diff: move fallback + definition of HOST_NAME_MAX to new use sites (fixes FTBFS on + kfreebsd). + * 0012-transport-learn-to-honor...diff: rename to 0013-*. + * 0012-daemon-check-for-errors-retrieving-canonical-IP-addre.diff: + new; daemon: check for errors when retrieving IP address for use + by the --interpolated-path feature. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 17 Jun 2011 15:56:12 -0500 + +git (1:1.7.6~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/0007-...diff, ..., 0012-transport-learn...diff: new; + teach the git client to pay attention to SRV records (thx Julien + Cristau; closes: #627839). + * debian/rules: add USE_SRV_RR=1 to OPTS. + * debian/rules: add htmldir=/usr/share/doc/git/html to OPTS and + DOC_OPTS. + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 09 Jun 2011 19:05:55 -0500 + +git (1:1.7.5.4-1) unstable; urgency=low + + * new upstream point release. + + [ Gerrit Pape ] + * debian/changelog.upstream, debian/versions.upstream: update upstream + changelog. + + [ Jonathan Nieder ] + * debian/changelog.upstream.sh: use set -e. + * debian/git-daemon/run: use SO_REUSEADDR when binding the listening + socket so the server can restart without waiting for old connections + to time out (thx Daniel Kahn Gillmor; closes: #609405). + * debian/git-daemon-run.postrm purge: terminate the git-daemon/log + service, even if there is an active connection using it, before + deleting logs and the gitlog user (thx Daniel Kahn Gillmor; closes: + #627314). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 07 Jun 2011 13:23:58 -0500 + +git (1:1.7.5.3-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/0007-...diff, 0008-...diff, 0009-...diff, 0010-...diff: + remove; included upstream. + * debian/control: Package: git-cvs: make cvs dependency unversioned; + Package: git-gui: make tk dependency unversioned (thx Jonathan + Nieder). + + -- Gerrit Pape <pape@smarden.org> Fri, 27 May 2011 13:00:05 +0000 + +git (1:1.7.5.1-1) unstable; urgency=low + + * new upstream point release. + * merge branch debian-experimental. + * debian/diff/: + - 0009-upload-pack-start-pack-objects-before-async-rev-...diff: + remove; applied upstream. + - 0007, 0008 (the add -p split-and-edit fix): rename to 0009-*, + 0010-*. + - 0007-add-p-q-should-really-quit.diff, 0008-t3701-...diff: new + from upstream; tests: check that the add -p split-and-edit bug + has not resurfaced. + * debian/control: package git: no longer Conflicts: but Breaks: + git-core from Debian 5.0 (lenny) to simplify the upgrade path + (thx Russ Allbery for suggesting it through lintian). + * debian/control: package git: Conflicts: git-core from + Debian 4.0 (etch) which provided /usr/bin/git through the + alternatives system. + * debian/control: Standards-Version: 3.9.2.0. + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 05 May 2011 03:41:36 -0500 + +git (1:1.7.5-1) experimental; urgency=low + + * new upstream release. + * 0009-upload-pack-start-pack-objects-before-async-rev-list.diff: + new from upstream; upload-pack: start pack-objects which reads + pack_pipe before writing to it to avoid deadlock (closes: + #607346). + * debian/changelog.upstream, debian/versions.upstream: do not skip + versions not packaged for Debian (thx Gerrit Pape). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 26 Apr 2011 21:49:48 -0500 + +git (1:1.7.5~rc3-1) experimental; urgency=low + + * new upstream release candidate. + * merge branch debian-sid. + * 0007-gitk-Take-only-numeric-version-components-when-comput.diff: + remove; applied upstream. + + -- Gerrit Pape <pape@smarden.org> Wed, 20 Apr 2011 07:46:58 +0000 + +git (1:1.7.4.4-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/0008...0064: remove; applied upstream. + * debian/diff/0008-add...diff, 0009-add-p-work...diff: new from + upstream; add -p: do not error out for attempts to stage hunks + after splitting and editing them. This fixes a regression + introduced by v1.7.4.3~10^2 (apply: do not patch lines that were + already patched, 2011-03-04). + * debian/git-doc.doc-base.git-index-format: new; catalog + .git/index file format document. + * debian/git.preinst, debian/git.postinst, debian/git.postrm: + don't use dpkg-maintscript-helper, avoiding a dependency on + recent dpkg (thx Anders Kaseorg and Marc Haber; closes: #618708). + * debian/git-daemon-run.postrm: terminate the git-daemon/log + service before deleting the gitlog user (closes: #610099). + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 15 Apr 2011 00:00:03 -0500 + +git (1:1.7.4.1-5) unstable; urgency=low + + * merge branch debian-experimental. + * debian/diff/0008...0064: new from the upstream 'maint' branch: + (see RelNotes/1.7.4.2.txt for details) + * revert "core.abbrevguard: Ensure short object names stay + unique a bit longer" + * parse_tag_buffer(): do not prefixcmp() out of range + * pull: do not display fetch usage on --help-all + * gitweb: address warnings from perl 5.13 + * gitweb: replace tabs with spaces when highlighting syntax + * merge: honor prepare-commit-msg hook + * diff: handle diffstat of rewritten binary files + * config: add "[push] default = upstream" synonym for + "[push] default = tracking" + * diffcore: properly honor the difference between -M and -C + * diffcore: improve similarity heuristics for rename detection + * patch-id: do not trip over "no newline" marker + * various documentation, usage string, and code clarity + improvements + + -- Jonathan Nieder <jrnieder@gmail.com> Wed, 16 Mar 2011 21:01:53 -0500 + +git (1:1.7.4.1-4) experimental; urgency=low + + * git-el.postinst: check if /usr/share/doc/git/contrib/emacs is a + symlink before changing it to one (closes: #617631). + * git-el.postinst: remove spurious .../contrib/emacs.old and + /usr/share/git-core/emacs/emacs symlinks. + * package git: do not run emacs-package-remove on upgrade (it's not + needed). + - git.postinst: do not run "emacs-package-remove git". + - debian/control: git no longer Depends: emacsen-common (closes: + #617784). + * git-el.emacsen-install, git-el.emacsen-remove: + - use printf instead of echo. + - only remove the lisp (.el) and bytecode (.elc) files that we + install. + - make output less noisy --- for example, do not say "+ set +x". + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 13 Mar 2011 05:03:44 -0500 + +git (1:1.7.4.1-3) unstable; urgency=low + + [ Anders Kaseorg ] + * Loosen versioned replaces/conflicts on git-core, to fix upgrades from + lucid. + + [ Jonathan Nieder ] + * README.emacs: git-blame.el does not print a summary in the echo + area (documents: #611935). + * Move emacs support files to a separate git-el package. + * Make git depend on emacsen-support, so it can reliably clean up + the old emacs support files on upgrade (closes: #614578) + * git-el.emacsen-install: Overwrite .el symlinks if they already + exist (closes: #614659). + * git-el.emacsen-remove: Do not complain if the site-lisp + directory is nonempty or is already missing. + * debian/control: git-man: Section: doc. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 04 Mar 2011 18:26:27 -0600 + +git (1:1.7.4.1-1) unstable; urgency=low + + * new upstream release (closes: #600566, #575917, #578752, #583693, + #583699, #588103, #507476, #540001, #524309, #581691, #600785, + #577471, #607044, #606975, #610423, #610481). + + [ Anders Kaseorg ] + * debian/git.docs, debian/rules: deal with RelNotes subdirectory. + * debian/diff/0007-gitk-Take-only-numeric-...diff: new; gitk: do + not error out when git version number contains "-rc". + + [ Jonathan Nieder ] + * add myself as uploader. + * debian/diff/0003, 0007, 0010-0034: remove, applied upstream. + * debian/rules: accept patches with .patch suffix, too (thx Anders + Kaseorg). + * debian/rules: use patch -N -r- so patch application is idempotent. + * update debian/copyright. + * debian/diff/0001-ident-check-etc-mailname...diff: avoid calls to + gethostbyname when mailname is not an fqdn (closes: #611608). + * debian/diff/0005-gitk-use-...diff: new; gitk: use standard desktop + fonts by default. The appearance for users that already have a + generated ~/.gitk file is not affected (closes: #466471). + * debian/diff/0006-gitk-...diff: new; gitk: avoid spurious matches + in "All fields" search (thx Frédéric Brière, closes: #465776). + * debian/control: git-cvs: recommend cvs2git for one-time conversions + (closes: #585725). + * debian/control: git-core: explain that it still may be needed (thx + Denis Laxalde). + * debian/control: gitweb: allow lynx-cur to satisfy dependency on a + CGI implementation (thx Ivan Shmakov). + * debian/control, debian/rules: new architecture-independent package + git-man: manual pages that were previously in the main git package. + * debian/rules: do not build documentation on autobuilders (closes: + #499002). + * debian/control: Build-Depends-Indep: asciidoc, xmlto, docbook-xsl. + * debian/rules: git-gui: install git-gui--askpass helper to + /usr/lib/git-core (closes: #598245). + * debian/rules: git-doc: install symlink to html documentation in + /usr/share/doc/git (thx Ian Jackson). + * debian/watch: new; point to upstream sources. + * debian/implicit: create DEBIAN/md5sums with correct permissions. + * debian/diff/0003-remove-shebang...diff: new; do not start shell + libraries with #!/bin/sh. + * debian/rules: do not try to strip scripts even if they begin + with "# " in place of "#!". + * debian/diff/0004-pre-rebase-hook-capture...diff: new; + hooks/pre-rebase: use a <<HERE document to prevent syntax checkers + from treating documentation as code. + * debian/implicit: check for debian/$pkg.doc-base.$docid. + * debian/git-doc.doc-base.*: new; catalog provided documentation. + * debian/implicit: check for debian/$pkg.lintian-overrides. + * debian/git.lintian-overrides: new; document some deviations from + lintian guidelines. + * debian/control: Standards-Version: 3.9.1.0. + + * debian/git.README.Debian: server logs go in /var/log/apache2. + * debian/diff/0002-Revert-Merge-branch-jn-gitweb...diff: remove. + * debian/diff/0006, 0008, 0009-instaweb...diff: remove, no longer + needed. + * debian/rules, debian/control: move gitweb script to the main git + package for use by instaweb; make gitweb into a configuration + package. + * debian/gitweb.NEWS.Debian, debian/git.README.Debian, + debian/gitweb.conf: static files moved to /usr/share/gitweb/static. + * debian/gitweb.conf: disable rename patches (@diff_opts = ()). + * debian/diff/0001-Revert-gitweb-...diff: remove; no longer needed. + * debian/rules: gitweb: move gitweb.cgi script to /usr/share; + add a symlink at /usr/lib/cgi-bin/gitweb.cgi for compatibility. + + * debian/git.emacsen-install, debian/rules, debian/git.postinst, + debian/git.prerm: put emacs support files in /usr/share/git-core + instead of /usr/share/doc/git/contrib. + * debian/implicit: check for arbitrary debian/$pkg.README.*, not just + README.source and README.Debian. + * debian/git.README.emacs: new; introduction to the emacs support + (text taken from contrib/emacs/README). + + [ Kevin Ryde ] + * debian/rules, debian/git.emacsen-*, debian/git.postinst, + debian/git.prerm: Make M-x git-status and git-blame modes available + with emacs23 (closes: #576887). + + -- Jonathan Nieder <jrnieder@gmail.com> Tue, 15 Feb 2011 19:27:38 -0600 + +git (1:1.7.2.3-2.2) unstable; urgency=medium + + * Non-maintainer upload. + * debian/diff/0034-gitweb-Introduce-esc_attr...diff: new from + upstream: gitweb: do not parrot filenames or other arguments given + in a request without proper quoting (closes: #607248, + CVE-2010-3906). + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 16 Dec 2010 01:00:30 -0600 + +git (1:1.7.2.3-2.1) unstable; urgency=low + + * Non-maintainer upload. + * debian/diff/0010...0033: new from the upstream 'maint' branch: + * cache_tree_free: Fix small memory leak. + * diff.c: call regfree to free memory allocated by regcomp. + * gitweb: allow configurations that change with each request + (fixes a regression from v1.7.2-rc2 in some gitolite setups). + * Documentation: 19 formatting fixes (thx Frédéric Brière, + closes: #540001, #600422). + * setup: make sure git dir path is in a permanent buffer. + * do not depend on signed integer overflow. + * debian/control: gitweb: weaken dependencies to allow configurations + using mod_perl or fastcgi rather than CGI; explain dependencies in + the package description (thx Servilio Afre Puentes, + closes: #600413). + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 18 Nov 2010 19:04:09 -0600 + +git (1:1.7.2.3-2) unstable; urgency=low + + * merge branch debian-experimental. + * debian/gitweb.NEWS.Debian: typo (thx Jonathan Nieder). + + -- Gerrit Pape <pape@smarden.org> Sun, 17 Oct 2010 20:07:22 +0000 + +git (1:1.7.2.3-1) experimental; urgency=low + + * new upstream release. + * post-receive-email: document command-line mode (closes: #428413). + * add-interactive: Clarify “remaining hunks in the file” + (closes: #526014). + * rebase -i -p: document shortcomings (closes: #532775). + * GIT-VERSION-GEN: restrict tags used (closes: #473604). + * git svn: avoid unnecessary '/' in paths for SVN (thx Jon Dowland, + closes: #546733, #572847). + * git svn: avoid uninitialized var in 'reset' (thx Jens Seidel, + closes: #578908). + * debian/diff/0003-git-submodule.sh-properly-initialize-shell-...diff, + debian/diff/0004-Check-size-of-path-buffer-before-...diff: remove; + applied upstream. + * debian/diff/0001-Revert-gitweb-Use-diff_opts-while...diff: new; + prevent gitweb from serving rename patches that GNU patch 2.6.1 + cannot apply. + * debian/diff/0002-Revert-Merge-branch-jn-gitweb-plackup.diff: new; + install gitweb.css et al in /usr/share/gitweb, not a new static/ + subdirectory. + * debian/diff/0003-Do-not-unquote-into-in-URLs.diff: new from + upstream; do not unquote + into space character in URLs. + * debian/diff/0001-bug-448655-check-etc-mailname-...diff: rename to + debian/diff/0004-bug-448655-check-etc-mailname-if-author...diff. + * debian/diff/0002-bug-506445-hooks-post-receive-...diff: rename to + debian/diff/0005-bug-506445-hooks-post-receive-...diff; adapt. + * debian/diff/0006-instaweb-ignore-GITWEB_CONFIG_SYSTEM.diff: new; + instaweb: ignore /etc/gitweb.conf; + debian/diff/0007-gitweb-skip-logo-in-atom-feed-when...diff, ..., + debian/diff/0009-instaweb-disable-logo-and-favicon...diff: new; + instaweb: avoid 404 errors due to nonexistent image files (thx Uwe + Kleine-König, closes: #592733). + * update debian/copyright. + * debian/rules, debian/git.README.Debian, debian/gitweb.conf: + install gitweb.js, add an Alias for it to the VirtualHost example, + and configure gitweb to look for it in the right place (closes: + #555047). + * debian/gitweb.NEWS.Debian: mention the new gitweb.js file. + * debian/control: gitweb: Depends: apache2 | httpd-cgi (closes: + #559890). + * debian/gitweb.conf: use relative links for gitweb.css et al + (thx Alban Browaeys, closes: #568343). + * debian/control: package git: no longer Conflicts: git + (<< 4.3.20-11). + * debian/control: package git: Breaks: packages from Debian 5.0 + (lenny) relying on removed features such as dashed-form commands in + $PATH (thx Adrian Bunk, closes: #561701); no longer Conflicts: but + Breaks: ancient qgit for the same reason. + * debian/gitweb.README.Debian: copy-edit. + * debian/git.README.Debian: retitle to "Git for Debian" (thx + Christoph Anton Mitterer, closes: #590129). + * debian/control: Homepage: http://git-scm.com/ (closes: #553220). + * debian/control: package git no longer Depends: libdigest-sha1-perl + (thx Ansgar Burchardt, closes: #591039). + * debian/control: Build-Depends: libio-pty-perl for better test + coverage. + + -- Jonathan Nieder <jrnieder@gmail.com> Fri, 03 Sep 2010 22:34:30 -0500 + +git (1:1.7.1-1.1) unstable; urgency=high + + * Non-maintainer upload. + * debian/diff/0004-Check-size-of-path-buffer-before-writing-...diff: + new, cherry-picked from 3c9d041: setup: Check size of path buffer + before writing into it (closes: #590026, CVE-2010-2542). + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 25 Jul 2010 18:01:15 -0500 + +git (1:1.7.1-1) unstable; urgency=low + + * debian/diff/0003-t-t7400-submodule-basic.sh-debug-output-...diff: + remove; obsolete. + * debian/diff/0003-git-submodule.sh-properly-initialize-shell-...diff: + new; git-submodule.sh: properly initialize shell variables (closes: + #569594). + * debian/rules: no longer set ARCH='$(ARCH)' in environment for make + test. + * new upstream release. + * merge branch debian-experimental. + + -- Gerrit Pape <pape@smarden.org> Sun, 25 Apr 2010 23:35:50 +0000 + +git (1:1.7.0.5-2~dbg0) unstable; urgency=low + + * debian/diff/0003-t7400-submodule-basic.sh-alpha-s390-skip-...diff: + remove; more archs are affected (additionally hppa, armel). + * debian/diff/0003-t-t7400-submodule-basic.sh-debug-output-...diff: + new; t/t7400-submodule-basic.sh: debug output for t7400.24 'update + --init'. + + -- Gerrit Pape <pape@smarden.org> Fri, 23 Apr 2010 12:15:18 +0000 + +git (1:1.7.0.5-1) unstable; urgency=low + + * debian/git-core.postinst: new; replace /usr/share/doc/git-core with + symlink /usr/share/doc/git-core -> git on upgrade from <= 1.7.0.4-2 + (closes: #578298). + * debian/diff/0003-t7400-submodule-basic.sh-alpha-s390-skip-...diff: + new; t7400-submodule-basic.sh: alpha, s390: skip 'update --init' + test (workaround: #569594). + * debian/control: no longer Replaces, Conflicts: git-completion (thx + Jonathan Nieder, closes: #577730). + * new upstream point release. + * debian/rules: set ARCH='$(ARCH)' in environment for make test. + + -- Gerrit Pape <pape@smarden.org> Tue, 20 Apr 2010 23:41:04 +0000 + +git (1:1.7.1~rc1-1.1) experimental; urgency=low + + * debian/control: typo (thx Jonathan Nieder). + * debian/git-daemon-run.postinst: remove fixup for #522348. + + -- Gerrit Pape <pape@smarden.org> Sun, 11 Apr 2010 23:22:46 +0000 + +git (1:1.7.1~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * merge branch debian-sid. + + -- Gerrit Pape <pape@smarden.org> Sun, 11 Apr 2010 15:28:28 +0000 + +git (1:1.7.0.4-2) unstable; urgency=low + + * debian/rules: package git: no longer install /usr/share/doc/git-core + -> git symlink; git-core: no longer install /usr/lib/git-core -> git + symlink (closes: #576906). + * debian/control: package git: Replaces:, Conflicts: git-core (<= + 1:1.7.0.4-1). + * debian/rules: make /usr/share/gitweb/index.cgi -> + ../../lib/cgi-bin/gitweb.cgi symlink relative (lintian). + * debian/control: package git-core: minor update to the long + description. + * debian/git.README.source: add note about the <debian-package-git> + mailing list. + * debian/rules: target binary-indep: add missing dependency to + git-core.deb-DEBIAN. + * debian/implicit: no longer create DEBIAN/md5sums. + * debian/rules: revert the /usr/lib/git-core -> /usr/lib/git rename + (keeping upstream's default). + + -- Gerrit Pape <pape@smarden.org> Sat, 10 Apr 2010 23:16:54 +0000 + +git (1:1.7.0.4-2~exp0) experimental; urgency=low + + [ Gerrit Pape ] + * debian/control, debian/rules, debian/git-core.*: change source and + binary package name from git-core to git; keep now obsolete empty + git-core package that depends on git for upgrade (see + http://lists.debian.org/debian-devel/2009/09/thrd2.html#00661). + * debian/control: package git: Replaces: git-core, Conflicts: git-core + (<= 1:1.7.0.3-1), Provides: git-core. + * debian/git.NEWS.Debian: talk about the package name change, and the + possible hazzle when upgrading with GNU Interactive Tools installed + since etch and no git-core installed. + * debian/control, debian/rules: new package git-all: dummy package + which brings in all subpackages (following upstream's RPMs). + + [ Jonathan Nieder ] + * debian/git.README.source: adjust for the package name change. + * debian/rules: install symbolic link git -> git-core in /usr/lib + to simplify upgrades. + * debian/git-daemon/run: use $(git --exec-path) instead of hard-coding + the path to the git-daemon binary. + + -- Gerrit Pape <pape@smarden.org> Sat, 03 Apr 2010 15:07:19 -0500 + +git-core (1:1.7.0.4-1) unstable; urgency=low + + * debian/git-daemon-run.postrm: purge: don't warn if the git-daemon + service is already removed; use -f option to userdel, on fast-purge + the log service daemon might still run for a short time (closes: + #575434). + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Thu, 01 Apr 2010 20:42:19 +0000 + +git-core (1:1.7.0.3-1) unstable; urgency=low + + * debian/control: Standards-Version: 3.8.4.0. + * debian/changelog: note fixes from Jonathan Nieder in 1.7.0.2-1. + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Mon, 22 Mar 2010 09:19:06 +0000 + +git-core (1:1.7.0.2-1) unstable; urgency=low + + * new upstream point release. + + [ Jonathan Nieder ] + * am: remove rebase-apply directory before gc (thx Mark Brown, + closes: #570966). + * git-imap-send: Convert LF to CRLF before storing patch to draft box + (closes: #572598). + * sha1_file: be paranoid when creating loose objects (closes: + #569505). + + -- Gerrit Pape <pape@smarden.org> Thu, 18 Mar 2010 20:44:12 +0000 + +git-core (1:1.7.0-1) unstable; urgency=low + + * debian/git-core.README.source: typos. + * new upstream release. + * Documentation: Update git core tutorial clarifying reference to + scripts (closes: ##560795). + * merge branch debian-experimental. + + -- Gerrit Pape <pape@smarden.org> Tue, 16 Feb 2010 08:51:32 +0000 + +git-core (1:1.7.0~rc2-1) experimental; urgency=low + + * new upstream release candidate. + + -- Gerrit Pape <pape@smarden.org> Fri, 12 Feb 2010 14:30:12 +0000 + +git-core (1:1.7.0~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/0003-git-cvsserver-allow-regex-metacharacters...diff: + remove; applied upstream. + * debian/rules: NO_PYTHON=1. Packaging the git_remote_helpers + Python module will require more work. + * update debian/copyright (closes: #557065). + * debian/rules: set prefix=/usr when building man pages (closes: + #567404). + + -- Jonathan Nieder <jrnieder@gmail.com> Sat, 30 Jan 2010 17:46:04 -0600 + +git-core (1:1.6.6.2-1) unstable; urgency=medium + + * new upstream point release. + * debian/diff/0003-git-cvsserver-allow-regex-metacharacters...diff: + remove; applied upstream. + * debian/rules: stop ignoring test suite failures on ia64, since + #563882 has been fixed. Build-Depends: and Depends: + libc6.1 (>= 2.10.2-6) [ia64] for the fix (closes: #568915). + * update debian/copyright (closes: #557065). + * debian/rules: set prefix=/usr when building man pages (closes: + #567404). + + -- Jonathan Nieder <jrnieder@gmail.com> Thu, 11 Feb 2010 21:48:55 -0600 + +git-core (1:1.6.6.1-1) unstable; urgency=low + + [ Gerrit Pape ] + * new upstream point release. + * Document git-blame triple -C option (thx Ramkumar Ramachandra, + closes: #476604). + * debian/diff/0003-git-cvsserver-allow-regex-metacharacters...diff: + new; git-cvsserver: allow regex metacharacters in CVSROOT (fixes + build/selftest failure if the build directory pathname contains a +). + * debian/gitweb.apache2.conf, debian/gitweb.postinst: new; make gitweb + work out of the box with Apache (thx Charles Plessy). + * debian/gitweb.README.Debian, debian/gitweb.conf, debian/rules: make + gitweb work out of the box with Apache (thx Charles Plessy, closes: + #497809). + * debian/gitweb.conffiles: add /etc/apache2/conf.d/gitweb. + + [ Jonathan Nieder ] + * debian/rules: ignore test suite failures on ia64 (workaround: + #563882). + + -- Gerrit Pape <pape@smarden.org> Wed, 27 Jan 2010 13:30:29 +0000 + +git-core (1:1.6.6-1) unstable; urgency=low + + * new upstream release. + + -- Gerrit Pape <pape@smarden.org> Mon, 04 Jan 2010 16:01:36 +0000 + +git-core (1:1.6.6~rc2-1) experimental; urgency=low + + * new upstream release candidate. + * merge branch debian-sid. + + -- Gerrit Pape <pape@smarden.org> Thu, 17 Dec 2009 10:13:09 +0000 + +git-core (1:1.6.5.7-1) unstable; urgency=low + + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Thu, 17 Dec 2009 09:39:55 +0000 + +git-core (1:1.6.6~rc1-1) experimental; urgency=low + + * merge branch debian-sid. + * new upstream release candidate. + + -- Gerrit Pape <pape@smarden.org> Fri, 04 Dec 2009 00:17:27 +0000 + +git-core (1:1.6.5.4-1) unstable; urgency=low + + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Thu, 03 Dec 2009 22:48:57 +0000 + +git-core (1:1.6.6~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/0001-bug-369742-pager.c-fallback-to-pager-...diff, + debian/diff/0002-bug-438793-494505-fallback-to-editor-...diff, + debian/diff/0004-bug-477337-git-svn.perl-fallback-to...diff: + remove; obsolete. + * debian/rules: add DEFAULT_PAGER=pager, DEFAULT_EDITOR=editor to + OPTS. + + -- Gerrit Pape <pape@smarden.org> Thu, 26 Nov 2009 00:17:59 +0000 + +git-core (1:1.6.5.3-1) unstable; urgency=low + + [ Tanguy Ortolo ] + * debian/git-core.README.Debian, debian/control: git-daemon-run: + document that git-daemon is not provided by this package; add hint + on how to enable git-daemon through inetd(8) (closes: #554215). + + [ Jonathan Nieder ] + * debian/rules: drop misleading PPC_SHA1, ARM_SHA1 settings (closes: + #555039). + * debian/rules: log $(CC) version, not gcc (closes: #555040). + * debian/rules: allow clean as non-root (closes: #555041). + * debian/rules: drop obsolete WITH_P4IMPORT setting (closes: + #555051). + * debian/rules: TCLTK_PATH=wish (closes: #555027). + + [ Gerrit Pape ] + * new upstream point release. + * ls-files: unbreak "ls-files -i" (closes: #553296). + * Require a struct remote in transport_get(); Allow curl helper to + work without a local repository (closes: #553507). + * help -a: do not unnecessarily look for a repository (closes: + #539273). + * thx Jonathan Nieder. + + -- Gerrit Pape <pape@smarden.org> Tue, 17 Nov 2009 21:01:46 +0000 + +git-core (1:1.6.5.2-1) unstable; urgency=low + + * restore temporary lost changes from version 1:1.6.3.3-2 (closes: + #530693). + * new upstream point release. + * grep: do not segfault when -f is used (closes: 551071). + + -- Gerrit Pape <pape@smarden.org> Mon, 26 Oct 2009 12:05:18 +0000 + +git-core (1:1.6.5-1) unstable; urgency=low + + * new upstream release. + * git-doc: html no longer uses "{plus}" where it should be "+" + (closes: #529255). + * debian/git-core.README.source: new; document how to use the + Debian package source. + * debian/implicit: update to revision 60d9070. + + -- Gerrit Pape <pape@smarden.org> Tue, 13 Oct 2009 00:23:00 +0000 + +git-core (1:1.6.4.3-1) unstable; urgency=low + + * new upstream release (closes: #546709). + * git-cvsserver: no longer use deprecated 'git-subcommand' commands + (closes: #536067). + * branch debian-sid: git cherry-pick 098082f, 318b847, 1f9b620 (thx + Anders Kaseorg; closes: #546499). + + -- Gerrit Pape <pape@smarden.org> Wed, 16 Sep 2009 11:03:45 +0000 + +git-core (1:1.6.3.3-2) unstable; urgency=low + + [ Anders Kaseorg ] + * Fix manpage formatting: set ASCIIDOC_NO_ROFF instead of + DOCBOOK_XSL_173 (based on the instructions in Documentation/Makefile) + and don’t override the internal Makefile variable ASCIIDOC_EXTRA + (closes: #530693, #521954, #533320). + + [ Gerrit Pape ] + * debian/control: Standards-Version: 3.8.2.0. + + -- Gerrit Pape <pape@smarden.org> Mon, 29 Jun 2009 00:06:59 +0000 + +git-core (1:1.6.3.3-1) unstable; urgency=high + + * new upstream point release. + * daemon: Strictly parse the "extra arg" part of the command + (closes: #532935; CVE-2009-2108). + * debian/rules: add NO_CROSS_DIRECTORY_HARDLINKS=1 to OPTS. + * debian/diff/0006-bug-520116-Makefile-do-not-install-cross...diff: + remove; obsolete. + + -- Gerrit Pape <pape@smarden.org> Tue, 23 Jun 2009 08:49:17 +0000 + +git-core (1:1.6.3.1-1) unstable; urgency=low + + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Thu, 14 May 2009 21:35:01 +0000 + +git-core (1:1.6.3-1) unstable; urgency=low + + * new upstream release. + * merge branch debian-experimental. + + -- Gerrit Pape <pape@smarden.org> Fri, 08 May 2009 07:57:39 +0000 + +git-core (1:1.6.3~rc3-1) experimental; urgency=low + + * new upstream release candidate. + + -- Gerrit Pape <pape@smarden.org> Wed, 29 Apr 2009 21:58:10 +0000 + +git-core (1:1.6.3~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * merge branch debian-sid. + + -- Gerrit Pape <pape@smarden.org> Mon, 20 Apr 2009 21:44:09 +0000 + +git-core (1:1.6.2.4-1) unstable; urgency=low + + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Mon, 20 Apr 2009 20:22:02 +0000 + +git-core (1:1.6.3~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * merge branch debian-sid. + + -- Gerrit Pape <pape@smarden.org> Tue, 14 Apr 2009 23:06:38 +0000 + +git-core (1:1.6.2.3-1) unstable; urgency=low + + * new upstream point release. + * debian/control: Standards-Version: 3.8.1.0. + * debian/control: change subversion to Subversion in description. + * debian/control: Section: vcs (except for git-doc). + + -- Gerrit Pape <pape@smarden.org> Tue, 14 Apr 2009 22:46:43 +0000 + +git-core (1:1.6.2.2-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/0006-bug-520116-Makefile-do-not-install-cross...diff: + new; Makefile: do not install cross-directory hardlink (thx Jonathan + Nieder, closes: #520116). + * debian/git-daemon/run: run /usr/lib/git-core/git-daemon instead of + 'git daemon' (closes: #522348). + * debian/git-daemon-run.postinst: on upgrade from >> 1:1.6.0, fixup + #522348. + * debian/git-core.emacsen-startup: remove the line + '(add-to-list 'vc-handled-backends 'git)' (closes: #519728). + + -- Gerrit Pape <pape@smarden.org> Sun, 05 Apr 2009 20:49:25 +0000 + +git-core (1:1.6.2.1-1) unstable; urgency=low + + * new upstream point release. + * debian/git-core.emacsen-startup: no longer refer to vc-git.el + (closes: #519728). + + -- Gerrit Pape <pape@smarden.org> Mon, 16 Mar 2009 22:18:05 +0000 + +git-core (1:1.6.2-1) unstable; urgency=medium + + * new upstream release. + * merge branch debian-experimental. + * debian/diff/0006-Install-builtins-with-the-user-and-group-of...diff, + debian/diff/0007-git-quiltimport-preserve-standard-input-to...diff: + remove; applied upstream. + + -- Gerrit Pape <pape@smarden.org> Wed, 04 Mar 2009 22:44:43 +0000 + +git-core (1:1.6.2~rc2-1) experimental; urgency=low + + * merge branch debian-sid. + * new upstream release candidate. + + -- Gerrit Pape <pape@smarden.org> Thu, 26 Feb 2009 22:15:13 +0000 + +git-core (1:1.6.1.3-2) unstable; urgency=high + + * debian/diff/0006-Install-builtins-with-the-user-and-group-of...diff: + new from upstream git: Install builtins with the user and group of + the installing personality. + * debian/diff/0007-git-quiltimport-preserve-standard-input-to...diff: + new from upstream git: git-quiltimport: preserve standard input to + be able to read user input (closes: #515910). + + -- Gerrit Pape <pape@smarden.org> Thu, 26 Feb 2009 22:01:37 +0000 + +git-core (1:1.6.2~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * debian/git-core.docs, debian/git-doc.docs, debian/rules: move + Documentation/RelNotes* from git-doc to the git-core package + (closes: #514866). + + -- Gerrit Pape <pape@smarden.org> Tue, 17 Feb 2009 20:20:03 +0000 + +git-core (1:1.6.2~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * merge branch debian-sid. + + -- Gerrit Pape <pape@smarden.org> Tue, 10 Feb 2009 00:06:02 +0000 + +git-core (1:1.6.1.3-1) unstable; urgency=low + + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Mon, 09 Feb 2009 21:31:39 +0000 + +git-core (1:1.6.1.2-1) experimental; urgency=low + + * new upstream release. + * don't fail to clone over http if connection is rate limited + (closes: #512795). + * git svn info no longer fails (closes: #499243). + * debian/rules: ASCIIDOC_EXTRA='-a asciidoc7compatible -a docbook-xsl-172' + and DOCBOOK_XSL_173=Yes when building documentation (thx Niko Tyni + for the patch, closes: #497883). + * merge branch debian-lenny. + * debian/diff/0005-gitweb-do-not-run-git-diff-that-is-Porcelain.diff: + remove; fixed upstream. + + -- Gerrit Pape <pape@smarden.org> Mon, 02 Feb 2009 23:26:45 +0000 + +git-core (1:1.5.6.5-3) unstable; urgency=high + + * debian/rules: no longer install symlink /etc/init.d/git-daemon -> + /usr/bin/sv (closes: #511687). + * debian/git-daemon-run.README.Debian: document how to create the + symlink manually to have an LSB compatible /etc/init.d/git-daemon + interface to control the service. + + -- Gerrit Pape <pape@smarden.org> Mon, 02 Feb 2009 20:56:15 +0000 + +git-core (1:1.6.0.6-1) experimental; urgency=low + + * debian/control: git-email: Recommends: libnet-smtp-ssl-perl, + libauthen-sasl-perl (thx Kees Cook, closes: #505636). + * debian/diff/0005-bug-506445-hooks-post-receive-email-set-...diff: + new; hooks/post-receive-email: set encoding to utf-8 (thx Alexander + Gerasiov, closes: #506445). + * new upstream point release (closes: #504641). + * gitweb: do not run "git diff" that is Porcelain. + + -- Gerrit Pape <pape@smarden.org> Sat, 20 Dec 2008 11:03:49 +0000 + +git-core (1:1.5.6.5-2) unstable; urgency=high + + * debian/diff/0005-gitweb-do-not-run-git-diff-that-is-Porcelain.diff: + new; fix possible gitweb vulnerability: calling "git diff": Jakub + says that legacy-style URI to view two blob differences are never + generated since 1.4.3. This codepath runs "git diff" Porcelain from + the gitweb, which is a no-no. It can trigger diff.external command + that is specified in the configuration file of the repository being + viewed. + + -- Gerrit Pape <pape@smarden.org> Wed, 17 Dec 2008 09:27:01 +0000 + +git-core (1:1.6.0.4-1) experimental; urgency=low + + * new upstream point release. + * debian/control: git-email: minor update to the long description + (thx Gerfried Fuchs, closes: #501559). + * debian/rules: TCLTK_PATH=/usr/bin/wish instead of wish8.5 in OPTS. + * debian/control: git-gui, gitk: Depends: tk (>= 8.4) instead of + tk8.5 (thx Adeodato Simó, closes: #503113). + * debian/rules: move the /usr/bin/git-cvsserver program into the + git-cvs package. + + -- Gerrit Pape <pape@smarden.org> Tue, 11 Nov 2008 22:36:05 +0000 + +git-core (1:1.6.0.3-1) experimental; urgency=low + + * debian/control: minor update to long descriptions (thx Reuben + Thomas, closes: #499065). + * debian/git-core.emacsen-startup: new; emacsen-startup configuration + file (thx Jari Aalto, closes: #472197). + * debian/rules: install emacsen-startup configuration file into the + git-core package (thx Eddy Mulyono, closes: #446027). + * new upstream point release. + * debian/git-core.conffiles: add /etc/emacs/site-start.d/50git-core.el + + -- Gerrit Pape <pape@smarden.org> Tue, 04 Nov 2008 20:26:56 +0000 + +git-core (1:1.6.0.2-1) experimental; urgency=low + + * new upstream point release. + * debian/git-core.NEWS.Debian: new; mention that most of the programs + now are installed outside the default $PATH; the "git-xyzzy" form + in scripts and on the command line is no longer supported in 1.6.0. + * debian/git-core.README.Debian: fix paths in config example (thx + Michael Biebl for the patch, closes: #498741). + * debian/git-core.README.Debian: typo (thx Vincent Bernat for the + patch, closes: #496834). + + -- Gerrit Pape <pape@smarden.org> Wed, 24 Sep 2008 20:55:26 +0000 + +git-core (1:1.6.0.1-1) experimental; urgency=low + + * new upstream point release (closes: #496155). + * merge branch debian-sid. + + -- Gerrit Pape <pape@smarden.org> Wed, 27 Aug 2008 07:53:36 +0000 + +git-core (1:1.6.0-1) experimental; urgency=low + + * new upstream release. + * svnimport: newer libsvn wants us to ask for the root with "", + not "/" (closes: #492522, #490400). + * Keep some git-* programs in $(bindir); Move all dashed-form + commands to libexecdir (closes: #461212). + * bash: Add more option completions for 'git log' (closes: + #490220). + * Fix buffer overflow in prepare_attr_stack; Fix buffer overflow + in git diff; Fix buffer overflow in git-grep (closes: #494097). + * 0002-bug-438793-git-sh-setup.sh-builtin-tag.c-fallback.diff: redo + as 0002-bug-438793-494505-fallback-to-editor-not-vi.diff (thx + Jonathan Nieder for the patch, closes: #494505). + * debian/rules: add gitexecdir=/usr/lib/git-core to OPTS; adapt + several paths (thx Jonathan Nieder for a patch, closes: #480396). + * debian/gitweb.NEWS.Debian: new; talk about files moved from + /var/www/ to /usr/share/gitweb/ (see #479479; closes: #494467). + * debian/git-daemon/run: run git daemon instead of git-daemon + (dash-less form). + * debian/git-daemon-run.postinst: add gitdaemon system user. + * debian/git-daemon/run: utilize chpst to run git daemon as user + gitdaemon (thx Daniel Kahn Gillmor, closes: #494991). + + -- Gerrit Pape <pape@smarden.org> Sun, 24 Aug 2008 22:31:44 +0000 + +git-core (1:1.5.6.5-1) unstable; urgency=high + + * new upstream point release. + * Fix buffer overflow in prepare_attr_stack; Fix buffer overflow + in git diff; Fix buffer overflow in git-grep (CVE-2008-3546; + closes: #494097). + * debian/diff/0005-bug-494097-CVE-2008-3546.diff: remove; obsolete. + + -- Gerrit Pape <pape@smarden.org> Sun, 24 Aug 2008 19:22:02 +0000 + +git-core (1:1.5.6.3-1.1) unstable; urgency=high + + * Non-maintainer upload by the Security Team. + * Fix various stack-based buffer overflows when processing overly long + repository pathnames which can be exploited to execute arbitrary code if + a victim is tricked into using git-grep or git-diff on a crafted + repository (CVE-2008-3546; Closes: #494097). + + -- Nico Golde <nion@debian.org> Sat, 09 Aug 2008 13:53:13 +0200 + +git-core (1:1.5.6.3-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/0005-git-svn.perl-workaround-assertions-in-svn...diff: + remove; applied upstream (opens: #490400). + * debian/control: Standards-Version: 3.8.0.1. + + -- Gerrit Pape <pape@smarden.org> Thu, 17 Jul 2008 07:40:08 +0000 + +git-core (1:1.5.6.2-1) unstable; urgency=low + + * new upstream point release (closes: #489431). + * debian/copyright: apply patch from Ansgar Burchardt: adopt proposed + machine-readable format; clarify some license information (thx, + closes: #488351). + * debian/rules: package gitweb: install gitweb.css, git-favicon.png, + git-logo.png into /usr/share/gitweb/ instead of /var/www/ (closes: + #479479). + * debian/control: package git-arch: no longer Suggests: bazaar + (closes: #486726). + * debian/diff/0005-git-svn.perl-workaround-assertions-in-svn...diff: + new; git-svn.perl: workaround assertions in svn library 1.5.0 + (closes: #489108). + + -- Gerrit Pape <pape@smarden.org> Sun, 06 Jul 2008 18:35:27 +0000 + +git-core (1:1.5.6-1) unstable; urgency=low + + * new upstream release. + * merge branch debian-experimental. + + -- Gerrit Pape <pape@smarden.org> Thu, 19 Jun 2008 07:38:31 +0000 + +git-core (1:1.5.6~rc3-1) experimental; urgency=low + + * debian/git-daemon-run.postrm: remove log files on purge. + * new upstream release candidate. + * debian/control: package git-core: no longer Depends: cpio, no + longer Recommends: curl. + + -- Gerrit Pape <pape@smarden.org> Sun, 15 Jun 2008 11:14:49 +0000 + +git-core (1:1.5.6~rc2-1) experimental; urgency=low + + * new upstream release candidate. + * merge branch debian-sid. + * debian/rules: do not build manpages twice (thx Jonathan Nieder). + + -- Gerrit Pape <pape@smarden.org> Mon, 09 Jun 2008 12:02:43 +0000 + +git-core (1:1.5.5.4-1) unstable; urgency=low + + * new upstream point release. + * debian/rules: enable DOCBOOK_XSL_172 build variable, fixing man page + breakage (thx Jonathan Nieder, closes: #476634). + * debian/control: Build-Depends: docbook-xsl (>> 1.72) (thx Jonathan + Nieder). + + -- Gerrit Pape <pape@smarden.org> Mon, 09 Jun 2008 11:51:19 +0000 + +git-core (1:1.5.6~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * git-svn fails in prop_walk if $self->{path} is not empty (closes: + 477393). + * gitweb: Fix "next" link on bottom of page (closes: #481902). + * merge branch debian-sid. + * debian/rules: add THREADED_DELTA_SEARCH=1 to OPTS (closes: #483534). + + -- Gerrit Pape <pape@smarden.org> Thu, 05 Jun 2008 10:14:14 +0000 + +git-core (1:1.5.5.3-1) unstable; urgency=low + + * new upstream point release. + * commit --interactive: properly update the index before commiting + (closes: #480429). + * debian/diff/0005-git-bisect.sh-don-t-accidentally-override...diff: + remove; applied upstream. + * debian/diff/0005-bug-477337-git-svn.perl-fallback-to-pager...diff: + new; git-svn.perl: fallback to 'pager' not 'less' if PAGER is unset + (closes: #477337). + + -- Gerrit Pape <pape@smarden.org> Wed, 28 May 2008 19:32:57 +0000 + +git-core (1:1.5.6~rc0-1) experimental; urgency=low + + * merge branch debian-sid. + * new upstream release candidate. + * debian/diff/0004-gitweb-fallback-to-system-wide-config-file...diff: + remove; fixed upstream. + * debian/diff/0005-git-bisect.sh-don-t-accidentally-override...diff: + remove; applied upstream. + + -- Gerrit Pape <pape@smarden.org> Mon, 26 May 2008 16:53:38 +0000 + +git-core (1:1.5.5.2-1) unstable; urgency=low + + * new upstream point release. + * diff-options.txt: document the new "--dirstat" option (closes: + #476437). + * debian/diff/0005-git-bisect.sh-don-t-accidentally-override...diff: + new: git-bisect.sh: don't accidentally override existing branch + "bisect" (closes: #478647). + + -- Gerrit Pape <pape@smarden.org> Mon, 26 May 2008 16:41:45 +0000 + +git-core (1:1.5.5.1-1) unstable; urgency=low + + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Mon, 21 Apr 2008 18:24:34 +0000 + +git-core (1:1.5.5-1) unstable; urgency=low + + * new upstream release. + * gitk: Fix changing colors through Edit->Preferences (closes: #472615). + * Revert "gitweb: Add 'status_str' to parse_difftree_raw_line output" + (closes: #469083). + * merge branch debian/experimental. + + -- Gerrit Pape <pape@smarden.org> Tue, 08 Apr 2008 20:26:25 +0000 + +git-core (1:1.5.5~rc3-2) experimental; urgency=low + + * debian/diff/0004-gitweb-fallback-to-system-wide-config-file-if-defaul.diff: + amend: properly apply GITWEB_CONFIG_SYSTEM to gitweb.cgi. + + -- Gerrit Pape <pape@smarden.org> Fri, 04 Apr 2008 20:40:48 +0000 + +git-core (1:1.5.5~rc3-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/0004-gitweb-fallback-to-system-wide-config-file-if-defaul.diff: + new: gitweb: fallback to system-wide config file if default config does + not exist (closes: #450592). + * debian/rules: remove GITWEB_CONFIG=/etc/gitweb.conf from OPTS. + + -- Gerrit Pape <pape@smarden.org> Thu, 03 Apr 2008 19:43:33 +0000 + +git-core (1:1.5.5~rc2-1) experimental; urgency=low + + * new upstream release candidate. + * t9600-cvsimport.sh: set HOME before checking for cvsps availability + (closes: #471969). + * imap-send: properly error out if imap.host is not set in config + (closes: #472632). + * merge branch debian-sid. + + -- Gerrit Pape <pape@smarden.org> Fri, 28 Mar 2008 08:53:30 +0000 + +git-core (1:1.5.4.5-1) unstable; urgency=low + + * new upstream point release (closes: #473071). + + -- Gerrit Pape <pape@smarden.org> Fri, 28 Mar 2008 08:26:39 +0000 + +git-core (1:1.5.5~rc1-1) experimental; urgency=low + + * new upstream release candidate. + + -- Gerrit Pape <pape@smarden.org> Sun, 23 Mar 2008 11:55:21 +0000 + +git-core (1:1.5.5~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * git-pull documentation: warn about the option order (closes: #463853). + * hash-object: cleanup handling of command line options (closes: + #464432). + * debian/diff/0004-gitk-properly-deal-with-tag-names-containing-sl.diff: + remove; applied upstream. + + -- Gerrit Pape <pape@smarden.org> Wed, 19 Mar 2008 07:45:01 +0000 + +git-core (1:1.5.4.4-1) unstable; urgency=low + + * new upstream point release. + * templates/Makefile: don't depend on local umask setting (closes: + #467518). + * Fix random crashes in http_cleanup() (closes: #468836). + * send-email: fix In-Reply-To regression (closes: #468153). + * git-merge.sh: better handling of combined --squash,--no-ff,--no-commit + options (closes: #468568). + + -- Gerrit Pape <pape@smarden.org> Mon, 10 Mar 2008 10:38:51 +0000 + +git-core (1:1.5.4.3-1) unstable; urgency=low + + * new upstream point release. + * git-clone.sh: properly configure remote even if remote's head is + dangling (closes: #466581). + * debian/diff/0004-gitk-properly-deal-with-tag-names-containing-sl.diff: + new: from upstream master: gitk: properly deal with tag names containing / + (slash) (closes: #464104). + * debian/git-daemon-run.postrm: adapt paths in /var/. + + -- Gerrit Pape <pape@smarden.org> Sun, 24 Feb 2008 16:19:02 +0000 + +git-core (1:1.5.4.2-2) unstable; urgency=low + + * debian/rules: git-daemon-run: no longer include symlinks for ./supervise/ + subdirectories, update-service now takes care of this. + * debian/git-daemon-run.postinst: remove ad re-add git-daemon service on + upgrade from <= 1.5.4.2-1. + + -- Gerrit Pape <pape@smarden.org> Mon, 18 Feb 2008 22:22:14 +0000 + +git-core (1:1.5.4.2-1) unstable; urgency=low + + * new upstream point release. + * cvsimport: have default merge regex also match beginning of commit + message (thx Frédéric Brière, closes: #463468). + * builtin-commit: remove .git/SQUASH_MSG upon successful commit (closes: + #464656). + * debian/rules: change TCLTK_PATH to /usr/bin/wish8.5 in OPTS. + * debian/control: Build-Depends: tcl8.5; git-gui, gitk: Depends: tk8.5 + (closes: #456423). + * debian/git-daemon-run.postinst, debian/git-daemon-run.postrm, + debian/git-daemon-run.prerm: use runit's update-service program to + add/remove the git daemon service, instead of dealing with symlinks in + /var/service/ directly. + * debian/control: package git-daemon: Depends: runit (>= 1.8.0-2) (1st + version that provides the update-service program). + + -- Gerrit Pape <pape@smarden.org> Sun, 17 Feb 2008 18:48:00 +0000 + +git-core (1:1.5.4.1-1) unstable; urgency=medium + + * debian/control: Build-Depends: cvsps (for selftests, thx Marco Rodrigues, + closes: #463896). + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Mon, 11 Feb 2008 12:00:03 +0000 + +git-core (1:1.5.4-1) unstable; urgency=low + + * merge branch debian-experimental. + * new upstream release. + * debian/git-core.README.Debian: add Alias'es for git-favicon.png and + git-logo.png to the VirtualHost example (thx Frederic Briere, closes: + #463732). + * debian/rules: target build-arch-stamp: re-run selftests with --verbose + on test failures. + + -- Gerrit Pape <pape@smarden.org> Sun, 03 Feb 2008 05:01:16 +0000 + +git-core (1:1.5.4~rc5-1) experimental; urgency=low + + * new upstream release candidate. + + -- Gerrit Pape <pape@smarden.org> Mon, 28 Jan 2008 11:01:08 +0000 + +git-core (1:1.5.4~rc4-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/0003-bug-448655-check-etc-mailname-if-author-email-is-un.diff: + adapt; don't warn if /etc/mailname does not exist (closes: #461844). + * debian/rules: install /usr/share/gitk/ into the gitk package, not + git-core. + + -- Gerrit Pape <pape@smarden.org> Mon, 21 Jan 2008 21:15:21 +0000 + +git-core (1:1.5.4~rc3-1) experimental; urgency=low + + * merge branch debian-sid. + * new upstream release candidate. + * "git pull --tags": error out with a better message (closes: #456035). + * gitk: use user-configured background in view definition dialog + (closes: #457124). + * debian/control: Build-Depends: cvs, libdbd-sqlite3-perl (for selftests). + + -- Gerrit Pape <pape@smarden.org> Sat, 12 Jan 2008 15:09:23 +0000 + +git-core (1:1.5.3.8-1) unstable; urgency=low + + * debian/control: for all packages: Suggests: git-doc instead of + Recommends: (thx Andrew Moise, closes: #455369). + * debian/control: add Vcs-Git: http://smarden.org/git/git.git/. + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Tue, 08 Jan 2008 21:01:35 +0000 + +git-core (1:1.5.4~rc2-1) experimental; urgency=low + + * new upstream release candidate. + * shortlog manpage documentation: work around asciidoc markup issues + (closes: #447911). + * Fix $EDITOR regression introduced by rewrite in C (closes: #446845). + + -- Gerrit Pape <pape@smarden.org> Thu, 27 Dec 2007 08:45:01 +0000 + +git-core (1:1.5.4~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * gitweb: Teach "a=blob" action to be more lenient about blob/file mime + type (closes: #435610). + + -- Gerrit Pape <pape@smarden.org> Thu, 20 Dec 2007 09:07:10 +0000 + +git-core (1:1.5.4~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * build with correct version information (on amd64, closes: #454935, + #454408). + * git-reset: add -q option to operate quietly (closes: #444933). + * gitk: disable colours when calling git log (closes: #454420). + * "git svnimport" was removed in favor of "git svn" (closes: #436930, + #447325, #447965, #451037). + * git-commit: allow grouping of short options (closes: #407241). + * debian/diff/0004-contrib-hooks-post-receive-email-make-subject-prefix.diff, + debian/diff/0005-Don-t-cache-DESTDIR-in-perl-perl.mak.diff: remove; + applied upstream. + * debian/rules: install git-gui's lib/ directory plus subdirectory + properly. + * debian/control: Build-Depends: gettext. + + -- Gerrit Pape <pape@smarden.org> Thu, 13 Dec 2007 14:08:45 +0000 + +git-core (1:1.5.3.7-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/0005-Don-t-cache-DESTDIR-in-perl-perl.mak.diff: new; don't + cache DESTDIR in perl/perl.mak (#452077). + * debian/rules: remove $(MAKE) -C perl clean to remove the perl/perl.mak + again, this is now handled through debian/diff/0005 (thx Pierre + Habouzit, #452077). + + -- Gerrit Pape <pape@smarden.org> Mon, 3 Dec 2007 10:17:11 +0000 + +git-core (1:1.5.3.6-1.1) unstable; urgency=low + + * Non-maintainer upload: Gerrit is currently changing home, and this bug is + preventing people from installing git, I took the initiative to fix it + before his return. + * debian/rules: force a $(MAKE) -C perl clean to remove the perl/perl.mak + that remembers our DESTDIR and makes perl modules be installed in + debian/git-core/ in the install-indep target again + (closes: #452077, #452078, #452080, #452111, #452324). + + -- Pierre Habouzit <madcoder@debian.org> Thu, 22 Nov 2007 00:40:08 +0100 + +git-core (1:1.5.3.6-1) unstable; urgency=low + + * debian/implicit: add proper dependencies to support 'parallel build' + through make -j (thx Daniel Schepler for the patch). + * debian/rules: support 'nocheck' in DEB_BUILD_OPTIONS to skip running + the selftests. + * debian/diff/0003-bug-448655-check-etc-mailname-if-author-email-is-un.diff: + new; check /etc/mailname if author email is unknown (closes: #448655). + * debian/gitweb.docs: new; install gitweb/README. + * new upstream point release. + * git-cvsimport: really convert underscores in branch names to dots with + -u (closes: #446495). + * git-mailsplit: with maildirs not only process cur/, but also new/ + (closes: #447396). + * debian/diff/0004-contrib-hooks-post-receive-email-make-subject-prefix.diff: + new; cherry-pick'ed from master: contrib/hooks/post-receive-email: make + subject prefix configurable (closes: #428418). + + -- Gerrit Pape <pape@smarden.org> Mon, 19 Nov 2007 12:32:11 +0000 + +git-core (1:1.5.3.5-1) unstable; urgency=low + + * new upstream point release. + * git-config: handle --file option with relative pathname properly; + git-config: print error message if the config file cannot be read; + git-config: don't silently ignore options after --list (closes: + #445208). + + -- Gerrit Pape <pape@smarden.org> Thu, 01 Nov 2007 08:35:46 +0000 + +git-core (1:1.5.3.4-1) unstable; urgency=low + + * new upstream point release (closes: #445188). + + -- Gerrit Pape <pape@smarden.org> Thu, 04 Oct 2007 08:27:01 +0000 + +git-core (1:1.5.3.3-1) unstable; urgency=low + + * new upstream point release. + + -- Gerrit Pape <pape@smarden.org> Sun, 30 Sep 2007 09:25:06 +0000 + +git-core (1:1.5.3.2-1) unstable; urgency=low + + * new upstream point release. + * git-svn: fix "Malformed network data" with svn:// servers (closes: + #430091, #436142). + * git-commit: Allow partial commit of file removal (closes: #437817). + * git-gui: lib/index.tcl: handle files with % in the filename properly + (closes: #441167). + * git-clone: improve error message if curl program is missing or not + executable (closes: #440976). + * debian/git-daemon-run.postinst: use 'sv -v term git-daemon' instead of + 'sv restart git-daemon' to restart git-daemon service if it was running. + * debian/control: git-core: no longer Suggests: cogito, which was removed. + * debian/diff/genindex.diff: apply and remove. + * debian/gitweb.conf: comment out $home_link, and set to gitweb.cgi's + default (thx Ansgar Burchardt for the patch, closes: 441694). + + -- Gerrit Pape <pape@smarden.org> Thu, 20 Sep 2007 07:28:41 +0000 + +git-core (1:1.5.3.1-1) unstable; urgency=low + + * new upstream point release. + * debian/control: git-daemon-run: improve long description (closes: + #440699). + * debian/git-daemon-run.README.Debian: improve. + * debian/control: git-svn: improve long description. + * debian/control: git-cvs: improve long description. + * debian/control: git-core: improve long description (closes: #412560). + + -- Gerrit Pape <pape@smarden.org> Tue, 04 Sep 2007 18:18:33 +0000 + +git-core (1:1.5.3-1) unstable; urgency=low + + * merge branch debian-experimental. + * new upstream release. + * debian/control: git-email: move libemail-valid-perl from Depends: to + Recommends: (thx Uwe Kleine-Koenig, closes: #439902). + * debian/control: git-email: no longer Depends: libmail-sendmail-perl (thx + Uwe Kleine-Koenig). + + -- Gerrit Pape <pape@smarden.org> Sun, 02 Sep 2007 16:41:54 +0000 + +git-core (1:1.5.3~rc7-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/0002-git-merge-do-up-to-date-check-also-for-all-strategie.diff: + remove; included upstream. + + -- Gerrit Pape <pape@smarden.org> Wed, 29 Aug 2007 12:22:16 +0000 + +git-core (1:1.5.3~rc6-1) experimental; urgency=low + + * new upstream release candidate. + * git-am: initialize variable $resume on startup (closes: #435807). + * debian/diff/0002-git-merge-do-up-to-date-check-also-for-all-strategie.diff: + new; http://article.gmane.org/gmane.comp.version-control.git/55981. + * debian/diff/0003-git-sh-setup.sh-fallback-to-editor-not-vi-if-VI.diff: + new; git-sh-setup.sh: fallback to 'editor' not 'vi' if $VISUAL and $EDITOR + are unset (thx Mike Hommey, closes: #438793). + * merge branch debian-sid. + + -- Gerrit Pape <pape@smarden.org> Sun, 26 Aug 2007 09:54:16 +0000 + +git-core (1:1.5.2.5-2) unstable; urgency=low + + * debian/git-core.conffiles: new; add /etc/bash_completion.d/git. + + -- Gerrit Pape <pape@smarden.org> Sun, 26 Aug 2007 09:49:39 +0000 + +git-core (1:1.5.2.5-1) unstable; urgency=low + + * debian/control: fix typo in Build-Depends: libcurl4-gnutls-dev | + libcurl3-gnutls-dev (thx Mikael Eriksson, closes: #433196). + * new upstream point release. + * debian/rules: add TCLTK_PATH=/usr/bin/wish8.4 to OPTS (closes: #438662). + * dbian/control: git-core: Depends: cpio (closes: #438057). + * debian/git-core.README.Debian: fix typos (closes: #438932). + * debian/versions.upstream, debian/changelog.upstream: adapt. + * debian/rules, debian/control: install git-completion.bash from contrib as + /etc/bash_completion.d/git; git-core: Conflicts:, Provides:, Replaces: + git-completion (closes: #437532, thx Sebastian Harl). + + -- Gerrit Pape <pape@smarden.org> Sat, 25 Aug 2007 17:56:20 +0000 + +git-core (1:1.5.3~rc4-1) experimental; urgency=low + + * new upstream release candidate. + + -- Gerrit Pape <pape@smarden.org> Sat, 04 Aug 2007 13:02:05 +0000 + +git-core (1:1.5.3~rc3-1) experimental; urgency=low + + * new upstream release candidate. + * debian/versions.upstream, debian/changelog.upstream: adapt. + + -- Gerrit Pape <pape@smarden.org> Fri, 27 Jul 2007 11:13:52 +0000 + +git-core (1:1.5.3~rc2-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/????-Pack-objects-properly-initialize-the-depth-value.diff: + remove; obsolete. + * debian/control, debian/rules: remove git-p4 package again, moved into + contrib/ upstream; see /usr/share/doc/git-core/contrib/p4import/. + * debian/versions.upstream, debian/changelog.upstream: adapt. + + -- Gerrit Pape <pape@smarden.org> Fri, 20 Jul 2007 08:47:45 +0000 + +git-core (1:1.5.3~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * git-commit: don't add multiple Signed-off-by: from the same identity + (closes: #430851). + * Fix core.sharedRepository = 2 (closes: #432698). + * merge branch debian-sid. + * debian/versions.upstream, debian/changelog.upstream: adapt. + * debian/diff/0002-gitk-properly-resolve-ambiguity-if-argument-is-both.diff: + remove; doesn't apply anymore. + * debian/diff/0002-Pack-objects-properly-initialize-the-depth-value.diff: + new; on upstream advice. + + -- Gerrit Pape <pape@smarden.org> Sat, 14 Jul 2007 11:45:27 +0000 + +git-core (1:1.5.2.4-1) unstable; urgency=low + + * new upstream point release. + * debian/rules: build documentation with ASCIIDOC8=YesPlease (closes: + #432560). + * debian/control: Build-Depends: asciidoc (>> 8.0.0). + * debian/diff/????-git-gui-properly-popup-error-if-gitk-should-be-start.diff: + remove; merged upstream. + * debian/control: Build-Depends: libcurl4-gnutls-dev | libcurl3-gnutsl-dev + (closes: #432812). + * debian/versions.upstream, debian/changelog.upstream: adapt. + + -- Gerrit Pape <pape@smarden.org> Fri, 13 Jul 2007 19:13:38 +0000 + +git-core (1:1.5.3~rc0-1) experimental; urgency=low + + * new upstream release candidate. + * debian/changelog.upstream.sh: run git shortlog with option --no-merges. + * debian/versions.upstream, debian/changelog.upstream: update. + * debian/diff/0003-git-svn-trailing-slash-in-prefix-is-mandatory-with.diff, + debian/diff/0004-git-cvsimport-force-checkout-of-working-tree-after-i.diff: + remove; applied upstream. + * debian/diff/00*.diff: adapt. + * debian/rules: put git-gui, git-citool man pages into package git-gui. + + -- Gerrit Pape <pape@smarden.org> Tue, 03 Jul 2007 10:01:12 +0000 + +git-core (1:1.5.2.3-1) unstable; urgency=low + + * new upstream point release. + * debian/control: package git-gui: Replaces: git-core (<< 1:1.5.2.2-3) + (thx Frank Lichtenheld, closes: #431481). + * debian/versions.upstream, debian/changelog.upstream: update. + + -- Gerrit Pape <pape@smarden.org> Tue, 03 Jul 2007 08:26:11 +0000 + +git-core (1:1.5.2.2-3) unstable; urgency=low + + * debian/rules: move /usr/share/git-gui/ from git-core package into + git-gui package (thx Ansgar Burchardt, closes: #430530). + * debian/diff/0004-git-cvsimport-force-checkout-of-working-tree-after-i.diff: + new; git-cvsimport: force checkout of working tree after initial import + (closes: #430903). + * debian/diff/0005-git-gui-properly-popup-error-if-gitk-should-be-start.diff: + new; git-gui: properly popup error if gitk should be started but is not + installed (#429810). + * debian/control: git-gui: Recommends: gitk (closes: #429810). + * debian/rules: workaround #427907: compile with -O0 instead of -O2 on hppa + (#429389). + + -- Gerrit Pape <pape@smarden.org> Fri, 29 Jun 2007 12:54:39 +0000 + +git-core (1:1.5.2.2-2) unstable; urgency=low + + * debian/control: all Architecture: all packages: Depends: git-core (>> + ${source:Upstream-Version}, git-core (<< ${source:Upstream-Version}-.) + instead of (= ${source:Version}) to support binNMUs (closes: #423041, + #430128). + + -- Gerrit Pape <pape@smarden.org> Sat, 23 Jun 2007 14:02:36 +0000 + +git-core (1:1.5.2.2-1) unstable; urgency=low + + * new upstream point release. + * Fix typo in remote branch example in git user manual (closes: #427502). + * debian/diff/0003-git-branch-track-fix-tracking-branch-computation.diff: + remove; applied upstream. + * debian/versions.upstream: new; ordered list of upstream versions, + starting with 1.0.0. + * debian/changelog.upstream.sh: new; create changelog.upstream from git + shortlog using debian/versions.upstream. + * debian/changelog.upstream: re-created through changelog.upstream.sh. + * debian/diff/0003-git-svn-trailing-slash-in-prefix-is-mandatory-with.diff: + new; git-svn: trailing slash in prefix is mandatory with --branches/-b + (closes: #429443). + + -- Gerrit Pape <pape@smarden.org> Tue, 19 Jun 2007 17:32:30 +0000 + +git-core (1:1.5.2.1-2) unstable; urgency=low + + * debian/diff/0003-git-branch-track-fix-tracking-branch-computation.diff: + new; from upstream master: git-branch --track: fix tracking branch + computation. + + -- Gerrit Pape <pape@smarden.org> Fri, 8 Jun 2007 09:04:47 +0000 + +git-core (1:1.5.2.1-1) unstable; urgency=low + + * new upstream point release. + * Create a new manpage for the gitignore format, and reference it + elsewhere (thx Josh Triplett, closes: #427078). + * debian/diff/0002-gitk-properly-resolve-ambiguity-if-argument-is-both.diff: + new; properly resolve ambiguity if argument is both, revision and + filename (closes: #425491). + * debian/control: git-core: Conflicts: git (<< 4.3.20-11) (/usr/bin/git + transition). + * debian/git-daemon-run.README.Debian: new (#422139). + * debian/control: all Architecture: all packages: Depends: git-core + (= ${source:Version}) instead of (>= ...); this makes it no longer + support binNMUs (closes: #425494, reopens: #423041). + + -- Gerrit Pape <pape@smarden.org> Sun, 03 Jun 2007 10:09:53 +0000 + +git-core (1:1.5.2-1) unstable; urgency=low + + * merge branch debian-experimental. + * new upstream release. + * gitweb: choose appropriate view for file type if a= parameter missing + (closes: #410465). + * git fetch -q is supported (closes: #423165). + * /usr/bin/git transition (thx Ian Beckwith!). + * debian/git-core.preinst: new; remove /usr/bin/git alternative if + upgrading from versions older than 1:1.5.2~rc3-2. + * debian/git-core.prerm, debian/git-core.postinst: remove; no longer + handle /usr/bin/git alternative through update-alternatives. + * debian/rules: no longer install git program as git-scm. + + -- Gerrit Pape <pape@smarden.org> Wed, 30 May 2007 12:38:45 +0000 + +git-core (1:1.5.2~rc3-2) experimental; urgency=low + + * debian/diff/0000-maint-branch-from-20070514.diff: remove; obsolete. + * debian/control: package git-p4: Section: contrib/devel (closes: + #422755). + * debian/control: package git-p4: Depends: git-core (>= ${source:Version}) + instead of (= ${Source-Version}) (to support binNMUs). + + -- Gerrit Pape <pape@smarden.org> Tue, 15 May 2007 21:33:06 +0000 + +git-core (1:1.5.1.4-2) unstable; urgency=low + + * debian/diff/0000-maint-branch-from-20070514.diff: new; snapshot upstream + maint branch 20070514: + * includes git-svn fixes (closes: #423599, #423226). + * deian/rules: reverse order when applying diffs (fix typo). + * debian/control: all Architecture: all packages: Depends: git-core (>= + ${source:Version}) instead of (= ${Source-Version}) (to support binNMUs, + closes: #423041). + + -- Gerrit Pape <pape@smarden.org> Mon, 14 May 2007 13:15:50 +0000 + +git-core (1:1.5.2~rc3-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/0002-Optimize-directory-listing-with-pathspec-limiter.diff: + remove; included upstream. + * debian/control: Build-Depends: tcl8.4 (for gitgui). + * debian/rules: add symlink /etc/init.d/git-daemon -> /usr/bin/sv to + git-daemon-run package (#422139). + + -- Gerrit Pape <pape@smarden.org> Mon, 14 May 2007 10:10:02 +0000 + +git-core (1:1.5.1.4-1) unstable; urgency=medium + + * new upstream point release. + * debian/diff/pager-vs-less.diff: rename to + 0001-pager.c-fallback-to-pager-not-less-if-PAGER-is.diff; adapt. + * debian/diff/0002-Optimize-directory-listing-with-pathspec-limiter.diff: + new: Optimize directory listing with pathspec limiter (closes: #420671). + * debian/git-daemon-run.postinst: restart git-daemon service if it was + running. + + -- Gerrit Pape <pape@smarden.org> Wed, 09 May 2007 08:48:50 +0000 + +git-core (1:1.5.2~rc2-1) experimental; urgency=low + + * new upstream release candidate. + + -- Gerrit Pape <pape@smarden.org> Mon, 07 May 2007 18:02:53 +0000 + +git-core (1:1.5.2~rc1-1) experimental; urgency=low + + * new upstream release candidate. + * debian/control, debian/rules: new package git-p4: tools for importing + development history from perforce repositories. + * debian/rules: add WITH_P4IMPORT=1 to OPTS; no longer install + git-p4import.py into /usr/share/doc/git-core/contrib/; add OPTS to + make clean in target clean:; add PYTHON_PATH=/usr/bin/python to OPTS. + + -- Gerrit Pape <pape@smarden.org> Tue, 01 May 2007 12:28:15 +0000 + +git-core (1:1.5.1.3-1) unstable; urgency=low + + * new upstream point release. + * git-add tried to optimize by finding common leading directories + across its arguments but botched, causing very confused behaviour + (closes: #420671). + * Documentation/git-reset.txt: suggest git commit --amend in example + (closes: #420112). + * unofficial rpm.spec file shipped with git was letting ETC_GITCONFIG + set to /usr/etc/gitconfig. Tweak the official Makefile to make it + harder for distro people to make the same mistake, by setting the + variable to /etc/gitconfig if prefix is set to /usr (closes: + #420675). + * debian/changelog.upstream: upstream changes taken from mailing list + announcement. + + -- Gerrit Pape <pape@smarden.org> Tue, 01 May 2007 08:59:06 +0000 + +git-core (1:1.5.1.2-1) unstable; urgency=low + + * new upstream point release. + * debian/changelog.upstream: upstream changes taken from mailing list + announcement. + + -- Gerrit Pape <pape@smarden.org> Sun, 22 Apr 2007 13:31:05 +0000 + +git-core (1:1.5.1.1-1) unstable; urgency=low + + * new upstream point release. + * debian/changelog.upstream: upstream changes taken from mailing list + announcement. + * debian/diff/0010-rename-contrib-hooks-post-receieve-email-to-contrib.diff: + remove; applied upstream. + + -- Gerrit Pape <pape@smarden.org> Thu, 12 Apr 2007 09:05:44 +0000 + +git-core (1:1.5.1-1) unstable; urgency=low + + * new upstream release. + * git-svn got almost a rewrite (closes: #416372). + * debian/diff/git-cvsserver-update-hook.diff: remove; included upstream. + * debian/diff/Documentation-git-svnimport.txt-fix-typo.diff, + debian/diff/http-fetch-don-t-use-double-slash-as-directory-sepa.diff, + debian/diff/Documentation-git-rev-parse.txt-fix-example-in-SPEC.diff: + remove; applied upstream. + * debian/diff/GNU-Hurd.diff: remove; obsolete. + * debian/git-daemon-run.postrm: check for deluser being available, if + not, print warning and don't remove system user (closes: #416755). + * debian/changelog.upstream: upstream changes taken from mailing list + announcement, and git shortlog. + * debian/diff/0010-rename-contrib-hooks-post-receieve-email-to-contrib.diff: + new; rename contrib/hooks/post-receieve-email to contrib/hooks/post- + receive-email. + + -- Gerrit Pape <pape@smarden.org> Wed, 4 Apr 2007 11:56:18 +0000 + +git-core (1:1.5.0.6-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/http-fetch-don-t-use-double-slash-as-directory-sepa.diff: + new, cherry-pick'ed from upstream master: http-fetch: don't use + double-slash as directory separator in URLs (closes: #409887). + * debian/diff/Documentation-git-svnimport.txt-fix-typo.diff: new: + Documentation/git-svnimport.txt: fix typo. + * debian/diff/Documentation-git-rev-parse.txt-fix-example-in-SPEC.diff: + new Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES + (closes: #404795). + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + + -- Gerrit Pape <pape@smarden.org> Thu, 29 Mar 2007 10:51:00 +0000 + +git-core (1:1.5.0.5-1) unstable; urgency=low + + * new upstream point release. + * debian/rules: make sure subdirectories of /usr/share/doc/git-core/ are + mode 0755 (closes: #415328); remove .gitignore file(s) from + /usr/share/doc/git-core/ (closes: #413913). + * debian/control: git-svn: Depends: libterm-readkey-perl (thx Pierre + Habouzit, closes: #415475). + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + + -- Gerrit Pape <pape@smarden.org> Wed, 21 Mar 2007 17:02:27 +0000 + +git-core (1:1.5.0.3-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/cvsexportcommit-.msg.diff: remove; applied upstream. + * debian/git-core.docs, debian/git-doc.docs: add RelNotes. + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + + -- Gerrit Pape <pape@smarden.org> Mon, 5 Mar 2007 19:44:05 +0000 + +git-core (1:1.5.0.2-1) unstable; urgency=low + + * new upstream point release. + * debian/control: git-core: Conflicts: qgit (<< 1.5.5) (closes: #412452). + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + * debian/diff/cvsexportcommit-.msg.diff: new; don't cleanup .msg if not + yet committed to cvs (closes: #412732). + + -- Gerrit Pape <pape@smarden.org> Wed, 28 Feb 2007 15:50:53 +0000 + +git-core (1:1.5.0.1-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/git-cvsserver-update-hook.diff: new from upstream pu branch: + Have git-cvsserver call hooks/update before really altering the ref. + * debian/control: git-cvs: Depends: libdbd-sqlite3-perl (git-cvsserver). + + -- Gerrit Pape <pape@smarden.org> Sun, 25 Feb 2007 11:38:34 +0000 + +git-core (1:1.5.0-1) experimental; urgency=low + + * new upstream release. + * debian/diff/archimport-empty-dir.diff: remove; applied upstream. + * debian/diff/pager-vs-less.diff, debian/diff/Add-install-lib-target.diff: + adapt. + * debian/control: new package git-gui, the git graphical user interface; + git-core: no longer Depends:, Build-Depends: rcs; git-core: Suggests: + git-gui. + * debian/rules: new package git-gui. + * debian/changelog.upstream: upstream changes taken from mailing list + announcements and git shortlog. + * debian/git-daemon/run: don't limit git-daemon's memory resources. + * debian/control, debian/rules: remove git-core-dev package again, + libgit.a is not a publically usable/useful library at this moment, as + its internal API is not cast in stone yet. + * debian/diff/Add-install-lib-target.diff: remove; there's no git-core-dev + package. + + -- Gerrit Pape <pape@smarden.org> Fri, 16 Feb 2007 07:18:44 +0000 + +git-core (1:1.5.0~rc3-1) experimental; urgency=low + + * new upstream release candidate. + * debian/diff/Add-install-lib-target.diff: new; add install-lib target to + install libgit.a library plus header files (thx Luca Falavigna). + * debian/rules: new package git-core-dev; remove obsolete + WITH_SEND_EMAIL=1, OPTIMIZE="..." from $(OPTS); remove + WITH_OWN_SUBPROCESS_PY=1 from $(OPTS), it's no longer necessary (thx + Luca Falavigna; closes: #403731); make git-p4import.pl available through + /usr/share/doc/git-core/contrib/ (closes: #403387); minor cleanup. + * debian/control: new package git-core-dev (thx Luca Falavigna; closes: + #407722); no longer Build-Depends: python; git-core: no longer Recommends: + python, Suggests: git-core-dev; update short and long descriptions + (closes: #406323); git-arch: Depends: tla, instead of Suggests:. + * debian/diff/GNU-Hurd.diff: adapt. + * debian/diff/archimport-empty-dir.diff: new; git-archimport: initial import + needs empty directory (closes: #400508). + * debian/gitweb.README.Debian: typo. + + -- Gerrit Pape <pape@smarden.org> Sat, 3 Feb 2007 09:32:48 +0000 + +git-core (1:1.4.4.4-1) unstable; urgency=low + + * new upstream release, important fixes: + * pack-check.c::verify_packfile(): don't run SHA-1 update on huge data. + * Fix infinite loop when deleting multiple packed refs. + * diff --check: fix off by one error. + * debian/diff/0001-spurious-.sp-in-manpages.diff: remove; included in + upstream version. + * debian/changelog.upstream: upstream changes taken from mailing list + announcement. + + -- Gerrit Pape <pape@smarden.org> Tue, 9 Jan 2007 19:43:56 +0000 + +git-core (1:1.4.4.3-1) unstable; urgency=medium + + * new upstream release (closes: #404796); important fixes: + * Make sure the empty tree exists when needed in merge-recursive; the + error message may make the user think that their database is corrupt + when its actually not. + * Don't use memcpy when source and dest. buffers may overlap. + * cvsserver: Avoid miscounting bytes in Perl v5.8.x; this breaks the + counting of bytes for the CVS protocol, resulting in the client + expecting less data than we actually send, and storing truncated files. + * debian/diff/0001-spurious-.sp-in-manpages.diff: new from upstream git; + work around spurious .sp in manpages (closes: #388370). + * debian/changelog.upstream: upstream changes taken from mailing list + announcement. + + -- Gerrit Pape <pape@smarden.org> Fri, 29 Dec 2006 07:38:15 +0000 + +git-core (1:1.4.4.2-1) unstable; urgency=low + + * new upstream release. + * fixes FTBFS on m68k (thx Roman Zippel, closes: #402022). + * 0001-archive-zip-don-t-use-sizeof-struct.diff, + 0002-git-svn-error-out-from-dcommit-on-a-parent-less-commit.diff, + 0003-git-svn-correctly-handle-revision-0-in-SVN-repositories.diff, + 0004-git-svn-preserve-uncommitted-changes-after-dcommit.diff, + 0005-Increase-length-of-function-name-buffer.diff: remove; obsolete. + * debian/changelog.upstream: upstream changes taken from mailing list + announcements and git log | git shortlog. + + -- Gerrit Pape <pape@smarden.org> Fri, 8 Dec 2006 19:13:49 +0000 + +git-core (1:1.4.4.1-1) unstable; urgency=low + + * new upstream release (closes: #400191). + * 0001-archive-zip-don-t-use-sizeof-struct.diff: new from upstream git; + replaces debian/diff/not-packed-structs.diff. + * 0002-git-svn-error-out-from-dcommit-on-a-parent-less-commit.diff, + 0003-git-svn-correctly-handle-revision-0-in-SVN-repositories.diff, + 0004-git-svn-preserve-uncommitted-changes-after-dcommit.diff, + 0005-Increase-length-of-function-name-buffer.diff: new from upstream + git. + * debian/diff/genindex.diff: new; support subdirs in gitweb example index + generator (thx David Nusinow; closes: #400284). + * debian/diff/GNU-Hurd.diff, debian/diff/pager-vs-less.diff: adapt. + + -- Gerrit Pape <pape@smarden.org> Sun, 26 Nov 2006 14:31:39 +0000 + +git-core (1:1.4.4-2) unstable; urgency=low + + * debian/diff/not-packed-structs.diff: new; don't use sizeof(struct ...), + size doesn't match on arm (fixes selftests failure on arm). + + -- Gerrit Pape <pape@smarden.org> Wed, 22 Nov 2006 23:31:11 +0000 + +git-core (1:1.4.4-1) unstable; urgency=low + + * new upstream release (closes: #399575). + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + * debian/control: Build-Depends: unzip (for selftests). + + -- Gerrit Pape <pape@smarden.org> Tue, 21 Nov 2006 09:43:37 +0000 + +git-core (1:1.4.3.5-1) unstable; urgency=low + + * new upstream release. + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + + -- Gerrit Pape <pape@smarden.org> Mon, 13 Nov 2006 17:46:50 +0000 + +git-core (1:1.4.3.3-2) unstable; urgency=medium + + * debian/git-daemon-run.postinst: don't make the log service system user + gitlog member of group adm, but nogroup; gitlog's home directory is + /nonexistent (thx Florian Weimer, closes: #396687). + * debian/git-daemon/log/run: make /var/log/git-daemon log directory mode + 2750, owner gitlog:adm. + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + + -- Gerrit Pape <pape@smarden.org> Mon, 6 Nov 2006 20:12:08 +0000 + +git-core (1:1.4.3.3-1) unstable; urgency=low + + * new upstream release. + * debian/diff/0001-Set-HOME-for-selftests.diff: remove; applied upstream. + * debian/control: git-core: Depends: libdigest-sha1-perl (closes: #395304, + thx Ichthyostega). + + -- Gerrit Pape <pape@smarden.org> Tue, 31 Oct 2006 07:31:21 +0000 + +git-core (1:1.4.3.2-1) unstable; urgency=low + + * new upstream release. + * debian/diff/gitweb.conf.diff: remove; obsolete. + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + * debian/rules: add 'GITWEB_CONFIG=/etc/gitweb.conf mandir=/usr/share/man + OPTIMIZE="-O2 -g -Wall" INSTALLDIRS=vendor' to build OPTS, adapt paths; + git-arch: don't include git-archive, git-upload-archive; gitweb: install + git-logo.png, git-favicon.png; git-core: properly install new Git.pm + plus man page. + * debian/diff/0001-Set-HOME-for-selftests.diff: new; set $HOME for + selftests (fixes build/selftest failures). + * debian/control: git-core: Depends: liberror-perl. + + -- Gerrit Pape <pape@smarden.org> Tue, 24 Oct 2006 16:32:35 +0000 + +git-core (1:1.4.2.3-2) unstable; urgency=low + + * debian/control: new package git-daemon-run: provide a git-daemon + service; git-core: no longer Suggests: runit, Depends: adduser, the + git-daemon-run package now Depends: runit, adduser. + * debian/debian/git-core.postinst, debian/git-daemon-run.postrm, + debian/git-daemon-run.prerm: new; manage gitlog user and git-daemon + service (closes: #388144). + * debian/git-core.postinst: no longer adduser gitlog, git-daemon-run + package does now. + * debian/git-core.postrm: remove; obsolete. + * debian/rules: install git-daemon service directory in the new + git-daemon-run package instead of the git-core package. + * debian/git-core.conffiles: rename to debian/git-daemon-run.conffiles. + * debian/git-core.README.Debian: adapt. + * debian/control: git-core: Suggests: git-daemon-run. + + -- Gerrit Pape <pape@smarden.org> Sun, 8 Oct 2006 09:29:50 +0000 + +git-core (1:1.4.2.3-1) unstable; urgency=medium + + * new upstream release. + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + * debian/diff/t3403-skip-3-7.diff: remove; git-am is fixed upstream. + * debian/gitweb.conf: add $stylesheet = "/gitweb.css" (thx Christian + Kujau, closes: #383065). + + -- Gerrit Pape <pape@smarden.org> Sun, 8 Oct 2006 07:31:03 +0000 + +git-core (1:1.4.2.1-1) unstable; urgency=low + + * new upstream release (closes: #386820, #387405). + * debian/changelog.upstream: upstream changes taken from mailing list + announcements. + * debian/diff/GNU-Hurd.diff: new; make the build process detect and + support the Debian GNU/Hurd architecture (thx Cyril Brulebois, closes: + #379841). + * debian/diff/GNU-kFreeBSD.diff: remove; applied upstream. + * debian/rules: gitweb: install gitweb.css into /var/www/ instead of + /usr/share/doc/gitweb/ (thx Matthijs Melchior, closes: #383065). + * debian/gitweb.docs: remove; obsolete. + * debian/examples/index.aux-generation: example script to generate an + optional index.aux file for the use with gitweb (thx Matthew Wilcox, + #383219). + * debian/gitweb.examples: new; install debian/examples/index.aux-generation + (#383219). + * debian/git-core.README.Debian: new; hints on how to set up a + git.example.org server providing git://, rsync://, http:// access to + repositories from Matthew Wilcox (thx!, closes: #383219). + * debian/gitweb.README.Debian: cleanup; refer to git-core.README.Debian. + * debian/control: git-svn: Depends: libsvn-perl | libsvn-core-perl (thx + Peter Samuelson); git-core, git-doc: Suggests: gitweb; gitweb: + Recommends: git-doc. + * debian/diff/pager-vs-less.diff, debian/diff/gitweb.conf.diff: adapt. + * debian/git-daemon/: new; git-daemon service directory for the use with + runit. + * debian/control: Build-Depends: subversion, libsvn-perl | libsvn-core-perl + (for git-svn selftests); git-core: Suggests: runit, Depends: adduser. + * debian/diff/t3403-skip-3-7.diff: new; skip selftests 3,7 in t3403 as + they fail without a terminal connected. + * debian/git-core.conffiles: new; add /etc/sv/git-daemon/run, + /etc/sv/git-daemon/log/run. + + -- Gerrit Pape <pape@smarden.org> Fri, 15 Sep 2006 12:46:58 +0000 + +git-core (1:1.4.1.1-1) unstable; urgency=low + + * new upstream release. + * debian/diff/GNU-kFreeBSD.diff: new; make the build process detect and + support the Debian GNU/kFreeBSD architecture (thx Petr Salinger, closes: + #380209). + + -- Gerrit Pape <pape@smarden.org> Sat, 29 Jul 2006 15:31:04 +0000 + +git-core (1:1.4.1-2) unstable; urgency=low + + * adopt package gitweb, now included in git-core upstream source (thx + Andres Salomon): + * debian/control, debian/rules: build gitweb package. + * debian/copyright: adapt. + * debian/gitweb.README.Debian, debian/gitweb.conf, debian/gitweb.docs: + new; taken from Andres' gitweb package. + * debian/diff/gitweb.conf.diff: new; adapt Andres' gitweb.conf.patch. + * debian/gitweb.conffiles: new; /etc/gitweb.conf. + * debian/changelog: use epoch 1 to supersede gitweb-264 package version. + * debian/rules: set DESTDIR in environment, not build flags. + + -- Gerrit Pape <pape@smarden.org> Thu, 27 Jul 2006 21:44:06 +0000 + +git-core (1.4.1-1) unstable; urgency=low + + * new upstream release. + * debian/changelog.upstream: upstream changes taken from mailing list + announcement. + * debian/rules: user same build flags and prefix to $(MAKE) in build + and install target to prevent rebuild in install target. + + -- Gerrit Pape <pape@smarden.org> Tue, 11 Jul 2006 21:38:33 +0000 + +git-core (1.4.0-1) unstable; urgency=low + + * new upstream release. + * debian/changelog.upstream: new; upstream changes taken from mailing + list announcement. + * debian/rules: install debian/changelog.upstream as upstream changelog. + * debian/diff/pager-vs-less.diff: adapt. + * debian/control: Standards-Version: 3.7.2.0. + + -- Gerrit Pape <pape@smarden.org> Wed, 14 Jun 2006 17:04:56 +0000 + +git-core (1.3.3-2) unstable; urgency=medium + + * debian/control: git-core: Depends: perl-modules (closes: #369737). + * debian/diff/pager-vs-less.diff: new; fallback to `pager` not `less` + if $PAGER is unset (closes: #369742). + + -- Gerrit Pape <pape@smarden.org> Sat, 10 Jun 2006 11:18:48 +0000 + +git-core (1.3.3-1) unstable; urgency=low + + * new upstream release. + + -- Gerrit Pape <pape@smarden.org> Thu, 25 May 2006 10:46:00 +0000 + +git-core (1.3.2-1) unstable; urgency=low + + * new upstream release. + + -- Gerrit Pape <pape@smarden.org> Wed, 10 May 2006 20:41:39 +0000 + +git-core (1.3.1-1) unstable; urgency=low + + * new upstream release (closes: #364678). + * debian/rules: install contrib/ directory into /usr/share/doc/git-core/. + + -- Gerrit Pape <pape@smarden.org> Mon, 1 May 2006 13:01:42 +0000 + +git-core (1.2.6-1) unstable; urgency=low + + * new upstream release. + * debian/control: git-cvs: Depends: cvsps (>> 2.1-0). + + -- Gerrit Pape <pape@smarden.org> Sun, 16 Apr 2006 14:37:53 +0000 + +git-core (1.2.4-1) unstable; urgency=low + + * new upstream release (closes: #354563). + + -- Gerrit Pape <pape@smarden.org> Fri, 3 Mar 2006 21:33:58 +0000 + +git-core (1.2.1-1) unstable; urgency=low + + * new upstream release (closes: #353041). + * debian/control: git-core: Recommends: ssh-client instead of + openssh-client (closes: #350708). + + -- Gerrit Pape <pape@smarden.org> Thu, 16 Feb 2006 09:33:42 +0000 + +git-core (1.1.5-1) unstable; urgency=high + + * new upstream release. + * checkout: do not make a temporary copy of symlink target. + If the index records an insanely long symbolic link, copying + into the temporary would overflow the buffer (noticed by Mark + Wooding). (closes: #350274). + + -- Gerrit Pape <pape@smarden.org> Sat, 28 Jan 2006 20:16:44 +0000 + +git-core (1.1.3-1) unstable; urgency=low + + * new upstream release. + + -- Gerrit Pape <pape@smarden.org> Mon, 16 Jan 2006 10:19:37 +0000 + +git-core (1.0.8-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/t6001-rev-lisge-order.sh.diff: remove; applied upstream. + * debian/control: Build-Depends: libcurl3-gnutls-dev | libcurl3-dev, + python, asciidoc (>> 7.0.2-3) (ease backport to sarge, thx Norbert + Tretkowski, closes: #344929). + + -- Gerrit Pape <pape@smarden.org> Mon, 9 Jan 2006 19:19:36 +0000 + +git-core (1.0.6-1) unstable; urgency=low + + * new upstream point release. + * debian/diff/t6001-rev-list-merge-order.sh.diff: new: fix skipping + merge-order test with NO_OPENSSL=1. + * debian/rules: re-enable git-rev-list --merge-order selftests. + * debian/control: git-svn: Depends: libwww-perl (closes: #345045). + + -- Gerrit Pape <pape@smarden.org> Mon, 2 Jan 2006 20:25:57 +0000 + +git-core (1.0.5-1) unstable; urgency=low + + * new upstream point release. + * debian/rules: don't take upstream changelog from upstream + debian/changelog. + * debian/changelog.upstream: remove again. + + -- Gerrit Pape <pape@smarden.org> Tue, 27 Dec 2005 13:25:53 +0000 + +git-core (1.0.3-1) unstable; urgency=low + + * new upstream point release. + * debian/changelog.upstream: new: upstream changelog taken from upstream + debian/changelog. + * debian/rules: install debian/changelog.upstream as upstream changelog; + remove obsolete VERSION variable. + + -- Gerrit Pape <pape@smarden.org> Fri, 23 Dec 2005 14:58:14 +0000 + +git-core (1.0.0-1) unstable; urgency=medium + + * new upstream release: GIT 1.0.0. + + -- Gerrit Pape <pape@smarden.org> Wed, 21 Dec 2005 16:17:18 +0000 + +git-core (0.99.9n-1) unstable; urgency=low + + * new upstream version: GIT 0.99.9n aka 1.0rc6. + * debian/rules: rename git program in git-core package to git-scm, + handle /usr/bin/git program through update-alternatives (as suggested + by Ian Beckwith, see #342363). + * debian/control: git-core: Conflicts: git (<< 4.3.20-8) (closes: + #342363). + * debian/git-core.postinst, debian/git-core.prerm: new: run + update-alternatives --install /usr/bin/git git /usr/bin/git-scm with + priority 70 on configure, and --remove on remove respectively. + + -- Gerrit Pape <pape@smarden.org> Thu, 15 Dec 2005 11:24:51 +0000 + +git-core (0.99.9m-1) unstable; urgency=low + + * new upstream version: GIT 0.99.9m aka 1.0rc5. + * sets PYTHONPATH for selftests (fixes autobuild test failures). + * switch from tarball-in-tarball approach to original upstream tarball. + * debian/changelog: add changelog history, Junio C Hamano, Ryan Anderson, + Eric Biederman previously were maintaining this package unofficially. + * debian/control: Build-Depends: rcs (for selftests); git-core: + Recommends: patch, less, Suggests: cogito; git-arch: Suggests: tla, + bazzar; git-cvs: Depends: cvsps, Suggests: cvs; git-svn: Depends: + libsvn-core-perl (closes:#342617), Suggests: subversion; git-email: + Depends: libmail-sendmail-perl, libemail-valod-perl; update short + description (lots taken from upstream unofficial package, thx). + * debian/git-core.docs, debian/git-doc.docs: adapt. + * debian/rules: adapt; remove target unpack; add target patch; adapt + target clean. + + -- Gerrit Pape <pape@smarden.org> Wed, 14 Dec 2005 19:48:41 +0000 + +git-core (0.99.9l-1) unstable; urgency=low + + * new upstream version. + * debian/rules: apply diffs with patch -p1. + * debian/control, debian/rules: split off git-arch, git-cvs, git-svn, + git-email packages, as suggested by upstream: + http://article.gmane.org/gmane.comp.version-control.git/13185 + * debian/git-doc.docs: get docs from temporary install directory; + include *.txt docs. + * debian/control: git-doc: Section: doc; Suggests: git-core, git-arch, + git-cvs, git-svn, git-email, gitk; git-core: Suggests: git-arch, + git-cvs, git-svn, git-email, gitk. + + -- Gerrit Pape <pape@smarden.org> Mon, 5 Dec 2005 18:04:37 +0000 + +git-core (0.99.9k-1) unstable; urgency=low + + * new upstream version. + * debian/implicit: update to revision 1.11. + * debian/git-doc.docs: add git/Documentation/howto, + git/Documentation/technical (closes: #341178). + + -- Gerrit Pape <pape@smarden.org> Tue, 29 Nov 2005 21:45:53 +0000 + +git-core (0.99.9j-1) unstable; urgency=low + + * initial version. + * debian/control: git-core: Replaces: cogito (<< 0.16rc2-0); cogito >= + 0.16rc2-0 no longer includes the git core components, but depends on + the git-core package (see #338789). + + -- Gerrit Pape <pape@smarden.org> Fri, 18 Nov 2005 22:26:36 +0000 + +git-core (0.99.9j-0) unstable; urgency=low + + * GIT 0.99.9j aka 1.0rc3 + + -- Junio C Hamano <junkio@cox.net> Wed, 16 Nov 2005 20:39:55 -0800 + +git-core (0.99.9i-0) unstable; urgency=low + + * GIT 0.99.9i aka 1.0rc2 + + -- Junio C Hamano <junkio@cox.net> Mon, 14 Nov 2005 18:38:27 -0800 + +git-core (0.99.9h-0) unstable; urgency=low + + * GIT 0.99.9h + + -- Junio C Hamano <junkio@cox.net> Fri, 11 Nov 2005 22:33:18 -0800 + +git-core (0.99.9g-0) unstable; urgency=low + + * GIT 0.99.9g + + -- Junio C Hamano <junkio@cox.net> Wed, 9 Nov 2005 21:01:55 -0800 + +git-core (0.99.9f-0) unstable; urgency=low + + * GIT 0.99.9f + + -- Junio C Hamano <junkio@cox.net> Tue, 8 Nov 2005 01:21:52 -0800 + +git-core (0.99.9e-0) unstable; urgency=low + + * GIT 0.99.9e + + -- Junio C Hamano <junkio@cox.net> Sun, 6 Nov 2005 18:37:18 -0800 + +git-core (0.99.9d-0) unstable; urgency=low + + * GIT 0.99.9d + + -- Junio C Hamano <junkio@cox.net> Sat, 5 Nov 2005 11:46:37 -0800 + +git-core (0.99.9c-0) unstable; urgency=low + + * GIT 0.99.9c + + -- Junio C Hamano <junkio@cox.net> Thu, 3 Nov 2005 15:44:54 -0800 + +git-core (0.99.9b-0) unstable; urgency=low + + * GIT 0.99.9b + + -- Junio C Hamano <junkio@cox.net> Tue, 1 Nov 2005 21:39:39 -0800 + +git-core (0.99.9a-0) unstable; urgency=low + + * GIT 0.99.9a + + -- Junio C Hamano <junkio@cox.net> Sun, 30 Oct 2005 15:03:32 -0800 + +git-core (0.99.9.GIT-2) unstable; urgency=low + + * Build Dependency did not include libexpat-dev. + + -- Junio C Hamano <junkio@cox.net> Sun, 13 Nov 2005 01:55:34 -0800 + +git-core (0.99.9.GIT-1) unstable; urgency=low + + * Do not scatter txt and html documentation into feature + subpackages. Do place man pages into them. + * Capture more cvs stuff into git-cvs package. + + -- Junio C Hamano <junkio@cox.net> Tue, 8 Nov 2005 01:19:06 -0800 + +git-core (0.99.9.GIT-0) unstable; urgency=low + + * Test Build. + + -- Junio C Hamano <junkio@cox.net> Sat, 5 Nov 2005 11:18:13 -0800 + +git-core (0.99.9-1) unstable; urgency=low + + * Split the git-core binary package into core, doc, and foreign SCM + interoperability modules. + + -- Junio C Hamano <junkio@cox.net> Sat, 5 Nov 2005 11:18:13 -0800 + +git-core (0.99.9-0) unstable; urgency=low + + * GIT 0.99.9 + + -- Junio C Hamano <junkio@cox.net> Sat, 29 Oct 2005 14:34:30 -0700 + +git-core (0.99.8-0) unstable; urgency=low + + * GIT 0.99.8 + + -- Junio C Hamano <junkio@cox.net> Sun, 2 Oct 2005 12:54:26 -0700 + +git-core (0.99.7-0) unstable; urgency=low + + * GIT 0.99.7 + + -- Junio C Hamano <junkio@cox.net> Sat, 10 Sep 2005 18:36:39 -0700 + +git-core (0.99.6-0) unstable; urgency=low + + * GIT 0.99.6 + + -- Junio C Hamano <junkio@cox.net> Wed, 24 Aug 2005 23:09:35 -0700 + +git-core (0.99.5-1) unstable; urgency=low + + * Enable git-send-email on Debian. There is no reason to shy + away from it, since we have the necessary Perl modules available. + + -- Junio C Hamano <junkio@cox.net> Thu, 25 Aug 2005 14:16:59 -0700 + +git-core (0.99.5-0) unstable; urgency=low + + * GIT 0.99.5 + + -- Junio C Hamano <junkio@cox.net> Wed, 10 Aug 2005 22:05:00 -0700 + +git-core (0.99.4-4) unstable; urgency=low + + * Mark git-tk as architecture neutral. + + -- Junio C Hamano <junkio@cox.net> Fri, 12 Aug 2005 13:25:00 -0700 + +git-core (0.99.4-3) unstable; urgency=low + + * Split off gitk. + * Do not depend on diff which is an essential package. + * Use dh_movefiles, not dh_install, to stage two subpackages. + + -- Matthias Urlichs <smurf@debian.org> Thu, 11 Aug 2005 01:43:24 +0200 + +git-core (0.99.4-2) unstable; urgency=low + + * Git 0.99.4 official release. + + -- Junio C Hamano <junkio@cox.net> Wed, 10 Aug 2005 15:00:00 -0700 + +git-core (0.99.4-1) unstable; urgency=low + + * Pass prefix down to the submake when building. + + -- Junio C Hamano <junkio@cox.net> Sat, 6 Aug 2005 13:00:00 -0700 + +git-core (0.99-2) unstable; urgency=low + + * Conflict with the GNU Interactive Tools package, which also installs + /usr/bin/git. + * Use the Mozilla SHA1 code and/or the PPC assembly in preference to + OpenSSL. This is only a partial fix for the license issues with OpenSSL. + * Minor tweaks to the Depends. + + -- Ryan Anderson <ryan@michonline.com> Sat, 23 Jul 2005 14:15:00 -0400 + +git-core (0.99-1) unstable; urgency=low + + * Update deb package support to build correctly. + + -- Ryan Anderson <ryan@michonline.com> Thu, 21 Jul 2005 02:03:32 -0400 + +git-core (0.99-0) unstable; urgency=low + + * Initial deb package support + + -- Eric Biederman <ebiederm@xmission.com> Tue, 12 Jul 2005 10:57:51 -0600 diff --git a/debian/changelog.upstream b/debian/changelog.upstream new file mode 100644 index 0000000..ab1eedd --- /dev/null +++ b/debian/changelog.upstream @@ -0,0 +1,70362 @@ +Version v2.30.1; changes since v2.30.0: +--------------------------------------- + +Adam Dinwoodie (1): + t4129: fix setfacl-related permissions failure + +Antonio Russo (1): + t6016: move to lib-log-graph.sh framework + +Daniel Levin (1): + git-p4: fix syncing file types with pattern + +Derrick Stolee (1): + for-each-repo: do nothing on empty config + +Elijah Newren (3): + t7012: add a testcase demonstrating stash apply bugs in sparse checkouts + stash: remove unnecessary process forking + stash: fix stash application in sparse-checkouts + +Felipe Contreras (1): + test: bisect-porcelain: fix location of files + +Jeff King (5): + git_connect_git(): forbid newlines in host and path + fsck: reject .gitmodules git:// urls with newlines + t5516: loosen "not our ref" error check + patch-ids: handle duplicate hashmap entries + p5303: avoid sed GNU-ism + +Johannes Schindelin (1): + SKIP_DASHED_BUILT_INS: respect `config.mak` + +Johannes Sixt (1): + annotate-tests: quote variable expansions containing path names + +Jonathan Tan (1): + Doc: clarify contents of packfile sent as URI + +Junio C Hamano (5): + parse-options: format argh like error messages + SubmittingPatches: tighten wording on "sign-off" procedure + ci/install-depends: attempt to fix "brew cask" stuff + Prepare for 2.30.1 + Git 2.30.1 + +Martin Ågren (9): + t1300: remove duplicate test for `--file ../foo` + t1300: remove duplicate test for `--file no-such-file` + t1300: don't needlessly work with `core.foo` configs + pack-format.txt: document sizes at start of delta data + builtin/gc: don't peek into `struct lock_file` + commit-graph: don't peek into `struct lock_file` + midx: don't peek into `struct lock_file` + refs/files-backend: don't peek into `struct lock_file` + read-cache: try not to peek into `struct {lock_,temp}file` + +Matheus Tavares (1): + t4129: don't fail if setgid is set in the test directory + +Peter Kaestle (1): + submodules: fix of regression on fetching of non-init subsub-repo + +Philippe Blain (3): + gitmodules.txt: fix 'GIT_WORK_TREE' variable name + mergetool--lib: fix '--tool-help' to correctly show available tools + ci: do not cancel all jobs of a matrix if one fails + +René Scharfe (1): + rebase: verify commit parameter + +Taylor Blau (2): + p7519: allow running without watchman prereq + Documentation/git-clone.txt: document race with --local + +Thomas Ackermann (1): + doc: fix some typos + +Utku Gultopu (1): + doc: remove "directory cache" from man pages + +Vasyl Vavrychuk (1): + git-send-email.txt: mention less secure app access with Gmail + +ZheNing Hu (1): + builtin/*: update usage format + +brian m. carlson (1): + docs: rephrase and clarify the git status --short format + +Ævar Arnfjörð Bjarmason (10): + branch: change "--local" to "--list" in comment + branch tests: add to --sort tests + ref-filter: add braces to if/else if/else chain + ref-filter: move "cmp_fn" assignment into "else if" arm + ref-filter: move ref_sorting flags to a bitfield + branch: sort detached HEAD based on a flag + branch: show "HEAD detached" first under reverse sort + Makefile: remove a warning about old GETTEXT_POISON flag + gettext.c: remove/reword a mostly-useless comment + fsck doc: remove ancient out-of-date diagnostics + + +Version v2.30.0; changes since v2.30.0-rc2: +------------------------------------------- + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (5037t) + +Arusekk (1): + l10n: pl.po: add translation and set team leader + +Baptiste Fontaine (1): + l10n: fr.po Fix a typo + +Emir Sarı (2): + l10n: tr: v2.30.0-r1 + l10n: tr: v2.30.0-r2 + +Jean-Noël Avila (3): + l10n: fr fix misleading message + l10n: fr.po: v2.30.0 rnd 1 + l10n: fr.po v2.30.0 rnd 2 + +Jiang Xin (3): + l10n: git.pot: v2.30.0 round 1 (70 new, 45 removed) + l10n: git.pot: v2.30.0 round 2 (1 new, 2 removed) + l10n: zh_CN: for git v2.30.0 l10n round 1 and 2 + +Jordi Mas (2): + l10n: Update Catalan translation + l10n: Update Catalan translation + +Junio C Hamano (1): + Git 2.30 + +Matthias Rüster (1): + l10n: de.po: Update German translation for Git 2.30.0 + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (5038t0f0u) + l10n: sv.po: Update Swedish translation (5037t0f0u) + +Philippe Blain (1): + git.txt: fix typos in 'linkgit' macro invocation + +Trần Ngọc Quân (1): + l10n: vi.po(5037t): v2.30.0 rnd 2 + +Yi-Jyun Pan (1): + l10n: zh_TW.po: v2.30.0 round 2 (1 untranslated) + +m4sk1n (1): + l10n: pl.po: started Polish translation + + +Version v2.30.0-rc2; changes since v2.30.0-rc1: +----------------------------------------------- + +Jiang Xin (1): + pack-redundant: fix crash when one packfile in repo + +Johannes Schindelin (12): + t1400: use `main` as initial branch name + t3200: finish transitioning to the initial branch name `main` + t3201: finalize transitioning to using the branch name `main` + t3203: complete the transition to using the branch name `main` + t3205: finalize transitioning to using the branch name `main` + t5505: finalize transitioning to using the branch name `main` + t5510: use `main` as initial branch name + t5703: use `main` as initial branch name + t6302: use `main` as initial branch name + t9902: use `main` as initial branch name + tests: drop the `PREPARE_FOR_MAIN_BRANCH` prereq + checkout -p: handle tree arguments correctly again + +Junio C Hamano (1): + Git 2.30-rc2 + +Martin Ågren (3): + git-maintenance.txt: add missing word + gc: fix handling of crontab magic markers + t7900-maintenance: test for magic markers + +Nipunn Koorapati (2): + negative-refspec: fix segfault on : refspec + negative-refspec: improve comment on query_matches_negative_refspec + + +Version v2.30.0-rc1; changes since v2.30.0-rc0: +----------------------------------------------- + +David Aguilar (1): + git-gui: ssh-askpass: add a checkbox to show the input text + +Dimitriy Ryazantcev (1): + git-gui: update Russian translation + +Eric Sunshine (1): + t/perf: fix test_export() failure with BSD `sed` + +Jeff Hostetler (1): + index-format.txt: document v2 format of file system monitor extension + +Jeff King (9): + oid-array.h: drop sha1 mention from header guard + t0064: drop sha1 mention from filename + t0064: make duplicate tests more robust + cache.h: move hash/oid functions to hash.h + oid-array: make sort function public + oid-array: provide a for-loop iterator + commit-graph: drop count_distinct_commits() function + commit-graph: replace packed_oid_list with oid_array + commit-graph: use size_t for array allocation and indexing + +Johannes Berg (1): + docs: multi-pack-index: remove note about future 'verify' work + +Johannes Schindelin (6): + t6300: avoid using the default name of the initial branch + t7064: avoid relying on a specific default branch name + init: document `init.defaultBranch` better + branch -m: allow renaming a yet-unborn branch + get_default_branch_name(): prepare for showing some advice + init: provide useful advice about init.defaultBranch + +Josh Steadmon (1): + t7900: use --fixed-value in git-maintenance tests + +Junio C Hamano (5): + strmap: make callers of strmap_remove() to call it in void context + compat-util: pretend that stub setitimer() always succeeds + diff: correct interaction between --exit-code and -I<pattern> + Another batch before 2.30-rc1 + Git 2.30-rc1 + +Martin Schön (1): + git-gui: use commit message template + +Pratyush Yadav (1): + git-gui: Only touch GITGUI_MSG when needed + +Ramsay Jones (6): + Documentation/Makefile: conditionally include doc.dep + Documentation/Makefile: conditionally include ../GIT-VERSION-FILE + gitweb/Makefile: conditionally include ../GIT-VERSION-FILE + Makefile: don't try to clean old debian build product + Makefile: don't use a versioned temp distribution directory + Makefile: conditionally include GIT-VERSION-FILE + +Randall S. Becker (1): + config.mak.uname: remove old NonStop compatibility settings + +Serg Tereshchenko (1): + git-gui: Fix selected text colors + +Stefan Haller (2): + git-gui: fix colored label backgrounds when using themed widgets + git-gui: use gray background for inactive text widgets + +Taylor Blau (2): + builtin/clone.c: don't ignore transport_fetch_refs() errors + upload-pack.c: don't free allowed_filters util pointers + +Ævar Arnfjörð Bjarmason (1): + style: do not "break" in switch() after "return" + +Đoàn Trần Công Danh (1): + doc: mention Python 3.x supports + + +Version v2.30.0-rc0; changes since v2.29.3: +------------------------------------------- + +Adam Spiers (1): + hook: add sample template for push-to-checkout + +Alex Vandiver (2): + dir.c: fix comments to agree with argument name + fsmonitor: use fsmonitor data in `git diff` + +Alexey (1): + completion: fix zsh installation instructions + +Amanda Shafack (1): + t2200,t9832: avoid using 'git' upstream in a pipe + +Arnout Engelen (1): + doc: make HTML manual reproducible + +Bradley M. Kuhn (2): + Documentation: clarify and expand description of --signoff + Documentation: stylistically normalize references to Signed-off-by: + +Caleb Tillman (1): + t0000: use test_path_is_file instead of "test -f" + +Charvi Mendiratta (5): + t7101,t7102,t7201: modernize test formatting + t7102,t7201: remove unnecessary blank spaces in test body + t7102,t7201: remove whitespace after redirect operator + t7201: use 'git -C' to avoid subshell + t7201: put each command on a separate line + +Chris. Webster (1): + ci: github action - add check for whitespace errors + +Daniel Duvall (1): + upload-pack: allow stateless client EOF just prior to haves + +Daniel Gurney (2): + compat/bswap.h: simplify MSVC endianness detection + compat/bswap.h: don't assume MSVC is little-endian + +Dennis Ameling (1): + ci(vs-build): stop passing the iconv library location explicitly + +Denton Liu (18): + t4068: remove unnecessary >tmp + git-diff-index.txt: make --cached description a proper sentence + git-diff.txt: backtick quote command text + contrib/completion: extract common diff/difftool options + diff-lib: accept option flags in run_diff_index() + diff-lib: define diff_get_merge_base() + t4068: add --merge-base tests + builtin/diff-index: learn --merge-base + builtin/diff-tree: learn --merge-base + contrib/completion: complete `git diff --merge-base` + Documentation/config/checkout: replace sq with backticks + builtin/checkout: fix `git checkout -p HEAD...` bug + Doc: document "A...B" form for <tree-ish> in checkout and switch + add-patch: add NEEDSWORK about comparing commits + t2016: add a NEEDSWORK about the PERL prerequisite + checkout: learn to respect checkout.guess + contrib/git-resurrect.sh: indent with tabs + contrib/git-resurrect.sh: use hash-agnostic OID pattern + +Derrick Stolee (28): + maintenance: add prefetch task + maintenance: add loose-objects task + maintenance: create auto condition for loose-objects + midx: enable core.multiPackIndex by default + midx: use start_delayed_progress() + maintenance: add incremental-repack task + maintenance: auto-size incremental-repack batch + maintenance: add incremental-repack auto condition + maintenance: optionally skip --auto process + maintenance: add --schedule option and config + for-each-repo: run subcommands on configured repos + maintenance: add [un]register subcommands + maintenance: add start/stop subcommands + maintenance: test commit-graph auto condition + commit-graph: ignore duplicates when merging layers + commit-graph: don't write commit-graph when disabled + maintenance: core.commitGraph=false prevents writes + maintenance: create maintenance.strategy config + maintenance: use 'incremental' strategy by default + maintenance: add troubleshooting guide to docs + config: convert multi_replace to flags + config: replace 'value_regex' with 'value_pattern' + t1300: test "set all" mode with value-pattern + t1300: add test for --replace-all with value-pattern + config: add --fixed-value option, un-implemented + config: plumb --fixed-value into config API + config: implement --fixed-value with --get* + maintenance: use 'git config --fixed-value' + +Drew DeVault (1): + help.c: help.autocorrect=never means "do not compute suggestions" + +Elijah Newren (37): + hashmap: add usage documentation explaining hashmap_free[_entries]() + directory-rename-detection.txt: update references to regression tests + t6423: more involved directory rename test + t6423: update directory rename detection tests with new rule + t6423: more involved rules for renaming directories into each other + t7518: fix flaky grep invocation + test-lib: allow selecting tests by substring/glob with --run + t6006, t6012: adjust tests to use 'setup' instead of synonyms + test-lib: reduce verbosity of skipped tests + sequencer: remove duplicate rollback_lock_file() call + t/: new helper for tests that pass with ort but fail with recursive + merge tests: expect improved directory/file conflict handling in ort + t6416: correct expectation for rename/rename(1to2) + directory/file + t6404, t6423: expect improved rename/delete handling in ort backend + t6423: expect improved conflict markers labels in the ort backend + merge tests: expect slight differences in output for recursive vs. ort + t6423, t6436: note improved ort handling with dirty files + t6423: note improved ort handling with untracked files + t6423: add more details about direct resolution of directories + merge-ort: barebones API of new merge strategy with empty implementation + merge-ort-wrappers: new convience wrappers to mimic the old merge API + fast-rebase: demonstrate merge-ort's API via new test-tool command + hashmap: adjust spacing to fix argument alignment + hashmap: allow re-use after hashmap_free() + hashmap: introduce a new hashmap_partial_clear() + hashmap: provide deallocation function names + strmap: new utility functions + merge,rebase,revert: select ort or recursive by config or environment + strmap: add more utility functions + strmap: enable faster clearing and reusing of strmaps + strmap: add functions facilitating use as a string->int map + strmap: split create_entry() out of strmap_put() + strmap: add a strset sub-type + strmap: enable allocations to come from a mem_pool + strmap: take advantage of FLEXPTR_ALLOC_STR when relevant + Use new HASHMAP_INIT macro to simplify hashmap initialization + shortlog: use strset from strmap.h + +Emily Shaffer (1): + MyFirstContribution: clarify asciidoc dependency + +Felipe Contreras (41): + completion: zsh: fix __gitcomp_direct() + completion: zsh: fix name due to broken autoloading + completion: zsh: fix bash script extension + completion: zsh: reorganize install instructions + completion: zsh: fix for directories with spaces + completion: zsh: update slave script locations + completion: prompt: fix color for Zsh + completion: zsh: fix for command aliasing + completion: bash: synchronize zsh wrapper + completion: bash: remove zsh wrapper + completion: zsh: fix completion for --no-.. options + completion: fix conflict with bashcomp + completion: zsh: add missing direct_append + completion: zsh: fix splitting of words + completion: zsh: simplify compadd functions + completion: zsh: simplify direct compadd + completion: zsh: trivial cleanup + completion: zsh: simplify nl_append + completion: zsh: simplify file_direct + completion: zsh: shuffle functions around + completion: zsh: refactor command completion + completion: zsh: improve command tags + completion: zsh: add alias descriptions + completion: zsh: trivial simplification + completion: zsh: add simple version check + completion: bash: trivial cleanup + completion: bash: cleanup cygwin check + completion: bash: remove old compat wrappers + zsh: update copyright notices + completion: bash: support recursive aliases + completion: bash: check for alias loop + completion: bash: improve alias loop detection + tests: push: improve cleanup of HEAD tests + tests: push: trivial cleanup + refspec: make @ a synonym of HEAD + refspec: trivial cleanup + .gitignore: remove dangling file + test: completion: fix typos + tests: lib-functions: trivial style cleanups + completion: zsh: fix file completion regression + completion: bash: fix gitk alias regression + +Han-Wen Nienhuys (1): + move sleep_millisec to git-compat-util.h + +Javier Spagnoletti (1): + userdiff: PHP: catch "abstract" and "final" functions + +Jeff King (32): + fast-import: fix over-allocation of marks storage + usage: define a type for a reporting function + config.mak.dev: build with -fno-common + fast-import: remove duplicated option-parsing line + perl: check for perl warnings while running tests + am, sequencer: stop parsing our own committer ident + test-pkt-line: drop colon from sideband identity + checkout-index: drop error message from empty --stage=all + checkout-index: propagate errors to exit code + sideband: diagnose more sideband anomalies + format-patch: refactor output selection + format-patch: tie file-opening logic to output_directory + format-patch: support --output option + rev-parse: don't accept options after dashdash + rev-parse: put all options under the "-" check + rev-parse: handle --end-of-options + compute pack .idx byte offsets using size_t + use size_t to store pack .idx byte offsets + fsck: correctly compute checksums on idx files larger than 4GB + block-sha1: take a size_t length parameter + packfile: detect overflow in .idx file size checks + repack: make "exts" array available outside cmd_repack() + send-pack: kill pack-objects helper on signal or exit + submodule: fix fetch_in_submodule logic + upload-pack: kill pack-objects helper on signal or exit + banned.h: mark non-reentrant gmtime, etc as banned + t7900: speed up expensive test + gitignore: drop duplicate entry for git-sh-i18n + banned.h: mark ctime_r() and asctime_r() as banned + Makefile: mark git-maintenance as a builtin + upload-pack: propagate return value from object filter config callback + style: indent multiline "if" conditions to align + +Jiang Xin (3): + t5411: new helper filter_out_user_friendly_and_stable_output + receive-pack: gently write messages to proc-receive + receive-pack: use default version 0 for proc-receive + +Jinoh Kang (2): + diff: allow passing NULL to diff_free_filespec_data() + t7800: simplify difftool test + +Joey Salazar (1): + t7006: Use test_path_is_* functions in test script + +Johannes Schindelin (56): + ci: work around old records of GitHub runs + ci: make the "skip-if-redundant" check more defensive + sideband: avoid reporting incomplete sideband messages + sideband: report unhandled incomplete sideband messages as bugs + fmt-merge-msg: also suppress "into main" by default + t9801: use `--` in preparation for default branch rename + tests: start moving to a different default main branch name + t6200: adjust suppression pattern to also match "main" + t5703: adjust a test case for the upcoming default branch name + t3200: prepare for `main` being shorter than `master` + t9902: prepare a test for the upcoming default branch name + tests: prepare aligned mentions of the default branch name + t1400: prepare for `main` being default branch name + t5411: start using the default branch name "main" + t5411: start adjusting the support files for init.defaultBranch=main + t5411: adjust the remaining support files for init.defaultBranch=main + t5411: finish preparing for `main` being the default branch name + t5515: use `main` as the name of the main branch for testing (part 1) + t5515: use `main` as the name of the main branch for testing (part 2) + t5515: use `main` as the name of the main branch for testing (part 3) + t5515: use `main` as the name of the main branch for testing (conclusion) + t2402: fix typo + ci: make the whitespace checker more robust + tests: consolidate the `file_size` function into `test-lib-functions.sh` + ci: avoid using the deprecated `set-env` construct + p4: respect init.defaultBranch + t1004: insert missing "branch" in a message + t3406: indent with tabs, not spaces + t3427: adjust stale comment + t5400,t5402: consistently indent with tabs, not with spaces + t5570: remove trailing padding + t9603: use tabs for indentation + add -i (built-in): do show an error message for incorrect inputs + add -i (built-in): send error messages to stderr + add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers + add -i: use `reset_color` consistently + add -i (built-in): prevent the `reset` "color" from being configured + add -i (built-in): use correct names to load color.diff.* config + mergetools/bc: add `bc4` to the alias list for Beyond Compare + mergetool: avoid letting `list_tool_variants` break user-defined setups + add -p (built-in): do not color the progress indicator separately + add -i (built-in): use the same indentation as the Perl version + add -i (Perl version): color header to match the C version + add -p: prefer color.diff.context over color.diff.plain + add -i: verify in the tests that colors can be overridden + t2106: adjust style to the current conventions + t2106: make test independent of the current main branch name + t2106: ensure that the checkout fails for the expected reason + t3040: remove stale note + t1309: use a neutral branch name in the `onbranch` test cases + t4015: let the test pass with any default branch name + pull: colorize the hint about setting `pull.rebase` + t3404: do not depend on any specific default branch name + t5526: avoid depending on a specific default branch name + t5526: drop the prereq expecting the default branch name `main` + cmake: determine list of extra built-ins dynamically + +Jonathan Tan (3): + apply: when -R, also reverse list of sections + sequencer: tolerate abbreviated stopped-sha file + usage: add trace2 entry upon warning() + +Josh Steadmon (12): + docs: new capability to advertise session IDs + docs: new transfer.advertiseSID option + trace2: add a public function for getting the SID + upload-pack: advertise session ID in v0 capabilities + receive-pack: advertise session ID in v0 capabilities + serve: advertise session ID in v2 capabilities + transport: log received server session ID + fetch-pack: advertise session ID in capabilities + upload-pack, serve: log received client session ID + send-pack: advertise session ID in capabilities + receive-pack: log received client session ID + t7900: fix typo: "test_execpt_success" + +Junio C Hamano (26): + doc: preparatory clean-up of description on the sign-off option + SubmittingPatches: clarify DCO is our --signoff rule + Revert "test_cmp: diagnose incorrect arguments" + t7102: prepare expected output inside test_expect_* block + other small fixes for 2.29.2 + SubmittingPatches: clarify the purpose of the final resend + First batch + Second batch + Makefile: enable -Wsparse-error for DEVELOPER build + Third batch + log: diagnose -L used with pathspec as an error + doc: clarify that --abbrev=<n> is about the minimum length + Fourth batch + format-patch: make output filename configurable + Fifth batch + ci: avoid `set-env` construct in print-test-failures.sh + Sixth batch + Seventh batch + MyFirstContribition: answering questions is not the end of the story + config doc: value-pattern is not necessarily a regexp + Eighth batch + Ninth batch + Revert "submodules: fix of regression on fetching of non-init subsub-repo" + Tenth batch + Eleventh batch + Git 2.30-rc0 + +Konrad Borowski (1): + userdiff: recognize 'macro_rules!' as starting a Rust function block + +Kyle Meyer (1): + stash: add missing space to an error message + +Marlon Rac Cambasis (1): + doc: fixing two trivial typos in Documentation/ + +Martin Ågren (5): + list-objects-filter-options: fix function name in BUG + grep: don't set up a "default" repo for grep + grep: use designated initializers for `grep_defaults` + grep: copy struct in one fell swoop + MyFirstObjectWalk: drop `init_walken_defaults()` + +Matheus Tavares (2): + worktree: fix order of arguments in error message + apply: don't use core.sharedRepository to create working tree files + +Michał Kępień (2): + merge-base, xdiff: zero out xpparam_t structures + diff: add -I<regex> that ignores matching changes + +Nate Avers (2): + notes.c: fix a segfault in notes_display_config() + t3301: test proper exit response to no-value notes.displayRef. + +Nicolas Morey-Chaisemartin (1): + imap-send: parse default git config + +Nipunn Koorapati (17): + t/perf/README: elaborate on output format + t/perf/p7519-fsmonitor.sh: warm cache on first git status + t/perf: add fsmonitor perf test for git diff + perf lint: add make test-lint to perf tests + p7519-fsmonitor: refactor to avoid code duplication + p7519-fsmonitor: add a git add benchmark + t/perf/fsmonitor: separate one time repo initialization + t/perf/fsmonitor: move watchman setup to one-time-repo-setup + t/perf/fsmonitor: improve error message if typoing hook name + t/perf/fsmonitor: factor description out for readability + t/perf/fsmonitor: shorten DESC to basename + t/perf/fsmonitor: silence initial git commit + t/perf/fsmonitor: factor setup for fsmonitor into function + t/perf/fsmonitor: initialize test with git reset + t/perf/fsmonitor: perf comparison of multiple fsmonitor integrations + t/perf/fsmonitor: add benchmark for dirty status + perf/fsmonitor: use test_must_be_empty helper + +Patrick Steinhardt (4): + t1400: avoid touching refs on filesystem + update-ref: allow creation of multiple transactions + p1400: use `git-update-ref --stdin` to test multiple transactions + update-ref: disallow "start" for ongoing transactions + +Peter Kaestle (1): + submodules: fix of regression on fetching of non-init subsub-repo + +Philippe Blain (14): + ref-filter: handle CRLF at end-of-line more gracefully + log, show: add tests for messages containing CRLF + doc: log, gitk: move '-L' description to 'line-range-options.txt' + doc: line-range: improve formatting + blame-options.txt: also mention 'funcname' in '-L' description + doc: add more pointers to gitattributes(5) for userdiff + line-log: mention both modes in 'blame' and 'log' short help + blame: enable funcname blaming with userdiff driver + blame: simplify 'setup_scoreboard' interface + blame: simplify 'setup_blame_bloom_data' interface + pull --rebase: compute rebase arguments in separate function + t5572: add notes on a peculiar test + t5572: describe '--rebase' tests a little more + pull: check for local submodule modifications with the right range + +Phillip Wood (4): + rebase -i: stop overwriting ORIG_HEAD buffer + rebase -i: use struct object_id rather than looking up commit + rebase -i: use struct object_id when writing state + rebase -i: simplify get_revision_ranges() + +Pranit Bauva (7): + bisect--helper: finish porting `bisect_start()` to C + bisect--helper: retire `--bisect-clean-state` subcommand + bisect--helper: retire `--next-all` subcommand + bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C + bisect--helper: retire `--check-expected-revs` subcommand + bisect--helper: retire `--write-terms` subcommand + bisect--helper: retire `--bisect-autostart` subcommand + +Rafael Silva (2): + worktree: teach `list` to annotate locked worktree + maintenance: fix SEGFAULT when no repository + +René Scharfe (19): + Makefile: use git init/add/commit/archive for dist-doc + Makefile: remove the unused variable TAR_DIST_EXTRA_OPTS + grep: handle deref_tag() returning NULL + blame: handle deref_tag() returning NULL + line-log: handle deref_tag() returning NULL + object: allow clear_commit_marks_all to handle any repo + bisect: clear flags in passed repository + stash: simplify reflog emptiness check + pack-write: use hashwrite_be32() instead of double-buffering array + archive: support compression levels beyond 9 + blame: silently ignore invalid ignore file objects + csum-file: add hashwrite_be64() + midx: use hashwrite_be64() + pack-write: use hashwrite_be64() + diff-lib: plug minor memory leaks in do_diff_cache() + archive: release refname after use + gc: fix cast in compare_tasks_by_selection() + fetch-pack: disregard invalid pack lockfiles + gitignore: remove entry for git serve + +Robert Karszniewicz (2): + git-completion.bash: __git_diff_common_options: add --[no-]patch + git-completion.bash: stash-show: complete $__git_diff_common_options + +SZEDER Gábor (4): + bisect: loosen halfway() check for a large number of commits + t5310-pack-bitmaps: skip JGit tests with SHA256 + tests: make sure nested lazy prereqs work reliably + tests: fix description of 'test_set_prereq' + +Samuel Čavoj (3): + sequencer: fix gpg option passed to merge subcommand + sequencer: pass explicit --no-gpg-sign to merge + t3435: add tests for rebase -r GPG signing + +Sean Barag (7): + clone: add tests for --template and some disallowed option pairs + clone: use more conventional config/option layering + remote: add tests for add and rename with invalid names + refs: consolidate remote name validation + clone: validate --origin option before use + clone: read new remote name from remote_name instead of option_origin + clone: allow configurable default for `-o`/`--origin` + +Sergey Organov (2): + doc/diff-options: fix out of place mentions of '--patch/-p' + glossary: improve "branch" definition + +Sibo Dong (1): + git-prompt.sh: localize `option` in __git_ps1_show_upstream + +Simão Afonso (1): + crendential-store: use timeout when locking file + +Sohom Datta (1): + userdiff: expand detected chunk headers for css + +Srinidhi Kaushik (3): + push: add reflog check for "--force-if-includes" + push: parse and set flag for "--force-if-includes" + t, doc: update tests, reference for "--force-if-includes" + +Taylor Blau (5): + builtin/repack.c: keep track of what pack-objects wrote + builtin/repack.c: don't move existing packs out of the way + packfile.c: protect against disappearing indexes + midx.c: protect against disappearing packs + builtin/bugreport.c: use thread-safe localtime_r() + +Thomas Koutcher (1): + credential: load default config + +Victor Engmark (1): + userdiff: support Bash + +brian m. carlson (1): + svn: use correct variable name for short OID + +Ævar Arnfjörð Bjarmason (8): + remote: add meaningful exit code on missing/existing + config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag + config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag + submodule: use "fetch" logic instead of custom remote discovery + submodule: remove sh function in favor of helper + parse-remote: remove this now-unused library + gc docs: change --keep-base-pack to --keep-largest-pack + gc: rename keep_base_pack variable for --keep-largest-pack + +Štěpán Němec (1): + config.txt: fix a typo (backslash != backquote) + + +Version v2.29.3; changes since v2.29.2: +--------------------------------------- + +Johannes Schindelin (14): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + Git 2.21.4 + Git 2.22.5 + Git 2.23.4 + Git 2.24.4 + Git 2.25.5 + Git 2.26.3 + Git 2.27.1 + Git 2.28.1 + Git 2.29.3 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.29.2; changes since v2.29.1: +--------------------------------------- + +Christian Couder (1): + filter-branch doc: fix filter-repo typo + +Jeff King (3): + t3436: check --committer-date-is-author-date result more carefully + am: fix broken email with --committer-date-is-author-date + rebase: fix broken email with --committer-date-is-author-date + +Junio C Hamano (1): + Git 2.29.2 + + +Version v2.29.1; changes since v2.29.0: +--------------------------------------- + +Johannes Schindelin (1): + SKIP_DASHED_BUILT_INS: do not skip the bin/ programs + +Junio C Hamano (1): + Git 2.29.1 + + +Version v2.29.0; changes since v2.29.0-rc2: +------------------------------------------- + +Alessandro Menti (2): + l10n: it.po: update the Italian translation for Git 2.29.0 round 1 + l10n: it.po: update the Italian translation + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (5013t) + +Daniel Santos (2): + l10n: Portuguese translation team has changed. Wohoo! + l10n: pt_PT: make on po/pt_PT.po + +Emir Sarı (2): + l10n: tr: v2.29.0 round 1 + l10n: tr: v2.29.0 round 2 + +Jean-Noël Avila (2): + l10n: fr: v2.29.0 rnd 1 + l10n: fr: v2.29.0 rnd 2 + +Jiang Xin (3): + l10n: git.pot: v2.29.0 round 1 (124 new, 42 removed) + l10n: git.pot: v2.29.0 round 2 (1 new, 1 removed) + l10n: zh_CN: for git v2.29.0 l10n round 1 and 2 + +Jordi Mas (1): + l10n: Update Catalan translation + +Junio C Hamano (1): + Git 2.29 + +Matthias Rüster (1): + l10n: de.po: Update German translation for Git 2.29.0 + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (5013t0f0u) + +Serg Tereshchenko (2): + git-gui: fix mixed tabs and spaces; prefer tabs + git-gui: improve dark mode support + +Stefan Haller (1): + git-gui: blame: prevent tool tips from sticking around after Command-Tab + +Trần Ngọc Quân (1): + l10n: vi(5013t): Updated translation for v2.29.0 rd2 + +Yi-Jyun Pan (1): + l10n: zh_TW.po: v2.29.0 round 2 (2 untranslated) + + +Version v2.29.0-rc2; changes since v2.29.0-rc1: +----------------------------------------------- + +Junio C Hamano (1): + Git 2.29-rc2 + + +Version v2.29.0-rc1; changes since v2.29.0-rc0: +----------------------------------------------- + +Denton Liu (2): + compat/mingw.h: drop extern from function declaration + Makefile: ASCII-sort += lists + +Jean-Noël Avila (4): + git-bisect-lk2009: make continuation of list indented + doc: use linkgit macro where needed. + doc: git-remote fix ups + doc: fix the bnf like style of some commands + +Jeff King (2): + index-pack: restore "resolving deltas" progress meter + index-pack: drop type_cas mutex + +Johannes Schindelin (6): + GitHub workflow: automatically follow minor updates of setup-msbuild + help: do not expect built-in commands to be hardlinked + t1415: avoid using `main` as ref name + tests: avoid using the branch name `main` + ci: skip GitHub workflow runs for already-tested commits/trees + ci: do not skip tagged revisions in GitHub workflows + +Jonathan Tan (1): + index-pack: make get_base_data() comment clearer + +Junio C Hamano (1): + Git 2.29-rc1 + +Đoàn Trần Công Danh (1): + t5534: split stdout and stderr redirection + + +Version v2.29.0-rc0; changes since v2.28.1: +------------------------------------------- + +Aaron Lipman (12): + t6030: modernize "git bisect run" tests + rev-list: allow bisect and first-parent flags + cmd_bisect__helper: defer parsing no-checkout flag + bisect: introduce first-parent flag + bisect: combine args passed to find_bisection() + bisect: add first-parent option to documentation + t3200: clean side effect of git checkout --orphan + t3201: test multiple branch filter combinations + Doc: cover multiple contains/no-contains filters + ref-filter: allow merged and no-merged filters + ref-filter: make internal reachable-filter API more precise + Doc: prefer more specific file name + +Adrian Moennich (1): + ci: fix inconsistent indentation + +Alban Gruin (1): + t6300: fix issues related to %(contents:size) + +Alex Henrie (1): + pull: don't warn if pull.ff has been set + +Alex Riesen (1): + fetch: pass --ipv4 and --ipv6 options to sub-fetches + +Andrei Rybak (1): + git-help.txt: fix mentions of option --guides + +Antti Keränen (1): + rebase -i: fix possibly wrong onto hash in todo + +Beat Bolli (1): + gitk: rename "commit summary" to "commit reference" + +Ben Wijen (1): + git clone: don't clone into non-empty directory + +Chris Torek (1): + git-mv: improve error message for conflicted file + +Christian Couder (4): + Documentation: clarify %(contents:XXXX) doc + t6300: test refs pointing to tree and blob + ref-filter: add support for %(contents:size) + bisect: don't use invalid oid as rev when starting + +Christian Schlack (1): + remote: don't show success message when set-head fails + +Conor Davis (1): + commit-graph-format.txt: fix no-parent value + +Danny Lin (2): + contrib/subtree: fix "unsure" for --message in the document + contrib/subtree: document 'push' does not take '--squash' + +Denton Liu (11): + t3701: stop using `env` in force_color() + t5324: reorder `run_with_limited_open_files test_might_fail` + t7107: don't use test_must_fail() + t9834: remove use of `test_might_fail p4` + t9400: don't use test_must_fail with cvs + test-lib-functions: restrict test_must_fail usage + contrib/completion: complete options that take refs for format-patch + hooks--pre-push.sample: modernize script + hooks--pre-push.sample: use hash-agnostic zero OID + hooks--update.sample: use hash-agnostic zero OID + gitk: replace tabs with spaces + +Derrick Stolee (22): + commit-graph: place bloom_settings in context + commit-graph: change test to die on parse, not load + bloom: fix logic in get_bloom_filter() + commit-graph: persist existence of changed-paths + revision.c: fix whitespace + multi-pack-index: repack batches below --batch-size + t/README: document GIT_TEST_DEFAULT_HASH + commit-graph: use the "hash version" byte + multi-pack-index: use hash version byte + bloom/diff: properly short-circuit on max_changes + maintenance: create basic maintenance runner + maintenance: add --quiet option + maintenance: replace run_auto_gc() + maintenance: initialize task array + maintenance: add commit-graph task + maintenance: add --task option + maintenance: take a lock on the objects directory + maintenance: create maintenance.<task>.enabled config + maintenance: use pointers to check --auto + maintenance: add auto condition for commit-graph task + maintenance: add trace2 regions for task execution + commit-reach: fix in_merge_bases_many bug + +Drew DeVault (1): + git-send-email: die if sendmail.* config is set + +Edmundo Carmona Antoranz (1): + blame.c: replace instance of !oidcmp for oideq + +Elijah Newren (26): + Remove doubled words in various comments + hashmap: fix typo in usage docs + merge-recursive: fix unclear and outright wrong comments + t6038: make tests fail for the right reason + t6038: remove problematic test + merge: make merge.renormalize work for all uses of merge machinery + checkout: support renormalization with checkout -m <paths> + Collect merge-related tests to t64xx + t6418: tighten delete/normalize conflict testcase + t6422: fix bad check against missing file + t6416, t6422: fix incorrect untracked file count + t6423: fix test setup for a couple tests + t6422: fix multiple errors with the mod6 test expectations + t6416, t6423: clarify some comments and fix some typos + t6423: add an explanation about why one of the tests does not pass + t6422, t6426: be more flexible for add/add conflicts involving renames + t642[23]: be more flexible for add/add conflicts involving pair renames + t6425: be more flexible with rename/delete conflict messages + t3000: fix some test description typos + dir: avoid prematurely marking nonbare repositories as matches + sequencer: avoid garbled merge machinery messages due to commit labels + mem-pool: add convenience functions for strdup and strndup + mem-pool: use more standard initialization and finalization + mem-pool: use consistent pool variable name + dir: make clear_directory() free all relevant memory + dir: fix problematic API to avoid memory leaks + +Emily Shaffer (1): + Revert "contrib: subtree: adjust test to change in fmt-merge-msg" + +Eric Huber (1): + gitk: Preserve window dimensions on exit when not using ttk themes + +Eric Sunshine (22): + worktree: drop pointless strbuf_release() + worktree: drop unused code from get_linked_worktree() + worktree: drop bogus and unnecessary path munging + worktree: retire special-case normalization of main worktree path + git-worktree.txt: employ fixed-width typeface consistently + git-worktree.txt: consistently use term "working tree" + git-worktree.txt: fix minor grammatical issues + git-worktree.txt: make start of new sentence more obvious + git-worktree.txt: link to man pages when citing other Git commands + test_cmp: diagnose incorrect arguments + init: disallow --separate-git-dir with bare repository + worktree: add skeleton "repair" command + worktree: teach "repair" to fix worktree back-links to main worktree + worktree: teach "repair" to fix outgoing links to worktrees + init: teach --separate-git-dir to repair linked worktrees + init: make --separate-git-dir work from within linked worktree + git-checkout.txt: document -d short option for --detach + worktree: teach `add` to recognize -d as shorthand for --detach + git-worktree.txt: discuss branch-based vs. throwaway worktrees + diff: move show_interdiff() from its own file to diff-lib + diff-lib: tighten show_interdiff()'s interface + format-patch: use 'origin' as start of current-series-range when known + +Evan Gates (1): + Doc: show example scissors line + +Han Xin (1): + send-pack: run GPG after atomic push checking + +Han-Wen Nienhuys (17): + lib-t6000.sh: write tag using git-update-ref + t3432: use git-reflog to inspect the reflog for HEAD + bisect: treat BISECT_HEAD as a pseudo ref + t1400: use git rev-parse for testing PSEUDOREF existence + Modify pseudo refs through ref backend storage + Make HEAD a PSEUDOREF rather than PER_WORKTREE. + refs: move the logic to add \t to reflog to the files backend + refs: split off reading loose ref data in separate function + refs: fix comment about submodule ref_stores + refs: move gitdir into base ref_store + refs: read FETCH_HEAD and MERGE_HEAD generically + refs: make refs_ref_exists public + sequencer: treat CHERRY_PICK_HEAD as a pseudo ref + builtin/commit: suggest update-ref for pseudoref removal + sequencer: treat REVERT_HEAD as a pseudo ref + refs: move REF_LOG_ONLY to refs-internal.h + refs: add GIT_TRACE_REFS debugging mechanism + +Hariom Verma (10): + t6300: unify %(trailers) and %(contents:trailers) tests + ref-filter: 'contents:trailers' show error if `:` is missing + ref-filter: support different email formats + ref-filter: refactor `grab_objectname()` + ref-filter: modify error messages in `grab_objectname()` + ref-filter: rename `objectname` related functions and fields + ref-filter: add `short` modifier to 'tree' atom + ref-filter: add `short` modifier to 'parent' atom + pretty: refactor `format_sanitized_subject()` + ref-filter: add `sanitize` option for 'subject' atom + +Hugo Locurcio (1): + bisect: swap command-line options in documentation + +Jacob Keller (4): + refspec: fix documentation referring to refspec_item + refspec: make sure stack refspec_item variables are zeroed + refspec: add support for negative refspecs + format-patch: teach format.useAutoBase "whenAble" option + +Jeff Hostetler (1): + mingw: improve performance of mingw_unlink() + +Jeff King (80): + t6000: use test_tick consistently + t9700: loosen ident timezone regex + t5539: make timestamp requirements more explicit + t9100: explicitly unset GIT_COMMITTER_DATE + test-lib: set deterministic default author/committer date + t9100: stop depending on commit timestamps + verify_repository_format(): complain about new extensions in v0 repo + argv-array: use size_t for count and alloc + argv-array: rename to strvec + strvec: rename files from argv-array to strvec + quote: rename sq_dequote_to_argv_array to mention strvec + strvec: convert builtin/ callers away from argv_array name + strvec: convert more callers away from argv_array name + strvec: convert remaining callers away from argv_array name + strvec: fix indentation in renamed calls + strvec: update documention to avoid argv_array + strvec: drop argv_array compatibility layer + log: drop "--cc implies -m" logic + revision: add "--no-diff-merges" option to counteract "-m" + log: enable "-m" automatically with "--first-parent" + doc/git-log: move "Diff Formatting" from rev-list-options + doc/git-log: drop "-r" diff option + doc/git-log: move "-t" into diff-options list + doc/git-log: clarify handling of merge commit diffs + strvec: rename struct fields + config: work around gcc-10 -Wstringop-overflow warning + revision: avoid out-of-bounds read/write on empty pathspec + revision: avoid leak when preparing bloom filter for "/" + t5616: use test_i18ngrep for upload-pack errors + sideband: mark "remote error:" prefix for translation + t1416: avoid hard-coded sha1 ids + t8003: check output of coalesced blame + t8003: factor setup out of coalesce test + blame: only coalesce lines that are adjacent in result + Makefile: drop builtins from MSVC pdb list + make credential helpers builtins + make git-bugreport a builtin + make git-fast-import a builtin + drop vcs-svn experiment + stop calling UNLEAK() before die() + ls-remote: simplify UNLEAK() usage + clear_pattern_list(): clear embedded hashmaps + submodule--helper: use strbuf_release() to free strbufs + checkout: fix leak of non-existent branch names + config: fix leaks from git_config_get_string_const() + config: drop git_config_get_string_const() + config: fix leak in git_config_get_expiry_in_days() + submodule--helper: fix leak of core.worktree value + p5302: disable thread-count parameter tests by default + p5302: count up to online-cpus for thread tests + index-pack: adjust default threading cap + revision: set rev_input_given in handle_revision_arg() + worktree: fix leak in check_clean_worktree() + xrealloc: do not reuse pointer freed by zero-length realloc() + add-patch: fix inverted return code of repo_read_index() + add--interactive.perl: specify --no-color explicitly + packfile: actually set approximate_object_count_valid + diff-highlight: correctly match blank lines for flush + bswap.h: drop unaligned loads + Revert "fast-export: use local array to store anonymized oid" + shortlog: change "author" variables to "ident" + protocol: re-enable v2 protocol by default + shortlog: add grouping option + trailer: add interface for iterating over commit trailers + shortlog: match commit trailers with --group + shortlog: de-duplicate trailer values + shortlog: rename parse_stdin_ident() + shortlog: parse trailer idents + shortlog: allow multiple groups to be specified + convert: drop unused crlf_action from check_global_conv_flags_eol() + drop unused argc parameters + env--helper: write to opt->value in parseopt helper + assert PARSE_OPT_NONEG in parse-options callbacks + push: drop unused repo argument to do_push() + sequencer: drop repository argument from run_git_commit() + sparse-checkout: fill in some options boilerplate + test-advise: check argument count with argc instead of argv + sequencer: handle ignore_footer when parsing trailers + dir.c: drop unused "untracked" from treat_path_fast() + combine-diff: handle --find-object in multitree code path + +Jiang Xin (10): + transport: not report a non-head push as a branch + t5411: add basic test cases for proc-receive hook + receive-pack: add new proc-receive hook + receive-pack: feed report options to post-receive + New capability "report-status-v2" for git-push + doc: add document for capability report-status-v2 + receive-pack: new config receive.procReceiveRefs + t5411: test updates of remote-tracking branches + transport: parse report options for tracking refs + doc: add documentation for the proc-receive hook + +Johannes Berg (2): + pack-write/docs: update regarding pack naming + docs: commit-graph: fix some whitespace in the diagram + +Johannes Schindelin (20): + t3404: prepare 'short SHA-1 collision' tests for SHA-256 + ci: fix indentation of the `ci-config` job + ci: avoid ugly "failure" in the `ci-config` job + t/test-terminal: avoid non-inclusive language + fast-export: avoid using unnecessary language in a code comment + t3200: avoid variations of the `master` branch name + msvc: copy the correct `.pdb` files in the Makefile target `install` + Optionally skip linking/copying the built-ins + ci: stop linking built-ins to the dashed versions + cmake: ignore files generated by CMake as run in Visual Studio + tests: avoid variations of the `master` branch name + t9902: avoid using the branch name `master` + cmake: do find Git for Windows' shell interpreter + cmake: ensure that the `vcpkg` packages are found on Windows + cmake: fall back to using `vcpkg`'s `msgfmt.exe` on Windows + cmake: quote the path accurately when editing `test-lib.sh` + cmake (Windows): let the `.dll` files be found when running the tests + cmake (Windows): complain when encountering an unknown compiler + cmake (Windows): initialize vcpkg/build dependencies automatically + cmake (Windows): recommend using Visual Studio's built-in CMake support + +Johannes Sixt (1): + gitk: Un-hide selection in areas with non-default background color + +Jonathan Tan (32): + upload-pack: do not lazy-fetch "have" objects + pack-objects: refactor to oid_object_info_extended + pack-objects: prefetch objects to be packed + sha1-file: make pretend_object_file() not prefetch + sha1-file: introduce no-lazy-fetch has_object() + apply: do not lazy fetch when applying binary + pack-objects: no fetch when allow-{any,promisor} + fsck: do not lazy fetch known non-promisor object + negotiator/noop: add noop fetch negotiator + fetch: allow refspecs specified through stdin + fetch: avoid reading submodule config until needed + fetch: only populate existing_refs if needed + fetch-pack: do not lazy-fetch during ref iteration + promisor-remote: lazy-fetch objects in subprocess + fetch-pack: remove no_dependents code + fetch-pack: in partial clone, pass --promisor + Documentation: deltaBaseCacheLimit is per-thread + index-pack: remove redundant parameter + index-pack: unify threaded and unthreaded code + index-pack: remove redundant child field + index-pack: calculate {ref,ofs}_{first,last} early + index-pack: make resolve_delta() assume base data + (various): document from_promisor parameter + fetch-pack: document only_packfile in get_pack() + fetch-pack: make packfile URIs work with transfer.fsckobjects + fetch: no FETCH_HEAD display if --no-write-fetch-head + sha1-name: replace unsigned int with option struct + refs: move dwim_ref() to header file + wt-status: tolerate dangling marks + index-pack: make quantum of work smaller + promisor-remote: remove unused variable + fetch: do not override partial clone filter + +Junio C Hamano (49): + gitk: be prepared to be run in a bare repository + reflog: cleanse messages in the refs.c layer + Revert "fmt-merge-msg: stop treating `master` specially" + fmt-merge-msg: allow merge destination to be omitted again + First batch post 2.28 + The second batch -- mostly minor typofixes + Third batch + Fourth batch + Documentation: don't hardcode command categories twice + compat-util: type-check parameters of no-op replacement functions + Fifth batch + Sixth batch + Seventh batch + messages: avoid SHA-1 in end-user facing messages + Eighth batch + fetch: optionally allow disabling FETCH_HEAD update + Ninth batch + ident: say whose identity is missing when giving user.name hint + Tenth batch + t3436: do not run git-merge-recursive in dashed form + transport-helper: do not run git-remote-ext etc. in dashed form + cvsexportcommit: do not run git programs in dashed form + run_command: teach API users to use embedded 'args' more + credential-cache: use child_process.args + Eleventh batch + doc: clarify how exit status of post-checkout hook is used + Twelfth batch + Thirteenth batch + add -i: use the built-in version when feature.experimental is set + Makefile: allow extra tweaking of distribution tarball + Fourteenth batch + quote_path: rename quote_path_relative() to quote_path() + quote_path: give flags parameter to quote_path() + quote_path: optionally allow quoting a path with SP in it + quote_path: code clarification + wt-status: consistently quote paths in "status --short" output + quote: rename misnamed sq_lookup[] to cq_lookup[] + quote: turn 'nodq' parameter into a set of flags + Fifteenth batch + Sixteenth batch + t8013: minimum preparatory clean-up + blame: validate and peel the object names on the ignore list + t1506: rev-parse A..B and A...B + sequencer: stop abbreviating stopped-sha file + Seventeenth batch + Eighteenth batch + hashmap_for_each_entry(): workaround MSVC's runtime check failure #3 + Nineteenth batch + Git 2.29-rc0 + +Kazuhiro Kato (1): + gitk: fix branch name encoding error + +Kyohei Kadota (1): + Fit to Plan 9's ANSI/POSIX compatibility layer + +Lin Sun (1): + mergetool: allow auto-merge for meld to follow the vim-diff behavior + +Luke Diamand (2): + git-p4 unshelve: adding a commit breaks git-p4 unshelve + git-p4: use HEAD~$n to find parent commit for unshelve + +Martin Ågren (19): + dir: check pathspecs before returning `path_excluded` + t1450: fix quoting of NUL byte when corrupting pack + t: don't spuriously close and reopen quotes + t4104: modernize and simplify quoting + progress: don't dereference before checking for NULL + http-protocol.txt: document SHA-256 "want"/"have" format + index-format.txt: document SHA-256 index format + protocol-capabilities.txt: clarify "allow-x-sha1-in-want" re SHA-256 + shallow.txt: document SHA-256 shallow format + Documentation: mark `--object-format=sha256` as experimental + wt-status: replace sha1 mentions with oid + wt-status: print to s->fp, not stdout + wt-status: introduce wt_status_state_free_buffers() + worktree: inline `worktree_ref()` into its only caller + worktree: update renamed variable in comment + worktree: rename copy-pasted variable + worktree: use skip_prefix to parse target + config/fmt-merge-msg.txt: drop space in quote + config/uploadpack.txt: fix typo in `--filter=tree:<n>` + +Matheus Tavares (4): + checkout_entry(): remove unreachable error() call + config: complain about --worktree outside of a git repo + packfile: fix race condition on unpack_entry() + packfile: fix memory leak in add_delta_base_cache() + +Matthew Rogers (1): + diff: teach --stat to ignore uninteresting modifications + +Michael Forney (2): + revision: use repository from rev_info when parsing commits + submodule: use submodule repository when preparing summary + +Michal Privoznik (1): + completion: add show --color-moved[-ws] + +Miriam Rubio (4): + bisect--helper: BUG() in cmd_*() on invalid subcommand + bisect--helper: use '-res' in 'cmd_bisect__helper' return + bisect--helper: introduce new `write_in_file()` function + bisect: call 'clear_commit_marks_all()' in 'bisect_next_all()' + +Nikita Leonov (1): + credential: treat CR/LF as line endings in the credential protocol + +Noam Yorav-Raphael (1): + docs: improve the example that illustrates git-notes path names + +Orgad Shaneh (5): + vcbuild: fix library name for expat with make MSVC=1 + vcbuild: fix batch file name in README + fetch: do not look for submodule changes in unchanged refs + submodule: suppress checking for file name and ref ambiguity for object ids + contrib/buildsystems: fix expat library name for generated vcxproj + +Patrick Steinhardt (2): + refs: fix interleaving hook calls with reference-transaction hook + refs: remove lookup cache for reference-transaction hook + +Paul Mackerras (1): + gitk: Resize panes correctly when reducing window size + +Philippe Blain (19): + git-log.txt: add links to 'rev-list' and 'diff' docs + revisions.txt: describe 'rev1 rev2 ...' meaning for ranges + git-rev-list.txt: fix Asciidoc syntax + git-rev-list.txt: tweak wording in set operations + git-rev-list.txt: move description to separate file + git-log.txt: include rev-list-description.txt + command-list.txt: add missing 'gitcredentials' and 'gitremote-helpers' + help: drop usage of 'common' and 'useful' for guides + git.txt: add list of guides + fetch, pull doc: correct description of '--set-upstream' + userdiff: add tests for Fortran xfuncname regex + userdiff: improve Fortran xfuncname regex + git-imap-send.txt: don't duplicate 'Examples' sections + git-imap-send.txt: do verify SSL certificate for gmail.com + git-imap-send.txt: add note about localized Gmail folders + doc: mention GIT_SEQUENCE_EDITOR and 'sequence.editor' more + git.txt: correct stale 'GIT_EXTERNAL_DIFF' description + Makefile: add support for generating JSON compilation database + gitsubmodules doc: invoke 'ls-files' with '--recurse-submodules' + +Phillip Wood (7): + add -p: use ALLOC_GROW_BY instead of ALLOW_GROW + add -p: fix checking of user input + am: stop exporting GIT_COMMITTER_DATE + rebase -i: support --committer-date-is-author-date + rebase -i: support --ignore-date + add -p: fix memory leak + add -p: fix editing of intent-to-add paths + +Pranit Bauva (2): + bisect--helper: reimplement `bisect_autostart` shell function in C + bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C + +Prathamesh Chavan (1): + submodule: port submodule subcommand 'summary' from shell to C + +Raymond E. Pasco (6): + apply: allow "new file" patches on i-t-a entries + blame-options.txt: document --first-parent option + apply: make i-t-a entries never match worktree + t4140: test apply with i-t-a paths + diff-lib: use worktree mode in diffs from i-t-a entries + git-apply.txt: update descriptions of --cached, --index + +René Scharfe (21): + read-cache: remove bogus shortcut + grep: avoid using oid_to_hex() with parse_object_or_die() + bisect: use oid_to_hex_r() instead of memcpy()+oid_to_hex() + upload-pack: remove superfluous sigchain_pop() call + rebase: remove unused function reschedule_last_action + connected: use buffered I/O to talk to rev-list + midx: use buffered I/O to talk to pack-objects + upload-pack: use buffered I/O to talk to rev-list + patch-id: ignore newline at end of file in diff_flush_patch_id() + checkout, restore: make pathspec recursive + read-cache: fix mem-pool allocation for multi-threaded index loading + push: release strbufs used for refspec formatting + refspec: add and use refspec_appendf() + fast-import: use write_pack_header() + midx: use hashwrite_u8() in write_midx_header() + pack-bitmap-write: use hashwrite_be32() in write_hash_cache() + pack-write: use hashwrite_be32() in write_idx_file() + archive: read short blobs in archive.c::write_archive_entry() + archive: add --add-file + Makefile: use git-archive --add-file + ref-filter: plug memory leak in reach_filter() + +Rohit Ashiwal (2): + rebase -i: add --ignore-whitespace flag + rebase: add --reset-author-date + +Ryan Zoeller (2): + parse-options: add --git-completion-helper-all + completion: add GIT_COMPLETION_SHOW_ALL env var + +SZEDER Gábor (15): + tree-walk.c: don't match submodule entries for 'submod/anything' + commit-graph: fix parsing the Chunk Lookup table + commit-graph-format.txt: all multi-byte numbers are in network byte order + commit-slab: add a function to deep free entries on the slab + diff.h: drop diff_tree_oid() & friends' return value + commit-graph: clean up #includes + commit-graph: simplify parse_commit_graph() #1 + commit-graph: simplify parse_commit_graph() #2 + commit-graph: simplify write_commit_graph_file() #1 + commit-graph: simplify write_commit_graph_file() #2 + commit-graph: unify the signatures of all write_graph_chunk_*() functions + commit-graph: simplify chunk writes into loop + commit-graph: check chunk sizes after writing + commit-graph: check all leading directories in changed path Bloom filters + ci: use absolute PYTHON_PATH in the Linux jobs + +Samanta Navarro (1): + fast-import: fix typo in documentation + +Sergey Organov (9): + revision: fix die() message for "--unpacked=" + revision: change "--diff-merges" option to require parameter + doc/git-log: describe --diff-merges=off + t/t4013: add test for --diff-merges=off + pretty-options.txt: fix --no-abbrev-commit description + revision: add separate field for "-m" of "diff-index -m" + log_tree_diff: get rid of code duplication for first_parent_only + log_tree_diff: get rid of extra check for NULL + diff: get rid of redundant 'dense' argument + +Shourya Shukla (11): + submodule: remove extra line feeds between callback struct and macro + submodule: rename helper functions to avoid ambiguity + t7421: introduce a test script for verifying 'summary' output + t7401: modernize style + t7401: use 'short' instead of 'verify' and cut in rev-parse calls + t7401: change syntax of test_i18ncmp calls for clarity + t7401: change indentation for enhanced readability + t7401: add a NEEDSWORK + submodule: eliminate unused parameters from print_submodule_summary() + submodule: fix style in function definition + t7421: eliminate 'grep' check in t7421.4 for mingw compatibility + +Sibi Siddharthan (8): + Introduce CMake support for configuring Git + cmake: generate the shell/perl/python scripts and templates, translations + cmake: installation support for git + cmake: support for testing git with ctest + cmake: support for testing git when building out of the source tree + cmake: support for building git on windows with mingw + cmake: support for building git on windows with msvc and clang. + ci: modification of main.yml to use cmake for vs-build job + +Simon Legner (1): + remote-mediawiki: fix duplicate revisions being imported + +Stefan Dotterweich (1): + gitk: add diff lines background colors + +Steve Kemp (1): + comment: fix spelling mistakes inside comments + +Taylor Blau (18): + revision: empty pathspecs should not use Bloom filters + list_objects_filter_options: introduce 'list_object_filter_config_name' + upload-pack.c: allow banning certain object filter(s) + upload-pack.c: introduce 'uploadpackfilter.tree.maxDepth' + builtin/repack.c: invalidate MIDX only when necessary + midx: traverse the local MIDX first + commit-graph: introduce 'get_bloom_filter_settings()' + t4216: use an '&&'-chain + commit-graph: pass a 'struct repository *' in more places + t/helper/test-read-graph.c: prepare repo settings + commit-graph: respect 'commitGraph.readChangedPaths' + commit-graph.c: store maximum changed paths + bloom: split 'get_bloom_filter()' in two + bloom: use provided 'struct bloom_filter_settings' + bloom: encode out-of-bounds filters as non-empty + commit-graph: rename 'split_commit_graph_opts' + builtin/commit-graph.c: introduce '--max-new-filters=<n>' + commit-graph: introduce 'commitGraph.maxNewFilters' + +Theodore Dubois (1): + submodule update: silence underlying merge/rebase with "--quiet" + +Thomas Guyot-Sionnest (1): + diff: fix modified lines stats with --stat and --numstat + +brian m. carlson (48): + remote-curl: make --force-with-lease work with non-ASCII ref names + t: make test-bloom initialize repository + t1001: use $ZERO_OID + t3305: make hash agnostic + t6100: make hash size independent + t6101: make hash size independent + t6301: make hash size independent + t6500: specify test values for SHA-256 + t6501: avoid hard-coded objects + t7003: compute appropriate length constant + t7063: make hash size independent + t7201: abstract away SHA-1-specific constants + t7102: abstract away SHA-1-specific constants + t7400: make hash size independent + t7405: make hash size independent + t7506: avoid checking for SHA-1-specific constants + t7508: use $ZERO_OID instead of hard-coded constant + t8002: make hash size independent + t8003: make hash size independent + t8011: make hash size independent + t9300: abstract away SHA-1-specific constants + t9300: use $ZERO_OID instead of hard-coded object ID + t9301: make hash size independent + t9350: make hash size independent + t9500: ensure that algorithm info is preserved in config + t9700: make hash size independent + t5308: make test work with SHA-256 + t0410: mark test with SHA1 prerequisite + http-fetch: set up git directory before parsing pack hashes + builtin/verify-pack: implement an --object-format option + bundle: add new version for use with SHA-256 + setup: add support for reading extensions.objectformat + repository: enable SHA-256 support by default + t: add test_oid option to select hash algorithm + t: allow testing different hash algorithms via environment + t: make SHA1 prerequisite depend on default hash + ci: run tests with SHA-256 + docs: add documentation for extensions.objectFormat + t: remove test_oid_init in tests + git-cvsexportcommit: support Perl before 5.10.1 + docs: document SHA-256 pack and indices + docs: fix step in transition plan + t4013: improve diff-post-processor logic + po: add missing letter for French message + docs: explain why squash merges are broken with long-running branches + docs: explain why reverts are not always applied on merge + docs: explain how to deal with files that are always modified + builtin/clone: avoid failure with GIT_DEFAULT_HASH + +pudinha (2): + mergetool--lib: improve support for vimdiff-style tool variants + mergetools: add support for nvimdiff (neovim) family + +Ákos Uzonyi (2): + completion: use "prev" variable instead of introducing "prevword" + completion: complete refs after 'git restore -s' + +Ævar Arnfjörð Bjarmason (17): + remote-mediawiki doc: correct link to GitHub project + remote-mediawiki doc: link to MediaWiki's current version + remote-mediawiki doc: don't hardcode Debian PHP versions + remote-mediawiki tests: use the login/password variables + remote-mediawiki tests: use a 10 character password + remote-mediawiki tests: use test_cmp in tests + remote-mediawiki tests: change `[]` to `test` + remote-mediawiki tests: use "$dir/" instead of "$dir." + remote-mediawiki tests: use a more idiomatic dispatch table + remote-mediawiki tests: replace deprecated Perl construct + remote-mediawiki tests: use inline PerlIO for readability + remote-mediawiki tests: use CLI installer + remote-mediawiki tests: annotate failing tests + remote-mediawiki: provide a list form of run_git() + remote-mediawiki: convert to quoted run_git() invocation + remote-mediawiki: annotate unquoted uses of run_git() + remote-mediawiki: use "sh" to eliminate unquoted commands + +Đoàn Trần Công Danh (1): + diff: index-line: respect --abbrev in object's name + +Роман Донченко (2): + gitk: don't highlight files after submodules as submodules + gitk: fix the context menu not appearing in the presence of submodule diffs + + +Version v2.28.1; changes since v2.28.0: +--------------------------------------- + +Johannes Schindelin (13): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + Git 2.21.4 + Git 2.22.5 + Git 2.23.4 + Git 2.24.4 + Git 2.25.5 + Git 2.26.3 + Git 2.27.1 + Git 2.28.1 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.28.0; changes since v2.28.0-rc2: +------------------------------------------- + +Alessandro Menti (1): + l10n: it.po: update the Italian translation for Git 2.28.0 round 1 + +Bojun Chen (1): + githooks.txt: use correct "reference-transaction" hook name + +Christopher Diaz Riveros (1): + l10n: es: 2.28.0 round 1 + +Emir Sarı (1): + l10n: tr: v2.28.0 round 1 + +Jean-Noël Avila (1): + l10n: fr v2.28.0 round 1 + +Jiang Xin (2): + l10n: git.pot: v2.28.0 round 1 (70 new, 14 removed) + l10n: zh_CN: for git v2.28.0 l10n round 1 + +Jordi Mas (1): + l10n: Update Catalan translation + +Junio C Hamano (1): + Git 2.28 + +Matthias Rüster (1): + l10n: de.po: Update German translation for Git v2.28.0 + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (4931t0f0u) + +Ralf Thielow (1): + l10n: de.po: fix grammar + +Taylor Blau (1): + Documentation/RelNotes: fix a typo in 2.28's relnotes + +Trần Ngọc Quân (1): + l10n: vi.po(4931t): Updated translation for v2.28.0 + +Yi-Jyun Pan (1): + l10n: zh_TW.po: v2.28.0 round 1 (0 untranslated) + +Đoàn Trần Công Danh (1): + l10n: vi.po: correct "ident line" translation + + +Version v2.28.0-rc2; changes since v2.28.0-rc1: +----------------------------------------------- + +David J. Malan (1): + git-prompt: change == to = for zsh's sake + +Junio C Hamano (2): + RelNotes: update the v0 with extension situation + Git 2.28-rc2 + +Martin Ågren (2): + gitworkflows.txt: fix broken subsection underline + t3200: don't grep for `strerror()` string + +Mikhail Terekhov (1): + git-gui: allow opening work trees from the startup dialog + + +Version v2.28.0-rc1; changes since v2.28.0-rc0: +----------------------------------------------- + +Jonathan Nieder (2): + Revert "check_repository_format_gently(): refuse extensions for old repositories" + repository: allow repository format upgrade with extensions + +Junio C Hamano (2): + Hopefully the last batch before -rc1 + Git 2.28-rc1 + +Martin Ågren (2): + git-diff.txt: don't mark required argument as optional + git-diff.txt: reorder possible usages + +SZEDER Gábor (3): + commit-graph: fix progress of reachable commits + commit-graph: fix "Writing out commit graph" progress counter + commit-graph: fix "Collecting commits from input" progress line + +Trygve Aaberge (2): + Wait for child on signal death for aliases to builtins + Wait for child on signal death for aliases to externals + + +Version v2.28.0-rc0; changes since v2.27.1: +------------------------------------------- + +Abhishek Kumar (4): + object: drop parsed_object_pool->commit_count + commit-graph: introduce commit_graph_data_slab + commit: move members graph_pos, generation to a slab + commit-graph: minimize commit_graph_data_slab access + +Andrew Ng (1): + merge: optimization to skip evaluate_result for single strategy + +Ben Keene (1): + git-p4.py: fix --prepare-p4-only error with multiple commits + +Carlo Marcelo Arenas Belón (5): + t/helper: teach test-regex to report pattern errors (like REG_ILLSEQ) + t4210: detect REG_ILLSEQ dynamically and skip affected tests + bisect--helper: avoid segfault with bad syntax in `start --term-*` + t5608: avoid say() and use "skip_all" instead for consistency + commit-reach: avoid is_descendant_of() shim + +Chris Torek (3): + t/t3430: avoid undefined git diff behavior + git diff: improve range handling + Documentation: usage for diff combined commits + +Christian Couder (40): + upload-pack: remove unused 'wants' from upload_pack_data + upload-pack: move {want,have}_obj to upload_pack_data + upload-pack: move 'struct upload_pack_data' around + upload-pack: use 'struct upload_pack_data' in upload_pack() + upload-pack: pass upload_pack_data to get_common_commits() + upload-pack: pass upload_pack_data to receive_needs() + upload-pack: use upload_pack_data writer in receive_needs() + upload-pack: move symref to upload_pack_data + upload-pack: pass upload_pack_data to send_ref() + upload-pack: pass upload_pack_data to check_non_tip() + upload-pack: remove static variable 'stateless_rpc' + upload-pack: pass upload_pack_data to create_pack_file() + upload-pack: use upload_pack_data fields in receive_needs() + upload-pack: annotate upload_pack_data fields + upload-pack: move static vars to upload_pack_data + upload-pack: move use_sideband to upload_pack_data + upload-pack: move filter_capability_requested to upload_pack_data + upload-pack: move multi_ack to upload_pack_data + upload-pack: change multi_ack to an enum + upload-pack: pass upload_pack_data to upload_pack_config() + upload-pack: move keepalive to upload_pack_data + upload-pack: move allow_filter to upload_pack_data + upload-pack: move allow_ref_in_want to upload_pack_data + upload-pack: move allow_sideband_all to upload_pack_data + upload-pack: move pack_objects_hook to upload_pack_data + upload-pack: pass upload_pack_data to send_shallow_list() + upload-pack: pass upload_pack_data to deepen() + upload-pack: pass upload_pack_data to deepen_by_rev_list() + upload-pack: pass upload_pack_data to send_unshallow() + upload-pack: move shallow_nr to upload_pack_data + upload-pack: move extra_edge_obj to upload_pack_data + upload-pack: move allow_unadvertised_object_request to upload_pack_data + upload-pack: change allow_unadvertised_object_request to an enum + upload-pack: pass upload_pack_data to process_haves() + upload-pack: pass upload_pack_data to send_acks() + upload-pack: pass upload_pack_data to ok_to_give_up() + upload-pack: pass upload_pack_data to got_oid() + upload-pack: move oldest_have to upload_pack_data + upload-pack: refactor common code into do_got_oid() + cat-file: add missing [=<format>] to usage/synopsis + +Denton Liu (18): + lib-submodule-update: add space after function name + lib-submodule-update: consolidate --recurse-submodules + remote-curl: fix typo + remote-curl: remove label indentation + transport: extract common fetch_pack() call + pkt-line: extern packet_length() + remote-curl: error on incomplete packet + pkt-line: define PACKET_READ_RESPONSE_END + stateless-connect: send response end packet + t/README: avoid poor-man's small caps GIT + CodingGuidelines: specify Python 2.7 is the oldest version + lib-submodule-update: prepend "git" to $command + t3200: rename "expected" to "expect" + t3200: test for specific errors + branch: don't mix --edit-description + builtin/diff: update usage comment + builtin/diff: fix botched update of usage comment + lib-submodule-update: pass 'test_must_fail' as an argument + +Derrick Stolee (3): + line-log: integrate with changed-path Bloom filters + commit-reach: create repo_is_descendant_of() + commit-reach: use fast logic in repo_in_merge_base + +Don Goodman-Wilson (1): + init: allow setting the default for the initial branch name via the config + +Elijah Newren (11): + fast-import: add new --date-format=raw-permissive format + sparse-checkout: avoid staging deletions of all files + dir: fix treatment of negated pathspecs + git-sparse-checkout: clarify interactions with submodules + dir: fix a few confusing comments + dir, clean: avoid disallowed behavior + clean: consolidate handling of ignored parameters + clean: optimize and document cases where we recurse into subdirectories + wt-status: show sparse checkout status as well + git-prompt: document how in-progress operations affect the prompt + git-prompt: include sparsity state as well + +Emily Shaffer (3): + help: add shell-path to --build-options + bugreport: include user interactive shell + docs: mention MyFirstContribution in more places + +Eric Sunshine (10): + worktree: factor out repeated string literal + worktree: give "should be pruned?" function more meaningful name + worktree: make high-level pruning re-usable + worktree: prune duplicate entries referencing same worktree path + worktree: prune linked worktree referencing main worktree path + worktree: generalize candidate worktree path validation + worktree: make "move" refuse to move atop missing registered worktree + worktree: drop get_worktrees() special-purpose sorting option + worktree: drop get_worktrees() unused 'flags' argument + worktree: avoid dead-code in conditional + +Han-Wen Nienhuys (5): + refs.h: clarify reflog iteration order + t: use update-ref and show-ref to reading/writing refs + refs: improve documentation for ref iterator + reftable: clarify how empty tables should be written + reftable: define version 2 of the spec to accomodate SHA256 + +Jacob Keller (16): + completion: add test showing subpar git switch completion + completion: add tests showing subpar DWIM logic for switch/checkout + completion: add tests showing subar checkout --detach logic + completion: add tests showing subpar switch/checkout --track logic + completion: add tests showing subpar -c/-C startpoint completion + completion: add tests showing subpar -c/C argument completion + completion: add tests showing subpar switch/checkout --orphan logic + completion: replace overloaded track term for __git_complete_refs + completion: extract function __git_dwim_remote_heads + completion: perform DWIM logic directly in __git_complete_refs + completion: improve handling of DWIM mode for switch/checkout + completion: improve completion for git switch with no options + completion: improve handling of --detach in checkout + completion: improve handling of --track in switch/checkout + completion: improve handling of -c/-C and -b/-B in switch/checkout + completion: improve handling of --orphan option of switch/checkout + +Jeff King (14): + diff: discard blob data from stat-unmatched pairs + upload-pack: actually use some upload_pack_data bitfields + t9351: derive anonymized tree checks from original repo + fast-export: use xmemdupz() for anonymizing oids + fast-export: store anonymized oids as hex strings + fast-export: tighten anonymize_mem() interface to handle only strings + fast-export: stop storing lengths in anonymized hashmaps + fast-export: use a flex array to store anonymized entries + fast-export: move global "idents" anonymize hashmap into function + fast-export: add a "data" callback parameter to anonymize_str() + fast-export: allow seeding the anonymized mapping + fast-export: anonymize "master" refname + fast-export: use local array to store anonymized oid + diff: check for merge bases before assigning sym->base + +Jiuyang Xie (1): + doc: fix wrong 4-byte length of pkt-line message + +Johannes Schindelin (16): + checkout -p: handle new files correctly + clone/fetch: anonymize URLs in the reflog + msvc: fix "REG_STARTEND" issue + fmt-merge-msg: stop treating `master` specially + send-pack/transport-helper: avoid mentioning a particular branch + submodule: fall back to remote's HEAD for missing remote.<name>.branch + docs: add missing diamond brackets + init: allow specifying the initial branch name for the new repository + clone: use configured default branch name when appropriate + remote: use the configured default branch name when appropriate + testsvn: respect `init.defaultBranch` + docs: adjust for the recent rename of `pu` to `seen` + docs: adjust the technical overview for the rename `pu` -> `seen` + tests: reference `seen` wherever `pu` was referenced + diff-files --raw: show correct post-image of intent-to-add files + difftool -d: ensure that intent-to-add files are handled correctly + +John Lin (1): + bash-completion: add git-prune into bash completion + +Jonathan Nieder (3): + config: let feature.experimental imply protocol.version=2 + reftable: file format documentation + experimental: default to fetch.writeCommitGraph=false + +Jonathan Tan (12): + t5551: test that GIT_TRACE_CURL redacts password + http, imap-send: stop using CURLOPT_VERBOSE + http: redact all cookies, teach GIT_TRACE_REDACT=0 + http: use --stdin when indexing dumb HTTP pack + http: refactor finish_http_pack_request() + http-fetch: refactor into function + http-fetch: support fetching packfiles by URL + Documentation: order protocol v2 sections + Documentation: add Packfile URIs design doc + upload-pack: refactor reading of pack-objects out + fetch-pack: support more than one pack lockfile + upload-pack: send part of packfile response as uri + +Josh Steadmon (1): + fuzz-commit-graph: properly free graph struct + +Junio C Hamano (8): + Start the post 2.27 cycle + The second batch + The third batch + The fourth batch + The fifth batch + The sixth batch + The seventh batch + Git 2.28-rc0 + +Laurent Arnoud (1): + diff: add config option relative + +Luc Van Oostenryck (1): + sparse: allow '{ 0 }' to be used without warnings + +Marco Trevisan (Treviño) (1): + completion: use native ZSH array pattern matching + +Martin Ågren (1): + git-rebase.txt: fix description list separator + +Matheus Tavares (1): + entry: check for fstat() errors after checkout + +Miroslav Koškár (1): + doc: fix author vs. committer copy/paste error + +Paolo Bonzini (1): + t4014: do not use "slave branch" nomenclature + +Patrick Steinhardt (1): + refs: implement reference transaction hook + +Rafael Aquini (1): + send-email: restore --in-reply-to superseding behavior + +Ramsay Jones (1): + upload-pack: fix a sparse '0 as NULL pointer' warning + +Randall S. Becker (2): + bugreport.c: replace strbuf_write_fd with write_in_full + strbuf: remove unreferenced strbuf_write_fd method. + +René Scharfe (10): + fsck: fix a typo in a comment + t1450: increase test coverage of in-tree d/f detection + t1450: demonstrate undetected in-tree d/f conflict + fsck: detect more in-tree d/f conflicts + checkout: add tests for -b and --track + checkout: improve error messages for -b with extra argument + commit-reach: plug minor memory leak after using is_descendant_of() + pull: plug minor memory leak after using is_descendant_of() + revision: reallocate TOPO_WALK object flags + revision: disable min_age optimization with line-log + +SZEDER Gábor (4): + line-log: remove unused fields from 'struct line_log_data' + t4211-line-log: add tests for parent oids + line-log: more responsive, incremental 'git log -L' + line-log: try to use generation number-based topo-ordering + +Shourya Shukla (1): + submodule: port subcommand 'set-branch' from shell to C + +Srinidhi Kaushik (1): + diff-files: treat "i-t-a" files as "not-in-index" + +Taylor Blau (11): + commit-graph.c: extract 'refs_cb_data' + commit-graph.c: show progress of finding reachable commits + commit-graph.c: peel refs in 'add_ref_to_set' + builtin/commit-graph.c: extract 'read_one_commit()' + builtin/commit-graph.c: dereference tags in builtin + commit-graph.c: simplify 'fill_oids_from_commits' + t5318: reorder test below 'graph_read_expect' + commit-graph: drop COMMIT_GRAPH_WRITE_CHECK_OIDS flag + t5318: use 'test_must_be_empty' + t5318: test that '--stdin-commits' respects '--[no-]progress' + commit.c: don't persist substituted parents when unshallowing + +Ville Skyttä (2): + completion: don't override given stash subcommand with -p + completion: nounset mode fixes + +Xin Li (4): + repository: add a helper function to perform repository format upgrade + fetch: allow adding a filter after initial clone + sparse-checkout: upgrade repository to version 1 when enabling extension + check_repository_format_gently(): refuse extensions for old repositories + +brian m. carlson (61): + t1050: match object ID paths in a hash-insensitive way + Documentation: document v1 protocol object-format capability + builtin/checkout: simplify metadata initialization + t2060: add a test for switch with --orphan and --discard-changes + connect: have ref processing code take struct packet_reader + wrapper: add function to compare strings with different NUL termination + remote: advertise the object-format capability on the server side + connect: add function to parse multiple v1 capability values + connect: add function to fetch value of a v2 server capability + pkt-line: add a member for hash algorithm + transport: add a hash algorithm member + connect: add function to detect supported v1 hash functions + send-pack: detect when the server doesn't support our hash + connect: make parse_feature_value extern + fetch-pack: detect when the server doesn't support our hash + connect: detect algorithm when fetching refs + builtin/receive-pack: detect when the server doesn't support our hash + docs: update remote helper docs for object-format extensions + transport-helper: implement object-format extensions + remote-curl: implement object-format extensions + builtin/clone: initialize hash algorithm properly + t5562: pass object-format in synthesized test data + fetch-pack: parse and advertise the object-format capability + setup: set the_repository's hash algo when checking format + t3200: mark assertion with SHA1 prerequisite + packfile: compute and use the index CRC offset + t5302: modernize test formatting + builtin/show-index: provide options to determine hash algo + t1302: expect repo format version 1 for SHA-256 + Documentation/technical: document object-format for protocol v2 + connect: pass full packet reader when parsing v2 refs + connect: parse v2 refs with correct hash algorithm + serve: advertise object-format capability for protocol v2 + t5500: make hash independent + builtin/ls-remote: initialize repository based on fetch + remote-curl: detect algorithm for dumb HTTP by size + builtin/index-pack: add option to specify hash algorithm + t1050: pass algorithm to index-pack when outside repo + remote-curl: avoid truncating refs with ls-remote + t/helper: initialize the repository for test-sha1-array + t5702: offer an object-format capability in the test + t5703: use object-format serve option + t5704: send object-format capability with SHA-256 + t5300: pass --object-format to git index-pack + bundle: detect hash algorithm when reading refs + remote-testgit: adapt for object-format + t9109: make test hash independent + t9168: make test hash independent + t9108: make test hash independent + t9100: make test work with SHA-256 + t9104: make hash size independent + t9101: make hash independent + t/lib-git-svn: make hash size independent + perl: create and switch variables for hash constants + perl: make Git::IndexInfo work with SHA-256 + perl: make SVN code hash independent + git-svn: set the OID length based on hash algorithm + git-cvsserver: port to SHA-256 + git-cvsimport: port to SHA-256 + git-cvsexportcommit: port to SHA-256 + http-push: ensure unforced pushes fail when data would be lost + +Đoàn Trần Công Danh (1): + contrib: subtree: adjust test to change in fmt-merge-msg + + +Version v2.27.1; changes since v2.27.0: +--------------------------------------- + +Johannes Schindelin (12): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + Git 2.21.4 + Git 2.22.5 + Git 2.23.4 + Git 2.24.4 + Git 2.25.5 + Git 2.26.3 + Git 2.27.1 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.27.0; changes since v2.27.0-rc2: +------------------------------------------- + +Alessandro Menti (2): + l10n: it.po: update the Italian translation for Git 2.27.0 round 1 + l10n: it.po: update for Git 2.27.0 round #2 + +Alexander Shopov (2): + l10n: bg.po: Updated Bulgarian translation (4868t) + l10n: bg.po: Updated Bulgarian translation (4875t) + +Carlo Marcelo Arenas Belón (1): + t: avoid alternation (not POSIX) in grep's BRE + +Christopher Diaz Riveros (1): + l10n: es: 2.27.0 round 1 + +Emir Sarı (2): + l10n: tr: v2.27.0 round 1 + l10n: tr: v2.27.0 round 2 + +Jan Engelhardt (1): + l10n: de.po: Fix typo in the German translation of octopus + +Jean-Noël Avila (2): + l10n: fr v2.27.0 rnd 1 + l10n: fr.po v2.27.0 rnd 2 + +Jiang Xin (3): + l10n: git.pot: v2.27.0 round 1 (72 new, 37 removed) + l10n: git.pot: v2.27.0 round 2 (+1) + l10n: zh_CN: for git v2.27.0 l10n round 1~2 + +Jordi Mas (3): + l10n: Update Catalan translation + l10n: Update Catalan translation + l10n: Update Catalan translation + +Junio C Hamano (1): + Git 2.27 + +Martin Ågren (1): + rev-list-options.txt: start a list for `show-pulls` + +Matthias Rüster (1): + l10n: de.po: Update German translation for Git 2.27.0 + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (4839t0f0u) + l10n: sv.po: Update Swedish translation (4875t0f0u) + +Toon Claes (1): + Documentation: correct hash environment variable + +Trần Ngọc Quân (2): + l10n: vi(4874t): Updated Vietnamses translation for 2.27.0 + l10n: vi(4875t): Updated Vietnamses translation for 2.27.0rd2 + +Yi-Jyun Pan (2): + l10n: zh_TW.po: v2.27.0 round 1 (0 untranslated) + l10n: zh_TW.po: v2.27.0 round 2 (0 untranslated) + +Đoàn Trần Công Danh (1): + ci/config: correct instruction for CI preferences + + +Version v2.27.0-rc2; changes since v2.27.0-rc1: +----------------------------------------------- + +Ansgar Röber (1): + Subject: git-gui: fix syntax error because of missing semicolon + +Carlo Marcelo Arenas Belón (3): + t4216: avoid unnecessary subshell in test_bloom_filters_not_used + t5520: avoid alternation in grep's BRE (not POSIX) + bisect: avoid tailing CR characters from revision in replay + +Derrick Stolee (1): + fsck: use ERROR_MULTI_PACK_INDEX + +Greg Price (1): + tests: skip small-stack tests on hppa architecture + +Ismael Luceno (1): + git-gui: Handle Ctrl + BS/Del in the commit msg + +Jonathan Tan (1): + t4067: make rename detection test output raw diff + +Junio C Hamano (2): + Hopefully final batch before 2.27-rc2 + Git 2.27-rc2 + +Martin Ågren (5): + date-formats.txt: fix list continuation + git-commit-graph.txt: fix grammo + git-commit-graph.txt: fix list rendering + git-credential.txt: use list continuation + git-sparse-checkout.txt: add missing ' + +Philippe Blain (1): + command-list.txt: add gitfaq to the list of guides + +Todd Zullinger (1): + gitfaq: avoid validation error with older asciidoc + +Đoàn Trần Công Danh (1): + t5703: replace "grep -a" usage by perl + + +Version v2.27.0-rc1; changes since v2.27.0-rc0: +----------------------------------------------- + +Abhishek Kumar (1): + commit-slab-decl.h: update include guard + +Carlo Marcelo Arenas Belón (1): + compat: remove gmtime + +Derrick Stolee (1): + progress: call trace2_region_leave() only after calling _enter() + +Elijah Newren (2): + merge-recursive: fix rename/rename(1to2) for working tree with a binary + unpack-trees: also allow get_progress() to work on a different index + +Johannes Schindelin (1): + ci: avoid pounding on the poor ci-artifacts container + +Junio C Hamano (4): + Revert "t/test_lib: avoid naked bash arrays in file_lineno" + Revert "ci: add a problem matcher for GitHub Actions" + Revert "tests: when run in Bash, annotate test failures with file name/line number" + Git 2.27-rc1 + +Todd Zullinger (1): + git-bugreport.txt: adjust reference to strftime(3) + +Đoàn Trần Công Danh (1): + t1509: correct i18n test + + +Version v2.27.0-rc0; changes since v2.26.3: +------------------------------------------- + +Alban Gruin (3): + sequencer: mark messages for translation + sequencer: don't abbreviate a command if it doesn't have a short form + t3432: test `--merge' with `rebase.abbreviateCommands = true', too + +Alex Henrie (1): + pull: warn if the user didn't say whether to rebase or to merge + +Alexandr Miloslavskiy (4): + set_git_dir: fix crash when used with real_path() + real_path: remove unsafe API + real_path_if_valid(): remove unsafe API + get_superproject_working_tree(): return strbuf + +Andras Kucsma (1): + run-command: trigger PATH lookup properly on Cygwin + +Andrei Rybak (2): + t9500: remove spaces after redirect operators + t: fix whitespace around && + +Andrew Oakley (1): + git-p4: recover from inconsistent perforce history + +Ash Holland (1): + userdiff: support Markdown + +Ben Keene (8): + git-p4: change the expansion test from basestring to list + git-p4: rewrite prompt to be Windows compatible + git-p4: create new function run_git_hook + git-p4: add p4-pre-submit exit text + git-p4: add --no-verify option + git-p4: restructure code in submit + git-p4: add p4 submit hooks + git-p4: add RCS keyword status message + +Carlo Marcelo Arenas Belón (8): + credential-store: ignore bogus lines from store file + credential: update description for credential_from_url_gently + credential: correct order of parameters for credential_match + builtin/receive-pack: avoid generic function name hmac() + t/t0000-basic: make sure subtests also use TEST_SHELL_PATH + t/test_lib: avoid naked bash arrays in file_lineno + credential: update gitcredentials documentation + credential: document protocol updates + +Christian Couder (1): + upload-pack: clear filter_options for each v2 fetch command + +Christopher Warrington (1): + bisect: allow CRLF line endings in "git bisect replay" input + +Damien Robert (6): + midx.c: fix an integer underflow + doc: list all commands affected by submodule.recurse + doc: document --recurse-submodules for reset and restore + doc: explain how to deactivate submodule.recurse completely + doc: be more precise on (fetch|push).recurseSubmodules + doc: --recurse-submodules mostly applies to active submodules + +Denton Liu (45): + Makefile: ASCII-sort += lists + t7600: use test_write_lines() + Lib-ify fmt-merge-msg + Lib-ify prune-packed + t5512: don't use `test_must_fail test_cmp` + t5512: stop losing git exit code in here-docs + t5512: stop losing return codes of git commands + t5550: simplify no matching line check + t5607: reorder `nongit test_must_fail` + t5612: don't use `test_must_fail test_cmp` + t5612: stop losing return codes of git commands + t5801: teach compare_refs() to accept ! + wrapper: indent with tabs + sequencer: stop leaking buf + sequencer: make file exists check more efficient + sequencer: make read_oneliner() accept flags + sequencer: configurably warn on non-existent files + sequencer: make read_oneliner() extern + rebase: use read_oneliner() + sequencer: make apply_autostash() accept a path + sequencer: rename stash_sha1 to stash_oid + rebase: use apply_autostash() from sequencer.c + rebase: generify reset_head() + reset: extract reset_head() from rebase + rebase: extract create_autostash() + rebase: generify create_autostash() + sequencer: extract perform_autostash() from rebase + sequencer: unlink autostash in apply_autostash() + sequencer: implement save_autostash() + sequencer: implement apply_autostash_oid() + merge: teach --autostash option + t5520: make test_pull_autostash() accept expect_parent_num + pull: pass --autostash to merge + t6030: use test_path_is_missing() + t7408: replace incorrect uses of test_must_fail + t7508: don't use `test_must_fail test_cmp` + t9141: use test_path_is_missing() + t9160: use test_path_is_missing() + t9164: use test_must_fail only on git commands + t9819: don't use test_must_fail with p4 + Use OPT_CALLBACK and OPT_CALLBACK_F + push: unset PARSE_OPT_OPTARG for --recurse-submodules + rebase: save autostash entry into stash reflog on --quit + switch: fix errors and comments related to -c and -C + Doc: reference the "stash list" in autostash docs + +Derrick Stolee (25): + connected.c: reprepare packs for corner cases + config: set pack.useSparse=true by default + pack-objects: flip the use of GIT_TEST_PACK_SPARSE + clone: document --filter options + diff: halt tree-diff early after max_changes + dir: refactor treat_directory to clarify control flow + commit-graph: fix buggy --expire-time option + t5319: replace 'touch -m' with 'test-tool chmtime' + bloom: ignore renames when computing changed paths + revision: --show-pulls adds helpful merges + log-tree: make ref_filter_match() a helper method + log: add log.excludeDecoration config option + revision: complicated pathspecs disable filters + tests: write commit-graph with Bloom filters + blame: use changed-path Bloom filters + multi-pack-index: close file descriptor after mmap + bloom: fix whitespace around tab length + test-bloom: fix usage typo + sparse-checkout: stop blocking empty workdirs + unpack-trees: avoid array out-of-bounds error + multi-pack-index: respect repack.packKeptObjects=false + bloom: parse commit before computing filters + Documentation: changed-path Bloom filters use byte words + bloom: de-duplicate directory entries + bloom: use num_changes not nr for limit detection + +Elijah Newren (37): + oidset: remove unnecessary include + unpack-trees: fix minor typo in comment + unpack-trees: remove unused error type + unpack-trees: simplify verify_absent_sparse() + unpack-trees: simplify pattern_list freeing + t1091: make some tests a little more defensive against failures + unpack-trees: allow check_updates() to work on a different index + unpack-trees: do not mark a dirty path with SKIP_WORKTREE + unpack-trees: pull sparse-checkout pattern reading into a new function + unpack-trees: add a new update_sparsity() function + sparse-checkout: use new update_sparsity() function + sparse-checkout: use improved unpack_trees porcelain messages + unpack-trees: move ERROR_WOULD_LOSE_SUBMODULE earlier + unpack-trees: rename ERROR_* fields meant for warnings to WARNING_* + unpack-trees: split display_error_msgs() into two + unpack-trees: make sparse path messages sound like warnings + unpack-trees: provide warnings on sparse updates for unmerged paths too + unpack-trees: failure to set SKIP_WORKTREE bits always just a warning + sparse-checkout: provide a new reapply subcommand + pull: avoid running both merge and rebase + t7063: more thorough status checking + t3000: add more testcases testing a variety of ls-files issues + dir: fix simple typo in comment + dir: consolidate treat_path() and treat_one_path() + dir: fix broken comment + dir: fix confusion based on variable tense + dir: replace exponential algorithm with a linear one + dir: include DIR_KEEP_UNTRACKED_CONTENTS handling in treat_directory() + dir: replace double pathspec matching with single in treat_directory() + Fix error-prone fill_directory() API; make it only return matches + completion: fix 'git add' on paths under an untracked directory + git-rebase.txt: add another hook to the hooks section, and explain more + sequencer: honor GIT_REFLOG_ACTION + rebase -i: mark commits that begin empty in todo editor + rebase: reinstate --no-keep-empty + rebase: fix an incompatible-options error message + rebase: display an error if --root and --fork-point are both provided + +Emily Shaffer (8): + help: move list_config_help to builtin/help + bugreport: add tool to generate debugging info + bugreport: gather git version and build info + bugreport: add uname info + bugreport: add compiler info + bugreport: drop extraneous includes + bugreport: collect list of populated hooks + trace2: log progress time and throughput + +Emma Brooks (3): + format-patch: teach --no-encode-email-headers + Documentation: explain "mboxrd" pretty format + gitweb: Recognize *-to and Closes/Fixes trailers + +Eric Sunshine (1): + restore: default to HEAD when combining --staged and --worktree + +Garima Singh (13): + commit-graph: define and use MAX_NUM_CHUNKS + bloom.c: add the murmur3 hash implementation + bloom.c: introduce core Bloom filter constructs + bloom.c: core Bloom filter implementation for changed paths. + commit-graph: compute Bloom filters for changed paths + commit-graph: examine commits by generation number + commit-graph: write Bloom filters to commit graph file + commit-graph: reuse existing Bloom filters during write + commit-graph: add --changed-paths option to write subcommand + revision.c: use Bloom filters to speed up path based revision walks + revision.c: add trace2 stats around Bloom filter usage + t4216: add end to end tests for git log with Bloom filters + commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag + +Hans Jerry Illikainen (2): + t: increase test coverage of signature verification output + gpg-interface: prefer check_signature() for GPG verification + +Heba Waly (4): + advice: extract vadvise() from advise() + advice: change "setupStreamFailure" to "setUpstreamFailure" + advice: revamp advise API + tag: use new advice API to check visibility + +Jeff King (41): + t3419: drop EXPENSIVE tests + t/lib-credential.sh: drop shebang line + t/lib-*.sh: drop executable bit + test-lib-functions: make packetize() more efficient + upload-pack: handle unexpected delim packets + p5310: stop timing non-bitmap pack-to-disk + Makefile: avoid running curl-config multiple times + Makefile: use curl-config --cflags + test-lib-functions: simplify packetize() stdin code + commit-graph: examine changed-path objects in pack order + oid_array: use size_t for count and allocation + oid_array: use size_t for iteration + oid_array: rename source file from sha1-array + test-tool: rename sha1-array to oid-array + bisect: stop referring to sha1_array + ref-filter: stop referring to "sha1 array" + oidset: stop referring to sha1-array + clone: use "quick" lookup while following tags + Makefile: avoid running curl-config unnecessarily + fast-import: replace custom hash with hashmap.c + repository: mark the "refs" pointer as private + remote: drop auto-strlen behavior of make_branch() and make_rewrite() + parse_config_key(): return subsection len as size_t + config: drop useless length variable in write_pair() + git_config_parse_key(): return baselen as size_t + config: use size_t to store parsed variable baselen + config: reject parsing of files over INT_MAX + credential: treat "?" and "#" in URLs as end of host + blame: drop unused parameter from maybe_changed_path + test-bloom: fix some whitespace issues + test-bloom: check that we have expected arguments + commit-graph: close descriptors after mmap + t0000: disable GIT_TEST_FAIL_PREREQS in sub-tests + gitcredentials(7): clarify quoting of helper examples + gitcredentials(7): make shell-snippet example more realistic + CodingGuidelines: drop arithmetic expansion advice to use "$x" + ref-filter: apply --ignore-case to all sorting keys + ref-filter: apply fallback refname sort only after all user sorts + list-objects-filter: treat NULL filter_options as "disabled" + pack-bitmap: pass object filter to fill-in traversal + ci: allow per-branch config for GitHub Actions + +Jessica Clarke (1): + config.mak.uname: Define FREAD_READS_DIRECTORIES for GNU/Hurd + +Jiang Xin (5): + send-pack: fix inconsistent porcelain output + t5543: never report what we do not push + send-pack: mark failure of atomic push properly + transport-helper: mark failure for atomic push + transport-helper: new method reject_atomic_push() + +Johannes Schindelin (36): + cherry-pick: add test for `--skip` advice in `git commit` + tests(junit-xml): avoid invalid XML + import-tars: ignore the global PAX header + tests(gpg): allow the gpg-agent to start on Windows + t/lib-gpg.sh: stop pretending to be a stand-alone script + tests: do not let lazy prereqs inside `test_expect_*` turn off tracing + tests: turn GPG, GPGSM and RFC1991 into lazy prereqs + tests: increase the verbosity of the GPG-related prereqs + MyFirstObjectWalk: remove unnecessary conditional statement + t0007: fix a typo + ci/lib: if CI type is unknown, show the environment variables + ci/lib: allow running in GitHub Actions + ci: fix the `jobname` of the `GETTEXT_POISON` job + subtree: fix build with AsciiDoctor 2 + mingw: do not treat `COM0` as a reserved file name + t3904: fix incorrect demonstration of a bug + stash -p: (partially) fix bug concerning split hunks + mingw: help debugging by optionally executing bash with strace + interactive: refactor code asking the user for interactive input + ci: run gem with sudo to install asciidoctor + README: add a build badge for the GitHub Actions runs + ci: retire the Azure Pipelines definition + tests: when run in Bash, annotate test failures with file name/line number + ci: add a problem matcher for GitHub Actions + ci: let GitHub Actions upload failed tests' directories + t: consolidate the `is_hidden` functions + mingw: make test_path_is_hidden more robust + t: restrict `is_hidden` to be called only on Windows + credential: fix grammar + credential: optionally allow partial URLs in credential_from_url_gently() + credential: optionally allow partial URLs in credential_from_url_gently() + credential: handle `credential.<partial-URL>.<key>` again + macOS/brew: let the build find gettext headers/libraries/msgfmt + push: anonymize URLs in error messages and warnings + credential: handle `credential.<partial-URL>.<key>` again + rebase --autosquash: fix a potential segfault + +Jonathan Nieder (1): + Revert "fetch: default to protocol version 2" + +Jonathan Tan (11): + connected: always use partial clone optimization + promisor-remote: accept 0 as oid_nr in function + diff: make diff_populate_filespec_options struct + diff: refactor object read + diff: restrict when prefetching occurs + rebase --merge: optionally skip upstreamed commits + fetch-pack: return enum from process_acks() + fetch-pack: in protocol v2, in_vain only after ACK + fetch-pack: in protocol v2, reset in_vain upon ACK + commit-graph: avoid memory leaks + t5500: count objects through stderr, not trace + +Jorge Lopez Silva (2): + http: add client cert support for HTTPS proxies + http: add environment variable support for HTTPS proxies + +Josh Steadmon (1): + trace2: teach Git to log environment variables + +Julien Moutinho (1): + gitweb: fix UTF-8 encoding when using CGI::Fast + +Junio C Hamano (26): + rebase: --fork-point regression fix + describe: force long format for a name based on a mislocated tag + update how-to-maintain-git + parse-options: teach "git cmd -h" to show alias as alias + clone: reorder --recursive/--recurse-submodules + log: give --[no-]use-mailmap a more sensible synonym --[no-]mailmap + separate tar.* config to its own source file + The first batch post 2.26 cycle + The second batch post 2.26 cycle + t/README: suggest how to leave test early with failure + CodingGuidelines: allow ${#posix} == strlen($posix) + sha1-name: do not assume that the ref store is initialized + receive-pack: compilation fix + The third batch + The fourth batch + credential-store: document the file format a bit more + Revert "commit-graph.c: introduce '--[no-]check-oids'" + The fifth batch + The sixth batch + The seventh batch + auto-gc: extract a reusable helper from "git fetch" + auto-gc: pass --quiet down from am, commit, merge and rebase + CodingGuidelines: do not ==/!= compare with 0 or '\0' or NULL + The eighth batch + The ninth batch + Git 2.27-rc0 + +Li Xuejiang (1): + git-submodule.sh: setup uninitialized variables + +Martin Ågren (9): + Doc: drop support for docbook-xsl before 1.71.1 + Doc: drop support for docbook-xsl before 1.72.0 + Doc: drop support for docbook-xsl before 1.73.0 + manpage-bold-literal.xsl: stop using git.docbook.backslash + manpage-normal.xsl: fold in manpage-base.xsl + INSTALL: drop support for docbook-xsl before 1.74 + user-manual.conf: don't specify [listingblock] + config.txt: move closing "----" to cover entire listing + merge: use skip_prefix to parse config key + +Matheus Tavares (3): + test-lib: allow short options to be bundled + grep: follow conventions for printing paths w/ unusual chars + config doc: fix reference to config.worktree info + +Matthias Aßhauer (1): + mingw: use modern strftime implementation if possible + +Michael F. Schönitzer (1): + docs: fix minor glitch in illustration + +Nathan Sanders (1): + mingw: cope with the Isilon network file system + +Patrick Steinhardt (9): + refs: fix segfault when aborting empty transaction + git-update-ref.txt: add missing word + strbuf: provide function to append whole lines + update-ref: organize commands in an array + update-ref: drop unused argument for `parse_refname` + update-ref: pass end pointer instead of strbuf + update-ref: move transaction handling into `update_refs_stdin()` + update-ref: read commands in a line-wise fashion + update-ref: implement interactive transaction handling + +Philippe Blain (9): + t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED + t/lib-submodule-update: remove outdated test description + t/lib-submodule-update: move a test to the right section + unpack-trees: remove outdated description for verify_clean_submodule + unpack-trees: check for missing submodule directory in merged_entry + t/lib-submodule-update: add test removing nested submodules + git-rebase.txt: fix typo + pull doc: refer to a specific section in 'fetch' doc + pull doc: correct outdated description of an example + +Phillip Wood (6): + t3404: use test_cmp_rev + cherry-pick: check commit error messages + sequencer: write CHERRY_PICK_HEAD for reword and edit + commit: use enum value for multiple cherry-picks + commit: encapsulate determine_whence() for sequencer + commit: give correct advice for empty commit during a rebase + +René Scharfe (4): + pull: document more passthru options + pull: remove --update-head-ok from documentation + pull: pass documented fetch options on + fsck: report non-consecutive duplicate names in trees + +SZEDER Gábor (4): + ci: use python3 in linux-gcc and osx-gcc and python2 elsewhere + commit-slab: clarify slabname##_peek()'s return value + ci: make MAKEFLAGS available inside the Docker container in the Linux32 job + completion: offer '--(no-)patch' among 'git log' options + +Shourya Shukla (4): + submodule--helper.c: Rename 'cb_foreach' to 'foreach_cb' + gitfaq: files in .gitignore are tracked + gitfaq: fetching and pulling a repository + submodule: port subcommand 'set-url' from shell to C + +Son Luong Ngoc (1): + midx: teach "git multi-pack-index repack" honor "git repack" configurations + +Taylor Blau (24): + t/helper/test-read-graph.c: support commit-graph chains + builtin/commit-graph.c: support for '--split[=<strategy>]' + builtin/commit-graph.c: introduce split strategy 'no-merge' + builtin/commit-graph.c: introduce split strategy 'replace' + oidset: introduce 'oidset_size' + commit-graph.h: replace 'commit_hex' with 'commits' + commit-graph.c: introduce '--[no-]check-oids' + diff-tree.c: load notes machinery when required + commit-graph.c: don't use discarded graph_name in error + t/test-lib.sh: make ULIMIT_FILE_DESCRIPTORS available to tests + commit-graph.c: gracefully handle file descriptor exhaustion + t5537: use test_write_lines and indented heredocs for readability + shallow.c: use '{commit,rollback}_shallow_file' + tempfile.c: introduce 'create_tempfile_mode' + lockfile.c: introduce 'hold_lock_file_for_update_mode' + commit-graph.c: write non-split graphs as read-only + commit-graph.c: ensure graph layers respect core.sharedRepository + commit-graph.c: make 'commit-graph-chain's read-only + commit: make 'commit_graft_pos' non-static + shallow: extract a header file for shallow-related functions + shallow.h: document '{commit,rollback}_shallow_file' + shallow: use struct 'shallow_lock' for additional safety + pack-bitmap.c: make object filtering functions generic + pack-bitmap.c: support 'tree:0' filtering + +Terry Moschou (1): + complete: zsh: add missing sub cmd completion candidates + +Thomas Gummerer (2): + stash: get git_stash_config at the top level + stash: remove the stash.useBuiltin setting + +Vasil Dimov (2): + range-diff: fix a crash in parsing git-log output + range-diff: avoid negative string precision + +Yang Zhao (12): + git-p4: make python2.7 the oldest supported version + git-p4: remove string type aliasing + git-p4: encode/decode communication with p4 for python3 + git-p4: encode/decode communication with git for python3 + git-p4: convert path to unicode before processing them + git-p4: open .gitp4-usercache.txt in text mode + git-p4: use marshal format version 2 when sending to p4 + git-p4: fix freezing while waiting for fast-import progress + git-p4: use functools.reduce instead of reduce + git-p4: use dict.items() iteration for python3 compatibility + git-p4: simplify regex pattern generation for parsing diff-tree + git-p4: use python3's input() everywhere + +brian m. carlson (34): + builtin/pack-objects: make hash agnostic + hash: implement and use a context cloning function + hex: introduce parsing variants taking hash algorithms + hex: add functions to parse hex object IDs in any algorithm + repository: require a build flag to use SHA-256 + t: use hash-specific lookup tables to define test constants + t6300: abstract away SHA-1-specific constants + t6300: make hash algorithm independent + t/helper/test-dump-split-index: initialize git repository + t/helper: initialize repository if necessary + t/helper: make repository tests hash independent + setup: allow check_repository_format to read repository format + builtin/init-db: allow specifying hash algorithm on command line + builtin/init-db: add environment variable for new repo hash + init-db: move writing repo version into a function + worktree: allow repository version 1 + commit: use expected signature header for SHA-256 + fast-import: permit reading multiple marks files + fast-import: add helper function for inserting mark object entries + fast-import: make find_marks work on any mark set + fast-import: add a generic function to iterate over marks + fast-import: add options for rewriting submodules + builtin/checkout: pass branch info down to checkout_worktree + convert: permit passing additional metadata to filter processes + convert: provide additional metadata to filters + builtin/checkout: compute checkout metadata for checkouts + builtin/clone: compute checkout metadata for clones + builtin/rebase: compute checkout metadata for rebases + builtin/reset: compute checkout metadata for reset + t0021: test filter metadata for additional cases + docs: add a FAQ + builtin/receive-pack: use constant-time comparison for HMAC value + credential: fix matching URLs with multiple levels in path + docs: document credential.helper allowed values + +luciano.rocha@booking.com (1): + freshen_file(): use NULL `times' for implicit current-time + +Đoàn Trần Công Danh (34): + t4061: use POSIX compliant regex(7) + test-lib-functions: test_cmp: eval $GIT_TEST_CMP + t5003: drop the subshell in test_lazy_prereq + t5003: skip conversion test if unzip -a is unavailable + t5616: use rev-parse instead to get HEAD's object_id + t7063: drop non-POSIX argument "-ls" from find(1) + t4124: tweak test so that non-compliant diff(1) can also be used + t5703: feed raw data into test-tool unpack-sideband + rebase.c: honour --no-gpg-sign + cherry-pick/revert: honour --no-gpg-sign in all case + Documentation: document am --no-gpg-sign + Documentation: reword commit --no-gpg-sign + Documentation: merge commit-tree --[no-]gpg-sign + Documentation: document merge option --no-gpg-sign + ci/lib-docker: preserve required environment variables + ci/linux32: parameterise command to switch arch + ci: refactor docker runner script + ci/linux32: libify install-dependencies step + travis: build and test on Linux with musl libc and busybox + ci/lib: set TERM environment variable if not exist + ci: explicit install all required packages + ci: configure GitHub Actions for CI/PR + t4254: merge 2 steps of a single test + mailinfo.c: avoid strlen on strings that can contains NUL + mailinfo: disallow NUL character in mail's header + date.c: s/is_date/set_date/ + date.c: validate and set time in a helper function + date.c: skip fractional second part of ISO-8601 + date.c: allow compact version of ISO-8601 datetime + test-parse-pathspec-file.c: s/0/NULL/ for pointer type + compat/regex: move stdlib.h up in inclusion chain + graph.c: limit linkage of internal variable + progress.c: silence cgcc suggestion about internal linkage + bloom: fix `make sparse` warning + +마누엘 (1): + interactive: explicitly `fflush` stdout before expecting input + + +Version v2.26.3; changes since v2.26.2: +--------------------------------------- + +Johannes Schindelin (11): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + Git 2.21.4 + Git 2.22.5 + Git 2.23.4 + Git 2.24.4 + Git 2.25.5 + Git 2.26.3 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.26.2; changes since v2.26.1: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.26.1; changes since v2.26.0: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.26.0; changes since v2.26.0-rc2: +------------------------------------------- + +Alessandro Menti (2): + l10n: it.po: update the Italian translation for Git 2.26.0 round 1 + l10n: it.po: update the Italian translation for Git 2.26.0 round 2 + +Alexander Shopov (2): + l10n: bg.po: Updated Bulgarian translation (4835t) + l10n: bg.po: Updated Bulgarian translation (4839t) + +Beat Bolli (1): + unicode: update the width tables to Unicode 13.0 + +Christian Stimming (3): + git-gui: update pot template and German translation to current source code + git-gui: extend translation glossary template with more terms + git-gui: update German translation + +Christopher Diaz Riveros (1): + l10n: es: 2.26.0 round#2 + +Elijah Newren (1): + RelNotes/2.26.0: fix various typos + +Emir Sarı (5): + l10n: tr: Add Turkish translation team info + l10n: tr: Add Turkish translations + l10n: tr: Add glossary for Turkish translations + l10n: tr: v2.26.0 round 2 + l10n: tr: Fix a couple of ambiguities + +Fangyi Zhou (1): + l10n: zh_CN: Revise v2.26.0 translation + +Jean-Noël Avila (2): + l10n: fr v2.26.0 rnd1 + l10n: fr : v2.26.0 rnd 2 + +Jiang Xin (4): + l10n: git.pot: v2.26.0 round 1 (73 new, 38 removed) + l10n: git.pot: v2.26.0 round 2 (7 new, 2 removed) + l10n: zh_CN: for git v2.26.0 l10n round 1 and 2 + l10n: tr.po: change file mode to 644 + +Jordi Mas (3): + l10n: Update Catalan translation + l10n: Update Catalan translation + l10n: Update Catalan translation + +Junio C Hamano (2): + Git 2.25.2 + Git 2.26 + +Luke Bonanomi (1): + git-gui--askpass: coerce answers to UTF-8 on Windows + +Matthias Rüster (1): + l10n: de.po: Update German translation for Git 2.26.0 + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (4835t0f0u) + l10n: sv.po: Update Swedish translation (4839t0f0u) + +Pratyush Yadav (4): + git-gui: add missing close bracket + git-gui: fix error popup when doing blame -> "Show History Context" + git-gui: reduce Tcl version requirement from 8.6 to 8.5 + git-gui: create a new namespace for chord script evaluation + +Ralf Thielow (1): + l10n: de.po: add missing space + +Trần Ngọc Quân (1): + l10n: vi(4839t): Updated Vietnamese translation for v2.26.0 + +Yi-Jyun Pan (2): + l10n: zh_TW.po: v2.26.0 round 1 (11 untranslated) + l10n: zh_TW.po: v2.26.0 round 2 (0 untranslated) + +brian m. carlson (1): + t3419: prevent failure when run with EXPENSIVE + +Đoàn Trần Công Danh (1): + l10n: vi: fix translation + grammar + + +Version v2.26.0-rc2; changes since v2.26.0-rc1: +----------------------------------------------- + +Elijah Newren (3): + sequencer: clear state upon dropping a become-empty commit + git-rebase.txt: highlight backend differences with commit rewording + t6022, t6046: fix flaky files-are-updated checks + +Emily Shaffer (1): + prefix_path: show gitdir if worktree unavailable + +Jeff King (1): + remote: drop "explicit" parameter from remote_ref_for_branch() + +Jiang Xin (1): + i18n: unmark a message in rebase.c + +Junio C Hamano (3): + Documentation: clarify that `-h` alone stands for `help` + Hopefully the final batch before -rc2 + Git 2.26-rc2 + +Martin Ågren (1): + t1091: don't grep for `strerror()` string + + +Version v2.26.0-rc1; changes since v2.26.0-rc0: +----------------------------------------------- + +Alexandr Miloslavskiy (9): + doc: rm: synchronize <pathspec> description + rm: support the --pathspec-from-file option + doc: stash: split options from description (1) + doc: stash: split options from description (2) + doc: stash: document more options + doc: stash: synchronize <pathspec> description + stash: eliminate crude option parsing + stash push: support the --pathspec-from-file option + mingw: workaround for hangs when sending STDIN + +Elijah Newren (6): + merge-recursive: apply collision handling unification to recursive case + t602[1236], t6034: modernize test formatting + t6020, t6022, t6035: update merge tests to use test helper functions + t3035: prefer test_must_fail to bash negation for git commands + t6022, t6046: test expected behavior instead of testing a proxy for it + t6020: new test with interleaved lexicographic ordering of directories + +Harald van Dijk (1): + show_one_mergetag: print non-parent in hex form. + +Jeff King (1): + config.mak.dev: re-enable -Wformat-zero-length + +Junio C Hamano (1): + Git 2.26-rc1 + +Kir Kolyshkin (1): + completion: add diff --color-moved[-ws] + +Paolo Bonzini (5): + parse-options: add testcases for OPT_CMDMODE() + parse-options: convert "command mode" to a flag + am: convert "resume" variable to a struct + am: support --show-current-patch=raw as a synonym for--show-current-patch + am: support --show-current-patch=diff to retrieve .git/rebase-apply/patch + +Ralf Thielow (1): + rebase-interactive.c: silence format-zero-length warnings + +Rasmus Jonsson (1): + t1050: replace test -f with test_path_is_file + +René Scharfe (1): + remote-curl: show progress for fetches over dumb HTTP + + +Version v2.26.0-rc0; changes since v2.25.5: +------------------------------------------- + +Abhishek Kumar (2): + lib-log-graph: consolidate test_cmp_graph logic + lib-log-graph: consolidate colored graph cmp logic + +Alban Gruin (4): + rebase -i: stop checking out the tip of the branch to rebase + sequencer: move check_todo_list_from_file() to rebase-interactive.c + rebase-interactive: warn if commit is dropped with `rebase --edit-todo' + builtin/rebase: remove a call to get_oid() on `options.switch_to' + +Alexandr Miloslavskiy (5): + parse_branchname_arg(): extract part as new function + checkout: don't revert file on ambiguous tracking branches + t: add tests for error conditions with --pathspec-from-file + t: fix quotes tests for --pathspec-from-file + t: directly test parse_pathspec_file() + +Benno Evers (1): + describe: don't abort too early when searching tags + +Bert Wesarg (6): + pull --rebase/remote rename: document and honor single-letter abbreviations rebase types + remote: clean-up by returning early to avoid one indentation + remote: clean-up config callback + remote rename/remove: handle branch.<name>.pushRemote config values + config: provide access to the current line number + remote rename/remove: gently handle remote.pushDefault config + +Denton Liu (32): + t/lib-git-p4: use test_path_is_missing() + t0000: replace test_must_fail with run_sub_test_lib_test_err() + t0003: use named parameters in attr_check() + t0003: use test_must_be_empty() + t0003: don't use `test_must_fail attr_check` + t0020: don't use `test_must_fail has_cr` + t0020: use ! check_packed_refs_marked + t1306: convert `test_might_fail rm` to `rm -f` + t1307: reorder `nongit test_must_fail` + t1409: let sed open its own input file + t1409: use test_path_is_missing() + t1501: remove use of `test_might_fail cp` + t1507: stop losing return codes of git commands + t1507: run commands within test_expect_success + t1507: inline full_name() + contrib/credential/netrc: make PERL_PATH configurable + contrib/credential/netrc: work outside a repo + t2018: remove trailing space from test description + t2018: add space between function name and () + t2018: improve style of if-statement + t2018: be more discerning when checking for expected exit codes + t2018: teach do_checkout() to accept `!` arg + t2018: don't lose return code of git commands + t2018: replace "sha" with "oid" + t3030: use test_path_is_missing() + t3310: extract common notes_merge_files_gone() + t3415: stop losing return codes of git commands + t3415: increase granularity of test_auto_{fixup,squash}() + t3419: stop losing return code of git command + t3507: fix indentation + t3507: use test_path_is_missing() + t4124: only mark git command with test_must_fail + +Derrick Stolee (21): + graph: add test to demonstrate horizontal line bug + graph: fix collapse of multiple edges + t1091: use check_files to reduce boilerplate + t1091: improve here-docs + sparse-checkout: create leading directories + clone: fix --sparse option with URLs + sparse-checkout: cone mode does not recognize "**" + sparse-checkout: detect short patterns + sparse-checkout: warn on globs in cone patterns + sparse-checkout: properly match escaped characters + sparse-checkout: write escaped patterns in cone mode + sparse-checkout: unquote C-style strings over --stdin + sparse-checkout: use C-style quotes in 'list' subcommand + sparse-checkout: escape all glob characters on write + sparse-checkout: improve docs around 'set' in cone mode + sparse-checkout: fix cone mode behavior mismatch + sparse-checkout: extract add_patterns_from_input() + sparse-checkout: extract pattern update from 'set' subcommand + sparse-checkout: create 'add' subcommand + sparse-checkout: work with Windows paths + sparse-checkout: allow one-character directories in cone mode + +Elijah Newren (20): + git-rebase.txt: update description of --allow-empty-message + t3404: directly test the behavior of interest + rebase (interactive-backend): make --keep-empty the default + rebase (interactive-backend): fix handling of commits that become empty + t3406: simplify an already simple test + rebase, sequencer: remove the broken GIT_QUIET handling + rebase: make sure to pass along the quiet flag to the sequencer + rebase: fix handling of restrict_revision + t3432: make these tests work with either am or merge backends + rebase: allow more types of rebases to fast-forward + git-rebase.txt: add more details about behavioral differences of backends + rebase: move incompatibility checks between backend options a bit earlier + rebase: add an --am option + git-prompt: change the prompt for interactive-based rebases + rebase: drop '-i' from the reflog for interactive-based rebases + rebase tests: mark tests specific to the am-backend with --am + rebase tests: repeat some tests using the merge backend instead of am + rebase: make the backend configurable via config setting + rebase: change the default backend from "am" to "merge" + rebase: rename the two primary rebase backends + +Emily Shaffer (5): + fetch: emphasize failure during submodule fetch + MyFirstContribution: add avenues for getting help + MyFirstContribution: rephrase contact info + submodule--helper: use C99 named initializer + clone: pass --single-branch during --recurse-submodules + +Eric Sunshine (6): + t3400: make test clean up after itself + rebase: refuse to switch to branch already checked out elsewhere + worktree: drop unused code from get_main_worktree() + worktree: improve find_worktree() documentation + worktree: add utility to find worktree by pathname + worktree: don't allow "add" validation to be fooled by suffix matching + +Eyal Soha (3): + color.c: refactor color_output arguments + color.c: support bright aixterm colors + color.c: alias RGB colors 8-15 to aixterm colors + +Hans Jerry Illikainen (2): + editorconfig: indent text files with tabs + gpg-interface: add minTrustLevel as a configuration option + +Hariom Verma (4): + get_main_worktree(): allow it to be called in the Git directory + t5509: use a bare repository for test push target + receive.denyCurrentBranch: respect all worktrees + t2402: test worktree path when called in .git directory + +Heba Waly (3): + add: use advise function to display hints + git: update documentation for --git-dir + add: change advice config variables used by the add API + +Jeff King (52): + builtin/pack-objects: report reused packfile objects + packfile: expose get_delta_base() + ewah/bitmap: introduce bitmap_word_alloc() + pack-bitmap: introduce bitmap_walk_contains() + pack-bitmap: uninteresting oid can be outside bitmapped packfile + pack-bitmap: simplify bitmap_has_oid_in_uninteresting() + csum-file: introduce hashfile_total() + pack-objects: introduce pack.allowPackReuse + builtin/pack-objects: introduce obj_is_packed() + pack-objects: improve partial packfile reuse + pack-objects: add checks for duplicate objects + pack-bitmap: don't rely on bitmap_git->reuse_objects + sparse-checkout: fix documentation typo for core.sparseCheckoutCone + verify_filename(): handle backslashes in "wildcards are pathspecs" rule + t1400: avoid "test" string comparisons + t1506: drop space after redirection operator + doc: drop "explicitly given" from push.default description + sha1-name: mark get_oid() error messages for translation + normalize_path_copy(): document "dst" size expectations + walker_fetch(): avoid raw array length computation + traverse_trees(): use stack array for name entries + diff: move diff.wsErrorHighlight to "basic" config + tree-walk.c: break circular dependency with unpack-trees + mailinfo: treat header values as C strings + mailinfo: simplify parsing of header values + mailinfo: be more liberal with header whitespace + mailinfo: factor out some repeated header handling + pack-bitmap: factor out type iterator initialization + pack-bitmap: fix leak of haves/wants object lists + rev-list: fallback to non-bitmap traversal when filtering + pack-bitmap: refuse to do a bitmap traversal with pathspecs + rev-list: factor out bitmap-optimized routines + rev-list: make --count work with --objects + rev-list: allow bitmaps when counting objects + t5310: factor out bitmap traversal comparison + rev-list: allow commit-only bitmap traversals + pack-bitmap: basic noop bitmap filter infrastructure + rev-list: use bitmap filters for traversal + bitmap: add bitmap_unset() function + pack-bitmap: implement BLOB_NONE filtering + pack-bitmap: implement BLOB_LIMIT filtering + pack-objects: support filters with bitmaps + nth_packed_object_oid(): use customary integer return + pack-objects: read delta base oid into object_id struct + pack-objects: convert oe_set_delta_ext() to use object_id + pack-objects: use object_id struct in pack-reuse code + pack-bitmap: use object_id when loading on-disk bitmaps + pack-check: convert "internal error" die to a BUG() + pack-check: push oid lookup into loop + packed_object_info(): use object_id for returning delta base + packed_object_info(): use object_id internally for delta base + packfile: drop nth_packed_object_sha1() + +Johannes Schindelin (19): + built-in add -p: prepare for patch modes other than "stage" + built-in add -p: implement the "stash" and "reset" patch modes + legacy stash -p: respect the add.interactive.usebuiltin setting + built-in stash: use the built-in `git add -p` if so configured + built-in add -p: implement the "checkout" patch modes + built-in add -p: implement the "worktree" patch modes + commit --interactive: make it work with the built-in `add -i` + t3701: adjust difffilter test + built-in add -p: support interactive.diffFilter + built-in add -p: handle diff.algorithm + terminal: make the code of disable_echo() reusable + terminal: accommodate Git for Windows' default terminal + terminal: add a new function to read a single keystroke + built-in add -p: respect the `interactive.singlekey` config setting + built-in add -p: handle Escape sequences in interactive.singlekey mode + built-in add -p: handle Escape sequences more efficiently + ci: include the built-in `git add -i` in the `linux-gcc` job + t9001, t9116: avoid pipes + t5537: adjust test_oid label + +Johannes Sixt (1): + t3504: do check for conflict marker after failed cherry-pick + +Jonathan Nieder (9): + sha1-file: document how to use pretend_object_file + fetch test: avoid use of "VAR= cmd" with a shell function + t/check-non-portable-shell: detect "FOO= shell_func", too + fetch test: mark test of "skipping" haves as v0-only + fetch test: use more robust test for filtered objects + config doc: protocol.version is not experimental + test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate + protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION + fetch: default to protocol version 2 + +Jonathan Tan (2): + connected: verify promisor-ness of partial clone + fetch: forgo full connectivity check if --filter + +Junio C Hamano (11): + The first batch post 2.25 cycle + The second batch + C: use skip_prefix() to avoid hardcoded string length + The third batch for 2.26 + The fourth batch for 2.26 + The fifth batch for 2.26 + The sixth batch for 2.26 + rev-list --count: comment on the use of count_right++ + The seventh batch for 2.26 + The eighth batch for 2.26 + Git 2.26-rc0 + +Kevin Willford (4): + fsmonitor: change last update timestamp on the index_state to opaque token + fsmonitor: handle version 2 of the hooks that will use opaque token + fsmonitor: add fsmonitor hook scripts for version 2 + fsmonitor: update documentation for hook version and watchman hooks + +Kyle Meyer (1): + submodule add: show 'add --dry-run' stderr when aborting + +Lucius Hu (1): + templates: fix deprecated type option `--bool` + +Luke Diamand (7): + git-p4: make closeStreams() idempotent + git-p4: add P4CommandException to report errors talking to Perforce + git-p4: disable some pylint warnings, to get pylint output to something manageable + git-p4: create helper function importRevisions() + git-p4: cleanup better on error exit + git-p4: check for access to remote host earlier + git-p4: avoid leak of file handle when cloning + +Martin Ågren (4): + name-rev: rewrite create_or_update_name() + t4117: check for files using `test_path_is_file` + t9810: drop debug `cat` call + t: drop debug `cat` calls + +Matheus Tavares (21): + grep: fix race conditions on userdiff calls + grep: fix race conditions at grep_submodule() + grep: fix racy calls in grep_objects() + replace-object: make replace operations thread-safe + object-store: allow threaded access to object reading + grep: replace grep_read_mutex by internal obj read lock + submodule-config: add skip_if_read option to repo_read_gitmodules() + grep: allow submodule functions to run in parallel + grep: protect packed_git [re-]initialization + grep: re-enable threads in non-worktree case + grep: move driver pre-load out of critical section + grep: use no. of cores as the default no. of threads + doc: sparse-checkout: mention --cone option + completion: add support for sparse-checkout + diff: make diff_populate_filespec() honor its repo argument + cache-tree: use given repo's hash_algo at verify_one() + pack-check: use given repo's hash_algo at verify_packfile() + streaming: allow open_istream() to handle any repo + sha1-file: pass git_hash_algo to write_object_file_prepare() + sha1-file: pass git_hash_algo to hash_object_file() + sha1-file: allow check_object_signature() to handle any repo + +Matthew Rogers (10): + config: fix typo in variable name + t1300: fix over-indented HERE-DOCs + t1300: create custom config file without special characters + config: make scope_name non-static and rename it + config: split repo scope to local and worktree + config: clarify meaning of command line scoping + config: preserve scope in do_git_config_sequence + config: teach git_config_source to remember its scope + submodule-config: add subomdule config scope + config: add '--show-scope' to print the scope of a config value + +Miriam Rubio (3): + bisect--helper: convert `vocab_*` char pointers to char arrays + bisect: use the standard 'if (!var)' way to check for 0 + bisect: add enum to represent bisect returning codes + +Peter Kaestle (3): + t7400: add a testcase for submodule status on empty dirs + submodule: fix status of initialized but not cloned submodules + t7400: testcase for submodule status on unregistered inner git repos + +Pranit Bauva (7): + bisect--helper: return error codes from `cmd_bisect__helper()` + bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents + bisect: libify `bisect_checkout` + bisect: libify `check_merge_bases` and its dependents + bisect: libify `check_good_are_ancestors_of_bad` and its dependents + bisect: libify `handle_bad_merge_base` and its dependents + bisect: libify `bisect_next_all` + +René Scharfe (20): + name-rev: remove unused typedef + name-rev: respect const qualifier + name-rev: don't leak path copy in name_ref() + name-rev: don't _peek() in create_or_update_name() + name-rev: put struct rev_name into commit slab + name-rev: factor out get_parent_name() + name-rev: pre-size buffer in get_parent_name() + name-rev: generate name strings only if they are better + name-rev: release unused name strings + name-rev: sort tip names before applying + strbuf: add and use strbuf_insertstr() + mailinfo: don't insert header prefix for handle_content_type() + parse-options: use COPY_ARRAY in parse_options_concat() + parse-options: factor out parse_options_count() + parse-options: const parse_options_concat() parameters + parse-options: simplify parse_options_dup() + quote: use isalnum() to check for alphanumeric characters + use strpbrk(3) to search for characters from a given set + blame: provide type of fingerprints pointer + commit-graph: use progress title directly + +SZEDER Gábor (6): + t9902-completion: add tests for the __git_find_on_cmdline() helper + completion: clean up the __git_find_on_cmdline() helper function + completion: return the index of found word from __git_find_on_cmdline() + completion: simplify completing 'git worktree' subcommands and options + completion: list existing working trees for 'git worktree' subcommands + completion: list paths and refs for 'git worktree add' + +Shourya Shukla (2): + t6025: modernize style + t6025: use helpers to replace test -f <path> + +Tanushree Tumane (2): + bisect--helper: change `retval` to `res` + bisect--helper: introduce new `decide_next()` function + +Taylor Blau (5): + t5318: don't pass non-object directory to '--object-dir' + commit-graph.h: store an odb in 'struct write_commit_graph_context' + commit-graph.h: store object directory in 'struct commit_graph' + commit-graph.c: remove path normalization, comparison + commit-graph.h: use odb in 'load_commit_graph_one_fd_st' + +brian m. carlson (46): + t4054: make hash-size independent + t4066: compute index line in diffs + t4134: compute appropriate length constant + t4200: make hash size independent + t4202: abstract away SHA-1-specific constants + t4204: make hash size independent + t4300: abstract away SHA-1-specific constants + t5318: update for SHA-256 + t5319: change invalid offset for SHA-256 compatibility + t5319: make test work with SHA-256 + t5324: make hash size independent + t5504: make hash algorithm independent + t5510: make hash size independent + t5512: abstract away SHA-1-specific constants + t5530: compute results based on object length + t5537: make hash size independent + t5540: make hash size independent + t5562: use $ZERO_OID + t5601: switch into repository to hash object + t5604: make hash independent + t/lib-pack: support SHA-256 + t3206: make hash size independent + t3308: make test work with SHA-256 + t3309: make test work with SHA-256 + t3310: make test work with SHA-256 + t3311: make test work with SHA-256 + t4013: make test hash independent + t4211: move SHA-1-specific test cases into a directory + t4211: add test cases for SHA-256 + t4060: make test work with SHA-256 + t5302: make hash size independent + t5309: make test hash independent + t5313: make test hash independent + t5321: make test hash independent + t5515: make test hash independent + t5318: update for SHA-256 + t5607: make hash size independent + t5703: make test work with SHA-256 + t6000: abstract away SHA-1-specific constants + t6006: make hash size independent + t6024: update for SHA-256 + mailmap: add an additional email address for brian m. carlson + t1300: add test for urlmatch with multiple wildcards + t0300: add tests for some additional cases + credential: use the last matching username in the config + credential: allow wildcard patterns when matching config + + +Version v2.25.5; changes since v2.25.4: +--------------------------------------- + +Johannes Schindelin (10): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + Git 2.21.4 + Git 2.22.5 + Git 2.23.4 + Git 2.24.4 + Git 2.25.5 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.25.4; changes since v2.25.3: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.25.3; changes since v2.25.2: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.25.2; changes since v2.25.1: +--------------------------------------- + +Alexandr Miloslavskiy (1): + mingw: workaround for hangs when sending STDIN + +Beat Bolli (1): + unicode: update the width tables to Unicode 13.0 + +David Turner (1): + git rm submodule: succeed if .gitmodules index stat info is zero + +Derrick Stolee (2): + partial-clone: demonstrate bugs in partial fetch + partial-clone: avoid fetching when looking for objects + +Elijah Newren (4): + unpack-trees: exit check_updates() early if updates are not wanted + check-ignore: fix documentation and implementation to match + t3433: new rebase testcase documenting a stat-dirty-like failure + merge-recursive: fix the refresh logic in update_file_flags + +Emily Shaffer (2): + prefix_path: show gitdir when arg is outside repo + prefix_path: show gitdir if worktree unavailable + +Harald van Dijk (1): + show_one_mergetag: print non-parent in hex form. + +Jeff King (9): + merge-recursive: silence -Wxor-used-as-pow warning + avoid computing zero offsets from NULL pointer + xdiff: avoid computing non-zero offset from NULL pointer + obstack: avoid computing offsets from NULL pointer + index-pack: downgrade twice-resolved REF_DELTA to die() + doc: move credential helper info into gitcredentials(7) + doc/config/push: use longer "--" line for preformatted example + doc-diff: use single-colon rule in rendering Makefile + run-command.h: fix mis-indented struct member + +Johan Herland (2): + t3305: check notes fanout more carefully and robustly + notes.c: fix off-by-one error when decreasing notes fanout + +Johannes Schindelin (11): + built-in add -i: do not try to `patch`/`diff` an empty list of files + built-in add -i: accept open-ended ranges again + parse_insn_line(): improve error message when parsing failed + rebase -i: re-fix short SHA-1 collision + rebase -i: also avoid SHA-1 collisions with missingCommitsCheck + tests: fix --write-junit-xml with subshells + t5580: test cloning without file://, test fetching via UNC paths + mingw: add a helper function to attach GDB to the current process + t/lib-httpd: avoid using macOS' sed + ci: prevent `perforce` from being quarantined + Azure Pipeline: switch to the latest agent pools + +Junio C Hamano (4): + merge-recursive: use subtraction to flip stage + Documentation: clarify that `-h` alone stands for `help` + Revert "gpg-interface: prefer check_signature() for GPG verification" + Git 2.25.2 + +Philippe Blain (4): + t7410: rename to t2405-worktree-submodule.sh + t2405: use git -C and test_commit -C instead of subshells + t2405: clarify test descriptions and simplify test + submodule.c: use get_git_dir() instead of get_git_common_dir() + + +Version v2.25.1; changes since v2.25.0: +--------------------------------------- + +Denton Liu (2): + .mailmap: fix erroneous authorship for Johannes Schindelin + .mailmap: map Yi-Jyun Pan's email + +Derrick Stolee (3): + unpack-trees: correctly compute result count + clean: demonstrate a bug with pathspecs + fetch: document and test --refmap="" + +Elijah Newren (2): + string-list: note in docs that callers can specify sorting function + dir: treat_leading_path() and read_directory_recursive(), round 2 + +Emily Shaffer (2): + unpack-trees: watch for out-of-range index position + submodule: add newline on invalid submodule error + +Heba Waly (2): + commit: honor advice.statusHints when rejecting an empty commit + doc/gitcore-tutorial: fix prose to match example command + +Jacques Bodin-Hullin (1): + parse-options: lose an unnecessary space in an error message + +Jeff King (7): + restore: invalidate cache-tree when removing entries with --staged + transport: don't flush when disconnecting stateless-rpc helper + dir: restructure in a way to avoid passing around a struct dirent + dir: point treat_leading_path() warning to the right place + Makefile: use compat regex with SANITIZE=address + t4018: drop "debugging" cat from hunk-header tests + t7800: don't rely on reuse_worktree_file() + +Johannes Berg (1): + pack-format: correct multi-pack-index description + +Johannes Schindelin (3): + msvc: accommodate for vcpkg's upgrade to OpenSSL v1.1.x + ci: ignore rubygems warning in the "Documentation" job + convert: fix typo + +Jonathan Tan (2): + sha1-file: remove OBJECT_INFO_SKIP_CACHED + t5616: make robust to delta base change + +Junio C Hamano (2): + .mailmap: fix GGG authoship screwup + Git 2.25.1 + +Kyle Meyer (1): + submodule foreach: replace $path with $sm_path in example + +Martin Ågren (2): + git-filter-branch.txt: wrap "maths" notation in backticks + diff-options.txt: avoid "regex" overload in example + +Masaya Suzuki (1): + doc: describe Git bundle format + +Philippe Blain (1): + grep: ignore --recurse-submodules if --no-index is given + +Ralf Thielow (1): + submodule.c: mark more strings for translation + +brian m. carlson (7): + run-command: avoid undefined behavior in exists_in_PATH + docs: use "currently" for the present time + doc: move author and committer information to git-commit(1) + docs: expand on possible and recommended user config options + doc: provide guidance on user.name format + doc: dissuade users from trying to ignore tracked files + docs: mention when increasing http.postBuffer is valuable + + +Version v2.25.0; changes since v2.25.0-rc2: +------------------------------------------- + +Alessandro Menti (1): + l10n: it.po: update the Italian translation for Git 2.25.0 + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (4800t) + +Christopher Diaz Riveros (1): + l10n: es: 2.25.0 round #1 + +Jean-Noël Avila (1): + l10n: fr.po v2.25.0 rnd 1 + +Jiang Xin (2): + l10n: git.pot: v2.25.0 round 1 (119 new, 13 removed) + l10n: zh_CN: for git v2.25.0 l10n round 1 + +Johannes Schindelin (1): + mingw: safeguard better against backslashes in file names + +Jordi Mas (2): + l10n: Update Catalan translation + l10n: Update Catalan translation + +Junio C Hamano (2): + Revert "Merge branch 'ra/rebase-i-more-options'" + Git 2.25 + +Martin Ågren (1): + config/advice.txt: fix description list separator + +Matthias Rüster (1): + l10n: de.po: Update German translation v2.25.0 round 1 + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (4800t0f0u) + +Thomas Braun (1): + l10n: de.po: Reword generation numbers + +Trần Ngọc Quân (1): + l10n: vi(4800t): Updated Vietnamese translation v2.25.0 + +Yi-Jyun Pan (2): + l10n: zh_TW: add translation for v2.24.0 + l10n: zh_TW.po: update translation for v2.25.0 round 1 + + +Version v2.25.0-rc2; changes since v2.25.0-rc1: +----------------------------------------------- + +Denis Ovsienko (1): + gitweb: fix a couple spelling errors in comments + +Derrick Stolee (6): + sparse-checkout: list directories in cone mode + sparse-checkout: document interactions with submodules + sparse-checkout: use extern for global variables + commit-graph: prefer default size_mult when given zero + graph: drop assert() for merge with two collapsing parents + graph: fix lack of color in horizontal lines + +Elijah Newren (1): + merge-recursive: remove unnecessary oid_eq function + +Eric Wong (2): + packfile: remove redundant fcntl F_GETFD/F_SETFD + packfile: replace lseek+read with pread + +Johannes Berg (1): + multi-pack-index: correct configuration in documentation + +Johannes Schindelin (1): + mingw: only test index entries for backslashes, not tree entries + +Jonathan Gilbert (3): + git-gui: consolidate naming conventions + git-gui: update status bar to track operations + git-gui: revert untracked files by deleting them + +Junio C Hamano (2): + The final batch before -rc2 + Git 2.25-rc2 + +Kazuhiro Kato (1): + git gui: fix branch name encoding error + +Paul Menzel (1): + am: document that Date: can appear as an in-body header + +Philippe Blain (2): + doc: log, gitk: document accepted line-log diff formats + doc: log, gitk: line-log arguments must exist in starting revision + +Pratyush Yadav (1): + git-gui: allow closing console window with Escape + +Taylor Blau (1): + Documentation/git-sparse-checkout.txt: fix a typo + +Thomas Menzel (1): + doc: submodule: fix typo for command absorbgitdirs + +Zoli Szabó (1): + git-gui: allow opening currently selected file in default app + + +Version v2.25.0-rc1; changes since v2.25.0-rc0: +----------------------------------------------- + +Ben Keene (2): + git-p4: yes/no prompts should sanitize user text + git-p4: show detailed help when parsing options fail + +Ed Maste (1): + CI: add FreeBSD CI support via Cirrus-CI + +Elijah Newren (1): + rebase: fix saving of --signoff state for am-based rebases + +Johannes Schindelin (2): + mingw: short-circuit the conversion of `/dev/null` to UTF-16 + mingw: refuse paths containing reserved names + +Johannes Sixt (1): + t3008: find test-tool through path lookup + +Junio C Hamano (2): + mailmap: mask accentless variant for Công Danh + Git 2.25-rc1 + + +Version v2.25.0-rc0; changes since v2.24.4: +------------------------------------------- + +Alban Gruin (6): + sequencer: update `total_nr' when adding an item to a todo list + sequencer: update `done_nr' when skipping commands in a todo list + sequencer: move the code writing total_nr on the disk to a new function + rebase: fill `squash_onto' in get_replay_opts() + sequencer: directly call pick_commits() from complete_action() + sequencer: fix a memory leak in sequencer_continue() + +Alexandr Miloslavskiy (14): + parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul` + pathspec: add new function to parse file + doc: reset: synchronize <pathspec> description + reset: support the `--pathspec-from-file` option + doc: commit: synchronize <pathspec> description + commit: support the --pathspec-from-file option + cmd_add: prepare for next patch + add: support the --pathspec-from-file option + doc: checkout: remove duplicate synopsis + doc: checkout: fix broken text reference + doc: checkout: synchronize <pathspec> description + doc: restore: synchronize <pathspec> description + checkout, restore: support the --pathspec-from-file option + commit: forbid --pathspec-from-file --all + +Andreas Schwab (1): + t7812: add missing redirects + +Andrei Rybak (1): + INSTALL: use existing shell scripts as example + +Colin Stolley (1): + packfile.c: speed up loading lots of packfiles + +Daniel Ferreira (2): + diff: export diffstat interface + built-in add -i: implement the `status` command + +Denton Liu (93): + format-patch: replace erroneous and condition + format-patch: use enum variables + format-patch: teach --cover-from-description option + rebase: hide --preserve-merges option + t4108: replace create_file with test_write_lines + t4108: remove git command upstream of pipe + t4108: use `test_config` instead of `git config` + t4108: demonstrate bug in apply + apply: respect merge.conflictStyle in --3way + submodule: teach set-url subcommand + git-diff.txt: document return code of `--no-index` + completion: learn to complete `git rebase --onto=` + t4215: use helper function to check output + argv-array: add space after `while` + rev-list-options.txt: remove reference to --show-notes + SubmittingPatches: use generic terms for hash + pretty-formats.txt: use generic terms for hash + SubmittingPatches: remove dq from commit reference + completion: complete `tformat:` pretty format + revision: make get_revision_mark() return const pointer + pretty.c: inline initalize format_context + t4205: cover `git log --reflog -z` blindspot + pretty: add struct cmt_fmt_map::default_date_mode_type + pretty: implement 'reference' format + SubmittingPatches: use `--pretty=reference` + pretty-options.txt: --notes accepts a ref instead of treeish + t3206: remove spaces after redirect operators + t3206: disable parameter substitution in heredoc + t3206: s/expected/expect/ + t3206: range-diff compares logs with commit notes + range-diff: output `## Notes ##` header + range-diff: pass through --notes to `git log` + format-patch: pass notes configuration to range-diff + t0000: test multiple local assignment + t: teach test_cmp_rev to accept ! for not-equals + t5520: improve test style + t5520: use sq for test case names + t5520: let sed open its own input + t5520: replace test -f with test-lib functions + t5520: remove spaces after redirect operator + t5520: use test_line_count where possible + t5520: replace test -{n,z} with test-lib functions + t5520: use test_cmp_rev where possible + t5520: test single-line files by git with test_cmp + t5520: don't put git in upstream of pipe + t5520: replace $(cat ...) comparison with test_cmp + t5520: remove redundant lines in test cases + t5520: replace `! git` with `test_must_fail git` + lib-bash.sh: move `then` onto its own line + apply-one-time-sed.sh: modernize style + t0014: remove git command upstream of pipe + t0090: stop losing return codes of git commands + t3301: stop losing return codes of git commands + t3600: use test_line_count() where possible + t3600: stop losing return codes of git commands + t3600: comment on inducing SIGPIPE in `git rm` + t4015: stop losing return codes of git commands + t4015: use test_write_lines() + t4138: stop losing return codes of git commands + t5317: stop losing return codes of git commands + t5317: use ! grep to check for no matching lines + t5703: simplify one-time-sed generation logic + t5703: stop losing return codes of git commands + t7501: remove spaces after redirect operators + t7501: stop losing return codes of git commands + t7700: drop redirections to /dev/null + t7700: remove spaces after redirect operators + t7700: move keywords onto their own line + t7700: s/test -f/test_path_is_file/ + doc: replace MARC links with lore.kernel.org + RelNotes: replace Gmane with real Message-IDs + doc: replace LKML link with lore.kernel.org + t7700: consolidate code into test_no_missing_in_packs() + t7700: consolidate code into test_has_duplicate_object() + t7700: replace egrep with grep + t7700: make references to SHA-1 generic + t7700: stop losing return codes of git commands + t3400: demonstrate failure with format.useAutoBase + format-patch: fix indentation + t4014: use test_config() + format-patch: teach --no-base + rebase: fix format.useAutoBase breakage + t3206: fix incorrect test name + range-diff: mark pointers as const + range-diff: clear `other_arg` at end of function + notes: rename to load_display_notes() + notes: create init_display_notes() helper + notes: extract logic into set_display_notes() + format-patch: use --notes behavior for format.notes + format-patch: move git_config() before repo_init_revisions() + config/format.txt: clarify behavior of multiple format.notes + notes: break set_display_notes() into smaller functions + notes.h: fix typos in comment + +Derrick Stolee (22): + test-tool: use 'read-graph' helper + sparse-checkout: create builtin with 'list' subcommand + sparse-checkout: create 'init' subcommand + clone: add --sparse mode + sparse-checkout: 'set' subcommand + sparse-checkout: add '--stdin' option to set subcommand + sparse-checkout: create 'disable' subcommand + sparse-checkout: add 'cone' mode + sparse-checkout: use hashmaps for cone patterns + sparse-checkout: init and set in cone mode + unpack-trees: hash less in cone mode + unpack-trees: add progress to clear_ce_flags() + sparse-checkout: sanitize for nested folders + sparse-checkout: update working directory in-process + sparse-checkout: use in-process update for disable subcommand + sparse-checkout: write using lockfile + sparse-checkout: cone mode should not interact with .gitignore + sparse-checkout: update working directory in-process for 'init' + sparse-checkout: check for dirty status + progress: create GIT_PROGRESS_DELAY + commit-graph: use start_delayed_progress() + sparse-checkout: respect core.ignoreCase in cone mode + +Dimitriy Ryazantcev (1): + l10n: minor case fix in 'git branch' '--unset-upstream' description + +Dominic Jäger (1): + merge-strategies: fix typo "reflected to" to "reflected in" + +Ed Maste (3): + t4210: skip i18n tests that don't work on FreeBSD + userdiff: remove empty subexpression from elixir regex + sparse-checkout: improve OS ls compatibility + +Elia Pinto (1): + kset.h, tar.h: add missing header guard to prevent multiple inclusion + +Elijah Newren (26): + merge-recursive: clean up get_renamed_dir_portion() + merge-recursive: fix merging a subdirectory into the root directory + t604[236]: do not run setup in separate tests + Documentation: fix a bunch of typos, both old and new + Fix spelling errors in documentation outside of Documentation/ + git-filter-branch.txt: correct argument name typo + hashmap: fix documentation misuses of -> versus . + name-hash.c: remove duplicate word in comment + t6024: modernize style + Fix spelling errors in code comments + Fix spelling errors in comments of testcases + Fix spelling errors in names of tests + Fix spelling errors in messages shown to users + Fix spelling errors in test commands + sha1dc: fix trivial comment spelling error + multimail: fix a few simple spelling errors + Fix spelling errors in no-longer-updated-from-upstream modules + t3011: demonstrate directory traversal failures + Revert "dir.c: make 'git-status --ignored' work within leading directories" + dir: remove stray quote character in comment + dir: exit before wildcard fall-through if there is no wildcard + dir: break part of read_directory_recursive() out for reuse + t3434: mark successful test as such + dir: fix checks on common prefix directory + dir: synchronize treat_leading_path() and read_directory_recursive() + dir: consolidate similar code in treat_directory() + +Emily Shaffer (4): + documentation: add tutorial for object walking + myfirstcontrib: add 'psuh' to command-list.txt + myfirstcontrib: add dependency installation step + myfirstcontrib: hint to find gitgitgadget allower + +Erik Chen (1): + fetch: add trace2 instrumentation + +Hans Jerry Illikainen (4): + gpg-interface: refactor the free-and-xmemdupz pattern + gpg-interface: limit search for primary key fingerprint + gpg-interface: prefer check_signature() for GPG verification + grep: don't return an expression from pcre2_free() + +Hariom Verma (2): + builtin/blame.c: constants into bit shift format + git-compat-util.h: drop the `PRIuMAX` and other fallback definitions + +Heba Waly (22): + config: move documentation to config.h + documentation: remove empty doc files + diff: move doc to diff.h and diffcore.h + dir: move doc to dir.h + graph: move doc to graph.h and graph.c + merge: move doc to ll-merge.h + sha1-array: move doc to sha1-array.h + remote: move doc to remote.h and refspec.h + refs: move doc to refs.h + attr: move doc to attr.h + revision: move doc to revision.h + pathspec: move doc to pathspec.h + sigchain: move doc to sigchain.h + cache: move doc to cache.h + argv-array: move doc to argv-array.h + credential: move doc to credential.h + parse-options: add link to doc file in parse-options.h + run-command: move doc to run-command.h + trace: move doc to trace.h + tree-walk: move doc to tree-walk.h + submodule-config: move doc to submodule-config.h + trace2: move doc to trace2.h + +James Coglan (13): + graph: automatically track display width of graph lines + graph: handle line padding in `graph_next_line()` + graph: reuse `find_new_column_by_commit()` + graph: reduce duplication in `graph_insert_into_new_columns()` + graph: remove `mapping_idx` and `graph_update_width()` + graph: extract logic for moving to GRAPH_PRE_COMMIT state + graph: example of graph output that can be simplified + graph: tidy up display of left-skewed merges + graph: commit and post-merge lines for left-skewed merges + graph: rename `new_mapping` to `old_mapping` + graph: smooth appearance of collapsing edges on commit lines + graph: flatten edges that fuse with their right neighbor + graph: fix coloring of octopus dashes + +James Shubin (1): + completion: tab-complete "git svn --recursive" + +Jean-Noël Avila (2): + doc: remove non pure ASCII characters + doc: indent multi-line items in list + +Jeff Hostetler (1): + trace2: add region in clear_ce_flags + +Jeff King (37): + parse_commit_buffer(): treat lookup_commit() failure as parse error + parse_commit_buffer(): treat lookup_tree() failure as parse error + parse_tag_buffer(): treat NULL tag pointer as parse error + commit, tag: don't set parsed bit for parse failures + fsck: stop checking commit->tree value + fsck: stop checking commit->parent counts + fsck: stop checking tag->tagged + fsck: require an actual buffer for non-blobs + fsck: unify object-name code + fsck_describe_object(): build on our get_object_name() primitive + fsck: use oids rather than objects for object_name API + fsck: don't require object structs for display functions + fsck: only provide oid/type in fsck_error callback + fsck: only require an oid for skiplist functions + fsck: don't require an object struct for report() + fsck: accept an oid instead of a "struct blob" for fsck_blob() + fsck: drop blob struct from fsck_finish() + fsck: don't require an object struct for fsck_ident() + fsck: don't require an object struct in verify_headers() + fsck: rename vague "oid" local variables + fsck: accept an oid instead of a "struct tag" for fsck_tag() + fsck: accept an oid instead of a "struct commit" for fsck_commit() + fsck: accept an oid instead of a "struct tree" for fsck_tree() + hex: drop sha1_to_hex_r() + pack-objects: avoid pointless oe_map_new_pack() calls + hex: drop sha1_to_hex() + send-pack: check remote ref status on pack-objects failure + t9502: pass along all arguments in xss helper + t/gitweb-lib.sh: drop confusing quotes + t/gitweb-lib.sh: set $REQUEST_URI + gitweb: escape URLs generated by href() + rev-parse: make --show-toplevel without a worktree an error + perf-lib: use a single filename for all measurement types + t/perf: don't depend on Git.pm + send-pack: use OBJECT_INFO_QUICK to check negative objects + doc: recommend lore.kernel.org over public-inbox.org + doc: replace public-inbox links with lore.kernel.org + +Johannes Schindelin (57): + t1400: wrap setup code in test case + git_path(): handle `.lock` files correctly + vreportf(): avoid relying on stdio buffering + update-index: optionally leave skip-worktree entries alone + stash: handle staged changes in skip-worktree files correctly + fetch: add the command-line option `--write-commit-graph` + fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph + remote-curl: unbreak http.extraHeader with custom allocators + Start to implement a built-in version of `git add --interactive` + built-in add -i: implement the main loop + built-in add -i: show unique prefixes of the commands + built-in add -i: support `?` (prompt help) + rebase-merges: move labels' whitespace mangling into `label_oid()` + git svn: stop using `rebase --preserve-merges` + mingw: demonstrate that all file handles are inherited by child processes + mingw: work around incorrect standard handles + mingw: spawned processes need to inherit only standard handles + mingw: restrict file handle inheritance only on Windows 7 and later + mingw: do set `errno` correctly when trying to restrict handle inheritance + add-interactive: make sure to release `rev.prune_data` + built-in add -i: allow filtering the modified files list + built-in add -i: prepare for multi-selection commands + built-in add -i: implement the `update` command + built-in add -i: re-implement `revert` in C + built-in add -i: re-implement `add-untracked` in C + built-in add -i: implement the `patch` command + built-in add -i: re-implement the `diff` command + built-in add -i: offer the `quit` command + pkt-line: fix a typo + mingw: forbid translating ERROR_SUCCESS to an errno value + t3701: add a test for advanced split-hunk editing + t3701: avoid depending on the TTY prerequisite + t3701: add a test for the different `add -p` prompts + t3701: verify the shown messages when nothing can be added + t3701: verify that the diff.algorithm config setting is handled + git add -p: use non-zero exit code when the diff generation failed + apply --allow-overlap: fix a corner case + t3404: fix indentation + built-in add -i: start implementing the `patch` functionality in C + built-in add -i: wire up the new C code for the `patch` command + built-in add -p: show colored hunks by default + built-in add -p: adjust hunk headers as needed + built-in add -p: color the prompt and the help text + built-in add -p: offer a helpful error message when hunk navigation failed + built-in add -p: support multi-file diffs + built-in add -p: handle deleted empty files + built-in app -p: allow selecting a mode change as a "hunk" + built-in add -p: show different prompts for mode changes and deletions + built-in add -p: implement the hunk splitting feature + built-in add -p: coalesce hunks after splitting them + strbuf: add a helper function to call the editor "on an strbuf" + built-in add -p: implement hunk editing + built-in add -p: implement the 'g' ("goto") command + built-in add -p: implement the '/' ("search regex") command + built-in add -p: implement the 'q' ("quit") command + built-in add -p: only show the applicable parts of the help text + built-in add -p: show helpful hint when nothing can be staged + +Jonathan Tan (6): + fetch-pack: write fetched refs to .promisor + fetch: remove fetch_if_missing=0 + clone: remove fetch_if_missing=0 + promisor-remote: remove fetch_if_missing=0 + Doc: explain submodule.alternateErrorStrategy + submodule--helper: advise on fatal alternate error + +Josh Holland (1): + userdiff: support Python async functions + +Junio C Hamano (13): + doc: am --show-current-patch gives an entire e-mail message + The first batch post 2.24 cycle + fsmonitor: do not compare bitmap size with size of split index + ci(osx): update homebrew-cask repository with less noise + rebase -i: finishing touches to --reset-author-date + The second batch + The third batch + The fourth batch + The fifth batch + Makefile: drop GEN_HDRS + The sixth batch + dir.c: use st_add3() for allocation size + Git 2.25-rc0 + +Kevin Willford (1): + fsmonitor: fix watchman integration + +Manish Goregaokar (2): + doc: document 'git submodule status --cached' + submodule: fix 'submodule status' when called from a subdirectory + +Martin Ågren (1): + t7004: check existence of correct tag + +Matthew Rogers (1): + rebase -r: let `label` generate safer labels + +Mihail Atanassov (1): + Documentation/git-bisect.txt: add --no-ff to merge command + +Mike Hommey (2): + revision: clear the topo-walk flags in reset_revision_walk + revision: free topo_walk_info before creating a new one in init_topo_walk + +Miriam Rubio (1): + clone: rename static function `dir_exists()`. + +Nathan Stocks (1): + t: fix typo in test descriptions + +Naveen Nathan (1): + doc: improve readability of --rebase-merges in git-rebase + +Nika Layzell (1): + reset: parse rev as tree-ish in patch mode + +Philip Oakley (1): + Doc: Bundle file usage + +Philippe Blain (4): + help: add gitsubmodules to the list of guides + worktree: teach "add" to ignore submodule.recurse config + doc: mention that 'git submodule update' fetches missing commits + gitmodules: link to gitsubmodules guide + +Phillip Wood (7): + t3404: remove unnecessary subshell + t3404: set $EDITOR in subshell + t3404: remove uneeded calls to set_fake_editor + sequencer.h fix placement of #endif + move run_commit_hook() to libgit and use it there + sequencer: run post-commit hook + sequencer: fix empty commit check when amending + +Prarit Bhargava (3): + t6006: use test-lib.sh definitions + t4203: use test-lib.sh definitions + pretty: add "%aL" etc. to show local-part of email addresses + +Pratyush Yadav (1): + git-shortlog.txt: include commit limiting options + +Ralf Thielow (1): + fetch.c: fix typo in a warning message + +René Scharfe (32): + trace2: add dots directly to strbuf in perf_fmt_prepare() + utf8: use skip_iprefix() in same_utf_encoding() + convert: use skip_iprefix() in validate_encoding() + mingw: use COPY_ARRAY for copying array + parse-options: avoid arithmetic on pointer that's potentially NULL + pretty: provide short date format + fetch: use skip_prefix() instead of starts_with() + fmt-merge-msg: use skip_prefix() instead of starts_with() + shell: use skip_prefix() instead of starts_with() + push: use skip_prefix() instead of starts_with() + name-rev: use skip_prefix() instead of starts_with() + run-command: use prepare_git_cmd() in prepare_cmd() + t1512: use test_line_count + t1410: use test_line_count + t1400: use test_must_be_empty + test: use test_must_be_empty F instead of test -z $(cat F) + test: use test_must_be_empty F instead of test_cmp empty F + t9300: don't create unused file + t7811: don't create unused file + xdiff: unignore changes in function context + name-rev: use strbuf_strip_suffix() in get_rev_name() + commit: use strbuf_add() to add a length-limited string + patch-id: use oid_to_hex() to print multiple object IDs + archive-zip: use enum for compression method + t4256: don't create unused file + t7004: don't create unused file + refs: pass NULL to refs_read_ref_full() because object ID is not needed + remote: pass NULL to read_ref_full() because object ID is not needed + t3501: don't create unused file + t5580: don't create unused file + t6030: don't create unused file + t4015: improve coverage of function context test + +Robin H. Johnson (3): + bundle: framework for options before bundle file + bundle-create: progress output control + bundle-verify: add --quiet + +Rohit Ashiwal (6): + rebase -i: add --ignore-whitespace flag + sequencer: allow callers of read_author_script() to ignore fields + rebase -i: support --committer-date-is-author-date + sequencer: rename amend_author to author_to_rename + rebase -i: support --ignore-date + rebase: add --reset-author-date + +Ruud van Asseldonk (1): + t5150: skip request-pull test if Perl is disabled + +SZEDER Gábor (29): + Documentation: mention more worktree-specific exceptions + path.c: clarify trie_find()'s in-code comment + path.c: mark 'logs/HEAD' in 'common_list' as file + path.c: clarify two field names in 'struct common_dir' + path.c: don't call the match function without value in trie_find() + builtin/commit-graph.c: remove subcommand-less usage string + builtin/blame.c: remove '--indent-heuristic' from usage string + test-lib: don't check prereqs of test cases that won't be run anyway + t6120-describe: correct test repo history graph in comment + builtin/unpack-objects.c: show throughput progress + tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values + t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool + sequencer: don't re-read todo for revert and cherry-pick + test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk' + ci: build Git with GCC 9 in the 'osx-gcc' build job + t9300-fast-import: store the PID in a variable instead of pidfile + t9300-fast-import: don't hang if background fast-import exits too early + t6120-describe: modernize the 'check_describe' helper + name-rev: avoid unnecessary cast in name_ref() + name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation + t6120: add a test to cover inner conditions in 'git name-rev's name_rev() + name-rev: extract creating/updating a 'struct name_rev' into a helper + name-rev: pull out deref handling from the recursion + name-rev: restructure parsing commits and applying date cutoff + name-rev: restructure creating/updating 'struct rev_name' instances + name-rev: drop name_rev()'s 'generation' and 'distance' parameters + name-rev: use 'name->tip_name' instead of 'tip_name' + name-rev: eliminate recursion in name_rev() + name-rev: cleanup name_ref() + +Slavica Đukić (3): + built-in add -i: color the header in the `status` command + built-in add -i: use color in the main loop + built-in add -i: implement the `help` command + +Tanushree Tumane (2): + bisect--helper: avoid use-after-free + bisect--helper: convert `*_warning` char pointers to char arrays. + +Thomas Gummerer (1): + stash: make sure we have a valid index before writing it + +Todd Zullinger (1): + t7812: expect failure for grep -i with invalid UTF-8 data + +Utsav Shah (1): + unpack-trees: skip stat on fsmonitor-valid files + +William Baker (6): + midx: add MIDX_PROGRESS flag + midx: add progress to write_midx_file + midx: add progress to expire_midx_packs + midx: honor the MIDX_PROGRESS flag in verify_midx_file + midx: honor the MIDX_PROGRESS flag in midx_repack + multi-pack-index: add [--[no-]progress] option. + +brian m. carlson (16): + t/oid-info: allow looking up hash algorithm name + t/oid-info: add empty tree and empty blob values + rev-parse: add a --show-object-format option + t1305: avoid comparing extensions + t3429: remove SHA1 annotation + t4010: abstract away SHA-1-specific constants + t4011: abstract away SHA-1-specific constants + t4015: abstract away SHA-1-specific constants + t4027: make hash-size independent + t4034: abstract away SHA-1-specific constants + t4038: abstract away SHA-1 specific constants + t4039: abstract away SHA-1-specific constants + t4044: update test to work with SHA-256 + t4045: make hash-size independent + t4048: abstract away SHA-1-specific constants + t9001: avoid including non-trailing NUL bytes in variables + +r.burenkov (1): + git-p4: honor lfs.storage configuration variable + +ryenus (1): + fix-typo: consecutive-word duplications + +Đoàn Trần Công Danh (14): + t3301: test diagnose messages for too few/many paramters + notes: fix minimum number of parameters to "copy" subcommand + t0028: eliminate non-standard usage of printf + configure.ac: define ICONV_OMITS_BOM if necessary + t3900: demonstrate git-rebase problem with multi encoding + sequencer: reencode to utf-8 before arrange rebase's todo list + sequencer: reencode revert/cherry-pick's todo list + sequencer: reencode squashing commit's message + sequencer: reencode old merge-commit message + sequencer: reencode commit message for am/rebase --show-current-patch + sequencer: handle rebase-merges for "onto" message + date.c: switch to reentrant {gm,local}time_r + archive-zip.c: switch to reentrant localtime_r + mingw: use {gm,local}time_s as backend for {gm,local}time_r + +Łukasz Niemier (1): + userdiff: add Elixir to supported userdiff languages + + +Version v2.24.4; changes since v2.24.3: +--------------------------------------- + +Johannes Schindelin (9): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + Git 2.21.4 + Git 2.22.5 + Git 2.23.4 + Git 2.24.4 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.24.3; changes since v2.24.2: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.24.2; changes since v2.24.1: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Johannes Schindelin (1): + msvc: accommodate for vcpkg's upgrade to OpenSSL v1.1.x + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.24.1; changes since v2.24.0: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (36): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + test-drop-caches: use `has_dos_drive_prefix()` + Git 2.16.6 + Git 2.17.3 + Git 2.18.2 + Git 2.19.3 + t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x + Git 2.20.2 + mingw: detect when MSYS2's sh is to be spawned more robustly + mingw: use MSYS2 quoting even when spawning shell scripts + mingw: fix quoting of empty arguments for `sh` + t7415: drop v2.20.x-specific work-around + mingw: sh arguments need quoting in more circumstances + Git 2.21.1 + Git 2.22.2 + Git 2.23.1 + Git 2.24.1 + +Jonathan Nieder (3): + submodule: reject submodule.update = !command in .gitmodules + fsck: reject submodule.update = !command in .gitmodules + submodule: defend against submodule.update = !command in .gitmodules + + +Version v2.24.0; changes since v2.24.0-rc2: +------------------------------------------- + +Alessandro Menti (2): + l10n: it.po: update the Italian translation for Git 2.24.0 + l10n: it.po: update the Italian translation for Git 2.24.0 round #2 + +Alexander Shopov (2): + l10n: bg.po: Updated Bulgarian translation (4693) + l10n: bg.po: Updated Bulgarian translation (4694) + +Bert Wesarg (2): + git-gui: use existing interface to query a path's attribute + git-gui: support for diff3 conflict style + +Christopher Diaz Riveros (1): + l10n: es: 2.24.0 round 2 + +Derrick Stolee (2): + t5510-fetch.sh: demonstrate fetch.writeCommitGraph bug + commit-graph: fix writing first commit-graph during fetch + +Elijah Newren (2): + RelNotes/2.24.0: typofix + RelNotes/2.24.0: fix self-contradictory note + +Jean-Noël Avila (2): + l10n: fr 2.24.0 rnd 1 + l10n: fr v2.24.0 rnd2 + +Jiang Xin (3): + l10n: git.pot: v2.24.0 round 1 (35 new, 16 removed) + l10n: git.pot: v2.24.0 round 2 (1 new) + l10n: zh_CN: for git v2.24.0 l10n round 1~2 + +Johannes Schindelin (1): + Fix build with core.autocrlf=true + +Jonathan Tan (1): + fetch: delay fetch_if_missing=0 until after config + +Jordi Mas (1): + l10n: Update Catalan translation + +Junio C Hamano (1): + Git 2.24 + +Martin Ågren (2): + treewide: correct several "up-to-date" to "up to date" + manpage-bold-literal.xsl: match for namespaced "d:literal" in template + +Matthias Rüster (1): + l10n: de.po: Update German translation + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (4674t0f0u) + l10n: sv.po: Update Swedish translation (4695t0f0u) + +Pratyush Yadav (1): + git-gui: add a readme + +Thomas Klaeger (1): + git-gui (Windows): use git-bash.exe if it is available + +Trần Ngọc Quân (1): + l10n: vi(4694t): Updated translation for v2.24.0 + +kdnakt (1): + git-gui: improve Japanese translation + + +Version v2.24.0-rc2; changes since v2.24.0-rc1: +----------------------------------------------- + +Johannes Schindelin (1): + mingw: avoid a buffer overrun in `needs_hiding()` + +Junio C Hamano (1): + Git 2.24-rc2 + +Robert Luberda (1): + gitweb: correctly store previous rev in javascript-actions mode + +William Baker (1): + t7519-status-fsmonitor: improve comments + + +Version v2.24.0-rc1; changes since v2.24.0-rc0: +----------------------------------------------- + +Bert Wesarg (1): + t4014: make output-directory tests self-contained + +Carlo Marcelo Arenas Belón (3): + grep: make PCRE1 aware of custom allocator + grep: make PCRE2 aware of custom allocator + grep: avoid leak of chartables in PCRE2 + +Denton Liu (1): + t7419: change test_must_fail to ! for grep + +Derrick Stolee (1): + repo-settings: read an int for index.version + +Johannes Schindelin (3): + ci(visual-studio): use strict compile flags, and optimization + ci(visual-studio): actually run the tests in parallel + ci(osx): use new location of the `perforce` cask + +Junio C Hamano (2): + Eleventh batch + Git 2.24-rc1 + +Maxim Belsky (1): + completion: clarify installation instruction for zsh + +Norman Rasmussen (1): + diff-highlight: fix a whitespace nit + +SZEDER Gábor (2): + test-progress: fix test failures on big-endian systems + ci: fix GCC install in the Travis CI GCC OSX job + +Stephen Boyd (1): + userdiff: fix some corner cases in dts regex + +William Baker (1): + fsmonitor: don't fill bitmap with entries to be removed + +brian m. carlson (1): + remote-curl: pass on atomic capability to remote side + + +Version v2.24.0-rc0; changes since v2.23.4: +------------------------------------------- + +Adam Roben (1): + mingw: fix launching of externals from Unicode paths + +Alex Henrie (4): + doc: fix reference to --ignore-submodules + commit-graph: remove a duplicate assignment + diffcore-break: use a goto instead of a redundant if statement + wrapper: use a loop instead of repetitive statements + +Alexandr Miloslavskiy (4): + contrib/buildsystems: fix Visual Studio Debug configuration + t0028: fix test for UTF-16-LE-BOM + t0028: add more tests + t0061: fix test for argv[0] with spaces (MINGW only) + +Ali Utku Selen (1): + shallow.c: don't free unallocated slabs + +Andrey Mazo (1): + .mailmap: update email address of Andrey Mazo + +Beat Bolli (3): + grep: under --debug, show whether PCRE JIT is enabled + utf8: use ARRAY_SIZE() in git_wcwidth() + git-compat-util: fix documentation syntax + +Ben Milman (1): + repository-layout.txt: correct pluralization of 'object' + +Ben Wijen (2): + builtin/rebase.c: make sure the active branch isn't moved when autostashing + builtin/rebase.c: Remove pointless message + +Bert Wesarg (4): + git-gui: convert new/amend commit radiobutton to checkbutton + git-gui: add horizontal scrollbar to commit buffer + builtin/submodule--helper: fix usage string for 'update-clone' + format-patch: create leading components of output directory + +Birger Skogeng Pedersen (2): + git-gui: add hotkeys to set widget focus + git-gui: add hotkey to toggle "Amend Last Commit" + +CB Bailey (1): + t4038: Remove non-portable '-a' option passed to test_cmp + +Cameron Steffen (1): + doc: minor formatting fix + +Carlo Marcelo Arenas Belón (4): + http: use xmalloc with cURL + grep: make sure NO_LIBPCRE1_JIT disable JIT in PCRE1 + grep: refactor and simplify PCRE1 support + grep: skip UTF8 checks explicitly + +Christian Couder (15): + t0410: remove pipes after git commands + fetch-object: make functions return an error code + Add initial support for many promisor remotes + promisor-remote: implement promisor_remote_get_direct() + promisor-remote: add promisor_remote_reinit() + promisor-remote: use repository_format_partial_clone + Use promisor_remote_get_direct() and has_promisor_remote() + promisor-remote: parse remote.*.partialclonefilter + builtin/fetch: remove unique promisor remote limitation + t0410: test fetching from many promisor remotes + partial-clone: add multiple remotes in the doc + remote: add promisor and partial clone config to the doc + Remove fetch-object.{c,h} in favor of promisor-remote.{c,h} + Move repository_format_partial_clone to promisor-remote.c + Move core_partial_clone_filter_default to promisor-remote.c + +Clément Chigot (1): + contrib/svn-fe: fix shebang for svnrdump_sim.py + +Corentin BOMPARD (1): + pull, fetch: add --set-upstream option + +David Turner (1): + clarify documentation for remote helpers + +Denton Liu (49): + packfile.h: drop extern from function declaration + t4014: drop unnecessary blank lines from test cases + t3431: add rebase --fork-point tests + t3432: test rebase fast-forward behavior + completion: merge options for cherry-pick and revert + completion: add --skip for cherry-pick and revert + status: mention --skip for revert and cherry-pick + rebase: refactor can_fast_forward into goto tower + rebase: fast-forward --onto in more cases + rebase: fast-forward --fork-point in more cases + rebase: teach rebase --keep-base + mingw: apply array.cocci rule + compat/*.[ch]: remove extern from function declarations using spatch + t4014: s/expected/expect/ + t4014: move closing sq onto its own line + t4014: use sq for test case names + t4014: remove spaces after redirect operators + t4014: use indentable here-docs + t4014: drop redirections to /dev/null + t4014: let sed open its own files + t4014: use test_line_count() where possible + t4014: remove confusing pipe in check_threading() + t4014: stop losing return codes of git commands + Doc: add more detail for git-format-patch + config/format.txt: specify default value of format.coverLetter + t: use common $SQ variable + completion: teach rebase to use __gitcomp_builtin + completion: teach archive to use __gitcomp_builtin + git-submodule.txt: fix AsciiDoc formatting error + Makefile: strip leading ./ in $(LIB_H) + Makefile: define THIRD_PARTY_SOURCES + Makefile: strip leading ./ in $(FIND_SOURCE_FILES) + Makefile: run coccicheck on more source files + gitk: rename zh_CN.po to zh_cn.po + promisor-remote.h: drop extern from function declaration + apply.h: include missing header + promisor-remote.h: include missing header + pack-bitmap.h: remove magic number + Makefile: emulate compile in $(HCO) target better + test-lib: let test_merge() perform octopus merges + t4214: use test_merge + t4214: generate expect in their own test cases + t4214: explicitly list tags in log + t4214: demonstrate octopus graph coloring failure + git-rev-list.txt: prune options in synopsis + t4014: treat rev-list output as the expected value + t0000: cover GIT_SKIP_TESTS blindspots + pthread.h: manually align parameter lists + Makefile: respect $(V) in %.cocci.patch target + +Derrick Stolee (14): + repo-settings: consolidate some config settings + t6501: use 'git gc' in quiet mode + commit-graph: turn on commit-graph by default + repo-settings: parse core.untrackedCache + repo-settings: create feature.manyFiles setting + repo-settings: create feature.experimental setting + merge-recursive: introduce an enum for detect_directory_renames values + checkout: add simple check for 'git checkout -b' + fetch: add fetch.writeCommitGraph config setting + treewide: rename 'struct exclude' to 'struct path_pattern' + treewide: rename 'struct exclude_list' to 'struct pattern_list' + treewide: rename 'EXCL_FLAG_' to 'PATTERN_FLAG_' + treewide: rename 'exclude' methods to 'pattern' + unpack-trees: rename 'is_excluded_from_list()' + +Elijah Newren (53): + git-fast-import.txt: clarify that multiple merge commits are allowed + checkout: remove duplicate code + merge-recursive: be consistent with assert + checkout: provide better conflict hunk description with detached HEAD + merge-recursive: enforce opt->ancestor != NULL when calling merge_trees() + merge-recursive: provide a better label for diff3 common ancestor + merge-recursive: future-proof update_file_flags() against memory leaks + merge-recursive: remove another implicit dependency on the_repository + Ensure index matches head before invoking merge machinery, round N + merge-recursive: exit early if index != head + merge-recursive: remove useless parameter in merge_trees() + merge-recursive: don't force external callers to do our logging + cache-tree: share code between functions writing an index as a tree + merge-recursive: fix some overly long lines + merge-recursive: use common name for ancestors/common/base_list + merge-recursive: rename 'mrtree' to 'result_tree', for clarity + merge-recursive: rename merge_options argument to opt in header + merge-recursive: move some definitions around to clean up the header + merge-recursive: consolidate unnecessary fields in merge_options + merge-recursive: comment and reorder the merge_options fields + merge-recursive: avoid losing output and leaking memory holding that output + merge-recursive: split internal fields into a separate struct + merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_* + merge-recursive: add sanity checks for relevant merge_options + merge-recursive: alphabetize include list + merge-options.txt: clarify meaning of various ff-related options + t3427: accelerate this test by using fast-export and fast-import + t6006: simplify, fix, and optimize empty message test + Recommend git-filter-repo instead of git-filter-branch + t9902: use a non-deprecated command for testing + t7300: add testcases showing failure to clean specified pathspecs + dir: fix typo in comment + dir: fix off-by-one error in match_pathspec_item + dir: also check directories for matching pathspecs + dir: make the DO_MATCH_SUBMODULE code reusable for a non-submodule case + dir: if our pathspec might match files under a dir, recurse into it + dir: add commentary explaining match_pathspec_item's return value + git-clean.txt: do not claim we will delete files with -n/--dry-run + clean: disambiguate the definition of -d + clean: avoid removing untracked files in a nested git repository + clean: rewrap overly long line + clean: fix theoretical path corruption + fast-export: fix exporting a tag and nothing else + dir: special case check for the possibility that pathspec is NULL + merge-recursive: fix the diff3 common ancestor label for virtual commits + fast-import: fix handling of deleted tags + fast-import: allow tags to be identified by mark labels + fast-import: add support for new 'alias' command + fast-export: add support for --import-marks-if-exists + fast-export: allow user to request tags be marked with --mark-tags + t9350: add tests for tags of things other than a commit + fast-export: handle nested tags + merge-recursive: fix the fix to the diff3 common ancestor label + +Emily Shaffer (1): + promisor-remote: skip move_to_tail when no-op + +Eric Wong (20): + diff: use hashmap_entry_init on moved_entry.ent + coccicheck: detect hashmap_entry.hash assignment + packfile: use hashmap_entry in delta_base_cache_entry + hashmap_entry_init takes "struct hashmap_entry *" + hashmap_get_next takes "const struct hashmap_entry *" + hashmap_add takes "struct hashmap_entry *" + hashmap_get takes "const struct hashmap_entry *" + hashmap_remove takes "const struct hashmap_entry *" + hashmap_put takes "struct hashmap_entry *" + introduce container_of macro + hashmap_get_next returns "struct hashmap_entry *" + hashmap: use *_entry APIs to wrap container_of + hashmap_get{,_from_hash} return "struct hashmap_entry *" + hashmap_cmp_fn takes hashmap_entry params + hashmap: use *_entry APIs for iteration + hashmap: hashmap_{put,remove} return hashmap_entry * + hashmap: introduce hashmap_free_entries + OFFSETOF_VAR macro to simplify hashmap iterators + hashmap: remove type arg from hashmap_{get,put,remove}_entry + hashmap_entry: remove first member requirement from docs + +Gabriele Mazzotta (1): + gitk: Do not mistake unchanged lines for submodule changes + +Garima Singh (3): + commit-graph: add --[no-]progress to write and verify + commit-graph: emit trace2 cmd_mode for each sub-command + sq_quote_buf_pretty: don't drop empty arguments + +Hervé Beraud (1): + hg-to-git: make it compatible with both python3 and python2 + +Jakob Jarmar (1): + stash: avoid recursive hard reset on submodules + +Jeff Hostetler (7): + trace2: cleanup column alignment in perf target format + trace2: trim whitespace in region messages in perf target format + trace2: remove dead code in maybe_add_string_va() + trace2: trim trailing whitespace in normal format error message + quote: add sq_append_quote_argv_pretty() + trace2: cleanup whitespace in normal format + trace2: cleanup whitespace in perf format + +Jeff King (32): + setup_traverse_info(): stop copying oid + tree-walk: drop oid from traverse_info + tree-walk: use size_t consistently + tree-walk: accept a raw length for traverse_path_len() + tree-walk: add a strbuf wrapper for make_traverse_path() + tree-walk: harden make_traverse_path() length computations + revision: allow --end-of-options to end option parsing + parse-options: allow --end-of-options as a synonym for "--" + gitcli: document --end-of-options + t1309: use short branch name in includeIf.onbranch test + common-main: delay trace2 initialization + config: stop checking whether the_repository is NULL + t/perf: rename duplicate-numbered test script + packfile: drop release_pack_memory() + notes: avoid potential use-after-free during insertion + fast-import: duplicate parsed encoding string + fast-import: duplicate into history rather than passing ownership + git-am: handle missing "author" when parsing commit + pack-objects: use object_id in packlist_alloc() + bulk-checkin: zero-initialize hashfile_checkpoint + diff-delta: set size out-parameter to 0 for NULL delta + test-read-cache: drop namelen variable + pack-objects: drop packlist index_pos optimization + commit-graph: turn off save_commit_buffer + list-objects: don't queue root trees unless revs->tree_objects is set + commit-graph: bump DIE_ON_LOAD check to actual load-time + upload-pack: disable commit graph more gently for shallow traversal + list-objects-filter: delay parsing of sparse oid + list-objects-filter: use empty string instead of NULL for sparse "base" + git_mkstemps_mode(): replace magic numbers with computed value + add a Code of Conduct document + CODE_OF_CONDUCT: mention individual project-leader emails + +Johannes Schindelin (41): + Drop unused git-rebase--am.sh + t3400: stop referring to the scripted rebase + .gitignore: there is no longer a built-in `git-rebase--interactive` + sequencer: the `am` and `rebase--interactive` scripts are gone + rebase: fold git-rebase--common into the -p backend + t3427: add a clarifying comment + t3427: simplify the `setup` test case significantly + t3427: move the `filter-branch` invocation into the `setup` case + t3427: condense the unnecessarily repetitive test cases into three + t3427: fix erroneous assumption + t3427: accommodate for the `rebase --merge` backend having been replaced + t3427: fix another incorrect assumption + rebase -r: support merge strategies other than `recursive` + t/lib-rebase: prepare for testing `git rebase --rebase-merges` + t3418: test `rebase -r` with merge strategies + rebase -r: do not (re-)generate root commits with `--root` *and* `--onto` + setup_git_directory(): handle UNC paths correctly + Fix .git/ discovery at the root of UNC shares + setup_git_directory(): handle UNC root paths correctly + .gitignore: stop ignoring `.manifest` files + Move git_sort(), a stable sort, into into libgit.a + diffcore_rename(): use a stable sort + ci: run `hdr-check` as part of the `Static Analysis` job + range-diff: internally force `diff.noprefix=true` + push: do not pretend to return `int` from `die_push_simple()` + fetch: let --jobs=<n> parallelize --multiple, too + stash apply: report status correctly even in a worktree's subdirectory + msvc: avoid using minus operator on unsigned types + winansi: use FLEX_ARRAY to avoid compiler warning + compat/win32/path-utils.h: add #include guards + msvc: ignore some libraries when linking + msvc: handle DEVELOPER=1 + msvc: work around a bug in GetEnvironmentVariable() + vcxproj: only copy `git-remote-http.exe` once it was built + vcxproj: include more generated files + test-tool run-command: learn to run (parts of) the testsuite + tests: let --immediate and --write-junit-xml play well together + ci: really use shallow clones on Azure Pipelines + ci: also build and test with MS Visual Studio on Azure Pipelines + xdiffi: fix typos and touch up comments + doc(stash): clarify the description of `save` + +Johannes Sixt (2): + diff, log doc: say "patch text" instead of "patches" + diff, log doc: small grammer, format, and language fixes + +Jon Simons (2): + t5616: test cloning/fetching with sparse:oid=<oid> filter + list-objects-filter: give a more specific error sparse parsing error + +Jonathan Tan (6): + diff: skip GITLINK when lazy fetching missing objs + transport-helper: skip ls-refs if unnecessary + transport: teach all vtables to allow fetch first + cache-tree: do not lazy-fetch tentative tree + merge-recursive: symlink's descendants not in way + send-pack: never fetch when checking exclusions + +Josh Steadmon (7): + t7503: verify proper hook execution + fetch: add trace2 instrumentation + push: add trace2 instrumentation + docs: mention trace2 target-dir mode in git-config + docs: clarify trace2 version invariants + trace2: discard new traces if target directory has too many files + trace2: write discard message to sentinel files + +Junio C Hamano (14): + First batch after Git 2.23 + t: use LF variable defined in the test harness + t3005: remove unused variable + Second batch + Third batch + SubmittingPatches: git-gui has a new maintainer + Fourth batch + Fifth batch + Sixth batch + transport: push codepath can take arbitrary repository + Seventh batch + Eighth batch + Ninth batch + Git 2.24-rc0 + +Kunal Tyagi (1): + add -i: show progress counter in the prompt + +Martin Ågren (14): + Documentation: wrap blocks with "--" + git-merge-base.txt: render indentations correctly under Asciidoctor + Documentation: wrap config listings in "----" + git-ls-remote.txt: wrap shell listing in "----" + git-receive-pack.txt: wrap shell [script] listing in "----" + git-merge-index.txt: wrap shell listing in "----" + gitweb.conf.txt: switch pluses to backticks to help Asciidoctor + Doc/Makefile: give mansource/-version/-manual attributes + asciidoctor-extensions: provide `<refmiscinfo/>` + doc-diff: replace --cut-header-footer with --cut-footer + user-manual.txt: add missing section label + user-manual.txt: change header notation + asciidoctor-extensions.rb: handle "book" doctype in linkgit + user-manual.txt: render ASCII art correctly under Asciidoctor + +Masaya Suzuki (1): + fetch: use oidset to keep the want OIDs for faster lookup + +Matheus Tavares (1): + grep: fix worktree case in submodules + +Matthew DeVore (10): + list-objects-filter: encapsulate filter components + list-objects-filter: put omits set in filter struct + list-objects-filter-options: always supply *errbuf + list-objects-filter: implement composite filters + list-objects-filter-options: move error check up + list-objects-filter-options: make filter_spec a string_list + strbuf: give URL-encoding API a char predicate fn + list-objects-filter-options: allow mult. --filter + list-objects-filter-options: clean up use of ALLOC_GROW + list-objects-filter-options: make parser void + +Max Rothman (1): + completion: add missing completions for log, diff, show + +Michael J Gruber (3): + merge: do no-verify like commit + git-merge: honor pre-merge-commit hook + merge: --no-verify to bypass pre-merge-commit hook + +Mike Hommey (3): + notes: avoid leaking duplicate entries + commit: free the right buffer in release_commit_memory + http: don't leak urlmatch_config.vars + +Mischa POSLAWSKY (1): + ref-filter: initialize empty name or email fields + +Paul Mackerras (1): + gitk: Make web links clickable + +Paul Wise (1): + gitk: Use right colour for remote refs in the "Tags and heads" dialog + +Pedro Sousa (1): + doc: MyFirstContribution: fix cmd placement instructions + +Philip.McGraw (1): + git-p4: auto-delete named temporary file + +Phillip Wood (3): + rebase -i: always update HEAD before rewording + rebase -i: check for updated todo after squash and reword + sequencer: simplify root commit creation + +Pratyush Yadav (6): + git-gui: call do_quit before destroying the main window + git-gui: allow reverting selected lines + git-gui: allow reverting selected hunk + git-gui: return early when patch fails to apply + git-gui: allow undoing last revert + Documentation: update the location of the git-gui repo + +René Scharfe (28): + nedmalloc: do assignments only after the declaration section + nedmalloc: avoid compiler warning about unused value + archive-tar: report wrong pax extended header length + archive-tar: fix pax extended header length calculation + archive-tar: use size_t in strbuf_append_ext_header() + archive-tar: turn length miscalculation warning into BUG + parseopt: move definition of enum parse_opt_result up + sha1-name: make sort_ambiguous_oid_array() thread-safe + log-tree: always use return value of strbuf_detach() + grep: use return value of strbuf_detach() + trace2: use warning() directly in tr2_dst_malformed_warning() + help: make help_unknown_ref() NORETURN + tree: simplify parse_tree_indirect() + tag: factor out get_tagged_oid() + use get_tagged_oid() + log: test --decorate-refs-exclude with --simplify-by-decoration + log-tree: call load_ref_decorations() in get_name_decoration() + rev-parse: demonstrate overflow of N for "foo^N" and "foo~N" + sha1-name: check for overflow of N in "foo^N" and "foo~N" + commit-graph: use commit_list_count() + sha1_name: simplify strbuf handling in interpret_nth_prior_checkout() + git: use COPY_ARRAY and MOVE_ARRAY in handle_alias() + treewide: remove duplicate #include directives + convert: fix handling of dashless UTF prefix in validate_encoding() + tests: remove "cat foo" before "test_i18ngrep bar foo" + http-push: simplify deleting a list item + column: use utf8_strnwidth() to strip out ANSI color escapes + remote-curl: use argv_array in parse_push() + +SZEDER Gábor (33): + t5510-fetch: fix negated 'test_i18ngrep' invocation + t5510-fetch: run non-httpd-specific test before sourcing 'lib-httpd.sh' + t5703: run all non-httpd-specific tests before sourcing 'lib-httpd.sh' + t: warn against adding non-httpd-specific tests after sourcing 'lib-httpd' + t5318-commit-graph: use 'test_expect_code' + commit-graph: turn a group of write-related macro flags into an enum + commit-graph: error out on invalid commit oids in 'write --stdin-commits' + t0000-basic: use realistic test script names in the verbose tests + tests: show the test name and number at the start of verbose output + completion: fix a typo in a comment + completion: complete more values of more 'color.*' configuration variables + completion: add tests for 'git config' completion + completion: deduplicate configuration sections + completion: use 'sort -u' to deduplicate config variable names + completion: simplify inner 'case' pattern in __gitcomp() + completion: split _git_config() + completion: complete configuration sections and variable names for 'git -c' + completion: complete values of configuration variables after 'git -c var=' + completion: complete config variables names and values for 'git clone -c' + completion: complete config variables and values for 'git clone --config=' + worktree remove: clarify error message on dirty worktree + diff: 'diff.indentHeuristic' is no longer experimental + line-log: extract pathspec parsing from line ranges into a helper function + line-log: avoid unnecessary full tree diffs + t7300-clean: demonstrate deleting nested repo with an ignored file breakage + t/lib-git-svn.sh: check GIT_TEST_SVN_HTTPD when running SVN HTTP tests + ci: restore running httpd tests + commit-graph: don't show progress percentages while expanding reachable commits + Revert "progress: use term_clear_line()" + Test the progress display + t/helper: ignore only executable files + travis-ci: do not skip successfully tested trees in debug mode + name-rev: avoid cutoff timestamp underflow + +Stephen Boyd (1): + userdiff: add a builtin pattern for dts files + +Stephen P. Smith (2): + Quit passing 'now' to date code + test_date.c: remove reference to GIT_TEST_DATE_NOW + +Sun Chao (1): + pack-refs: always refresh after taking the lock file + +Tanay Abhra (1): + t1308-config-set: fix a test that has a typo + +Taylor Blau (4): + banned.h: fix vsprintf()'s ban message + t/t5318: introduce failing 'git commit-graph write' tests + commit-graph.c: handle commit parsing errors + commit-graph.c: handle corrupt/missing trees + +Thomas Gummerer (6): + t0021: make sure clean filter runs + push: disallow --all and refspecs when remote.<name>.mirror is set + factor out refresh_and_write_cache function + merge: use refresh_and_write_cache + stash: make sure to write refreshed cache + range-diff: don't segfault with mode-only changes + +Tobias Klauser (1): + git-svn: trim leading and trailing whitespaces in author name + +Torsten Bögershausen (1): + mingw: support UNC in git clone file://server/share/repo + +Varun Naik (2): + checkout.c: unstage empty deleted ita files + restore: add test for deleted ita files + +YanKe (1): + gitk: Add Chinese (zh_CN) translation + +brian m. carlson (43): + builtin/replace: make hash size independent + patch-id: convert to use the_hash_algo + fetch-pack: use parse_oid_hex + builtin/receive-pack: switch to use the_hash_algo + builtin/blame: switch uses of GIT_SHA1_HEXSZ to the_hash_algo + builtin/rev-parse: switch to use the_hash_algo + blame: remove needless comparison with GIT_SHA1_HEXSZ + show-index: switch hard-coded constants to the_hash_algo + connected: switch GIT_SHA1_HEXSZ to the_hash_algo + bundle: switch to use the_hash_algo + combine-diff: replace GIT_SHA1_HEXSZ with the_hash_algo + config: use the_hash_algo in abbrev comparison + sha1-lookup: switch hard-coded constants to the_hash_algo + bisect: switch to using the_hash_algo + sequencer: convert to use the_hash_algo + pack-write: use hash_to_hex when writing checksums + builtin/repack: write object IDs of the proper length + builtin/worktree: switch null_sha1 to null_oid + cache: remove null_sha1 + wt-status: convert struct wt_status to object_id + packfile: replace sha1_to_hex + builtin/index-pack: replace sha1_to_hex + builtin/receive-pack: replace sha1_to_hex + rerere: replace sha1_to_hex + builtin/show-index: replace sha1_to_hex + midx: switch to using the_hash_algo + t3201: abstract away SHA-1-specific constants + t3206: abstract away hash size constants + t3301: abstract away SHA-1-specific constants + t3305: make hash size independent + t3306: abstract away SHA-1-specific constants + t3404: abstract away SHA-1-specific constants + t3430: avoid hard-coded object IDs + t3506: make hash independent + t3600: make hash size independent + t3800: make hash-size independent + t3903: abstract away SHA-1-specific constants + t4000: make hash size independent + t4002: make hash independent + t4009: make hash size independent + path: add a function to check for path suffix + am: reload .gitattributes after patching it + Documentation: fix build with Asciidoctor 2 + +Ævar Arnfjörð Bjarmason (20): + log tests: test regex backends in "--encode=<enc>" tests + grep: don't use PCRE2?_UTF8 with "log --encoding=<non-utf8>" + t4210: skip more command-line encoding tests on MinGW + grep: inline the return value of a function call used only once + grep tests: move "grep binary" alongside the rest + grep tests: move binary pattern tests into their own file + grep: make the behavior for NUL-byte in patterns sane + grep: drop support for \0 in --fixed-strings <pattern> + grep: remove the kwset optimization + grep: use PCRE v2 for optimized fixed-string search + grep: remove overly paranoid BUG(...) code + grep: stop "using" a custom JIT stack with PCRE v2 + grep: stop using a custom JIT stack with PCRE v1 + grep: consistently use "p->fixed" in compile_regexp() + grep: create a "is_fixed" member in "grep_pat" + grep: stess test PCRE v2 on invalid UTF-8 data + grep: do not enter PCRE2_UTF mode on fixed matching + t3432: distinguish "noop-same" v.s. "work-same" in "same head" tests + t3432: test for --no-ff's interaction with fast-forward + rebase tests: test linear branch topology + + +Version v2.23.4; changes since v2.23.3: +--------------------------------------- + +Johannes Schindelin (8): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + Git 2.21.4 + Git 2.22.5 + Git 2.23.4 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.23.3; changes since v2.23.2: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.23.2; changes since v2.23.1: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.23.1; changes since v2.23.0: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (35): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + test-drop-caches: use `has_dos_drive_prefix()` + Git 2.16.6 + Git 2.17.3 + Git 2.18.2 + Git 2.19.3 + t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x + Git 2.20.2 + mingw: detect when MSYS2's sh is to be spawned more robustly + mingw: use MSYS2 quoting even when spawning shell scripts + mingw: fix quoting of empty arguments for `sh` + t7415: drop v2.20.x-specific work-around + mingw: sh arguments need quoting in more circumstances + Git 2.21.1 + Git 2.22.2 + Git 2.23.1 + +Jonathan Nieder (3): + submodule: reject submodule.update = !command in .gitmodules + fsck: reject submodule.update = !command in .gitmodules + submodule: defend against submodule.update = !command in .gitmodules + + +Version v2.23.0; changes since v2.23.0-rc2: +------------------------------------------- + +Alessandro Menti (3): + l10n: it.po: update the Italian translation + l10n: it.po: update the Italian translation for v2.23.0 + l10n: it.po: update the Italian localization for v2.23.0 round 2 + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (4674t) + +Carmine Zaccagnino (1): + l10n: it.po: remove an extra space + +Christopher Díaz Riveros (1): + l10n: es: 2.23.0 round 2 + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Jean-Noël Avila (1): + l10n: fr v2.23.0 round 2 + +Jiang Xin (3): + l10n: git.pot: v2.23.0 round 1 (130 new, 35 removed) + l10n: git.pot: v2.23.0 round 2 (4 new, 6 removed) + l10n: zh_CN: for git v2.23.0 l10n round 1~2 + +Jordi Mas (2): + l10n: Update Catalan translation + l10n: Update Catalan translation + +Junio C Hamano (2): + Git 2.22.1 + Git 2.23 + +Mark Rushakoff (1): + doc: fix repeated words + +Matthias Rüster (1): + l10n: de.po: Update German translation + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (4676t0f0u) + +Philip Oakley (1): + .mailmap: update email address of Philip Oakley + +Philipp Weißmann (1): + l10n: de.po: Fix typo in German translation + +Trần Ngọc Quân (2): + l10n: vi.po (4676t): Updated Vietnamese translation + l10n: vi(4674t): Updated translation for Vietnamese + + +Version v2.23.0-rc2; changes since v2.23.0-rc1: +----------------------------------------------- + +Derrick Stolee (1): + commit-graph: fix bug around octopus merges + +Elijah Newren (1): + merge-recursive: avoid directory rename detection in recursive case + +Jean-Noël Avila (1): + l10n: reformat some localized strings for v2.23.0 + +Jeff King (1): + t0000: reword comments for "local" test + +Jonathan Nieder (1): + t: decrease nesting in test_oid_to_path + +Junio C Hamano (1): + Git 2.23-rc2 + +Mark Rushakoff (1): + doc: typo: s/can not/cannot/ and s/is does/does/ + +René Scharfe (4): + commit-graph: release strbufs after use + dir-iterator: release strbuf after use + test-dir-iterator: use path argument directly + sha1-file: release strbuf after use + +William Chargin (1): + restore: fix typo in docs + + +Version v2.23.0-rc1; changes since v2.23.0-rc0: +----------------------------------------------- + +Carlo Marcelo Arenas Belón (3): + xdiff: drop system includes in xutils.c + xdiff: remove duplicate headers from xhistogram.c + xdiff: remove duplicate headers from xpatience.c + +Jeff King (6): + verify-tag: drop signal.h include + wt-status.h: drop stdio.h include + t: sort output of hashmap iteration + t7700: clean up .keep file in bitmap-writing test + repack: silence warnings when auto-enabled bitmaps cannot be built + repack: simplify handling of auto-bitmaps and .keep files + +Johannes Schindelin (15): + Vcproj.pm: auto-generate GUIDs + Vcproj.pm: do not configure VCWebServiceProxyGeneratorTool + Vcproj.pm: urlencode '<' and '>' when generating VC projects + contrib/buildsystems: ignore irrelevant files in Generators/ + contrib/buildsystems: error out on unknown option + contrib/buildsystems: handle libiconv, too + contrib/buildsystems: also handle -lexpat + contrib/buildsystems: handle options starting with a slash + contrib/buildsystems: add a backend for modern Visual Studio versions + msvc: add a Makefile target to pre-generate the Visual Studio solution + vcxproj: also link-or-copy builtins + .gitignore: ignore Visual Studio's temporary/generated files + bin-wrappers: append `.exe` to target paths if necessary + git: avoid calling aliased builtins via their dashed form + config: work around bug with includeif:onbranch and early config + +Junio C Hamano (5): + test-dir-iterator: do not assume errno values + A few more last-minute fixes + log: flip the --mailmap default unconditionally + log: really flip the --mailmap default + Git 2.23-rc1 + +Martin Ågren (2): + RelNotes/2.21.1: typofix + RelNotes/2.23.0: fix a few typos and other minor issues + +Philip Oakley (9): + Vcproj.pm: list git.exe first to be startup project + contrib/buildsystems: ignore invalidcontinue.obj + contrib/buildsystems: fix misleading error message + contrib/buildsystems: handle quoted spaces in filenames + contrib/buildsystems: ignore gettext stuff + contrib/buildsystems: redirect errors of the dry run into a log file + contrib/buildsystems: optionally capture the dry-run in a file + contrib/buildsystems: handle the curl library option + .gitignore: touch up the entries regarding Visual Studio + +SZEDER Gábor (1): + Documentation/git-fsck.txt: include fsck.* config variables + +brian m. carlson (10): + t: add helper to convert object IDs to paths + t1410: make hash size independent + t1450: make hash size independent + t5000: make hash independent + t6030: make test work with SHA-256 + t0027: make hash size independent + t0090: make test pass with SHA-256 + t1007: remove SHA1 prerequisites + t1710: make hash independent + t2203: avoid hard-coded object ID values + + +Version v2.23.0-rc0; changes since v2.22.5: +------------------------------------------- + +Andrey Mazo (8): + git-p4: detect/prevent infinite loop in gitCommitByP4Change() + git-p4: add failing test for "git-p4: match branches case insensitively if configured" + git-p4: match branches case insensitively if configured + git-p4: don't groom exclude path list on every commit + git-p4: add failing test for "don't exclude other files with same prefix" + git-p4: don't exclude other files with same prefix + git-p4: add failing test for "git-p4: respect excluded paths when detecting branches" + git-p4: respect excluded paths when detecting branches + +Ariadne Conill (3): + log: add warning for unspecified log.mailmap setting + documentation: mention --no-use-mailmap and log.mailmap false setting + tests: defang pager tests by explicitly disabling the log.mailmap warning + +Barret Rhoden (8): + fsck: rename and touch up init_skiplist() + Move oidset_parse_file() to oidset.c + blame: use a helper function in blame_chunk() + blame: add the ability to ignore commits and their changes + blame: add config options for the output of ignored or unblamable lines + blame: optionally track line fingerprints during fill_blame_origin() + blame: use the fingerprint heuristic to match ignored lines + blame: add a test to cover blame_coalesce() + +Beat Bolli (1): + grep: print the pcre2_jit_on value + +Ben Avison (1): + clone: add `--remote-submodules` flag + +Boxuan Li (2): + userdiff: add Octave + userdiff: fix grammar and style issues + +Carlo Marcelo Arenas Belón (1): + trace2: correct typo in technical documentation + +Cesar Eduardo Barros (1): + mingw: embed a manifest to trick UAC into Doing The Right Thing + +Christian Couder (7): + t/helper: add test-oidmap.c + t: add t0016-oidmap.sh + oidmap: use sha1hash() instead of static hash() function + test-hashmap: remove 'hash' command + doc: improve usage string in MyFirstContribution + test-oidmap: remove 'add' subcommand + t0016: add 'remove' subcommand test + +Daniel Ferreira (1): + dir-iterator: add tests for dir-iterator API + +Denton Liu (3): + git-format-patch.txt: document --no-notes option + format-patch: teach format.notes config option + config: learn the "onbranch:" includeIf condition + +Derrick Stolee (35): + revision: use generation for A..B --topo-order queries + revision: keep topo-walk free of unintersting commits + repack: refactor pack deletion for future use + Docs: rearrange subcommands for multi-pack-index + multi-pack-index: prepare for 'expire' subcommand + midx: simplify computation of pack name lengths + midx: refactor permutation logic and pack sorting + multi-pack-index: implement 'expire' subcommand + multi-pack-index: prepare 'repack' subcommand + midx: implement midx_repack() + multi-pack-index: test expire while adding packs + midx: add test that 'expire' respects .keep files + t5319-multi-pack-index.sh: test batch size zero + commit-graph: document commit-graph chains + commit-graph: prepare for commit-graph chains + commit-graph: rename commit_compare to oid_compare + commit-graph: load commit-graph chains + commit-graph: add base graphs chunk + commit-graph: rearrange chunk count logic + commit-graph: write commit-graph chains + commit-graph: add --split option to builtin + commit-graph: merge commit-graph chains + commit-graph: allow cross-alternate chains + commit-graph: expire commit-graph files + commit-graph: create options for split files + commit-graph: verify chains with --shallow mode + commit-graph: clean up chains after flattened write + commit-graph: test octopus merges with --split + commit-graph: test --split across alternate without --split + commit-graph: normalize commit-graph filenames + commit-graph: test verify across alternates + fetch: add --[no-]show-forced-updates argument + fetch: warn about forced updates in branch listing + pull: add --[no-]show-forced-updates passthrough + t5319: use 'test-tool path-utils' instead of 'ls -l' + +Dimitriy Ryazantcev (1): + l10n: localizable upload progress messages + +Edmundo Carmona Antoranz (1): + builtin/merge.c - cleanup of code in for-cycle that tests strategies + +Elijah Newren (5): + t9350: fix encoding test to actually test reencoding + fast-import: support 'encoding' commit header + fast-export: avoid stripping encoding header if we cannot reencode + fast-export: differentiate between explicitly UTF-8 and implicitly UTF-8 + fast-export: do automatic reencoding of commit messages only if requested + +Emily Shaffer (4): + documentation: add tutorial for first contribution + documentation: add anchors to MyFirstContribution + doc: add some nit fixes to MyFirstContribution + rev-list: teach --no-object-names to enable piping + +Eric Wong (2): + update-server-info: avoid needless overwrites + repack: disable bitmaps-by-default if .keep files exist + +Jeff Hostetler (13): + cache-tree/blame: avoid reusing the DEBUG constant + msvc: mark a variable as non-const + msvc: do not re-declare the timespec struct + msvc: define ftello() + msvc: fix detect_msys_tty() + msvc: update Makefile to allow for spaces in the compiler path + status: add status.aheadbehind setting + status: warn when a/b calculation takes too long + status: ignore status.aheadbehind in porcelain formats + msvc: support building Git using MS Visual C++ + msvc: add a compile-time flag to allow detailed heap debugging + msvc: do not pretend to support all signals + msvc: ignore .dll and incremental compile output + +Jeff King (42): + cmd_{read,write}_tree: rename "unused" variable that is used + builtin: consistently pass cmd_* prefix to parse_options + submodule: drop unused prefix parameter from some functions + clone: drop dest parameter from copy_alternates() + read-cache: drop unused parameter from threaded load + wt-status: drop unused status parameter + mktree: drop unused length parameter + name-rev: drop unused parameters from is_better_name() + pack-objects: drop unused rev_info parameters + receive-pack: drop unused "commands" from prepare_shallow_update() + remove_all_fetch_refspecs(): drop unused "remote" parameter + rev-list: drop unused void pointer from finish_commit() + show-branch: drop unused parameter from show_independent() + verify-commit: simplify parameters to run_gpg_verify() + help_unknown_ref(): duplicate collected refnames + help_unknown_ref(): check for refname ambiguity + describe: fix accidental oid/hash type-punning + upload-pack: rename a "sha1" variable to "oid" + pack-bitmap-write: convert some helpers to use object_id + pack-objects: convert packlist_find() to use object_id + pack-objects: convert locate_object_entry_hash() to object_id + object: convert lookup_unknown_object() to use object_id + object: convert lookup_object() to use object_id + object: convert internal hash_obj() to object_id + object: convert create_object() to use object_id + khash: drop broken oid_map typedef + khash: rename kh_oid_t to kh_oid_set + delta-islands: convert island_marks khash to use oids + pack-bitmap: convert khash_sha1 maps into kh_oid_map + khash: drop sha1-specific map types + khash: rename oid helper functions + hash.h: move object_id definition from cache.h + hashmap: convert sha1hash() to oidhash() + blame: drop some unused function parameters + object-store.h: move for_each_alternate_ref() from transport.h + check_everything_connected: assume alternate ref tips are valid + test-lib: introduce test_commit_bulk + t5310: increase the number of bitmapped commits + t3311: use test_commit_bulk + t5702: use test_commit_bulk + t5703: use test_commit_bulk + t6200: use test_commit_bulk + +Johannes Schindelin (18): + Drop unused git-rebase--am.sh + t3400: stop referring to the scripted rebase + .gitignore: there is no longer a built-in `git-rebase--interactive` + sequencer: the `am` and `rebase--interactive` scripts are gone + rebase: fold git-rebase--common into the -p backend + mingw: fix a typo in the msysGit-specific section + Mark .bat files as requiring CR/LF endings + t0001 (mingw): do not expect a specific order of stdout/stderr + obstack: fix compiler warning + mingw: replace mingw_startup() hack + msvc: fix dependencies of compat/msvc.c + msvc: avoid debug assertion windows in Debug Mode + mingw: enable stack smashing protector + mingw: get pw_name in UTF-8 format + mingw: use Unicode functions explicitly + mingw: fix possible buffer overrun when calling `GetUserNameW()` + rebase: fix white-space + git: mark cmd_rebase as requiring a worktree + +Johannes Sixt (5): + userdiff: two simplifications of patterns for rust + t7610-mergetool: do not place pipelines headed by `yes` in subshells + t7610-mergetool: use test_cmp instead of test $(cat file) = $txt + mergetool: dissect strings with shell variable magic instead of `expr` + mergetool: use shell variable magic instead of `awk` + +John Lin (1): + status: remove the empty line after hints + +Junio C Hamano (8): + The first batch after 2.22 + The second batch + The third batch + The fourth batch + The fifth batch + The sixth batch + The seventh batch + Git 2.23-rc0 + +Karsten Blees (2): + gettext: always use UTF-8 on native Windows + mingw: initialize HOME on startup + +Marc-André Lureau (1): + userdiff: add built-in pattern for rust + +Martin Ågren (1): + ref-filter: fix memory leak in `free_array_item()` + +Matheus Tavares (8): + clone: better handle symlinked files at .git/objects/ + dir-iterator: use warning_errno when possible + dir-iterator: refactor state machine model + dir-iterator: add flags parameter to dir_iterator_begin + clone: copy hidden paths at local clone + clone: extract function from copy_or_link_directory + clone: use dir-iterator to avoid explicit dir traversal + clone: replace strcmp by fspathcmp + +Matthew DeVore (2): + list-objects-filter-options: error is localizeable + ref-filter: sort detached HEAD lines firstly + +Michael Osipov (1): + configure: Detect linking style for HP aCC on HP-UX + +Michael Platings (2): + blame: add a fingerprint heuristic to match ignored lines + t8014: remove unnecessary braces + +Nguyễn Thái Ngọc Duy (60): + git-checkout.txt: spell out --no-option + git-checkout.txt: fix one syntax line + doc: document --overwrite-ignore + git-checkout.txt: fix monospace typeset + t: rename t2014-switch.sh to t2014-checkout-switch.sh + checkout: advice how to get out of detached HEAD mode + checkout: inform the user when removing branch state + checkout: keep most #include sorted + checkout: factor out some code in parse_branchname_arg() + checkout: make "opts" in cmd_checkout() a pointer + checkout: move 'confict_style' and 'dwim_..' to checkout_opts + checkout: split options[] array in three pieces + checkout: split part of it to new command 'switch' + switch: better names for -b and -B + switch: add --discard-changes + switch: remove -l + switch: stop accepting pathspec + switch: reject "do nothing" case + switch: only allow explicit detached HEAD + switch: add short option for --detach + switch: implicit dwim, use --no-guess to disable it + switch: no worktree status unless real branch switch happens + switch: reject if some operation is in progress + switch: make --orphan switch to an empty tree + t: add tests for switch + completion: support switch + doc: promote "git switch" + checkout: split part of it to new command 'restore' + restore: take tree-ish from --source option instead + restore: make pathspec mandatory + restore: disable overlay mode by default + checkout: factor out worktree checkout code + restore: add --worktree and --staged + restore: reject invalid combinations with --staged + restore: default to --source=HEAD when only --staged is specified + restore: replace --force with --ignore-unmerged + restore: support --patch + t: add tests for restore + completion: support restore + user-manual.txt: prefer 'merge --abort' over 'reset --hard' + doc: promote "git restore" + help: move git-diff and git-reset to different groups + Declare both git-switch and git-restore experimental + merge: remove drop_save() in favor of remove_merge_branch_state() + worktree add: sanitize worktree names + merge: add --quit + fetch: only run 'gc' once when fetching multiple remotes + t2027: use test_must_be_empty + switch: allow to switch in the middle of bisect + completion: disable dwim on "git switch -d" + fetch-pack: move capability names out of i18n strings + fetch-pack: print all relevant supported capabilities with -v -v + fetch-pack: print server version at the top in -v -v + sha1-file.c: remove the_repo from read_object_with_reference() + tree-walk.c: remove the_repo from fill_tree_descriptor() + tree-walk.c: remove the_repo from get_tree_entry() + tree-walk.c: remove the_repo from get_tree_entry_follow_symlinks() + match-trees.c: remove the_repo from shift_tree*() + Use the right 'struct repository' instead of the_repository + t7814: do not generate same commits in different repos + +Nickolai Belakovski (3): + ref-filter: add worktreepath atom + branch: update output to include worktree info + branch: add worktree info on verbose output + +Philip Oakley (5): + git.c: show usage for accessing the git(1) help page + Doc: git.txt: remove backticks from link and add git-scm.com/docs + msvc: include sigset_t definition + msvc: define O_ACCMODE + msvc: add pragmas for common warnings + +Phillip Wood (7): + rebase -r: always reword merge -c + show --continue/skip etc. consistently in synopsis + sequencer: always allow tab after command name + sequencer: factor out todo command name parsing + status: do not report errors in sequencer/todo + git-prompt: improve cherry-pick/revert detection + t3420: remove progress lines before comparing output + +Ramsay Jones (1): + env--helper: mark a file-local symbol as static + +Rohit Ashiwal (5): + sequencer: add advice for revert + sequencer: rename reset_for_rollback to reset_merge + sequencer: use argv_array in reset_merge + cherry-pick/revert: add --skip option + cherry-pick/revert: advise using --skip + +SZEDER Gábor (1): + travis-ci: build with GCC 4.8 as well + +Stephen Boyd (2): + format-patch: inform user that patch-id generation is unstable + format-patch: make --base patch-id output stable + +Taylor Blau (1): + ref-filter.c: find disjoint pattern prefixes + +Thomas Gummerer (15): + apply: replace marc.info link with public-inbox + apply: only pass required data to skip_tree_prefix + apply: only pass required data to git_header_name + apply: only pass required data to check_header_line + apply: only pass required data to find_name_* + apply: only pass required data to gitdiff_* functions + apply: make parse_git_diff_header public + range-diff: fix function parameter indentation + range-diff: split lines manually + range-diff: don't remove funcname from inner diff + range-diff: suppress line count in outer diff + range-diff: add section header instead of diff header + range-diff: add filename to inner diff + range-diff: add headers to the outer hunk header + stash: fix handling removed files with --keep-index + +Tigran Mkrtchyan (1): + tag: add tag.gpgSign config option to force all tags be GPG-signed + +Ævar Arnfjörð Bjarmason (20): + send-email: move the read_config() function above getopts + send-email: rename the @bcclist variable for consistency + send-email: do defaults -> config -> getopt in that order + tests: add a special setup where prerequisites fail + Makefile: remove the NO_R_TO_GCC_LINKER flag + send-email: remove cargo-culted multi-patch pattern in tests + send-email: fix broken transferEncoding tests + send-email: document --no-[to|cc|bcc] + send-email: fix regression in sendemail.identity parsing + Revert "test-lib: whitelist GIT_TR2_* in the environment" + config tests: simplify include cycle test + env--helper: new undocumented builtin wrapping git_env_*() + config.c: refactor die_bad_number() to not call gettext() early + t6040 test: stop using global "script" variable + tests: make GIT_TEST_GETTEXT_POISON a boolean + tests README: re-flow a previously changed paragraph + tests: replace test_tristate with "git env--helper" + tests: make GIT_TEST_FAIL_PREREQS a boolean + tests: mark two failing tests under FAIL_PREREQS + clone: test for our behavior on odd objects/* content + + +Version v2.22.5; changes since v2.22.4: +--------------------------------------- + +Johannes Schindelin (7): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + Git 2.21.4 + Git 2.22.5 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.22.4; changes since v2.22.3: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.22.3; changes since v2.22.2: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.22.2; changes since v2.22.1: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (34): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + test-drop-caches: use `has_dos_drive_prefix()` + Git 2.16.6 + Git 2.17.3 + Git 2.18.2 + Git 2.19.3 + t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x + Git 2.20.2 + mingw: detect when MSYS2's sh is to be spawned more robustly + mingw: use MSYS2 quoting even when spawning shell scripts + mingw: fix quoting of empty arguments for `sh` + t7415: drop v2.20.x-specific work-around + mingw: sh arguments need quoting in more circumstances + Git 2.21.1 + Git 2.22.2 + +Jonathan Nieder (3): + submodule: reject submodule.update = !command in .gitmodules + fsck: reject submodule.update = !command in .gitmodules + submodule: defend against submodule.update = !command in .gitmodules + + +Version v2.22.1; changes since v2.22.0: +--------------------------------------- + +Beat Bolli (1): + unicode: update the width tables to Unicode 12.1 + +Carlo Marcelo Arenas Belón (5): + fsmonitor: avoid signed integer overflow / infinite loop + wrapper: avoid undefined behaviour in macOS + xdiff: drop system includes in xutils.c + xdiff: remove duplicate headers from xhistogram.c + xdiff: remove duplicate headers from xpatience.c + +Chris Mayo (1): + send-email: update documentation of required Perl modules + +Denton Liu (2): + config/alias.txt: change " and ' to ` + config/alias.txt: document alias accepting non-command first word + +Derrick Stolee (15): + commit-graph: fix the_repository reference + sha1-file: split OBJECT_INFO_FOR_PREFETCH + commit-graph: return with errors during write + commit-graph: collapse parameters into flags + commit-graph: remove Future Work section + commit-graph: create write_commit_graph_context + commit-graph: extract fill_oids_from_packs() + commit-graph: extract fill_oids_from_commit_hex() + commit-graph: extract fill_oids_from_all_packs() + commit-graph: extract count_distinct_commits() + commit-graph: extract copy_oids_to_commits() + commit-graph: extract write_commit_graph_file() + commit-graph: use raw_object_store when closing + packfile: close commit-graph in close_all_packs + packfile: rename close_all_packs to close_object_store + +Doug Ilijev (1): + README: fix rendering of text in angle brackets + +Dr. Adam Nielsen (1): + gitignore.txt: make slash-rules more readable + +Emily Shaffer (3): + grep: fail if call could output and name is null + doc: hint about GIT_DEBUGGER in CodingGuidelines + transport-helper: enforce atomic in push_refs_with_push + +Eric Wong (1): + server-info: do not list unlinked packs + +Felipe Contreras (5): + t5801 (remote-helpers): cleanup refspec stuff + t5801 (remote-helpers): add test to fetch tags + fetch: trivial cleanup + fetch: make the code more understandable + fetch: fix regression with transport helpers + +Jakub Wilk (1): + doc: don't use git.kernel.org as example gitweb URL + +Jeff King (10): + upload-pack: strip namespace from symref data + am: simplify prompt response handling + am: read interactive input from stdin + am: drop tty requirement for --interactive + am: fix --interactive HEAD tree resolution + interpret-trailers: load default config + verify-tag: drop signal.h include + wt-status.h: drop stdio.h include + delta-islands: respect progress flag + xdiff: clamp function context indices in post-image + +Johannes Schindelin (14): + bisect--helper: verify HEAD could be parsed before continuing + fill_stat_cache_info(): prepare for an fsmonitor fix + mark_fsmonitor_valid(): mark the index as changed if needed + bundle verify: error out if called without an object database + poll (mingw): allow compiling with GCC 8 and DEVELOPER=1 + kwset: allow building with GCC 8 + winansi: simplify loading the GetCurrentConsoleFontEx() function + config: avoid calling `labs()` on too-large data type + t3404: fix a typo + t0001: fix on case-insensitive filesystems + rebase --am: ignore rebase.rescheduleFailedExec + diff: munmap() file contents before running external diff + mingw: support spawning programs containing spaces in their names + clean: show an error message when the path is too long + +Jonathan Tan (5): + t5616: refactor packfile replacement + index-pack: prefetch missing REF_DELTA bases + t5616: use correct flag to check object is missing + t5616: cover case of client having delta base + t5551: test usage of chunked encoding explicitly + +Josh Steadmon (1): + trace2: correct trace2 field name documentation + +Junio C Hamano (6): + transport-helper: avoid var decl in for () loop control + rm: resolving by removal is not a warning-worthy event + CodingGuidelines: spell out post-C89 rules + Flush fixes up to the third batch post 2.22.0 + Merge fixes made on the 'master' front + Git 2.22.1 + +Martin Ågren (1): + RelNotes/2.21.1: typofix + +Matthew DeVore (3): + list-objects-filter: correct usage of ALLOC_GROW + url: do not read past end of buffer + url: do not allow %00 to represent NUL in URLs + +Miguel Ojeda (1): + clang-format: use git grep to generate the ForEachMacros list + +Mike Hommey (2): + dup() the input fd for fast-import used for remote helpers + Use xmmap_gently instead of xmmap in use_pack + +Mike Mueller (1): + p4 unshelve: fix "Not a valid object name HEAD0" on Windows + +Morian Sonnet (1): + submodule foreach: fix recursion of options + +Nguyễn Thái Ngọc Duy (3): + init: make --template path relative to $CWD + worktree add: be tolerant of corrupt worktrees + completion: do not cache if --git-completion-helper fails + +Paolo Bonzini (2): + request-pull: quote regex metacharacters in local ref + request-pull: warn if the remote object is not the same as the local one + +Philip Oakley (2): + doc branch: provide examples for listing remote tracking branches + .mailmap: update email address of Philip Oakley + +Phillip Wood (5): + rebase: fix a memory leak + rebase: warn if state directory cannot be removed + sequencer: return errors from sequencer_remove_state() + rebase --abort/--quit: cleanup refs/rewritten + add -p: fix checkout -p with pathological context + +Quentin Nerden (2): + docs: git-clone: refer to long form of options + docs: git-clone: list short form of options first + +René Scharfe (6): + cleanup: fix possible overflow errors in binary search, part 2 + coccinelle: use COPY_ARRAY for copying arrays + use COPY_ARRAY for copying arrays + config: use unsigned_mult_overflows to check for overflows + config: don't multiply in parse_unit_factor() + config: simplify parsing of unit factors + +Robert Morgan (1): + gpg(docs): use correct --verify syntax + +SZEDER Gábor (11): + t3404: modernize here doc style + t3404: make the 'rebase.missingCommitsCheck=ignore' test more focused + pager: add a helper function to clear the last line in the terminal + t5551: use 'test_i18ngrep' to check translated output + rebase: fix garbled progress display with '-x' + progress: use term_clear_line() + Document that 'git -C ""' works and doesn't change directory + ci: don't update Homebrew + ci: disable Homebrew's auto cleanup + ci/lib.sh: update a comment about installed P4 and Git-LFS versions + Documentation/git-fsck.txt: include fsck.* config variables + +Simon Williams (1): + git-p4: allow unshelving of branched files + +Steven Roberts (1): + gpg-interface: do not scan past the end of buffer + +Thomas Gummerer (1): + stash: fix show referencing stash index + +Varun Naik (1): + read-cache.c: do not die if mmap fails + +Vishal Verma (1): + merge: refuse --commit with --squash + +Xin Li (1): + clone: respect user supplied origin name when setting up partial clone + +Ævar Arnfjörð Bjarmason (1): + hash-object doc: stop mentioning git-cvsimport + + +Version v2.22.0; changes since v2.22.0-rc3: +------------------------------------------- + +Alessandro Menti (1): + l10n: it.po: Updated Italian translation + +Alexander Shopov (3): + l10n: bg.po: Updated Bulgarian translation (4577t) + l10n: bg.po: Updated Bulgarian translation (4580t) + l10n: bg.po: Updated Bulgarian translation (4581t) + +Christopher Díaz Riveros (3): + l10n: es: 2.22.0 round 1 + l10n: es: 2.22.0 round 2 + l10n: es: 2.22.0 round 3 + +Cédric Malard (1): + l10n: fr.po: Review French translation + +Elijah Newren (1): + merge-recursive: restore accidentally dropped setting of path + +Fangyi Zhou (1): + l10n: zh_CN: Revision for git v2.22.0 l10n + +Jean-Noël Avila (3): + l10n: fr.po v2.22.0.rnd1 + l10n: fr.po v2.22.0 round 2 + l10n: fr v2.22.0 rnd 3 + +Jiang Xin (4): + l10n: git.pot: v2.22.0 round 1 (270 new, 56 removed) + l10n: git.pot: v2.22.0 round 2 (6 new, 3 removed) + l10n: git.pot: v2.22.0 round 3 (3 new, 2 removed) + l10n: zh_CN: for git v2.22.0 l10n round 1~3 + +Jordi Mas (1): + l10n: Update Catalan translation + +Junio C Hamano (1): + Git 2.22 + +Matthias Rüster (2): + l10n: TEAMS: Change German translation team leader + l10n: de.po: Update German translation + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation + l10n: sv.po: Update Swedish translation (4577t0f0u) + +Ralf Thielow (1): + l10n: de.po: improve description of 'git reset --quiet' + +Trần Ngọc Quân (3): + l10n: vi.po(4577t): Updated Vietnamese translation for v2.22.0 round 1 + l10n: vi.po(4580t): Updated Vietnamese translation for v2.22.0 round 2 + l10n: vi.po(4581t): Updated Vietnamese translation for v2.22.0 round 3 + + +Version v2.22.0-rc3; changes since v2.22.0-rc2: +----------------------------------------------- + +Christian Couder (1): + list-objects-filter: disable 'sparse:path' filters + +Jiang Xin (1): + i18n: fix typos found during l10n for git 2.22.0 + +Junio C Hamano (1): + Git 2.22-rc3 + +Todd Zullinger (1): + RelNotes: minor typo fixes in 2.22.0 draft + + +Version v2.22.0-rc2; changes since v2.22.0-rc1: +----------------------------------------------- + +Emily Shaffer (1): + gitsubmodules: align html and nroff lists + +Jean-Noël Avila (1): + diff: fix mistake in translatable strings + +Jeff Hostetler (1): + trace2: fix tracing when NO_PTHREADS is defined + +Johannes Schindelin (4): + rebase: replace incorrect logical negation by correct bitwise one + tests: mark a couple more test cases as requiring `rebase -p` + docs: say that `--rebase=preserve` is deprecated + rebase docs: recommend `-r` over `-p` + +Jonathan Tan (1): + fetch-pack: send server options after command + +Junio C Hamano (1): + Git 2.22-rc2 + +Nguyễn Thái Ngọc Duy (3): + diff-parseopt: correct variable types that are used by parseopt + diff-parseopt: restore -U (no argument) behavior + parse-options: check empty value in OPT_INTEGER and OPT_ABBREV + +SZEDER Gábor (3): + trace2: rename environment variables to GIT_TRACE2* + trace2: document the supported values of GIT_TRACE2* env variables + progress: avoid empty line when breaking the progress line + + +Version v2.22.0-rc1; changes since v2.22.0-rc0: +----------------------------------------------- + +Boxuan Li (1): + t4253-am-keep-cr-dos: avoid using pipes + +Carlo Marcelo Arenas Belón (1): + http-push: prevent format overflow warning with gcc >= 9 + +Chris Mayo (1): + notes: correct documentation of format_display_notes() + +Chris. Webster (1): + diff-highlight: use correct /dev/null for UNIX and Windows + +Denton Liu (10): + t7610: unsuppress output + t7610: add mergetool --gui tests + t2018: cleanup in current test + branch: make create_branch accept a merge base rev + tag: fix typo in nested tagging hint + mergetool: use get_merge_tool function + mergetool--lib: create gui_mode function + mergetool: fallback to tool when guitool unavailable + difftool: make --gui, --tool and --extcmd mutually exclusive + difftool: fallback on merge.guitool + +Derrick Stolee (3): + midx: pass a repository pointer + midx: add packs to packed_git linked list + trace2: add variable description to git.txt + +Dustin Spicuzza (1): + cvsexportcommit: force crlf translation + +Elijah Newren (1): + Honor core.precomposeUnicode in more places + +Eric Sunshine (1): + check-non-portable-shell: support Perl versions older than 5.10 + +Jeff King (4): + coccicheck: optionally batch spatch invocations + t/lib-httpd: pass LSAN_OPTIONS through apache + coccicheck: make batch size of 0 mean "unlimited" + get_oid: handle NULL repo->index + +Johannes Schindelin (8): + t5580: verify that alternates can be UNC paths + fsmonitor: demonstrate that it is not refreshed after discard_index() + fsmonitor: force a refresh after the index was discarded + t6500(mingw): use the Windows PID of the shell + difftool --no-index: error out on --dir-diff (and don't crash) + status: fix display of rebase -ir's `label` command + parse-options: adjust `parse_opt_unknown_cb()`s declared return type + stash: document stash.useBuiltin + +Josh Steadmon (1): + commit-graph: fix memory leak + +Junio C Hamano (2): + pkt-line: drop 'const'-ness of a param to set_packet_header() + Git 2.22-rc1 + +Mike Hommey (1): + Make fread/fwrite-like functions in http.c more like fread/fwrite. + +Nguyễn Thái Ngọc Duy (2): + parse-options: don't emit "ambiguous option" for aliases + submodule--helper: add a missing \n + +SZEDER Gábor (1): + ci: install 'libsvn-perl' instead of 'git-svn' + +Tanushree Tumane (1): + mingw: remove obsolete IPv6-related code + +Todd Zullinger (1): + test-lib: try harder to ensure a working jgit + +Ævar Arnfjörð Bjarmason (8): + perf README: correct docs for 3c8f12c96c regression + perf aggregate: remove GIT_TEST_INSTALLED from --codespeed + perf-lib.sh: make "./run <revisions>" use the correct gits + perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.sh + perf tests: add "bindir" prefix to git tree test results + perf-lib.sh: forbid the use of GIT_TEST_INSTALLED + trace2: fix up a missing "leave" entry point + sha1dc: update from upstream + +İsmail Dönmez (2): + mingw: do not let ld strip relocations + mingw: enable DEP and ASLR + + +Version v2.22.0-rc0; changes since v2.21.4: +------------------------------------------- + +Alban Gruin (18): + sequencer: changes in parse_insn_buffer() + sequencer: make the todo_list structure public + sequencer: remove the 'arg' field from todo_item + sequencer: refactor transform_todos() to work on a todo_list + sequencer: introduce todo_list_write_to_file() + sequencer: refactor check_todo_list() to work on a todo_list + sequencer: refactor sequencer_add_exec_commands() to work on a todo_list + sequencer: refactor rearrange_squash() to work on a todo_list + sequencer: make sequencer_make_script() write its script to a strbuf + sequencer: change complete_action() to use the refactored functions + rebase--interactive: move sequencer_add_exec_commands() + rebase--interactive: move rearrange_squash_in_todo_file() + sequencer: refactor skip_unnecessary_picks() to work on a todo_list + rebase-interactive: use todo_list_write_to_file() in edit_todo_list() + rebase-interactive: append_todo_help() changes + rebase-interactive: rewrite edit_todo_list() to handle the initial edit + sequencer: use edit_todo_list() in complete_action() + rebase--interactive: move transform_todo_file() + +Alexander Blesius (1): + doc: fix typos in man pages + +Alexander Shopov (1): + gitk: Update Bulgarian translation (317t) + +Anders Waldenborg (7): + doc: group pretty-format.txt placeholders descriptions + pretty: allow %(trailers) options with explicit value + pretty: single return path in %(trailers) handling + pretty: allow showing specific trailers + pretty: add support for "valueonly" option in %(trailers) + strbuf: separate callback for strbuf_expand:ing literals + pretty: add support for separator option in %(trailers) + +Andreas Heiduk (1): + revisions.txt: remove ambibuity between <rev>:<path> and :<path> + +Andrei Rybak (1): + t4150: remove unused variable + +Baruch Siach (1): + send-email: don't cc *-by lines with '-' prefix + +Beat Bolli (1): + unicode: update the width tables to Unicode 12 + +Ben Peart (1): + read-cache: add post-index-change hook + +Brandon Richardson (1): + commit-tree: utilize parse-options api + +Christian Couder (4): + t6050: use test_line_count instead of wc -l + t6050: redirect expected error output to a file + replace: peel tag when passing a tag as parent to --graft + replace: peel tag when passing a tag first to --graft + +Clément Chigot (2): + Makefile: use fileno macro work around on AIX + git-compat-util: work around for access(X_OK) under root + +Corentin BOMPARD (2): + doc/CodingGuidelines: URLs and paths as monospace + doc: format pathnames and URLs as monospace. + +Damien Robert (1): + ref-filter: use correct branch for %(push:track) + +Daniels Umanovskis (1): + branch: introduce --show-current display option + +David Aguilar (2): + mergetools: add support for smerge (Sublime Merge) + contrib/completion: add smerge to the mergetool completion candidates + +David Kastrup (1): + blame.c: don't drop origin blobs as eagerly + +Denton Liu (28): + completion: complete git submodule absorbgitdirs + git-submodule.txt: "--branch <branch>" option defaults to 'master' + submodule--helper: teach config subcommand --unset + submodule: document default behavior + git-reset.txt: clarify documentation + git-clean.txt: clarify ignore pattern files + docs: move core.excludesFile from git-add to gitignore + contrib/subtree: ensure only one rev is provided + midx.c: convert FLEX_ALLOC_MEM to FLEX_ALLOC_STR + cocci: FLEX_ALLOC_MEM to FLEX_ALLOC_STR + tag: fix formatting + submodule: teach set-branch subcommand + tag: advise on nested tags + t7600: clean up style + t3507: clean up style + t7604: clean up style + t7502: clean up style + commit: extract cleanup_mode functions to sequencer + parse-options.h: extract common --cleanup option + merge: cleanup messages like commit + merge: add scissors line on merge conflict + cherry-pick/revert: add scissors line on merge conflict + *.[ch]: remove extern from function declarations using spatch + *.[ch]: remove extern from function declarations using sed + *.[ch]: manually align parameter lists + revisions.txt: change "rev" to "<rev>" + revisions.txt: mark optional rev arguments with [] + revisions.txt: mention <rev>~ form + +Derrick Stolee (1): + trace2:data: pack-objects: add trace2 regions + +Elijah Newren (22): + log,diff-tree: add --combined-all-paths option + merge-options.txt: correct wording of --no-commit option + t9300: demonstrate bug with get-mark and empty orphan commits + git-fast-import.txt: fix wording about where ls command can appear + fast-import: check most prominent commands first + fast-import: only allow cat-blob requests where it makes sense + fast-import: fix erroneous handling of get-mark with empty orphan commits + Use 'unsigned short' for mode, like diff_filespec does + merge-recursive: rename merge_options argument from 'o' to 'opt' + merge-recursive: rename diff_filespec 'one' to 'o' + merge-recursive: rename locals 'o' and 'a' to 'obuf' and 'abuf' + merge-recursive: use 'ci' for rename_conflict_info variable name + merge-recursive: move some struct declarations together + merge-recursive: shrink rename_conflict_info + merge-recursive: remove ren[12]_other fields from rename_conflict_info + merge-recursive: track branch where rename occurred in rename struct + merge-recursive: cleanup handle_rename_* function signatures + merge-recursive: switch from (oid,mode) pairs to a diff_filespec + t6043: fix copied test description to match its purpose + merge-recursive: track information associated with directory renames + merge-recursive: give callers of handle_content_merge() access to contents + merge-recursive: switch directory rename detection default + +Eric Wong (1): + repack: enable bitmaps by default on bare repos + +Jean-Noël Avila (2): + l10n: fr.po remove obsolete entries + Doc: fix misleading asciidoc formating + +Jeff Hostetler (29): + trace2: Documentation/technical/api-trace2.txt + trace2: create new combined trace facility + trace2: collect Windows-specific process information + trace2:data: add trace2 regions to wt-status + trace2:data: add editor/pager child classification + trace2:data: add trace2 sub-process classification + trace2:data: add trace2 transport child classification + trace2:data: add trace2 hook classification + trace2:data: add trace2 instrumentation to index read/write + trace2:data: add subverb to checkout command + trace2:data: add subverb to reset command + trace2:data: add subverb for rebase + trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh + trace2: add for_each macros to clang-format + progress: add sparse mode to force 100% complete message + trace2:data: add trace2 data to midx + midx: add progress indicators in multi-pack-index verify + midx: during verify group objects by packfile to speed verification + config: initialize opts structure in repo_read_config() + trace2: refactor setting process starting time + trace2: add absolute elapsed time to start event + trace2: find exec-dir before trace2 initialization + config: add read_very_early_config() + trace2: use system/global config for default trace2 settings + trace2: report peak memory usage of the process + trace2: clarify UTC datetime formatting + trace2: make SIDs more unique + trace2: update docs to describe system/global config settings + trace2: fixup access problem on /etc/gitconfig in read_very_early_config + +Jeff King (88): + prune: lazily perform reachability traversal + prune: use bitmaps for reachability traversal + prune: check SEEN flag for reachability + t5304: rename "sha1" variables to "oid" + diff: drop options parameter from diffcore_fix_diff_index() + diff: drop unused color reset parameters + diff: drop unused emit data parameter from sane_truncate_line() + diff: drop complete_rewrite parameter from run_external_diff() + merge-recursive: drop several unused parameters + pack-objects: drop unused parameter from oe_map_new_pack() + files-backend: drop refs parameter from split_symref_update() + ref-filter: drop unused buf/sz pairs + ref-filter: drop unused "obj" parameters + ref-filter: drop unused "sz" parameters + diff: reuse diff setup for --no-index case + bisect: use string arguments to feed internal diff-tree + bisect: fix internal diff-tree config loading + bisect: make diff-tree output prettier + fetch: avoid calling write_or_die() + fetch: ignore SIGPIPE during network operation + rev-list: allow cached objects in existence check + doc/fsck: clarify --connectivity-only behavior + fsck: always compute USED flags for unreachable objects + compat/bswap: add include header guards + config: document --type=color output is a complete line + line-log: suppress diff output with "-s" + line-log: detect unsupported formats + point pull requesters to GitGitGadget + Makefile: fix unaligned loads in sha1dc with UBSan + t5310: correctly remove bitmaps for jgit test + pack-objects: default to writing bitmap hash-cache + perf-lib.sh: rely on test-lib.sh for --tee handling + revision: drop some unused "revs" parameters + log: drop unused rev_info from early output + log: drop unused "len" from show_tagger() + update-index: drop unused prefix_length parameter from do_reupdate() + test-date: drop unused "now" parameter from parse_dates() + unpack-trees: drop name_entry from traverse_by_cache_tree() + unpack-trees: drop unused error_type parameters + report_path_error(): drop unused prefix parameter + fetch_pack(): drop unused parameters + parse-options: drop unused ctx parameter from show_gitcomp() + pretty: drop unused "type" parameter in needs_rfc2047_encoding() + pretty: drop unused strbuf from parse_padding_placeholder() + git: read local config in --list-cmds + completion: fix multiple command removals + parse_opt_ref_sorting: always use with NONEG flag + refs/files-backend: handle packed transaction prepare failure + refs/files-backend: don't look at an aborted transaction + http: factor out curl result code normalization + http: normalize curl results for dumb loose and alternates fetches + http: use normalize_curl_result() instead of manual conversion + revision: use a prio_queue to hold rewritten parents + get_commit_tree(): return NULL for broken tree + rev-list: let traversal die when --missing is not in use + rev-list: detect broken root trees + test-prio-queue: use xmalloc + xdiff: use git-compat-util + xdiff: use xmalloc/xrealloc + progress: use xmalloc/xcalloc + t5516: drop ok=sigpipe from unreachable-want tests + t5530: check protocol response for "not our ref" + upload-pack: send ERR packet for non-tip objects + pkt-line: prepare buffer before handling ERR packets + fetch: use free_refs() + remote.c: make singular free_ref() public + fetch: do not consider peeled tags as advertised tips + packfile.h: drop extern from function declarations + pack-revindex: open index if necessary + t5319: fix bogus cat-file argument + t5319: drop useless --buffer from cat-file + midx: check both pack and index names for containment + packfile: fix pack basename computation + http: simplify parsing of remote objects/info/packs + server-info: fix blind pointer arithmetic + server-info: simplify cleanup in parse_pack_def() + server-info: use strbuf to read old info/packs file + server-info: drop nr_alloc struct member + server-info: drop objdirlen pointer arithmetic + update_info_refs(): drop unused force parameter + t5304: add a test for pruning with bitmaps + untracked-cache: be defensive about missing NULs in index + untracked-cache: simplify parsing by dropping "next" + untracked-cache: simplify parsing by dropping "len" + p5302: create the repo in each index-pack test + doc/ls-files: put nested list for "-t" option into block + t/perf: depend on perl JSON only when using --codespeed + t/perf: add perf script for partial clones + +Jiang Xin (4): + t5323: test cases for git-pack-redundant + pack-redundant: delay creation of unique_objects + pack-redundant: rename pack_list.all_objects + pack-redundant: consistent sort method + +Joel Teichroeb (5): + stash: improve option parsing test coverage + stash: convert apply to builtin + stash: convert drop and clear to builtin + stash: convert branch to builtin + stash: convert pop to builtin + +Joey Hess (1): + convert: avoid malloc of original file size + +Johannes Schindelin (55): + ident: add the ability to provide a "fallback identity" + travis: remove the hack to build the Windows job on Azure Pipelines + tests: let --stress-limit=<N> imply --stress + tests: introduce --stress-jobs=<N> + built-in rebase: no need to check out `onto` twice + built-in rebase: use the correct reflog when switching branches + built-in rebase: demonstrate that ORIG_HEAD is not set correctly + built-in rebase: set ORIG_HEAD just once, before the rebase + Makefile: use `git ls-files` to list header files, if possible + curl: anonymize URLs in error messages and warnings + remote-curl: mark all error messages for translation + stash: add back the original, scripted `git stash` + stash: optionally use the scripted version again + tests: add a special setup where stash.useBuiltin is off + legacy stash: fix "rudimentary backport of -q" + built-in stash: handle :(glob) pathspecs again + mingw: drop MakeMaker reference + mingw: allow building with an MSYS2 runtime v3.x + rebase: deprecate --preserve-merges + mingw: respect core.hidedotfiles = false in git-init again + test-lib: introduce 'test_atexit' + git-daemon: use 'test_atexit` to stop 'git-daemon' + git p4 test: use 'test_atexit' to kill p4d and the watchdog process + rebase -i: demonstrate obscure loose object cache bug + sequencer: improve error message when an OID could not be parsed + sequencer: move stale comment into correct location + get_oid(): when an object was not found, try harder + difftool: remove obsolete (and misleading) comment + parse-options: make OPT_ARGUMENT() more useful + difftool: allow running outside Git worktrees with --no-index + docs: move gitremote-helpers into section 7 + docs: do not document the `git remote-testgit` command + check-docs: really look at the documented commands again + check-docs: do not expect guide pages to correspond to commands + check-docs: fix for setups where executables have an extension + tests (rebase): spell out the `--keep-empty` option + tests (rebase): spell out the `--force-rebase` option + t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match` + t5531: avoid using an abbreviated option + tests (push): do not abbreviate the `--follow-tags` option + tests (status): spell out the `--find-renames` option in full + tests (pack-objects): use the full, unabbreviated `--revs` option + t3301: fix false negative + untracked cache: fix off-by-one + tests: disallow the use of abbreviated options (by default) + t9822: skip tests if file names cannot be ISO-8859-1 encoded + macOS: make sure that gettext is found + remote-testgit: move it into the support directory for t5801 + Makefile: drop the NO_INSTALL variable + help -a: do not list commands that are excluded from the build + check-docs: allow command-list.txt to contain excluded commands + docs: exclude documentation for commands that have been excluded + check-docs: do not bother checking for legacy scripts' documentation + test-tool: handle the `-C <directory>` option just like `git` + Turn `git serve` into a test helper + +Jonathan Tan (24): + remote-curl: reduce scope of rpc_state.argv + remote-curl: reduce scope of rpc_state.stdin_preamble + remote-curl: reduce scope of rpc_state.result + remote-curl: refactor reading into rpc_state's buf + remote-curl: use post_rpc() for protocol v2 also + tests: define GIT_TEST_PROTOCOL_VERSION + t5601: check ssh command only with protocol v0 + tests: always test fetch of unreachable with v0 + t5503: fix overspecification of trace expectation + t5512: compensate for v0 only sending HEAD symrefs + t5700: only run with protocol version 1 + tests: fix protocol version for overspecifications + t5552: compensate for v2 filtering ref adv. + submodule: explain first attempt failure clearly + t5551: mark half-auth no-op fetch test as v0-only + fetch-pack: call prepare_shallow_info only if v0 + fetch-pack: respect --no-update-shallow in v2 + sha1-file: support OBJECT_INFO_FOR_PREFETCH + fetch-pack: binary search when storing wanted-refs + diff: batch fetching of missing blobs + pack-objects: write objects packed to trace2 + transport: die if server options are unsupported + clone: send server options when using protocol v2 + worktree: update is_bare heuristics + +Jordi Mas (1): + l10n: Fixes to Catalan translation + +Josh Steadmon (4): + protocol-capabilities.txt: document symref + trace2: write to directory targets + clone: do faster object check for partial clones + trace2: fix incorrect function pointer check + +Junio C Hamano (14): + test: caution on our version of 'yes' + builtin/log: downcase the beginning of error messages + format-patch: notice failure to open cover letter for writing + Start 2.22 cycle + The second batch + The third batch + The fourth batch + gettext tests: export the restored GIT_TEST_GETTEXT_POISON + The fifth batch + The sixth batch + Makefile: dedup list of files obtained from ls-files + The seventh batch + The eighth batch + Git 2.22-rc0 + +Kyle Meyer (5): + rebase docs: fix "gitlink" typo + submodule: refuse to add repository with no commits + dir: do not traverse repositories with no commits + add: error appropriately on repository with no commits + t3000 (ls-files -o): widen description to reflect current tests + +Martin Ågren (14): + setup: free old value before setting `work_tree` + setup: fix memory leaks with `struct repository_format` + config/diff.txt: drop spurious backtick + config/fsck.txt: avoid starting line with dash + git.txt: remove empty line before list continuation + git-svn.txt: drop escaping '\' that ends up being rendered + Documentation: turn middle-of-line tabs into spaces + Documentation/Makefile: add missing xsl dependencies for manpages + Documentation/Makefile: add missing dependency on asciidoctor-extensions + asciidoctor-extensions: fix spurious space after linkgit + Doc: auto-detect changed build flags + doc-diff: let `render_tree()` take an explicit directory name + doc-diff: support diffing from/to AsciiDoc(tor) + doc-diff: add `--cut-header-footer` + +Matthew Kraai (1): + t3903: add test for --intent-to-add file + +Michal Suchanek (1): + worktree: fix worktree add race + +Mike Hommey (1): + fix pack protocol example client/server communication + +Nguyễn Thái Ngọc Duy (124): + parse-options.h: remove extern on function prototypes + parse-options: add one-shot mode + parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN + parse-options: add OPT_BITOP() + parse-options: stop abusing 'callback' for lowlevel callbacks + parse-options: avoid magic return codes + parse-options: allow ll_callback with OPTION_CALLBACK + diff.h: keep forward struct declarations sorted + diff.h: avoid bit fields in struct diff_flags + diff.c: prepare to use parse_options() for parsing + diff.c: convert -u|-p|--patch + diff.c: convert -U|--unified + diff.c: convert -W|--[no-]function-context + diff.c: convert --raw + read-cache.c: fix writing "link" index ext with null base oid + completion: add more parameter value completion + diff-parseopt: convert --patch-with-raw + diff-parseopt: convert --numstat and --shortstat + diff-parseopt: convert --dirstat and friends + diff-parseopt: convert --check + diff-parseopt: convert --summary + diff-parseopt: convert --patch-with-stat + diff-parseopt: convert --name-only + diff-parseopt: convert --name-status + diff-parseopt: convert -s|--no-patch + diff-parseopt: convert --stat* + diff-parseopt: convert --[no-]compact-summary + diff-parseopt: convert --output-* + diff-parseopt: convert -B|--break-rewrites + diff-parseopt: convert -M|--find-renames + diff-parseopt: convert -D|--irreversible-delete + diff-parseopt: convert -C|--find-copies + diff-parseopt: convert --find-copies-harder + diff-parseopt: convert --no-renames|--[no--rename-empty + diff-parseopt: convert --relative + diff-parseopt: convert --[no-]minimal + diff-parseopt: convert --ignore-some-changes + Delete check-racy.c + diff-parseopt: convert --[no-]indent-heuristic + diff-parseopt: convert --patience + diff-parseopt: convert --histogram + diff-parseopt: convert --diff-algorithm + diff-parseopt: convert --anchored + diff-parseopt: convert --binary + diff-parseopt: convert --full-index + diff-parseopt: convert -a|--text + diff-parseopt: convert -R + diff-parseopt: convert --[no-]follow + diff-parseopt: convert --[no-]color + diff-parseopt: convert --word-diff + diff-parseopt: convert --word-diff-regex + diff-parseopt: convert --color-words + diff-parseopt: convert --exit-code + diff-parseopt: convert --quiet + diff-parseopt: convert --ext-diff + diff-parseopt: convert --textconv + diff-parseopt: convert --ignore-submodules + diff-parseopt: convert --submodule + files-backend.c: factor out per-worktree code in loose_fill_ref_dir() + files-backend.c: reduce duplication in add_per_worktree_entries_to_dir() + Make sure refs/rewritten/ is per-worktree + unpack-trees: fix oneway_merge accidentally carry over stage index + checkout.txt: note about losing staged changes with --merge + commit: improve error message in "-a <paths>" case + unpack-trees: keep gently check inside add_rejected_path + unpack-trees: rename "gently" flag to "quiet" + read-tree: add --quiet + checkout: prevent losing staged changes with --merge + diff-parseopt: convert --ws-error-highlight + diff-parseopt: convert --ita-[in]visible-in-index + diff-parseopt: convert -z + diff-parseopt: convert -l + diff-parseopt: convert -S|-G + diff-parseopt: convert --pickaxe-all|--pickaxe-regex + diff-parseopt: convert -O + diff-parseopt: convert --find-object + diff-parseopt: convert --diff-filter + diff-parseopt: convert --[no-]abbrev + diff-parseopt: convert --[src|dst]-prefix + diff-parseopt: convert --line-prefix + diff-parseopt: convert --no-prefix + diff-parseopt: convert --inter-hunk-context + diff-parseopt: convert --[no-]color-moved + diff-parseopt: convert --color-moved-ws + diff.c: allow --no-color-moved-ws + range-diff: use parse_options() instead of diff_opt_parse() + diff --no-index: use parse_options() instead of diff_opt_parse() + am: avoid diff_opt_parse() + config: correct '**' matching in includeIf patterns + interpret-trailers.txt: start the desc line with a capital letter + read-tree.txt: clarify --reset and worktree changes + packfile.c: add repo_approximate_object_count() + refs.c: add refs_ref_exists() + refs.c: add refs_shorten_unambiguous_ref() + refs.c: remove the_repo from substitute_branch_name() + refs.c: remove the_repo from expand_ref() + refs.c: add repo_dwim_ref() + refs.c: add repo_dwim_log() + refs.c: remove the_repo from read_ref_at() + submodule foreach: fix "<command> --quiet" not being respected + commit.cocci: refactor code, avoid double rewrite + commit.c: add repo_get_commit_tree() + sha1-name.c: remove the_repo from sort_ambiguous() + sha1-name.c: remove the_repo from find_abbrev_len_packed() + sha1-name.c: add repo_find_unique_abbrev_r() + sha1-name.c: store and use repo in struct disambiguate_state + sha1-name.c: add repo_for_each_abbrev() + sha1-name.c: remove the_repo from get_short_oid() + sha1-name.c: remove the_repo from interpret_nth_prior_checkout() + sha1-name.c: remove the_repo from interpret_branch_mark() + sha1-name.c: add repo_interpret_branch_name() + sha1-name.c: remove the_repo from get_oid_oneline() + sha1-name.c: remove the_repo from get_describe_name() + sha1-name.c: remove the_repo from get_oid_basic() + sha1-name.c: remove the_repo from get_oid_1() + sha1-name.c: remove the_repo from handle_one_ref() + sha1-name.c: remove the_repo from diagnose_invalid_index_path() + sha1-name.c: remove the_repo from resolve_relative_path() + sha1-name.c: remove the_repo from get_oid_with_context_1() + sha1-name.c: add repo_get_oid() + submodule-config.c: use repo_get_oid for reading .gitmodules + sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name + sha1-name.c: remove the_repo from other get_oid_* + sha1-name.c: remove the_repo from get_oid_mb() + +Paul-Sebastian Ungureanu (17): + sha1-name.c: add `get_oidf()` which acts like `get_oid()` + strbuf.c: add `strbuf_join_argv()` + strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()` + t3903: modernize style + stash: rename test cases to be more descriptive + stash: add tests for `git stash show` config + stash: mention options in `show` synopsis + stash: convert list to builtin + stash: convert show to builtin + stash: convert store to builtin + stash: convert create to builtin + stash: convert push to builtin + stash: make push -q quiet + stash: convert save to builtin + stash: optimize `get_untracked_files()` and `check_changes()` + stash: replace all `write-tree` child processes with API calls + stash: convert `stash--helper.c` into `stash.c` + +Philip Oakley (2): + rerere doc: quote `rerere.enabled` + describe doc: remove '7-char' abbreviation reference + +Phillip Wood (21): + am/cherry-pick/rebase/revert: document --rerere-autoupdate + merge: tweak --rerere-autoupdate documentation + sequencer: break some long lines + cherry-pick: demonstrate option amnesia + cherry-pick --continue: remember options + commit/reset: try to clean up sequencer state + fix cherry-pick/revert status after commit + sequencer: fix cleanup with --signoff and -x + sequencer.c: save and restore cleanup mode + sequencer: always discard index after checkout + rebase: don't translate trace strings + rebase: rename write_basic_state() + rebase: use OPT_RERERE_AUTOUPDATE() + rebase -i: combine rebase--interactive.c with rebase.c + rebase -i: remove duplication + rebase -i: use struct commit when parsing options + rebase -i: use struct object_id for squash_onto + rebase -i: use struct rebase_options to parse args + rebase -i: use struct rebase_options in do_interactive_rebase() + rebase: use a common action enum + rebase -i: run without forking rebase--interactive + +Ramsay Jones (2): + prune-packed: check for too many arguments + Makefile: fix 'hdr-check' when GCRYPT not installed + +René Scharfe (1): + get-tar-commit-id: parse comment record + +Robert P. J. Day (3): + mention use of "hooks.allownonascii" in "man githooks" + docs/git-gc: fix typo "--prune=all" to "--prune=now" + attr.c: ".gitattribute" -> ".gitattributes" (comments) + +Rohit Ashiwal (3): + test functions: add function `test_file_not_empty` + t3600: modernize style + t3600: use helpers to replace test -d/f/e/s <path> + +SZEDER Gábor (23): + test-lib: fix interrupt handling with 'dash' and '--verbose-log -x' + t/lib-git-daemon: make sure to kill the 'git-daemon' process + tests: use 'test_atexit' to stop httpd + t0301-credential-cache: use 'test_atexit' to stop the credentials helper + git p4 test: clean up the p4d cleanup functions + git p4 test: simplify timeout handling + git p4 test: disable '-x' tracing in the p4d watchdog loop + t9811-git-p4-label-import: fix pipeline negation + t5318-commit-graph: remove unused variable + Documentation/git-diff-tree.txt: fix formatting + Documentation/technical/api-config.txt: fix formatting + Documentation/technical/protocol-v2.txt: fix formatting + ci: install Asciidoctor in 'ci/install-dependencies.sh' + index-pack: show progress while checking objects + ci: stick with Asciidoctor v1.5.8 for now + ci: fix AsciiDoc/Asciidoctor stderr check in the documentation build job + progress: make display_progress() return void + progress: assemble percentage and counters in a strbuf before printing + blame: default to HEAD in a bare repo when no start commit is given + builtin rebase: use FREE_AND_NULL + builtin rebase: use oideq() + progress: clear previous progress update dynamically + progress: break too long progress bar lines + +Sun Chao (2): + pack-redundant: delete redundant code + pack-redundant: new algorithm to find min packs + +Sven Strickroth (1): + MSVC: include compat/win32/path-utils.h for MSVC, too, for real_path() + +Taylor Blau (4): + t: move 'hex2oct' into test-lib-functions.sh + t: introduce tests for unexpected object types + list-objects.c: handle unexpected non-blob entries + list-objects.c: handle unexpected non-tree entries + +Thomas Gummerer (15): + move worktree tests to t24* + entry: factor out unlink_entry function + entry: support CE_WT_REMOVE flag in checkout_entry + read-cache: add invalidate parameter to remove_marked_cache_entries + checkout: clarify comment + checkout: factor out mark_cache_entry_for_checkout function + checkout: introduce --{,no-}overlay option + checkout: introduce checkout.overlayMode config + revert "checkout: introduce checkout.overlayMode config" + ident: don't require calling prepare_fallback_ident first + stash: drop unused parameter + stash: pass pathspec as pointer + glossary: add definition for overlay + stash: setup default diff output format if necessary + ls-files: use correct format string + +Todd Zullinger (7): + t4038-diff-combined: quote paths with whitespace + t9902: test multiple removals via completion.commands + completion: use __git when calling --list-cmds + Documentation/rev-list-options: wrap --date=<format> block with "--" + Documentation/git-status: fix titles in porcelain v2 section + Documentation/git-svn: improve asciidoctor compatibility + Documentation/git-show-branch: avoid literal {apostrophe} + +Torsten Bögershausen (1): + trace2: NULL is not allowed for va_list + +Trần Ngọc Quân (1): + l10n: Updated Vietnamese translation for v2.21 rd2 + +Vadim Kochan (1): + autoconf: #include <libintl.h> when checking for gettext() + +William Hubbs (1): + config: allow giving separate author and committer idents + +Yash Bhatambare (1): + gitattributes.txt: fix typo + +brian m. carlson (35): + t/lib-submodule-update: use appropriate length constant + khash: move oid hash table definition + pack-bitmap: make bitmap header handling hash agnostic + pack-bitmap: convert struct stored_bitmap to object_id + pack-bitmap: replace sha1_to_hex + pack-bitmap: switch hard-coded constants to the_hash_algo + pack-bitmap: switch hash tables to use struct object_id + submodule: avoid hard-coded constants + notes-merge: switch to use the_hash_algo + notes: make hash size independent + notes: replace sha1_to_hex + object-store: rename and expand packed_git's sha1 member + builtin/name-rev: make hash-size independent + fast-import: make hash-size independent + fast-import: replace sha1_to_hex + builtin/am: make hash size independent + builtin/pull: make hash-size independent + http-push: convert to use the_hash_algo + http-backend: allow 64-character hex names + http-push: remove remaining uses of sha1_to_hex + http-walker: replace sha1_to_hex + http: replace hard-coded constant with the_hash_algo + http: compute hash of downloaded objects using the_hash_algo + http: replace sha1_to_hex + remote-curl: make hash size independent + hash: add a function to lookup hash algorithm by length + builtin/get-tar-commit-id: make hash size independent + archive: convert struct archiver_args to object_id + refspec: make hash size independent + builtin/difftool: use parse_oid_hex + dir: make untracked cache extension hash size independent + read-cache: read data in a hash-independent way + Git.pm: make hash size independent + gitweb: make hash size independent + send-email: default to quoted-printable when CR is present + +Ævar Arnfjörð Bjarmason (36): + receive-pack: fix use-after-free bug + commit-graph tests: split up corrupt_graph_and_verify() + commit-graph tests: test a graph that's too small + Makefile: remove an out-of-date comment + Makefile: move "strip" assignment down from flags + Makefile: add/remove comments at top and tweak whitespace + Makefile: Move *_LIBS assignment into its own section + Makefile: move the setting of *FLAGS closer to "include" + Makefile: allow for combining DEVELOPER=1 and CFLAGS="..." + gc: remove redundant check for gc_auto_threshold + gc: convert to using the_hash_algo + gc: refactor a "call me once" pattern + reflog tests: make use of "test_config" idiom + reflog tests: test for the "points nowhere" warning + rebase: remove the rebase.useBuiltin setting + gc docs: modernize the advice for manually running "gc" + gc docs: stop noting "repack" flags + gc docs: clean grammar for "gc.bigPackThreshold" + commit-graph: fix segfault on e.g. "git status" + commit-graph: don't early exit(1) on e.g. "git status" + commit-graph: don't pass filename to load_commit_graph_one_fd_st() + commit-graph verify: detect inability to read the graph + commit-graph write: don't die if the existing graph is corrupt + commit-graph: improve & i18n error messages + reflog tests: assert lack of early exit with expiry="never" + gc: handle & check gc.reflogExpire config + test-lib: whitelist GIT_TR2_* in the environment + gc docs: include the "gc.*" section from "config" in "gc" + gc docs: re-flow the "gc.*" section in "config" + gc docs: fix formatting for "gc.writeCommitGraph" + gc docs: note how --aggressive impacts --window & --depth + gc docs: downplay the usefulness of --aggressive + gc docs: note "gc --aggressive" in "fast-import" + gc docs: clarify that "gc" doesn't throw away referenced objects + gc docs: remove incorrect reference to gc.auto=0 + trace2: fix up a missing "leave" entry point + + +Version v2.21.4; changes since v2.21.3: +--------------------------------------- + +Johannes Schindelin (6): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + Git 2.21.4 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.21.3; changes since v2.21.2: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.21.2; changes since v2.21.1: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.21.1; changes since v2.21.0: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (33): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + test-drop-caches: use `has_dos_drive_prefix()` + Git 2.16.6 + Git 2.17.3 + Git 2.18.2 + Git 2.19.3 + t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x + Git 2.20.2 + mingw: detect when MSYS2's sh is to be spawned more robustly + mingw: use MSYS2 quoting even when spawning shell scripts + mingw: fix quoting of empty arguments for `sh` + t7415: drop v2.20.x-specific work-around + mingw: sh arguments need quoting in more circumstances + Git 2.21.1 + +Jonathan Nieder (3): + submodule: reject submodule.update = !command in .gitmodules + fsck: reject submodule.update = !command in .gitmodules + submodule: defend against submodule.update = !command in .gitmodules + + +Version v2.21.0; changes since v2.21.0-rc2: +------------------------------------------- + +Alessandro Menti (1): + l10n: it: update the Italian translation + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (4363t) + +Christopher Díaz Riveros (1): + l10n: es: 2.21.0 round 2 + +Fabien Villepinte (2): + l10n: fr.po Fix some typos + l10n: fr.po Fix some typos from round3 + +Fangyi Zhou (1): + l10n: zh_CN: Revision for git v2.21.0 l10n + +Jean-Noël Avila (1): + l10n: fr.po v2.21.0 rnd 2 + +Jiang Xin (3): + l10n: git.pot: v2.21.0 round 1 (214 new, 38 removed) + l10n: git.pot: v2.21.0 round 2 (3 new, 3 removed) + l10n: zh_CN: for git v2.21.0 l10n round 1~2 + +Jimmy Angelakos (1): + l10n: el: add Greek l10n team and essential translations + +Johannes Schindelin (1): + README: adjust for final Azure Pipeline ID + +Jordi Mas (2): + l10n: Update Catalan translation + l10n: Fixes to Catalan translation + +Junio C Hamano (1): + Git 2.21 + +Nguyễn Thái Ngọc Duy (1): + l10n: bg.po: correct typo + +Peter Krefting (1): + l10n: Update Swedish translation (4363t0f0u) + +Ralf Thielow (1): + l10n: update German translation + +Sebastian Staudt (3): + l10n: de.po: consistent translation of 'root commit' + l10n: de.po: fix a message for index-pack.c + l10n: de.po: fix grammar in message for tag.c + +Yoichi Nakayama (1): + checkout doc: fix an unmatched double-quote pair + +Zhilei Han (1): + l10n: zh_CN: fix typo of submodule init message + +Ævar Arnfjörð Bjarmason (3): + tests: avoid syntax triggering old dash bug + tests: fix unportable "\?" and "\+" regex syntax + commit-graph tests: fix unportable "dd" invocation + + +Version v2.21.0-rc2; changes since v2.21.0-rc1: +----------------------------------------------- + +Elijah Newren (1): + git-rebase.txt: update to reflect merge now implemented on sequencer + +Emilio Cobos Álvarez (1): + docs/git-rebase: remove redundant entry in incompatible options list + +Johannes Schindelin (2): + mingw: safe-guard a bit more against getenv() problems + tests: teach the test-tool to generate NUL bytes and use it + +Junio C Hamano (3): + t1404: do not rely on the exact phrasing of strerror() + Revert "t5562: replace /dev/zero with a pipe from generate_zero_bytes" + Git 2.21-rc2 + +Max Kirillov (2): + t5562: do not depend on /dev/zero + t5562: do not reuse output files + +Todd Zullinger (1): + t/lib-httpd: pass GIT_TEST_SIDEBAND_ALL through Apache + + +Version v2.21.0-rc1; changes since v2.21.0-rc0: +----------------------------------------------- + +Derrick Stolee (1): + Makefile: add coverage-prove target + +Jean-Noël Avila (1): + Fix typos in translatable strings for v2.21.0 + +Jeff King (4): + remote-curl: refactor smart-http discovery + remote-curl: tighten "version 2" check for smart-http + RelNotes/2.21: tweak "--date=auto" mention + RelNotes/2.21: misc typo/English fixups + +Johannes Schindelin (4): + Revert "rebase: introduce a shortcut for --reschedule-failed-exec" + mingw: fix CPU reporting in `git version --build-options` + .mailmap: map Clemens Buchacher's mail addresses + mingw: use a more canonical method to fix the CPU reporting + +Josh Steadmon (3): + t5551: test server-side ERR packet + fuzz-commit-graph: initialize repo object + object: fix leak of shallow_stat + +Junio C Hamano (3): + ci: clear and mark MAKEFLAGS exported just once + Seventh batch for 2.21 + Git 2.21-rc1 + +Katrin Leinweber (1): + doc: prevent overflowing <code> tag in rendered HTML + +Kevin Daudt (1): + t0028: fix wrong octal values for BOM in setup + +Luke Diamand (1): + git-p4: remove ticket expiry test + +Nguyễn Thái Ngọc Duy (5): + checkout: update count-checkouts messages + checkout: count and print -m paths separately + imap-send.c: add a missing space in error message + git-compat-util: work around fileno(fp) that is a macro + get_oid_with_context(): match prototype and implementation + +Ramsay Jones (1): + sequencer: make sign_off_header a file local symbol + +Randall S. Becker (6): + t5403: correct bash ambiguous redirect error in subtest 8 by quoting $GIT_DIR + config.mak.uname: add FREAD_READS_DIRECTORIES for NonStop platform + test-lib-functions.sh: add generate_zero_bytes function + t5318: replace use of /dev/zero with generate_zero_bytes + t5562: replace /dev/zero with a pipe from generate_zero_bytes + config.mak.uname: move location of bash on NonStop to CoreUtils + +SZEDER Gábor (3): + ci: make sure we build Git parallel + test-lib: make '--stress' more bisect-friendly + test-lib: fix non-portable pattern bracket expressions + +Todd Zullinger (2): + t/lib-gpg: quote path to ${GNUPGHOME}/trustlist.txt + t/lib-gpg: drop redundant killing of gpg-agent + +brian m. carlson (1): + utf8: handle systems that don't write BOM for UTF-16 + +Ævar Arnfjörð Bjarmason (1): + rebase: fix regression in rebase.useBuiltin=false test mode + + +Version v2.21.0-rc0; changes since v2.20.5: +------------------------------------------- + +Arti Zirk (1): + git-instaweb: add Python builtin http.server support + +Ben Peart (2): + checkout: add test demonstrating regression with checkout -b on initial commit + checkout: fix regression in checkout -b on intitial checkout + +Brandon Richardson (1): + commit-tree: add missing --gpg-sign flag + +Brandon Williams (1): + mailmap: update brandon williams's email address + +Carlo Marcelo Arenas Belón (4): + t6036: avoid non-portable "cp -a" + tests: add lint for non portable cp -a + t5004: avoid using tar for empty packages + config.mak.uname: OpenBSD uses BSD semantics with fread for directories + +Chayoung You (3): + zsh: complete unquoted paths with spaces correctly + completion: treat results of git ls-tree as file paths + completion: fix typo in git-completion.bash + +Christian Couder (3): + fetch: fix extensions.partialclone name in error message + partial-clone: add missing 'is' in doc + helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo + +David Turner (1): + Do not print 'dangling' for cat-file in case of ambiguity + +Denis Ovsienko (1): + docs: fix $strict_export text in gitweb.conf.txt + +Derrick Stolee (8): + merge-recursive: combine error handling + commit-graph: writing missing parents is a BUG + git-gc.txt: fix typo about gc.writeCommitGraph + revision: add mark_tree_uninteresting_sparse + list-objects: consume sparse tree walk + revision: implement sparse algorithm + pack-objects: create pack.useSparse setting + pack-objects: create GIT_TEST_PACK_SPARSE + +Elijah Newren (30): + t6042: add tests for consistency in file collision conflict handling + t6036, t6042: testcases for rename collision of already conflicting files + merge-recursive: increase marker length with depth of recursion + merge-recursive: new function for better colliding conflict resolutions + merge-recursive: fix rename/add conflict handling + merge-recursive: improve handling for rename/rename(2to1) conflicts + merge-recursive: use handle_file_collision for add/add conflicts + merge-recursive: improve rename/rename(1to2)/add[/add] handling + t6036, t6043: increase code coverage for file collision handling + fast-export: convert sha1 to oid + git-fast-import.txt: fix documentation for --quiet option + git-fast-export.txt: clarify misleading documentation about rev-list args + fast-export: use value from correct enum + fast-export: avoid dying when filtering by paths and old tags exist + fast-export: move commit rewriting logic into a function for reuse + fast-export: when using paths, avoid corrupt stream with non-existent mark + fast-export: ensure we export requested refs + fast-export: add --reference-excluded-parents option + fast-import: remove unmaintained duplicate documentation + fast-export: add a --show-original-ids option to show original names + git-rebase.txt: update note about directory rename detection and am + rebase: make builtin and legacy script error messages the same + rebase: fix incompatible options error message + t5407: add a test demonstrating how interactive handles --skip differently + am, rebase--merge: do not overlook --skip'ed commits with post-rewrite + git-rebase, sequencer: extend --quiet option for the interactive machinery + git-legacy-rebase: simplify unnecessary triply-nested if + rebase: define linearization ordering and enforce it + rebase: implement --merge via the interactive machinery + git-show-ref.txt: fix order of flags + +Eric Sunshine (1): + doc/config: do a better job of introducing 'worktree.guessRemote' + +Eric Wong (2): + banned.h: mark strncat() as banned + t1512: test ambiguous cat-file --batch and --batch-output + +Erin Dahlgren (1): + Simplify handling of setup_git_directory_gently() failure cases. + +Force Charlie (1): + http: add support selecting http version + +Frank Dana (1): + docs/gitweb.conf: config variable typo + +Issac Trotts (1): + log: add %S option (like --source) to log --format + +Jean-Noël Avila (2): + Documentation/Makefile add optional targets for l10n + doc: tidy asciidoc style + +Jeff King (50): + fsck: do not reuse child_process structs + submodule--helper: prefer strip_suffix() to ends_with() + rename "alternate_object_database" to "object_directory" + sha1_file_name(): overwrite buffer instead of appending + handle alternates paths the same as the main object dir + sha1-file: use an object_directory for the main object dir + object-store: provide helpers for loose_objects_cache + sha1-file: use loose object cache for quick existence check + fetch-pack: drop custom loose object cache + odb_load_loose_cache: fix strbuf leak + transport-helper: drop read/write errno checks + sha1-file: fix outdated sha1 comment references + update comment references to sha1_object_info() + http: use struct object_id instead of bare sha1 + sha1-file: modernize loose object file functions + sha1-file: modernize loose header/stream functions + sha1-file: convert pass-through functions to object_id + convert has_sha1_file() callers to has_object_file() + sha1-file: drop has_sha1_file() + sha1-file: prefer "loose object file" to "sha1 file" in messages + sha1-file: avoid "sha1 file" for generic use in messages + prefer "hash mismatch" to "sha1 mismatch" + upload-pack: support hidden refs with protocol v2 + remote: check config validity before creating rewrite struct + get_super_prefix(): copy getenv() result + commit: copy saved getenv() result + config: make a copy of $GIT_CONFIG string + init: make a copy of $GIT_DIR string + merge-recursive: copy $GITHEAD strings + builtin_diff(): read $GIT_DIFF_OPTS closer to use + add: use separate ADD_CACHE_RENORMALIZE flag + attr: do not mark queried macros as unset + t4006: resurrect commented-out tests + diff: clear emitted_symbols flag after use + combine-diff: factor out stat-format mask + combine-diff: treat --shortstat like --stat + combine-diff: treat --summary like --stat + combine-diff: treat --dirstat like --stat + match-trees: drop unused path parameter from score functions + apply: drop unused "def" parameter from find_name_gnu() + create_bundle(): drop unused "header" parameter + column: drop unused "opts" parameter in item_length() + show_date_relative(): drop unused "tz" parameter + config: drop unused parameter from maybe_remove_section() + convert: drop len parameter from conversion checks + convert: drop path parameter from actual conversion functions + doc/gitattributes: clarify "autocrlf overrides eol" + docs/config: clarify "text property" in core.eol + test-date: drop unused parameter to getnanos() + add_to_index(): convert forgotten HASH_RENORMALIZE check + +Johannes Schindelin (35): + rebase: introduce --reschedule-failed-exec + rebase: add a config option to default to --reschedule-failed-exec + rebase: introduce a shortcut for --reschedule-failed-exec + gc/repack: release packs when needed + add --edit: truncate the patch file + t6042: work around speed optimization on Windows + abspath_part_inside_repo: respect core.ignoreCase + rebase: move `reset_head()` into a better spot + rebase: avoid double reflog entry when switching branches + rebase: teach `reset_head()` to optionally skip the worktree + built-in rebase: call `git am` directly + mingw (t5580): document bug when cloning from backslashed UNC paths + mingw: special-case arguments to `sh` + tests: explicitly use `test-tool.exe` on Windows + travis: fix skipping tagged releases + ci: rename the library of common functions + ci/lib.sh: encapsulate Travis-specific things + ci: inherit --jobs via MAKEFLAGS in run-build-and-tests + ci: use a junction on Windows instead of a symlink + test-date: add a subcommand to measure times in shell scripts + tests: optionally write results as JUnit-style .xml + ci/lib.sh: add support for Azure Pipelines + Add a build definition for Azure DevOps + ci: add a Windows job to the Azure Pipelines definition + ci: use git-sdk-64-minimal build artifact + mingw: be more generous when wrapping up the setitimer() emulation + README: add a build badge (status of the Azure Pipelines build) + tests: avoid calling Perl just to determine file sizes + tests: include detailed trace logs with --write-junit-xml upon failure + mingw: try to work around issues with the test cleanup + tests: add t/helper/ to the PATH with --with-dashes + t0061: workaround issues with --with-dashes and RUNTIME_PREFIX + tests: optionally skip bin-wrappers/ + ci: speed up Windows phase + ci: parallelize testing on Windows + +Jonathan Nieder (1): + stripspace: allow -s/-c outside git repository + +Jonathan Tan (9): + revision: use commit graph in get_reference() + fetch-pack: support protocol version 2 + fetch-pack: do not take shallow lock unnecessarily + upload-pack: teach deepen-relative in protocol v2 + pkt-line: introduce struct packet_writer + sideband: reverse its dependency on pkt-line + {fetch,upload}-pack: sideband v2 fetch response + tests: define GIT_TEST_SIDEBAND_ALL + ls-refs: filter refs using namespace-stripped name + +Josh Steadmon (4): + filter-options: expand scaled numbers + commit-graph, fuzz: add fuzzer for commit-graph + commit-graph: fix buffer read-overflow + Makefile: correct example fuzz build + +Junio C Hamano (11): + t0027: squelch checkout path run outside test_expect_* block + t0061: do not fail test if '.' is part of $PATH + submodule update: run at most one fetch job unless otherwise set + Prepare for 2.21 cycle to start soonish + First batch after 2.20.1 + ref-filter: give uintmax_t to format with %PRIuMAX + Second batch after 2.20 + Third batch after 2.20 + Fourth batch after 2.20 + Fifth batch for 2.21 + Git 2.21-rc0 + +Kim Gybels (1): + diff: ensure correct lifetime of external_diff_cmd + +Kyle Meyer (2): + rebase docs: drop stray word in merge command description + init docs: correct a punctuation typo + +Laura Abbott (1): + git-quiltimport: add --keep-non-patch option + +Linus Torvalds (1): + Add 'human' date format + +Luke Diamand (2): + git-p4: add failing test for shelved CL update involving move/copy + git-p4: handle update of moved/copied files when updating a shelve + +Martin Ågren (5): + git-column.txt: fix section header + Documentation: do not nest open blocks + git-status.txt: render tables correctly under Asciidoctor + t7510: invoke git as part of &&-chain + doc-diff: don't `cd_to_toplevel` + +Masaya Suzuki (7): + Use packet_reader instead of packet_read_line + pack-protocol.txt: accept error packets in any context + http: support file handles for HTTP_KEEP_ERROR + http: enable keep_error for HTTP requests + remote-curl: define struct for CURLOPT_WRITEFUNCTION + remote-curl: unset CURLOPT_FAILONERROR + test: test GIT_CURL_VERBOSE=1 shows an error + +Matthew DeVore (4): + list-objects.c: don't segfault for missing cmdline objects + revision.c: put promisor option in specialized struct + list-objects-filter: teach tree:# how to handle >0 + tree:<depth>: skip some trees even when collecting omits + +Matthieu Moy (1): + git-multimail: update to release 1.5.0 + +Max Kirillov (1): + http-backend: enable cleaning up forked upload/receive-pack on exit + +Nguyễn Thái Ngọc Duy (62): + git.c: mark more strings for translation + alias.c: mark split_cmdline_strerror() strings for translation + archive.c: mark more strings for translation + attr.c: mark more string for translation + read-cache.c: turn die("internal error") to BUG() + read-cache.c: mark more strings for translation + read-cache.c: add missing colon separators + reflog: mark strings for translation + remote.c: turn some error() or die() to BUG() + remote.c: mark messages for translation + repack: mark more strings for translation + parse-options: replace opterror() with optname() + parse-options.c: turn some die() to BUG() + parse-options.c: mark more strings for translation + fsck: reduce word legos to help i18n + fsck: mark strings for translation + wt-status.c: remove implicit dependency on the_index + wt-status.c: remove implicit dependency the_repository + list-objects-filter.c: remove implicit dependency on the_index + list-objects.c: reduce the_repository references + notes-merge.c: remove implicit dependency on the_index + notes-merge.c: remove implicit dependency the_repository + transport.c: remove implicit dependency on the_index + sequencer.c: remove implicit dependency on the_index + sequencer.c: remove implicit dependency on the_repository + blame.c: remove implicit dependency the_repository + bisect.c: remove the_repository reference + branch.c: remove the_repository reference + bundle.c: remove the_repository references + cache-tree.c: remove the_repository references + delta-islands.c: remove the_repository references + diff-lib.c: remove the_repository references + line-log.c: remove the_repository reference + notes-cache.c: remove the_repository references + pack-check.c: remove the_repository references + pack-*.c: remove the_repository references + rerere.c: remove the_repository references + rebase-interactive.c: remove the_repository references + checkout: disambiguate dwim tracking branches and local files + checkout: print something when checking out paths + tree.c: make read_tree*() take 'struct repository *' + tree-walk.c: make tree_entry_interesting() take an index + pathspec.h: clean up "extern" in function declarations + dir.c: move, rename and export match_attrs() + tree-walk: support :(attr) matching + Indent code with TABs + style: the opening '{' of a function is in a separate line + worktree: allow to (re)move worktrees with uninitialized submodules + grep: use grep_opt->repo instead of explict repo argument + notes-utils.c: remove the_repository references + repository.c: replace hold_locked_index() with repo_hold_locked_index() + checkout: avoid the_index when possible + read-cache.c: kill read_index() + read-cache.c: replace update_index_if_able with repo_& + sha1-name.c: remove implicit dependency on the_index + merge-recursive.c: remove implicit dependency on the_index + merge-recursive.c: remove implicit dependency on the_repository + read-cache.c: remove the_* from index_has_changes() + cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch + fetch: prefer suffix substitution in compact fetch.output + help: align the longest command in the command listing + git-commit.txt: better description what it does + +Olga Telezhnaya (6): + ref-filter: add objectsize:disk option + ref-filter: add check for negative file size + ref-filter: add tests for objectsize:disk + ref-filter: add deltabase option + ref-filter: add tests for deltabase + ref-filter: add docs for new options + +Orgad Shaneh (2): + t5403: simplify by using a single repository + rebase: run post-checkout hook on checkout + +Patrick Hogg (2): + pack-objects: move read mutex to packing_data struct + pack-objects: merge read_lock and lock in packing_data struct + +Peter Osterlund (1): + git-p4: fix problem when p4 login is not necessary + +Phillip Wood (11): + diff: document --no-color-moved + Use "whitespace" consistently + diff: allow --no-color-moved-ws + diff --color-moved-ws: demonstrate false positives + diff --color-moved-ws: fix false positives + diff --color-moved=zebra: be stricter with color alternation + diff --color-moved-ws: optimize allow-indentation-change + diff --color-moved-ws: modify allow-indentation-change + diff --color-moved-ws: handle blank lines + implicit interactive rebase: don't run sequence editor + rebase -x: sanity check command + +Pranit Bauva (7): + bisect--helper: `bisect_reset` shell function in C + bisect--helper: `bisect_write` shell function in C + wrapper: move is_empty_file() and rename it as is_empty_or_missing_file() + bisect--helper: `check_and_set_terms` shell function in C + bisect--helper: `bisect_next_check` shell function in C + bisect--helper: `get_terms` & `bisect_terms` shell function in C + bisect--helper: `bisect_start` shell function partially in C + +Ramsay Jones (2): + config.mak.uname: remove obsolete SPARSE_FLAGS setting + Makefile: improve SPARSE_FLAGS customisation + +Randall S. Becker (4): + transport-helper: use xread instead of read + config.mak.uname: support for modern HPE NonStop config. + git-compat-util.h: add FLOSS headers for HPE NonStop + compat/regex/regcomp.c: define intptr_t and uintptr_t on NonStop + +René Scharfe (5): + sha1-file: close fd of empty file in map_sha1_file_1() + object-store: factor out odb_loose_cache() + object-store: factor out odb_clear_loose_cache() + object-store: use one oid_array per subdirectory for loose cache + object-store: retire odb_load_loose_cache() + +SZEDER Gábor (22): + clone: use a more appropriate variable name for the default refspec + clone: respect additional configured fetch refspecs during initial fetch + Documentation/clone: document ignored configuration variables + test-lib: check Bash version for '-x' without using shell arrays + test-lib: translate SIGTERM and SIGHUP to an exit + test-lib: extract Bash version check for '-x' tracing + test-lib: parse options in a for loop to keep $@ intact + test-lib: parse command line options earlier + test-lib: consolidate naming of test-results paths + test-lib: set $TRASH_DIRECTORY earlier + test-lib-functions: introduce the 'test_set_port' helper function + test-lib: add the '--stress' option to run a test repeatedly under load + compat/obstack: fix -Wcast-function-type warnings + .gitignore: ignore external debug symbols from GCC on macOS + travis-ci: don't be '--quiet' when running the tests + travis-ci: switch to Xcode 10.1 macOS image + travis-ci: build with the right compiler + commit-graph: rename "large edges" to "extra edges" + commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily + strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other + object_as_type: initialize commit-graph-related fields of 'struct commit' + travis-ci: make the OSX build jobs' 'brew update' more quiet + +Sebastian Staudt (2): + describe: setup working tree for --dirty + t6120: test for describe with a bare repository + +Sergey Organov (4): + t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks + cherry-pick: do not error on non-merge commits when '-m 1' is specified + t3502: validate '-m 1' argument is now accepted for non-merge commits + t3506: validate '-m 1 -ff' is now accepted for non-merge commits + +Shahzad Lone (1): + various: tighten constness of some local variables + +Slavica Djukic (1): + stash: tolerate missing user identity + +Stefan Beller (39): + sha1_file: allow read_object to read objects in arbitrary repositories + packfile: allow has_packed_and_bad to handle arbitrary repositories + diff: align move detection error handling with other options + object-store: allow read_object_file_extended to read from any repo + object-store: prepare read_object_file to deal with any repo + object-store: prepare has_{sha1, object}_file to handle any repo + object: parse_object to honor its repository argument + commit: allow parse_commit* to handle any repo + commit-reach.c: allow paint_down_to_common to handle any repo + commit-reach.c: allow merge_bases_many to handle any repo + commit-reach.c: allow remove_redundant to handle any repo + commit-reach.c: allow get_merge_bases_many_0 to handle any repo + commit-reach: prepare get_merge_bases to handle any repo + commit-reach: prepare in_merge_bases[_many] to handle any repo + commit: prepare get_commit_buffer to handle any repo + commit: prepare repo_unuse_commit_buffer to handle any repo + commit: prepare logmsg_reencode to handle arbitrary repositories + pretty: prepare format_commit_message to handle arbitrary repositories + sideband: color lines with keyword only + sha1-array: provide oid_array_filter + submodule.c: fix indentation + submodule.c: sort changed_submodule_names before searching it + submodule.c: tighten scope of changed_submodule_names struct + submodule: store OIDs in changed_submodule_names + repository: repo_submodule_init to take a submodule struct + submodule: migrate get_next_submodule to use repository structs + submodule.c: fetch in submodules git directory instead of in worktree + fetch: ensure submodule objects fetched + submodule update: add regression test with old style setups + submodule: unset core.worktree if no working tree is present + submodule--helper: fix BUG message in ensure_core_worktree + submodule deinit: unset core.worktree + submodule: use submodule repos for object lookup + submodule: don't add submodule as odb for push + commit-graph: convert remaining functions to handle any repo + commit: prepare free_commit_buffer and release_commit_memory for any repo + path.h: make REPO_GIT_PATH_FUNC repository agnostic + t/helper/test-repository: celebrate independence from the_repository + git-submodule: abort if core.worktree could not be set correctly + +Stephen P. Smith (4): + Replace the proposed 'auto' mode with 'auto:' + Add 'human' date format documentation + Add `human` format to test-tool + Add `human` date format tests. + +Sven van Haastregt (1): + git-submodule.sh: shorten submodule SHA-1s using rev-parse + +Thomas Braun (1): + log -G: ignore binary files + +Thomas Gummerer (3): + t5570: drop racy test + Revert "t/lib-git-daemon: record daemon log" + config.mak.dev: add -Wall, primarily for -Wformat, to help autoconf users + +Torsten Bögershausen (3): + git clone <url> C:\cygwin\home\USER\repo' is working (again) + test-lint: only use only sed [-n] [-e command] [-f command_file] + Support working-tree-encoding "UTF-16LE-BOM" + +brian m. carlson (19): + sha1-file: rename algorithm to "sha1" + sha1-file: provide functions to look up hash algorithms + hex: introduce functions to print arbitrary hashes + cache: make hashcmp and hasheq work with larger hashes + t: add basic tests for our SHA-1 implementation + t: make the sha1 test-tool helper generic + sha1-file: add a constant for hash block size + t/helper: add a test helper to compute hash speed + commit-graph: convert to using the_hash_algo + Add a base implementation of SHA-256 support + sha256: add an SHA-256 implementation using libgcrypt + hash: add an SHA-256 implementation using OpenSSL + tree-walk: copy object ID before use + match-trees: compute buffer offset correctly when splicing + match-trees: use hashcpy to splice trees + tree-walk: store object_id in a separate member + cache: make oidcpy always copy GIT_MAX_RAWSZ bytes + fetch-pack: clear alternate shallow when complete + fetch-pack: clear alternate shallow in one more place + +Ævar Arnfjörð Bjarmason (17): + remote.c: add braces in anticipation of a follow-up change + i18n: remote.c: mark error(...) messages for translation + push: improve the error shown on unqualified <dst> push + push: move unqualified refname error into a function + push: add an advice on unqualified <dst> push + push: test that <src> doesn't DWYM if <dst> is unqualified + push doc: document the DWYM behavior pushing to unqualified <dst> + commit-graph: split up close_reachable() progress output + commit-graph write: use pack order when finding commits + commit-graph write: add "Writing out" progress output + commit-graph write: more descriptive "writing out" output + commit-graph write: show progress for object search + commit-graph write: add more descriptive progress output + commit-graph write: remove empty line for readability + commit-graph write: add itermediate progress + commit-graph write: emit a percentage for all progress + diff-tree doc: correct & remove wrong documentation + + +Version v2.20.5; changes since v2.20.4: +--------------------------------------- + +Johannes Schindelin (5): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + Git 2.20.5 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.20.4; changes since v2.20.3: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.20.3; changes since v2.20.2: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.20.2; changes since v2.20.1: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (27): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + test-drop-caches: use `has_dos_drive_prefix()` + Git 2.16.6 + Git 2.17.3 + Git 2.18.2 + Git 2.19.3 + t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x + Git 2.20.2 + +Jonathan Nieder (3): + submodule: reject submodule.update = !command in .gitmodules + fsck: reject submodule.update = !command in .gitmodules + submodule: defend against submodule.update = !command in .gitmodules + + +Version v2.20.1; changes since v2.20.0: +--------------------------------------- + +Derrick Stolee (1): + .gitattributes: ensure t/oid-info/* has eol=lf + +Johannes Schindelin (4): + help.h: fix coding style + help -a: handle aliases with long names gracefully + t4256: mark support files as LF-only + t9902: 'send-email' test case requires PERL + +Junio C Hamano (2): + run-command: report exec failure + Git 2.20.1 + +Nguyễn Thái Ngọc Duy (1): + parse-options: fix SunCC compiler warning + + +Version v2.20.0; changes since v2.20.0-rc2: +------------------------------------------- + +Alexander Shopov (3): + l10n: bg.po: Updated Bulgarian translation (4185t) + l10n: bg.po: Updated Bulgarian translation (4185t) + l10n: bg.po: Updated Bulgarian translation (4187t) + +Christopher Díaz Riveros (2): + l10n: es.po v2.20.0 round 1 + l10n: es.po v2.20.0 round 3 + +Jean-Noël Avila (2): + l10n: fr.po v2.20 rnd 1 + l10n: fr.po v2.20.0 round 3 + +Jiang Xin (5): + l10n: zh_CN: review for git v2.19.0 l10n + l10n: git.pot: v2.20.0 round 1 (254 new, 27 removed) + l10n: git.pot: v2.20.0 round 2 (2 new, 2 removed) + l10n: git.pot: v2.20.0 round 3 (5 new, 3 removed) + l10n: zh_CN: for git v2.20.0 l10n round 1 to 3 + +Johannes Sixt (1): + rebase docs: fix incorrect format of the section Behavioral Differences + +Jordi Mas (2): + l10n: Update Catalan translation + l10n: Update Catalan translation + +Junio C Hamano (1): + Git 2.20 + +Martin Ågren (4): + range-diff: always pass at least minimal diff options + RelNotes 2.20: move some items between sections + RelNotes 2.20: clarify sentence + RelNotes 2.20: drop spurious double quote + +Minh Nguyen (1): + l10n: vi.po: fix typo in pack-objects + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (4185t0f0u) + l10n: sv.po: Update Swedish translation (4187t0f0u) + +Ralf Thielow (3): + l10n: update German translation + l10n: update German translation + l10n: de.po: fix two messages + +Trần Ngọc Quân (2): + l10n: vi(4185t): Updated Vietnamese translation for v2.20.0 + l10n: vi(4187t): Updated Vietnamese translation for v2.20.0 rd3 + + +Version v2.20.0-rc2; changes since v2.20.0-rc1: +----------------------------------------------- + +Greg Hurrell (1): + doc: update diff-format.txt for removed ellipses in --raw + +Jean-Noël Avila (1): + i18n: fix small typos + +Jeff King (1): + t5562: fix perl path + +Johannes Schindelin (2): + rebase: fix GIT_REFLOG_ACTION regression + rebase --stat: fix when rebasing to an unrelated history + +Junio C Hamano (2): + format-patch: do not let its diff-options affect --range-diff + Git 2.20-rc2 + +Martin Ågren (2): + git-reset.txt: render tables correctly under Asciidoctor + git-reset.txt: render literal examples as monospace + +Nguyễn Thái Ngọc Duy (2): + files-backend.c: fix build error on Solaris + transport-helper.c: do not translate a string twice + +Ralf Thielow (1): + builtin/rebase.c: remove superfluous space in messages + +SZEDER Gábor (3): + tests: send "bug in the test script" errors to the script's stderr + test-lib-functions: make 'test_cmp_rev' more informative on failure + t/lib-git-daemon: fix signal checking + +Sven Strickroth (1): + msvc: directly use MS version (_stricmp) of strcasecmp + +Torsten Bögershausen (1): + t5601-99: Enable colliding file detection for MINGW + +Ævar Arnfjörð Bjarmason (2): + push: change needlessly ambiguous example in error + advice: don't pointlessly suggest --convert-graft-file + + +Version v2.20.0-rc1; changes since v2.20.0-rc0: +----------------------------------------------- + +Derrick Stolee (1): + pack-objects: ignore ambiguous object warnings + +Jeff King (3): + pack-objects: fix tree_depth and layer invariants + pack-objects: zero-initialize tree_depth/layer arrays + pack-objects: fix off-by-one in delta-island tree-depth computation + +Johannes Schindelin (7): + tests: fix GIT_TEST_INSTALLED's PATH to include t/helper/ + tests: respect GIT_TEST_INSTALLED when initializing repositories + t/lib-gettext: test installed git-sh-i18n if GIT_TEST_INSTALLED is set + tests: do not require Git to be built when testing an installed Git + tests: explicitly use `git.exe` on Windows + legacy-rebase: backport -C<n> and --whitespace=<option> checks + rebase: warn about the correct tree's OID + +Jonathan Nieder (3): + eoie: default to not writing EOIE section + ieot: default to not writing IEOT section + index: make index.threads=true enable ieot and eoie + +Junio C Hamano (5): + Makefile: ease dynamic-gettext-poison transition + RelNotes: name the release properly + Prepare for 2.20-rc1 + Git 2.19.2 + Git 2.20-rc1 + +Nguyễn Thái Ngọc Duy (2): + format-patch: respect --stat in cover letter's diffstat + clone: fix colliding file detection on APFS + +SZEDER Gábor (1): + coccicheck: introduce 'pending' semantic patches + +Todd Zullinger (1): + Documentation: build technical/multi-pack-index + +Torsten Bögershausen (2): + Upcast size_t variables to uintmax_t when printing + remote-curl.c: xcurl_off_t is not portable (on 32 bit platfoms) + +Ævar Arnfjörð Bjarmason (2): + i18n: make GETTEXT_POISON a runtime option + read-cache: make the split index obey umask settings + +Đoàn Trần Công Danh (1): + git-compat-util: prefer poll.h to sys/poll.h + + +Version v2.20.0-rc0; changes since v2.19.6: +------------------------------------------- + +Aaron Lindsay (1): + send-email: avoid empty transfer encoding header + +Alban Gruin (21): + sequencer: make three functions and an enum from sequencer.c public + rebase -i: rewrite append_todo_help() in C + editor: add a function to launch the sequence editor + rebase -i: rewrite the edit-todo functionality in C + sequencer: add a new function to silence a command, except if it fails + rebase -i: rewrite setup_reflog_action() in C + rebase -i: rewrite checkout_onto() in C + sequencer: refactor append_todo_help() to write its message to a buffer + sequencer: change the way skip_unnecessary_picks() returns its result + t3404: todo list with commented-out commands only aborts + rebase -i: rewrite complete_action() in C + rebase -i: remove unused modes and functions + rebase -i: implement the logic to initialize $revisions in C + rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C + rebase -i: rewrite write_basic_state() in C + rebase -i: rewrite init_basic_state() in C + rebase -i: implement the main part of interactive rebase as a builtin + rebase--interactive2: rewrite the submodes of interactive rebase in C + rebase -i: remove git-rebase--interactive.sh + rebase -i: move rebase--helper modes to rebase--interactive + p3400: replace calls to `git checkout -b' by `git checkout -B' + +Andreas Gruenbacher (1): + rev-parse: clear --exclude list after 'git rev-parse --all' + +Anton Serbulov (1): + mingw: fix getcwd when the parent directory cannot be queried + +Antonio Ospite (10): + submodule: add a print_config_from_gitmodules() helper + submodule: factor out a config_set_in_gitmodules_file_gently function + t7411: merge tests 5 and 6 + t7411: be nicer to future tests and really clean things up + submodule--helper: add a new 'config' subcommand + submodule: use the 'submodule--helper config' command + t7506: clean up .gitmodules properly before setting up new scenario + submodule: add a helper to check if it is safe to write to .gitmodules + submodule: support reading .gitmodules when it's not in the working tree + t/helper: add test-submodule-nested-repo-config + +Ben Peart (18): + checkout: optimize "git checkout -b <new_branch>" + t/README: correct spelling of "uncommon" + preload-index: use git_env_bool() not getenv() for customization + fsmonitor: update GIT_TEST_FSMONITOR support + read-cache: update TEST_GIT_INDEX_VERSION support + preload-index: update GIT_FORCE_PRELOAD_TEST support + read-cache: clean up casting and byte decoding + eoie: add End of Index Entry (EOIE) extension + config: add new index.threads config setting + read-cache: load cache extensions on a worker thread + ieot: add Index Entry Offset Table (IEOT) extension + read-cache: load cache entries on worker threads + reset: don't compute unstaged changes after reset when --quiet + reset: add new reset.quiet config setting + reset: warn when refresh_index() takes more than 2 seconds + speed up refresh_index() by utilizing preload_index() + add: speed up cmd_add() by utilizing read_cache_preload() + refresh_index: remove unnecessary calls to preload_index() + +Brendan Forster (1): + http: add support for disabling SSL revocation checks in cURL + +Carlo Marcelo Arenas Belón (8): + unpack-trees: avoid dead store for struct progress + multi-pack-index: avoid dead store for struct progress + read-cache: use of memory after it is freed + commit-slabs: move MAYBE_UNUSED out + khash: silence -Wunused-function for delta-islands + compat: make sure git_mmap is not expected to write + sequencer: cleanup for gcc warning in non developer mode + builtin/notes: remove unnecessary free + +Christian Couder (3): + pack-objects: refactor code into compute_layer_order() + pack-objects: move tree_depth into 'struct packing_data' + pack-objects: move 'layer' into 'struct packing_data' + +Christian Hesse (2): + subtree: add build targets 'man' and 'html' + subtree: make install targets depend on build targets + +Denton Liu (3): + mergetool: accept -g/--[no-]gui as arguments + completion: support `git mergetool --[no-]gui` + doc: document diff/merge.guitool config keys + +Derrick Stolee (86): + multi-pack-index: add design document + multi-pack-index: add format details + multi-pack-index: add builtin + multi-pack-index: add 'write' verb + midx: write header information to lockfile + multi-pack-index: load into memory + t5319: expand test data + packfile: generalize pack directory list + multi-pack-index: read packfile list + multi-pack-index: write pack names in chunk + midx: read pack names into array + midx: sort and deduplicate objects from packfiles + midx: write object ids in a chunk + midx: write object id fanout chunk + midx: write object offsets + config: create core.multiPackIndex setting + midx: read objects from multi-pack-index + midx: use midx in abbreviation calculations + midx: use existing midx when writing new one + midx: use midx in approximate_object_count + midx: prevent duplicate packfile loads + packfile: skip loading index if in multi-pack-index + midx: clear midx on repack + commit-reach: move walk methods from commit.c + commit.h: remove method declarations + commit-reach: move ref_newer from remote.c + commit-reach: move commit_contains from ref-filter + upload-pack: make reachable() more generic + upload-pack: refactor ok_to_give_up() + upload-pack: generalize commit date cutoff + commit-reach: move can_all_from_reach_with_flags + test-reach: create new test tool for ref_newer + test-reach: test in_merge_bases + test-reach: test is_descendant_of + test-reach: test get_merge_bases_many + test-reach: test reduce_heads + test-reach: test can_all_from_reach_with_flags + test-reach: test commit_contains + commit-reach: replace ref_newer logic + commit-reach: make can_all_from_reach... linear + commit-reach: use can_all_from_reach + multi-pack-index: provide more helpful usage info + multi-pack-index: store local property + midx: mark bad packed objects + midx: stop reporting garbage + midx: fix bug that skips midx with alternates + packfile: add all_packs list + treewide: use get_all_packs + midx: test a few commands that use get_all_packs + pack-objects: consider packs in multi-pack-index + commit-graph: define GIT_TEST_COMMIT_GRAPH + t3206-range-diff.sh: cover single-patch case + t5318: use test_oid for HASH_LEN + multi-pack-index: add 'verify' verb + multi-pack-index: verify bad header + multi-pack-index: verify corrupt chunk lookup table + multi-pack-index: verify packname order + multi-pack-index: verify missing pack + multi-pack-index: verify oid fanout order + multi-pack-index: verify oid lookup order + multi-pack-index: fix 32-bit vs 64-bit size check + multi-pack-index: verify object offsets + multi-pack-index: report progress during 'verify' + fsck: verify multi-pack-index + commit-reach: properly peel tags + commit-reach: fix memory and flag leaks + commit-reach: cleanups in can_all_from_reach... + commit-graph: clean up leaked memory during write + commit-graph: reduce initial oid allocation + midx: fix broken free() in close_midx() + contrib: add coverage-diff script + ci: add optional test variables + commit-reach: fix first-parent heuristic + midx: close multi-pack-index on repack + multi-pack-index: define GIT_TEST_MULTI_PACK_INDEX + packfile: close multi-pack-index in close_all_packs + prio-queue: add 'peek' operation + test-reach: add run_three_modes method + test-reach: add rev-list tests + revision.c: begin refactoring --topo-order logic + commit/revisions: bookkeeping before refactoring + revision.c: generation-based topo-order algorithm + t6012: make rev-list tests more interesting + commit-reach: implement get_reachable_subset + test-reach: test get_reachable_subset + remote: make add_missing_tags() linear + +Elijah Newren (7): + merge-recursive: set paths correctly when three-way merging content + merge-recursive: avoid wrapper function when unnecessary and wasteful + merge-recursive: remove final remaining caller of merge_file_one() + merge-recursive: rename merge_file_1() and merge_content() + merge-recursive: improve auto-merging messages with path collisions + merge-recursive: avoid showing conflicts with merge branch before HEAD + fsck: move fsck_head_link() to get_default_heads() to avoid some globals + +Eric Sunshine (26): + format-patch: allow additional generated content in make_cover_letter() + format-patch: add --interdiff option to embed diff in cover letter + format-patch: teach --interdiff to respect -v/--reroll-count + interdiff: teach show_interdiff() to indent interdiff + log-tree: show_log: make commentary block delimiting reusable + format-patch: allow --interdiff to apply to a lone-patch + range-diff: respect diff_option.file rather than assuming 'stdout' + range-diff: publish default creation factor + range-diff: relieve callers of low-level configuration burden + format-patch: add --range-diff option to embed diff in cover letter + format-patch: extend --range-diff to accept revision range + format-patch: teach --range-diff to respect -v/--reroll-count + format-patch: add --creation-factor tweak for --range-diff + format-patch: allow --range-diff to apply to a lone-patch + worktree: don't die() in library function find_worktree() + worktree: move delete_git_dir() earlier in file for upcoming new callers + worktree: generalize delete_git_dir() to reduce code duplication + worktree: prepare for more checks of whether path can become worktree + worktree: disallow adding same path multiple times + worktree: teach 'add' to respect --force for registered but missing path + worktree: teach 'move' to override lock when --force given twice + worktree: teach 'remove' to override lock when --force given twice + worktree: delete .git/worktrees if empty after 'remove' + doc-diff: fix non-portable 'man' invocation + doc-diff: add --clean mode to remove temporary working gunk + doc/Makefile: drop doc-diff worktree and temporary files on "make clean" + +James Knight (1): + build: link with curl-defined linker flags + +Jann Horn (2): + patch-delta: fix oob read + patch-delta: consistently report corruption + +Jeff King (73): + branch: make "-l" a synonym for "--list" + Add delta-islands.{c,h} + pack-objects: add delta-islands support + repack: add delta-islands support + t5320: tests for delta islands + t/perf: factor boilerplate out of test_perf + t/perf: factor out percent calculations + t/perf: add infrastructure for measuring sizes + t/perf: add perf tests for fetches from a bitmapped server + pack-bitmap: save "have" bitmap from walk + pack-objects: reuse on-disk deltas for thin "have" objects + SubmittingPatches: mention doc-diff + rev-list: make empty --stdin not an error + coccinelle: use <...> for function exclusion + introduce hasheq() and oideq() + convert "oidcmp() == 0" to oideq() + convert "hashcmp() == 0" to hasheq() + convert "oidcmp() != 0" to "!oideq()" + convert "hashcmp() != 0" to "!hasheq()" + convert hashmap comparison functions to oideq() + read-cache: use oideq() in ce_compare functions + show_dirstat: simplify same-content check + doc-diff: always use oids inside worktree + test-delta: read input into a heap buffer + t5303: test some corrupt deltas + patch-delta: handle truncated copy parameters + t5303: use printf to generate delta bases + doc/git-branch: remove obsolete "-l" references + bitmap_has_sha1_in_uninteresting(): drop BUG check + t5310: test delta reuse with bitmaps + traverse_bitmap_commit_list(): don't free result + pack-bitmap: drop "loaded" flag + doc-diff: force worktree add + pack-objects: handle island check for "external" delta base + more oideq/hasheq conversions + transport: drop refnames from for_each_alternate_ref + test-tool: show tool list on error + config.mak.dev: enable -Wunused-function + t5410: use longer path for sample script + ls-remote: do not send ref prefixes for patterns + ls-remote: pass heads/tags prefixes to transport + read_istream_pack_non_delta(): document input handling + xdiff: provide a separate emit callback for hunks + xdiff-interface: provide a separate consume callback for hunks + rev-list: handle flags for --indexed-objects + approxidate: handle pending number for "specials" + pathspec: handle non-terminated strings with :(attr) + diff: avoid generating unused hunk header lines + diff: discard hunk headers for patch-ids earlier + diff: use hunk callback for word-diff + combine-diff: use an xdiff hunk callback + diff: convert --check to use a hunk callback + range-diff: use a hunk callback + xdiff-interface: drop parse_hunk_header() + apply: mark include/exclude options as NONEG + am: handle --no-patch-format option + ls-files: mark exclude options as NONEG + pack-objects: mark index-version option as NONEG + cat-file: mark batch options with NONEG + status: mark --find-renames option with NONEG + format-patch: mark "--no-numbered" option with NONEG + show-branch: mark --reflog option as NONEG + tag: mark "--message" option with NONEG + cat-file: report an error on multiple --batch options + apply: return -1 from option callback instead of calling exit(1) + parse-options: drop OPT_DATE() + assert NOARG/NONEG behavior of parse-options callbacks + midx: double-check large object write loop + merge: extract verify_merge_signature() helper + merge: handle --verify-signatures for unborn branch + pull: handle --verify-signatures for unborn branch + approxidate: fix NULL dereference in date_time() + bundle: dup() output descriptor closer to point-of-use + +Johannes Schindelin (47): + compat/poll: prepare for targeting Windows Vista + mingw: set _WIN32_WINNT explicitly for Git for Windows + mingw: bump the minimum Windows version to Vista + builtin rebase: prepare for builtin rebase -i + rebase -i: clarify what happens on a failed `exec` + rebase -i: introduce the 'break' command + getpwuid(mingw): initialize the structure only once + getpwuid(mingw): provide a better default for the user name + mingw: use domain information for default email + http: add support for selecting SSL backends at runtime + rebase (autostash): avoid duplicate call to state_dir_path() + rebase (autostash): store the full OID in <state-dir>/autostash + rebase (autostash): use an explicit OID to apply the stash + mingw: factor out code to set stat() data + rebase --autostash: demonstrate a problem with dirty submodules + rebase --autostash: fix issue with dirty submodules + mingw: load system libraries the recommended way + mingw: ensure `getcwd()` reports the correct case + http: when using Secure Channel, ignore sslCAInfo by default + t7800: fix quoting + mingw: reencode environment variables on the fly (UTF-16 <-> UTF-8) + config: rename `dummy` parameter to `cb` in git_default_config() + config: allow for platform-specific core.* config settings + config: move Windows-specific config settings into compat/mingw.c + mingw: unset PERL5LIB by default + mingw: fix isatty() after dup2() + t3404: decouple some test cases from outcomes of previous test cases + t3418: decouple test cases from a previous `rebase -p` test case + tests: optionally skip `git rebase -p` tests + Windows: force-recompile git.res for differing architectures + built-in rebase: demonstrate regression with --autostash + built-in rebase --autostash: leave the current branch alone if possible + Update .mailmap + rebase -r: demonstrate bug with conflicting merges + rebase -r: do not write MERGE_HEAD unless needed + rebase -i: include MERGE_HEAD into files to clean up + built-in rebase --skip/--abort: clean up stale .git/<name> files + status: rebase and merge can be in progress at the same time + apply --recount: allow "no-op hunks" + rebase: consolidate clean-up code before leaving reset_head() + rebase: prepare reset_head() for more flags + built-in rebase: reinstate `checkout -q` behavior where appropriate + mingw: use `CreateHardLink()` directly + rebase: really just passthru the `git am` options + rebase: validate -C<n> and --whitespace=<mode> parameters early + config: report a bug if git_dir exists without commondir + mingw: replace an obsolete link with the superseding one + +Johannes Sixt (1): + rebase -i: recognize short commands without arguments + +Jonathan Nieder (4): + gc: improve handling of errors reading gc.log + gc: exit with status 128 on failure + gc: do not return error for prior errors in daemonized mode + commit-reach: correct accidental #include of C file + +Jonathan Tan (11): + connected: document connectivity in partial clones + fetch: in partial clone, check presence of targets + transport: allow skipping of ref listing + transport: do not list refs if possible + transport: list refs before fetch if necessary + fetch: do not list refs if fetching only hashes + cache-tree: skip some blob checks in partial clone + upload-pack: make have_obj not global + upload-pack: make want_obj not global + upload-pack: clear flags before each v2 request + fetch-pack: be more precise in parsing v2 response + +Josh Steadmon (4): + fuzz: add basic fuzz testing target. + fuzz: add fuzz testing for packfile indices. + archive: initialize archivers earlier + Makefile: use FUZZ_CXXFLAGS for linking fuzzers + +Joshua Watt (1): + send-email: explicitly disable authentication + +Junio C Hamano (19): + Revert "doc/Makefile: drop doc-diff worktree and temporary files on "make clean"" + Initial batch post 2.19 + Second batch post 2.19 + t0000: do not get self-test disrupted by environment warnings + Declare that the next one will be named 2.20 + Third batch for 2.20 + rebase: fix typoes in error messages + Fourth batch for 2.20 + Revert "subtree: make install targets depend on build targets" + Fifth batch for 2.20 + http: give curl version warnings consistently + Sixth batch for 2.20 + Seventh batch for 2.20 + fetch: replace string-list used as a look-up table with a hashmap + rebase: apply cocci patch + Eighth batch for 2.20 + Ninth batch for 2.20 + Tenth batch for 2.20 + Git 2.20-rc0 + +Karsten Blees (2): + mingw: replace MSVCRT's fstat() with a Win32-based implementation + mingw: implement nanosecond-precision file times + +Loo Rong Jie (1): + win32: replace pthread_cond_*() with much simpler code + +Lucas De Marchi (1): + range-diff: allow to diff files regardless of submodule config + +Luke Diamand (3): + git-p4: do not fail in verbose mode for missing 'fileSize' key + git-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved + git-p4: fully support unshelving changelists + +Martin Ågren (4): + Doc: use `--type=bool` instead of `--bool` + git-config.txt: fix 'see: above' note + builtin/commit-graph.c: UNLEAK variables + sequencer: break out of loop explicitly + +Matthew DeVore (17): + list-objects: store common func args in struct + list-objects: refactor to process_tree_contents + list-objects: always parse trees gently + t/README: reformat Do, Don't, Keep in mind lists + Documentation: add shell guidelines + tests: standardize pipe placement + t/*: fix ordering of expected/observed arguments + tests: don't swallow Git errors upstream of pipes + t9109: don't swallow Git errors upstream of pipes + tests: order arguments to git-rev-list properly + rev-list: handle missing tree objects properly + revision: mark non-user-given objects instead + list-objects-filter: use BUG rather than die + list-objects-filter-options: do not over-strbuf_init + list-objects-filter: implement filter tree:0 + filter-trees: code clean-up of tests + list-objects: support for skipping tree traversal + +Max Kirillov (1): + http-backend test: make empty CONTENT_LENGTH test more realistic + +Michał Górny (6): + gpg-interface.c: detect and reject multiple signatures on commits + gpg-interface.c: use flags to determine key/signer info presence + gpg-interface.c: support getting key fingerprint via %GF format + gpg-interface.c: obtain primary key fingerprint as well + t/t7510-signed-commit.sh: Add %GP to custom format checks + t/t7510-signed-commit.sh: add signing subkey to Eris Discordia key + +Nguyễn Thái Ngọc Duy (164): + clone: report duplicate entries on case-insensitive filesystems + trace.h: support nested performance tracing + unpack-trees: add performance tracing + unpack-trees: optimize walking same trees with cache-tree + unpack-trees: reduce malloc in cache-tree walk + unpack-trees: reuse (still valid) cache-tree from src_index + unpack-trees: add missing cache invalidation + cache-tree: verify valid cache-tree in the test suite + Document update for nd/unpack-trees-with-cache-tree + bisect.c: make show_list() build again + t/helper: keep test-tool command list sorted + t/helper: merge test-dump-untracked-cache into test-tool + t/helper: merge test-pkt-line into test-tool + t/helper: merge test-parse-options into test-tool + t/helper: merge test-dump-fsmonitor into test-tool + Makefile: add a hint about TEST_BUILTINS_OBJS + config.txt: follow camelCase naming + config.txt: move fetch part out to a separate file + config.txt: move format part out to a separate file + config.txt: move gitcvs part out to a separate file + config.txt: move gui part out to a separate file + config.txt: move pull part out to a separate file + config.txt: move push part out to a separate file + config.txt: move receive part out to a separate file + config.txt: move sendemail part out to a separate file + config.txt: move sequence.editor out of "core" part + config.txt: move submodule part out to a separate file + archive.c: remove implicit dependency the_repository + status: show progress bar if refreshing the index takes too long + completion: support "git fetch --multiple" + read-cache.c: remove 'const' from index_has_changes() + diff.c: reduce implicit dependency on the_index + combine-diff.c: remove implicit dependency on the_index + blame.c: rename "repo" argument to "r" + diff.c: remove the_index dependency in textconv() functions + grep.c: remove implicit dependency on the_index + diff.c: remove implicit dependency on the_index + read-cache.c: remove implicit dependency on the_index + diff-lib.c: remove implicit dependency on the_index + ll-merge.c: remove implicit dependency on the_index + merge-blobs.c: remove implicit dependency on the_index + merge.c: remove implicit dependency on the_index + patch-ids.c: remove implicit dependency on the_index + sha1-file.c: remove implicit dependency on the_index + rerere.c: remove implicit dependency on the_index + userdiff.c: remove implicit dependency on the_index + line-range.c: remove implicit dependency on the_index + submodule.c: remove implicit dependency on the_index + tree-diff.c: remove implicit dependency on the_index + ws.c: remove implicit dependency on the_index + revision.c: remove implicit dependency on the_index + revision.c: reduce implicit dependency the_repository + read-cache.c: optimize reading index format v4 + help -a: improve and make --verbose default + refs.c: indent with tabs, not spaces + Add a place for (not) sharing stuff between worktrees + submodule.c: remove some of the_repository references + completion: fix __gitcomp_builtin no longer consider extra options + t1300: extract and use test_cmp_config() + worktree: add per-worktree config files + refs: new ref types to make per-worktree refs visible to all worktrees + revision.c: correct a parameter name + revision.c: better error reporting on ref from different worktrees + fsck: check HEAD and reflog from other worktrees + reflog expire: cover reflog from all worktrees + Update makefile in preparation for Documentation/config/*.txt + config.txt: move advice.* to a separate file + config.txt: move core.* to a separate file + config.txt: move add.* to a separate file + config.txt: move alias.* to a separate file + config.txt: move am.* to a separate file + config.txt: move apply.* to a separate file + config.txt: move blame.* to a separate file + config.txt: move branch.* to a separate file + config.txt: move browser.* to a separate file + config.txt: move checkout.* to a separate file + config.txt: move clean.* to a separate file + config.txt: move color.* to a separate file + config.txt: move column.* to a separate file + config.txt: move commit.* to a separate file + config.txt: move credential.* to a separate file + config.txt: move completion.* to a separate file + config.txt: move diff-config.txt to config/ + config.txt: move difftool.* to a separate file + config.txt: move fastimport.* to a separate file + config.txt: move fetch-config.txt to config/ + config.txt: move filter.* to a separate file + config.txt: move format-config.txt to config/ + config.txt: move fmt-merge-msg-config.txt to config/ + config.txt: move fsck.* to a separate file + config.txt: move gc.* to a separate file + config.txt: move gitcvs-config.txt to config/ + config.txt: move gitweb.* to a separate file + config.txt: move grep.* to a separate file + config.txt: move gpg.* to a separate file + config.txt: move gui-config.txt to config/ + config.txt: move guitool.* to a separate file + config.txt: move help.* to a separate file + config.txt: move ssh.* to a separate file + config.txt: move http.* to a separate file + config.txt: move i18n.* to a separate file + git-imap-send.txt: move imap.* to a separate file + config.txt: move index.* to a separate file + config.txt: move init.* to a separate file + config.txt: move instaweb.* to a separate file + config.txt: move interactive.* to a separate file + config.txt: move log.* to a separate file + config.txt: move mailinfo.* to a separate file + config.txt: move mailmap.* to a separate file + config.txt: move man.* to a separate file + config.txt: move merge-config.txt to config/ + config.txt: move mergetool.* to a separate file + config.txt: move notes.* to a separate file + config.txt: move pack.* to a separate file + config.txt: move pager.* to a separate file + config.txt: move pretty.* to a separate file + config.txt: move protocol.* to a separate file + config.txt: move pull-config.txt to config/ + config.txt: move push-config.txt to config/ + config.txt: move rebase-config.txt to config/ + config.txt: move receive-config.txt to config/ + config.txt: move remote.* to a separate file + config.txt: move remotes.* to a separate file + config.txt: move repack.* to a separate file + config.txt: move rerere.* to a separate file + config.txt: move reset.* to a separate file + config.txt: move sendemail-config.txt to config/ + config.txt: move sequencer.* to a separate file + config.txt: move showBranch.* to a separate file + config.txt: move splitIndex.* to a separate file + config.txt: move status.* to a separate file + config.txt: move stash.* to a separate file + config.txt: move submodule.* to a separate file + config.txt: move tag.* to a separate file + config.txt: move transfer.* to a separate file + config.txt: move uploadarchive.* to a separate file + config.txt: move uploadpack.* to a separate file + config.txt: move url.* to a separate file + config.txt: move user.* to a separate file + config.txt: move versionsort.* to a separate file + config.txt: move web.* to a separate file + config.txt: move worktree.* to a separate file + config.txt: remove config/dummy.txt + thread-utils: macros to unconditionally compile pthreads API + wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode + git-worktree.txt: correct linkgit command name + sequencer.c: remove a stray semicolon + tree-walk.c: fix overoptimistic inclusion in :(exclude) matching + run-command.h: include thread-utils.h instead of pthread.h + send-pack.c: move async's #ifdef NO_PTHREADS back to run-command.c + index-pack: remove #ifdef NO_PTHREADS + name-hash.c: remove #ifdef NO_PTHREADS + attr.c: remove #ifdef NO_PTHREADS + grep: remove #ifdef NO_PTHREADS + grep: clean up num_threads handling + preload-index.c: remove #ifdef NO_PTHREADS + pack-objects: remove #ifdef NO_PTHREADS + read-cache.c: remove #ifdef NO_PTHREADS + read-cache.c: reduce branching based on HAVE_THREADS + read-cache.c: initialize copy_len to shut up gcc 8 + Clean up pthread_create() error handling + completion: use __gitcomp_builtin for format-patch + build: fix broken command-list.h generation with core.autocrlf + doc: move extensions.worktreeConfig to the right place + +Nickolai Belakovski (2): + worktree: update documentation for lock_reason and lock_reason_valid + worktree: rename is_worktree_locked to worktree_lock_reason + +Olga Telezhnaya (3): + ref-filter: free memory from used_atom + ls-remote: release memory instead of UNLEAK + ref-filter: free item->value and item->value->s + +Phillip Wood (11): + diff: fix --color-moved-ws=allow-indentation-change + diff --color-moved-ws: fix double free crash + diff --color-moved-ws: fix out of bounds string access + diff --color-moved-ws: fix a memory leak + diff --color-moved-ws: fix another memory leak + diff --color-moved: fix a memory leak + am: don't die in read_author_script() + am: improve author-script error reporting + am: rename read_author_script() + add read_author_script() to libgit + sequencer: use read_author_script() + +Pratik Karki (46): + rebase: start implementing it as a builtin + rebase: refactor common shell functions into their own file + builtin/rebase: support running "git rebase <upstream>" + builtin rebase: support --onto + builtin rebase: support `git rebase --onto A...B` + builtin rebase: handle the pre-rebase hook and --no-verify + builtin rebase: support --quiet + builtin rebase: support the `verbose` and `diffstat` options + builtin rebase: require a clean worktree + builtin rebase: try to fast forward when possible + builtin rebase: support --force-rebase + builtin rebase: start a new rebase only if none is in progress + builtin rebase: only store fully-qualified refs in `options.head_name` + builtin rebase: support `git rebase <upstream> <switch-to>` + builtin rebase: support --continue + builtin rebase: support --skip + builtin rebase: support --abort + builtin rebase: support --quit + builtin rebase: support --edit-todo and --show-current-patch + builtin rebase: actions require a rebase in progress + builtin rebase: stop if `git am` is in progress + builtin rebase: allow selecting the rebase "backend" + builtin rebase: support --signoff + builtin rebase: support --rerere-autoupdate + builtin rebase: support --committer-date-is-author-date + builtin rebase: support `ignore-whitespace` option + builtin rebase: support `ignore-date` option + builtin rebase: support `keep-empty` option + builtin rebase: support `--autosquash` + builtin rebase: support `--gpg-sign` option + builtin rebase: support `-C` and `--whitespace=<type>` + builtin rebase: support `--autostash` option + builtin rebase: support `--exec` + builtin rebase: support `--allow-empty-message` option + builtin rebase: support --rebase-merges[=[no-]rebase-cousins] + merge-base --fork-point: extract libified function + builtin rebase: support `fork-point` option + builtin rebase: add support for custom merge strategies + builtin rebase: support --root + builtin rebase: optionally auto-detect the upstream + builtin rebase: optionally pass custom reflogs to reset_head() + builtin rebase: fast-forward to onto if it is a proper descendant + builtin rebase: show progress when connected to a terminal + builtin rebase: use no-op editor when interactive is "implied" + builtin rebase: error out on incompatible option/mode combinations + rebase: default to using the builtin rebase + +Rafael Ascensão (2): + refs: show --exclude failure with --branches/tags/remotes=glob + refs: fix some exclude patterns being ignored + +Ralf Thielow (1): + git-rebase.sh: fix typos in error messages + +Ramsay Jones (12): + Makefile: add a hdr-check target + json-writer.h: add missing include (hdr-check) + ewah/ewok_rlw.h: add missing include (hdr-check) + refs/ref-cache.h: add missing declarations (hdr-check) + refs/packed-backend.h: add missing declaration (hdr-check) + refs/refs-internal.h: add missing declarations (hdr-check) + midx.h: add missing forward declarations (hdr-check) + delta-islands.h: add missing forward declarations (hdr-check) + headers: normalize the spelling of some header guards + fetch-object.h: add missing declaration (hdr-check) + ewok_rlw.h: add missing 'inline' to function definition + commit-reach.h: add missing declarations (hdr-check) + +Rasmus Villemoes (6): + help: redirect to aliased commands for "git cmd --help" + git.c: handle_alias: prepend alias info when first argument is -h + git-help.txt: document "git help cmd" vs "git cmd --help" for aliases + Documentation/git-send-email.txt: style fixes + send-email: only consider lines containing @ or <> for automatic Cc'ing + send-email: also pick up cc addresses from -by trailers + +René Scharfe (11): + mailinfo: support format=flowed + fsck: add a performance test for skipList + fsck: use strbuf_getline() to read skiplist file + fsck: use oidset instead of oid_array for skipList + grep: add -r/--[no-]recursive + fetch-pack: factor out is_unmatched_ref() + fetch-pack: load tip_oids eagerly iff needed + khash: factor out kh_release_* + oidset: use khash + oidset: uninline oidset_init() + commit-reach: fix cast in compare_commits_by_gen() + +Roger Strain (1): + subtree: performance improvement for finding unexpected parent commits + +SZEDER Gábor (4): + t1404: increase core.packedRefsTimeout to avoid occasional test failure + object_id.cocci: match only expressions of type 'struct object_id' + travis-ci: install packages in 'ci/install-dependencies.sh' + ref-filter: don't look for objects when outside of a repository + +Stefan Beller (21): + git-submodule.sh: align error reporting for update mode to use path + git-submodule.sh: rename unused variables + builtin/submodule--helper: factor out submodule updating + builtin/submodule--helper: store update_clone information in a struct + builtin/submodule--helper: factor out method to update a single submodule + submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree + submodule--helper: introduce new update-module-mode helper + test_decode_color: understand FAINT and ITALIC + t3206: add color test for range-diff --dual-color + diff.c: simplify caller of emit_line_0 + diff.c: reorder arguments for emit_line_ws_markup + diff.c: add set_sign to emit_line_0 + diff: use emit_line_0 once per line + diff.c: omit check for line prefix in emit_line_0 + diff.c: rewrite emit_line_0 more understandably + diff.c: add --output-indicator-{new, old, context} + range-diff: make use of different output indicators + range-diff: indent special lines as context + diff.c: pass sign_index to emit_line_ws_markup + submodule helper: convert relative URL to absolute URL if needed + builtin/submodule--helper: remove debugging leftover tracing + +Stephen P. Smith (10): + wt-status.c: move has_unmerged earlier in the file + wt-status: rename commitable to committable + t7501: add test of "commit --dry-run --short" + wt-status.c: set the committable flag in the collect phase + roll wt_status_state into wt_status and populate in the collect phase + t2000: rename and combine checkout clash tests + t7509: cleanup description and filename + t7502: rename commit test script to comply with naming convention + t7500: rename commit tests script to comply with naming convention + t7501: rename commit test to comply with naming convention + +Steve Hoelzer (1): + poll: use GetTickCount64() to avoid wrap-around issues + +Steven Fernandez (1): + git-completion.bash: add completion for stash list + +Strain, Roger L (4): + subtree: refactor split of a commit into standalone method + subtree: make --ignore-joins pay attention to adds + subtree: use commits before rejoins for splits + subtree: improve decision on merges kept in split + +Taylor Blau (4): + transport.c: extract 'fill_alternate_refs_command' + transport.c: introduce core.alternateRefsCommand + transport.c: introduce core.alternateRefsPrefixes + Documentation/config.txt: fix typo in core.alternateRefsCommand + +Thomas Gummerer (13): + rerere: unify error messages when read_cache fails + rerere: lowercase error messages + rerere: wrap paths in output in sq + rerere: mark strings for translation + rerere: add documentation for conflict normalization + rerere: fix crash with files rerere can't handle + rerere: only return whether a path has conflicts or not + rerere: factor out handle_conflict function + rerere: return strbuf from handle path + rerere: teach rerere to handle nested conflicts + rerere: recalculate conflict ID when unresolved conflict is committed + rerere: mention caveat about unmatched conflict markers + rerere: add note about files with existing conflict markers + +Tim Schumacher (3): + alias: add support for aliases of an alias + alias: show the call history when an alias is looping + t0014: introduce an alias testing suite + +brian m. carlson (26): + t: add test functions to translate hash-related values + t0000: use hash translation table + t0000: update tests for SHA-256 + t0002: abstract away SHA-1 specific constants + t0064: make hash size independent + t1006: make hash size independent + t1400: switch hard-coded object ID to variable + t1405: make hash size independent + t1406: make hash-size independent + t1407: make hash size independent + editorconfig: provide editor settings for Git developers + editorconfig: indicate settings should be kept in sync + pack-bitmap-write: use GIT_MAX_RAWSZ for allocation + builtin/repack: replace hard-coded constants + builtin/mktree: remove hard-coded constant + builtin/fetch-pack: remove constants with parse_oid_hex + pack-revindex: express constants in terms of the_hash_algo + packfile: express constants in terms of the_hash_algo + refs/packed-backend: express constants using the_hash_algo + upload-pack: express constants in terms of the_hash_algo + transport: use parse_oid_hex instead of a constant + tag: express constant in terms of the_hash_algo + apply: replace hard-coded constants + apply: rename new_sha1_prefix and old_sha1_prefix + submodule: make zero-oid comparison hash function agnostic + rerere: convert to use the_hash_algo + +Ævar Arnfjörð Bjarmason (31): + fetch: change "branch" to "reference" in --force -h output + push tests: make use of unused $1 in test description + push tests: use spaces in interpolated string + fetch tests: add a test for clobbering tag behavior + push doc: remove confusing mention of remote merger + push doc: move mention of "tag <tag>" later in the prose + push doc: correct lies about how push refspecs work + fetch: document local ref updates with/without --force + fetch: stop clobbering existing tags without --force + fsck tests: setup of bogus commit object + fsck tests: add a test for no skipList input + fsck: document and test sorted skipList input + fsck: document and test commented & empty line skipList input + fsck: document that skipList input must be unabbreviated + fsck: add a performance test + fsck: support comments & empty lines in skipList + commit-graph write: add progress output + commit-graph verify: add progress output + config doc: add missing list separator for checkout.optimizeNewBranch + push doc: add spacing between two words + fetch doc: correct grammar in --force docs + gc: fix regression in 7b0f229222 impacting --quiet + gc doc: mention the commit-graph in the intro + pack-objects test: modernize style + pack-objects tests: don't leave test .git corrupt at end + index-pack tests: don't leave test repo dirty at end + range-diff doc: add a section about output stability + range-diff: fix regression in passing along diff options + range-diff: make diff option behavior (e.g. --stat) consistent + rebase doc: document rebase.useBuiltin + tests: add a special setup where rebase.useBuiltin is off + + +Version v2.19.6; changes since v2.19.5: +--------------------------------------- + +Johannes Schindelin (4): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + Git 2.19.6 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.19.5; changes since v2.19.4: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.19.4; changes since v2.19.3: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.19.3; changes since v2.19.2: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (25): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + test-drop-caches: use `has_dos_drive_prefix()` + Git 2.16.6 + Git 2.17.3 + Git 2.18.2 + Git 2.19.3 + +Jonathan Nieder (2): + submodule: reject submodule.update = !command in .gitmodules + fsck: reject submodule.update = !command in .gitmodules + + +Version v2.19.2; changes since v2.19.1: +--------------------------------------- + +Alexander Pyhalov (1): + t7005-editor: quote filename to fix whitespace-issue + +Andreas Heiduk (6): + doc: clarify boundaries of 'git worktree list --porcelain' + doc: fix ASCII art tab spacing + doc: fix inappropriate monospace formatting + doc: fix descripion for 'git tag --format' + doc: fix indentation of listing blocks in gitweb.conf.txt + doc: fix formatting in git-update-ref + +Ben Peart (1): + git-mv: allow submodules and fsmonitor to work together + +Brandon Williams (1): + config: document value 2 for protocol.version + +Daniels Umanovskis (3): + doc: move git-rev-parse from porcelain to plumbing + doc: move git-get-tar-commit-id to plumbing + doc: move git-cherry to plumbing + +David Zych (1): + doc: clarify gitcredentials path component matching + +Derrick Stolee (6): + commit-graph: update design document + test-repository: properly init repo + commit-graph: not compatible with replace objects + commit-graph: not compatible with grafts + commit-graph: not compatible with uninitialized repo + commit-graph: close_commit_graph before shallow walk + +Elijah Newren (7): + Remove superfluous trailing semicolons + t4200: demonstrate rerere segfault on specially crafted merge + rerere: avoid buffer overrun + update-ref: fix type of update_flags variable to match its usage + update-ref: allow --no-deref with --stdin + sequencer: fix --allow-empty-message behavior, make it smarter + commit: fix erroneous BUG, 'multiple renames on the same target? how?' + +Frederick Eaton (3): + git-archimport.1: specify what kind of Arch we're talking about + git-column.1: clarify initial description, provide examples + git-describe.1: clarify that "human readable" is also git-readable + +Jeff Hostetler (2): + t0051: test GIT_TRACE to a windows named pipe + mingw: fix mingw_open_append to work with named pipes + +Jeff King (16): + trailer: use size_t for string offsets + trailer: use size_t for iterating trailer list + trailer: pass process_trailer_opts to trailer_info_get() + interpret-trailers: tighten check for "---" patch boundary + interpret-trailers: allow suppressing "---" divider + pretty, ref-filter: format %(trailers) with no_divider option + sequencer: ignore "---" divider when parsing trailers + append_signoff: use size_t for string offsets + reopen_tempfile(): truncate opened file + config.mak.dev: add -Wformat-security + receive-pack: update comment with check_everything_connected + run-command: mark path lookup errors with ENOENT + upload-pack: fix broken if/else chain in config callback + t1450: check large blob in trailing-garbage test + check_stream_sha1(): handle input underflow + cat-file: handle streaming failures consistently + +Johannes Schindelin (8): + rebase -i --autosquash: demonstrate a problem skipping the last squash + rebase -i: be careful to wrap up fixup/squash chains + pack-objects: fix typo 'detla' -> 'delta' + pack-objects (mingw): demonstrate a segmentation fault with large deltas + pack-objects (mingw): initialize `packing_data` mutex in the correct spot + repack: point out a bug handling stale shallow info + shallow: offer to prune only non-existing entries + repack -ad: prune the list of shallow commits + +Johannes Sixt (2): + diff: don't attempt to strip prefix from absolute Windows paths + t3404-rebase-interactive: test abbreviated commands + +Jonathan Nieder (2): + mailmap: consistently normalize brian m. carlson's name + git doc: direct bug reporters to mailing list archive + +Jonathan Tan (4): + fetch-object: unify fetch_object[s] functions + fetch-object: set exact_oid when fetching + fetch-pack: avoid object flags if no_dependents + fetch-pack: exclude blobs when lazy-fetching trees + +Junio C Hamano (5): + CodingGuidelines: document the API in *.h files + receive: denyCurrentBranch=updateinstead should not blindly update + cocci: simplify "if (++u > 1)" to "if (u++)" + fsck: s/++i > 1/i++/ + Git 2.19.2 + +Martin Ågren (5): + git-commit-graph.txt: fix bullet lists + git-commit-graph.txt: typeset more in monospace + git-commit-graph.txt: refer to "*commit*-graph file" + Doc: refer to the "commit-graph file" with dash + t1400: drop debug `echo` to actually execute `test` + +Matthew DeVore (2): + Documentation/git-log.txt: do not show --exclude-promisor-objects + exclude-promisor-objects: declare when option is allowed + +Michael Witten (3): + docs: typo: s/go/to/ + docs: graph: remove unnecessary `graph_update()' call + docs: typo: s/isimilar/similar/ + +Mihir Mehta (1): + doc: fix a typo and clarify a sentence + +Nguyễn Thái Ngọc Duy (2): + add: do not accept pathspec magic 'attr' + config.txt: correct the note about uploadpack.packObjectsHook + +Noam Postavsky (1): + log: fix coloring of certain octopus merge shapes + +René Scharfe (1): + sequencer: use return value of oidset_insert() + +SZEDER Gábor (12): + Documentation/git.txt: clarify that GIT_TRACE=/path appends + t3701-add-interactive: tighten the check of trace output + t1700-split-index: drop unnecessary 'grep' + t0090: disable GIT_TEST_SPLIT_INDEX for the test checking split index + t1700-split-index: document why FSMONITOR is disabled in this test script + split-index: add tests to demonstrate the racy split index problem + t1700-split-index: date back files to avoid racy situations + split-index: count the number of deleted entries + split-index: don't compare cached data of entries already marked for split index + split-index: smudge and add racily clean cache entries to split index + split-index: BUG() when cache entry refers to non-existing shared entry + test-lib: introduce the '-V' short option for '--verbose-log' + +Sam McKelvie (1): + rev-parse: --show-superproject-working-tree should work during a merge + +Saulius Gurklys (1): + doc: fix small typo in git show-branch + +Sebastian Staudt (1): + travis-ci: no longer use containers + +Shulhan (1): + builtin/remote: quote remote name on error to display empty name + +Stefan Beller (4): + refs.c: migrate internal ref iteration to pass thru repository argument + refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback + string-list: remove unused function print_string_list + strbuf.h: format according to coding guidelines + +Tao Qingyun (3): + refs: docstring typo + builtin/branch.c: remove useless branch_get + branch: trivial style fix + +Thomas Gummerer (4): + .gitattributes: add conflict-marker-size for relevant files + linear-assignment: fix potential out of bounds memory access + t5551: move setup code inside test_expect blocks + t5551: compare sorted cookies files + +Tim Schumacher (1): + Documentation/Makefile: make manpage-base-url.xsl generation quieter + +Torsten Bögershausen (2): + Make git_check_attr() a void function + path.c: char is not (always) signed + +Uwe Kleine-König (1): + howto/using-merge-subtree: mention --allow-unrelated-histories + + +Version v2.19.1; changes since v2.19.0: +--------------------------------------- + +Jeff King (5): + submodule--helper: use "--" to signal end of clone options + submodule-config: ban submodule urls that start with dash + submodule-config: ban submodule paths that start with a dash + fsck: detect submodule urls starting with dash + fsck: detect submodule paths starting with dash + +Junio C Hamano (6): + Git 2.14.5 + Git 2.15.3 + Git 2.16.5 + Git 2.17.2 + Git 2.18.1 + Git 2.19.1 + + +Version v2.19.0; changes since v2.19.0-rc2: +------------------------------------------- + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (3958t) + +Christopher Díaz Riveros (1): + l10n: es.po v2.19.0 round 2 + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Jean-Noël Avila (2): + l10n: fr.po v2.19.0 rnd 1 + l10n: fr.po v2.19.0 rnd 2 + +Jiang Xin (4): + l10n: zh_CN: review for git 2.18.0 + l10n: git.pot: v2.19.0 round 1 (382 new, 30 removed) + l10n: git.pot: v2.19.0 round 2 (3 new, 5 removed) + l10n: zh_CN: for git v2.19.0 l10n round 1 to 2 + +Jonathan Nieder (1): + Revert "Merge branch 'sb/submodule-core-worktree'" + +Junio C Hamano (1): + Git 2.19 + +Max Kirillov (1): + http-backend: allow empty CONTENT_LENGTH + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation(3608t0f0u) + l10n: sv.po: Update Swedish translation (3958t0f0u) + +Ralf Thielow (1): + l10n: de.po: translate 108 new messages + +Raphaël Hertzog (1): + l10n: fr: fix a message seen in git bisect + +Trần Ngọc Quân (1): + l10n: vi.po(3958t): updated Vietnamese translation v2.19.0 round 2 + + +Version v2.19.0-rc2; changes since v2.19.0-rc1: +----------------------------------------------- + +Derrick Stolee (1): + commit: don't use generation numbers if not needed + +Elijah Newren (3): + t3401: add another directory rename testcase for rebase and am + merge-recursive: add ability to turn off directory rename detection + am: avoid directory rename detection when calling recursive merge machinery + +Eric Sunshine (2): + chainlint: match "quoted" here-doc tags + config.mak.uname: resolve FreeBSD iconv-related compilation warning + +Junio C Hamano (1): + Git 2.19-rc2 + +Phillip Wood (2): + sequencer: handle errors from read_author_ident() + sequencer: fix quoting in write_author_script + +Ævar Arnfjörð Bjarmason (8): + tests: fix and add lint for non-portable head -c N + tests: fix and add lint for non-portable seq + tests: fix comment syntax in chainlint.sed for AIX sed + tests: use shorter labels in chainlint.sed for AIX sed + tests: fix version-specific portability issue in Perl JSON + tests: fix and add lint for non-portable grep --file + tests: fix non-portable "${var:-"str"}" construct + tests: fix non-portable iconv invocation + + +Version v2.19.0-rc1; changes since v2.19.0-rc0: +----------------------------------------------- + +Derrick Stolee (2): + commit: use timestamp_t for author_date_slab + config: fix commit-graph related config docs + +Elia Pinto (1): + worktree: add --quiet option + +Jean-Noël Avila (1): + i18n: fix mistakes in translated strings + +Jeff King (2): + test-tool.h: include git-compat-util.h + hashcmp: assert constant hash size + +Junio C Hamano (3): + config.txt: clarify core.checkStat + Getting ready for -rc1 + Git 2.19-rc1 + +Kyle Meyer (1): + range-diff: update stale summary of --no-dual-color + +Nguyễn Thái Ngọc Duy (2): + pack-objects: fix performance issues on packing large deltas + generate-cmdlist.sh: collect config from all config.txt files + +René Scharfe (3): + checkout-index: improve argument help for --stage + remote: improve argument help for add --mirror + parseopt: group literal string alternatives in argument help + +SZEDER Gábor (11): + tests: use 'test_must_be_empty' instead of '! test -s' + tests: use 'test_must_be_empty' instead of 'test ! -s' + tests: use 'test_must_be_empty' instead of 'test_cmp /dev/null <out>' + tests: use 'test_must_be_empty' instead of 'test_cmp <empty> <out>' + t7501-commit: drop silly command substitution + t0020-crlf: check the right file + t4051-diff-function-context: read the right file + t6018-rev-list-glob: fix 'empty stdin' test + t3903-stash: don't try to grep non-existing file + t3420-rebase-autostash: don't try to grep non-existing files + t/lib-rebase.sh: support explicit 'pick' commands in 'fake_editor.sh' + +Samuel Maftoul (1): + branch: support configuring --sort via .gitconfig + +Ævar Arnfjörð Bjarmason (1): + refactor various if (x) FREE_AND_NULL(x) to just FREE_AND_NULL(x) + + +Version v2.19.0-rc0; changes since v2.18.5: +------------------------------------------- + +Aaron Schrab (1): + sequencer: use configured comment character + +Alban Gruin (4): + rebase: introduce a dedicated backend for --preserve-merges + rebase: strip unused code in git-rebase--preserve-merges.sh + rebase: use the new git-rebase--preserve-merges.sh + rebase: remove -p code from git-rebase--interactive.sh + +Alejandro R. Sedeño (1): + Makefile: tweak sed invocation + +Aleksandr Makarov (1): + for-each-ref: consistently pass WM_IGNORECASE flag + +Andrei Rybak (2): + Documentation: fix --color option formatting + t4150: fix broken test for am --scissors + +Anthony Sottile (1): + config.c: fix regression for core.safecrlf false + +Antonio Ospite (6): + config: move config_from_gitmodules to submodule-config.c + submodule-config: add helper function to get 'fetch' config from .gitmodules + submodule-config: add helper to get 'update-clone' config from .gitmodules + submodule-config: make 'config_from_gitmodules' private + submodule-config: pass repository as argument to config_from_gitmodules + submodule-config: reuse config_from_gitmodules in repo_read_gitmodules + +Beat Bolli (10): + builtin/config: work around an unsized array forward declaration + unicode: update the width tables to Unicode 11 + connect.h: avoid forward declaration of an enum + refs/refs-internal.h: avoid forward declaration of an enum + convert.c: replace "\e" escapes with "\033". + sequencer.c: avoid empty statements at top level + string-list.c: avoid conversion from void * to function pointer + utf8.c: avoid char overflow + Makefile: add a DEVOPTS flag to get pedantic compilation + packfile: ensure that enum object_type is defined + +Ben Peart (3): + convert log_ref_write_fd() to use strbuf + handle lower case drive letters on Windows + t3507: add a testcase showing failure with sparse checkout + +Brandon Williams (15): + commit: convert commit_graft_pos() to handle arbitrary repositories + commit: convert register_commit_graft to handle arbitrary repositories + commit: convert read_graft_file to handle arbitrary repositories + test-pkt-line: add unpack-sideband subcommand + docs: link to gitsubmodules + upload-pack: implement ref-in-want + upload-pack: test negotiation with changing repository + fetch: refactor the population of peer ref OIDs + fetch: refactor fetch_refs into two functions + fetch: refactor to make function args narrower + fetch-pack: put shallow info in output parameter + fetch-pack: implement ref-in-want + clone: send ref-prefixes when using protocol v2 + fetch-pack: mark die strings for translation + pack-protocol: mention and point to docs for protocol v2 + +Chen Bin (1): + git-p4: add the `p4-pre-submit` hook + +Christian Couder (1): + t9104: kosherly remove remote refs + +Derrick Stolee (43): + ref-filter: fix outdated comment on in_commit_list + commit: add generation number to struct commit + commit-graph: compute generation numbers + commit: use generations in paint_down_to_common() + commit-graph: always load commit-graph information + ref-filter: use generation number for --contains + commit: use generation numbers for in_merge_bases() + commit: add short-circuit to paint_down_to_common() + commit: use generation number in remove_redundant() + merge: check config before loading commits + commit-graph.txt: update design document + commit-graph: fix UX issue when .lock file exists + ewah/bitmap.c: delete unused 'bitmap_clear()' + ewah/bitmap.c: delete unused 'bitmap_each_bit()' + ewah_bitmap: delete unused 'ewah_and()' + ewah_bitmap: delete unused 'ewah_and_not()' + ewah_bitmap: delete unused 'ewah_not()' + ewah_bitmap: delete unused 'ewah_or()' + ewah_io: delete unused 'ewah_serialize()' + t5318-commit-graph.sh: use core.commitGraph + commit-graph: UNLEAK before die() + commit-graph: fix GRAPH_MIN_SIZE + commit-graph: parse commit from chosen graph + commit: force commit to parse from object database + commit-graph: load a root tree from specific graph + commit-graph: add 'verify' subcommand + commit-graph: verify catches corrupt signature + commit-graph: verify required chunks are present + commit-graph: verify corrupt OID fanout and lookup + commit-graph: verify objects exist + commit-graph: verify root tree OIDs + commit-graph: verify parent list + commit-graph: verify generation number + commit-graph: verify commit date + commit-graph: test for corrupted octopus edge + commit-graph: verify contents match checksum + fsck: verify commit-graph + commit-graph: use string-list API for input + commit-graph: add '--reachable' option + gc: automatically write commit-graph files + commit-graph: update design document + commit-graph: fix documentation inconsistencies + coccinelle: update commit.cocci + +Elijah Newren (63): + t6036, t6042: use test_create_repo to keep tests independent + t6036, t6042: use test_line_count instead of wc -l + t6036, t6042: prefer test_path_is_file, test_path_is_missing + t6036, t6042: prefer test_cmp to sequences of test + t6036: prefer test_when_finished to manual cleanup in following test + merge-recursive: fix miscellaneous grammar error in comment + merge-recursive: fix numerous argument alignment issues + merge-recursive: align labels with their respective code blocks + merge-recursive: clarify the rename_dir/RENAME_DIR meaning + merge-recursive: rename conflict_rename_*() family of functions + merge-recursive: add pointer about unduly complex looking code + git-rebase.txt: document incompatible options + git-rebase.sh: update help messages a bit + t3422: new testcases for checking when incompatible options passed + git-rebase: error out when incompatible options passed + git-rebase.txt: address confusion between --no-ff vs --force-rebase + directory-rename-detection.txt: technical docs on abilities and limitations + git-rebase.txt: document behavioral differences between modes + t3401: add directory rename testcases for rebase and am + git-rebase: make --allow-empty-message the default + t3418: add testcase showing problems with rebase -i and strategy options + Fix use of strategy options with interactive rebases + git-rebase--merge: modernize "git-$cmd" to "git $cmd" + apply: fix grammar error in comment + t5407: fix test to cover intended arguments + read-cache.c: move index_has_changes() from merge.c + index_has_changes(): avoid assuming operating on the_index + t6044: verify that merges expected to abort actually abort + t6036: add a failed conflict detection case with symlink modify/modify + t6036: add a failed conflict detection case with symlink add/add + t6036: add a failed conflict detection case with submodule modify/modify + t6036: add a failed conflict detection case with submodule add/add + t6036: add a failed conflict detection case with conflicting types + t6042: add testcase covering rename/add/delete conflict type + t6042: add testcase covering rename/rename(2to1)/delete/delete conflict + t6042: add testcase covering long chains of rename conflicts + t6036: add lots of detail for directory/file conflicts in recursive case + t6036: add a failed conflict detection case: regular files, different modes + t6044: add a testcase for index matching head, when head doesn't match HEAD + merge-recursive: make sure when we say we abort that we actually abort + merge-recursive: fix assumption that head tree being merged is HEAD + t6044: add more testcases with staged changes before a merge is invoked + merge-recursive: enforce rule that index matches head before merging + merge: fix misleading pre-merge check documentation + t7405: add a file/submodule conflict + t7405: add a directory/submodule conflict + t7405: verify 'merge --abort' works after submodule/path conflicts + merge-recursive: preserve skip_worktree bit when necessary + t1015: demonstrate directory/file conflict recovery failures + read-cache: fix directory/file conflict handling in read_index_unmerged() + t3031: update test description to mention desired behavior + t7406: fix call that was failing for the wrong reason + t7406: simplify by using diff --name-only instead of diff --raw + t7406: avoid having git commands upstream of a pipe + t7406: prefer test_* helper functions to test -[feds] + t7406: avoid using test_must_fail for commands other than git + git-update-index.txt: reword possibly confusing example + Add missing includes and forward declarations + alloc: make allocate_alloc_state and clear_alloc_state more consistent + Move definition of enum branch_track from cache.h to branch.h + urlmatch.h: fix include guard + compat/precompose_utf8.h: use more common include guard style + Remove forward declaration of an enum + +Eric Sunshine (53): + t: use test_might_fail() instead of manipulating exit code manually + t: use test_write_lines() instead of series of 'echo' commands + t: use sane_unset() rather than 'unset' with broken &&-chain + t: drop unnecessary terminating semicolon in subshell + t/lib-submodule-update: fix "absorbing" test + t5405: use test_must_fail() instead of checking exit code manually + t5406: use write_script() instead of birthing shell script manually + t5505: modernize and simplify hard-to-digest test + t6036: fix broken "merge fails but has appropriate contents" tests + t7201: drop pointless "exit 0" at end of subshell + t7400: fix broken "submodule add/reconfigure --force" test + t7810: use test_expect_code() instead of hand-rolled comparison + t9001: fix broken "invoke hook" test + t9814: simplify convoluted check that command correctly errors out + t0000-t0999: fix broken &&-chains + t1000-t1999: fix broken &&-chains + t2000-t2999: fix broken &&-chains + t3000-t3999: fix broken &&-chains + t3030: fix broken &&-chains + t4000-t4999: fix broken &&-chains + t5000-t5999: fix broken &&-chains + t6000-t6999: fix broken &&-chains + t7000-t7999: fix broken &&-chains + t9000-t9999: fix broken &&-chains + t9119: fix broken &&-chains + t6046/t9833: fix use of "VAR=VAL cmd" with a shell function + t/check-non-portable-shell: stop being so polite + t/check-non-portable-shell: make error messages more compact + t/check-non-portable-shell: detect "FOO=bar shell_func" + t/test-lib: teach --chain-lint to detect broken &&-chains in subshells + t/Makefile: add machinery to check correctness of chainlint.sed + t/chainlint: add chainlint "basic" test cases + t/chainlint: add chainlint "whitespace" test cases + t/chainlint: add chainlint "one-liner" test cases + t/chainlint: add chainlint "nested subshell" test cases + t/chainlint: add chainlint "loop" and "conditional" test cases + t/chainlint: add chainlint "cuddled" test cases + t/chainlint: add chainlint "complex" test cases + t/chainlint: add chainlint "specialized" test cases + diff: --color-moved: rename "dimmed_zebra" to "dimmed-zebra" + mw-to-git/t9360: fix broken &&-chain + t/chainlint.sed: drop extra spaces from regex character class + sequencer: fix "rebase -i --root" corrupting author header + sequencer: fix "rebase -i --root" corrupting author header timezone + sequencer: fix "rebase -i --root" corrupting author header timestamp + sequencer: don't die() on bogus user-edited timestamp + color: protect against out-of-bounds reads and writes + chainlint: match arbitrary here-docs tags rather than hard-coded names + chainlint: match 'quoted' here-doc tags + chainlint: recognize multi-line $(...) when command cuddled with "$(" + chainlint: let here-doc and multi-line string commence on same line + chainlint: recognize multi-line quoted strings more robustly + chainlint: add test of pathological case which triggered false positive + +Han-Wen Nienhuys (2): + config: document git config getter return value + sideband: highlight keywords in remote sideband output + +Henning Schild (9): + builtin/receive-pack: use check_signature from gpg-interface + gpg-interface: make parse_gpg_output static and remove from interface header + gpg-interface: add new config to select how to sign a commit + t/t7510: check the validation of the new config gpg.format + gpg-interface: introduce an abstraction for multiple gpg formats + gpg-interface: do not hardcode the key string len anymore + gpg-interface: introduce new config to select per gpg format program + gpg-interface: introduce new signature format "x509" using gpgsm + gpg-interface t: extend the existing GPG tests with GPGSM + +Isabella Stephens (2): + blame: prevent error if range ends past end of file + log: prevent error if line range ends past end of file + +Jameson Miller (8): + read-cache: teach refresh_cache_entry to take istate + read-cache: teach make_cache_entry to take object_id + block alloc: add lifecycle APIs for cache_entry structs + mem-pool: only search head block for available space + mem-pool: add life cycle management functions + mem-pool: fill out functionality + block alloc: allocate cache entries from mem_pool + block alloc: add validations around cache_entry lifecyle + +Jeff Hostetler (1): + json_writer: new routines to create JSON data + +Jeff King (48): + make show-index a builtin + show-index: update documentation for index v2 + fetch-pack: don't try to fetch peel values with --all + ewah: drop ewah_deserialize function + ewah: drop ewah_serialize_native function + t3200: unset core.logallrefupdates when testing reflog creation + t: switch "branch -l" to "branch --create-reflog" + branch: deprecate "-l" option + config: turn die_on_error into caller-facing enum + config: add CONFIG_ERROR_SILENT handler + config: add options parameter to git_config_from_mem + fsck: silence stderr when parsing .gitmodules + t6300: add a test for --ignore-case + ref-filter: avoid backend filtering with --ignore-case + t5500: prettify non-commit tag tests + sequencer: handle empty-set cases consistently + sequencer: don't say BUG on bogus input + has_uncommitted_changes(): fall back to empty tree + fsck: split ".gitmodules too large" error from parse failure + fsck: downgrade gitmodulesParse default to "info" + blame: prefer xsnprintf to strcpy for colors + check_replace_refs: fix outdated comment + check_replace_refs: rename to read_replace_refs + add core.usereplacerefs config option + reencode_string: use st_add/st_mult helpers + reencode_string: use size_t for string lengths + strbuf: use size_t for length in intermediate variables + strbuf_readlink: use ssize_t + pass st.st_size as hint for strbuf_readlink() + strbuf_humanise: use unsigned variables + automatically ban strcpy() + banned.h: mark strcat() as banned + banned.h: mark sprintf() as banned + banned.h: mark strncpy() as banned + score_trees(): fix iteration over trees with missing entries + add a script to diff rendered documentation + t5552: suppress upload-pack trace output + for_each_*_object: store flag definitions in a single location + for_each_*_object: take flag arguments as enum + for_each_*_object: give more comprehensive docstrings + for_each_packed_object: support iterating in pack-order + t1006: test cat-file --batch-all-objects with duplicates + cat-file: rename batch_{loose,packed}_object callbacks + cat-file: support "unordered" output for --batch-all-objects + cat-file: use oidset check-and-insert + cat-file: split batch "buf" into two variables + cat-file: use a single strbuf for all output + for_each_*_object: move declarations to object-store.h + +Johannes Schindelin (41): + Makefile: fix the "built from commit" code + merge: allow reading the merge commit message from a file + rebase --rebase-merges: add support for octopus merges + rebase --rebase-merges: adjust man page for octopus support + vcbuild/README: update to accommodate for missing common-cmds.h + t7406: avoid failures solely due to timing issues + contrib: add a script to initialize VS Code configuration + vscode: hard-code a couple defines + cache.h: extract enum declaration from inside a struct declaration + mingw: define WIN32 explicitly + vscode: only overwrite C/C++ settings + vscode: wrap commit messages at column 72 by default + vscode: use 8-space tabs, no trailing ws, etc for Git's source code + vscode: add a dictionary for cSpell + vscode: let cSpell work on commit messages, too + pull --rebase=<type>: allow single-letter abbreviations for the type + t3430: demonstrate what -r, --autosquash & --exec should do + git-compat-util.h: fix typo + remote-curl: remove spurious period + rebase --exec: make it work with --rebase-merges + linear-assignment: a function to solve least-cost assignment problems + Introduce `range-diff` to compare iterations of a topic branch + range-diff: first rudimentary implementation + range-diff: improve the order of the shown commits + range-diff: also show the diff between patches + range-diff: right-trim commit messages + range-diff: indent the diffs just like tbdiff + range-diff: suppress the diff headers + range-diff: adjust the output of the commit pairs + range-diff: do not show "function names" in hunk headers + range-diff: use color for the commit pairs + color: add the meta color GIT_COLOR_REVERSE + diff: add an internal option to dual-color diffs of diffs + range-diff: offer to dual-color the diffs + range-diff --dual-color: skip white-space warnings + range-diff: populate the man page + completion: support `git range-diff` + range-diff: left-pad patch numbers + range-diff: make --dual-color the default mode + range-diff: use dim/bold cues to improve dual color mode + chainlint: fix for core.autocrlf=true + +Johannes Sixt (1): + mingw: enable atomic O_APPEND + +Jonathan Nieder (11): + object: add repository argument to grow_object_hash + object: move grafts to object parser + commit: add repository argument to commit_graft_pos + commit: add repository argument to register_commit_graft + commit: add repository argument to read_graft_file + commit: add repository argument to prepare_commit_graft + commit: add repository argument to lookup_commit_graft + subtree test: add missing && to &&-chain + subtree test: simplify preparation of expected results + doc hash-function-transition: pick SHA-256 as NewHash + partial-clone: render design doc using asciidoc + +Jonathan Tan (28): + list-objects: check if filter is NULL before using + fetch-pack: split up everything_local() + fetch-pack: clear marks before re-marking + fetch-pack: directly end negotiation if ACK ready + fetch-pack: use ref adv. to prune "have" sent + fetch-pack: make negotiation-related vars local + fetch-pack: move common check and marking together + fetch-pack: introduce negotiator API + pack-bitmap: remove bitmap_git global variable + pack-bitmap: add free function + fetch-pack: write shallow, then check connectivity + fetch-pack: support negotiation tip whitelist + upload-pack: send refs' objects despite "filter" + clone: check connectivity even if clone is partial + revision: tolerate promised targets of tags + tag: don't warn if target is missing but promised + negotiator/skipping: skip commits during fetch + commit-graph: refactor preparing commit graph + object-store: add missing include + commit-graph: add missing forward declaration + commit-graph: add free_commit_graph + commit-graph: store graph in struct object_store + commit-graph: add repo arg to graph readers + t5702: test fetch with multiple refspecs at a time + fetch: send "refs/tags/" prefix upon CLI refspecs + fetch-pack: unify ref in and out param + repack: refactor setup of pack-objects cmd + repack: repack promisor objects if -a or -A is set + +Josh Steadmon (1): + protocol-v2 doc: put HTTP headers after request + +Jules Maselbas (1): + send-email: fix tls AUTH when sending batch + +Junio C Hamano (18): + tests: clean after SANITY tests + ewah: delete unused 'rlwit_discharge_empty()' + Prepare to start 2.19 cycle + First batch for 2.19 cycle + Second batch for 2.19 cycle + fixup! connect.h: avoid forward declaration of an enum + fixup! refs/refs-internal.h: avoid forward declaration of an enum + t3404: fix use of "VAR=VAL cmd" with a shell function + Third batch for 2.19 cycle + Fourth batch for 2.19 cycle + remote: make refspec follow the same disambiguation rule as local refs + Fifth batch for 2.19 cycle + update-index: there no longer is `apply --index-info` + gpg-interface: propagate exit status from gpg back to the callers + Sixth batch for 2.19 cycle + Seventh batch for 2.19 cycle + sideband: do not read beyond the end of input + Git 2.19-rc0 + +Kana Natsuno (2): + t4018: add missing test cases for PHP + userdiff: support new keywords in PHP hunk header + +Kim Gybels (1): + gc --auto: release pack files before auto packing + +Kirill Smelkov (1): + fetch-pack: test explicitly that --all can fetch tag references pointing to non-commits + +Luis Marsano (2): + git-credential-netrc: use in-tree Git.pm for tests + git-credential-netrc: fix exit status when tests fail + +Luke Diamand (6): + git-p4: python3: replace <> with != + git-p4: python3: replace dict.has_key(k) with "k in dict" + git-p4: python3: remove backticks + git-p4: python3: basestring workaround + git-p4: python3: use print() function + git-p4: python3: fix octal constants + +Marc Strapetz (1): + Documentation: declare "core.ignoreCase" as internal variable + +Martin Ågren (1): + refspec: initalize `refspec_item` in `valid_fetch_refspec()` + +Masaya Suzuki (2): + builtin/send-pack: populate the default configs + doc: fix want-capability separator + +Max Kirillov (4): + http-backend: cleanup writing to child process + http-backend: respect CONTENT_LENGTH as specified by rfc3875 + unpack-trees: do not fail reset because of unmerged skipped entry + http-backend: respect CONTENT_LENGTH for receive-pack + +Michael Barabanov (1): + filter-branch: skip commits present on --state-branch + +Mike Hommey (1): + fast-import: do not call diff_delta() with empty buffer + +Nguyễn Thái Ngọc Duy (98): + commit-slab.h: code split + commit-slab: support shared commit-slab + blame: use commit-slab for blame suspects instead of commit->util + describe: use commit-slab for commit names instead of commit->util + shallow.c: use commit-slab for commit depth instead of commit->util + sequencer.c: use commit-slab to mark seen commits + sequencer.c: use commit-slab to associate todo items to commits + revision.c: use commit-slab for show_source + bisect.c: use commit-slab for commit weight instead of commit->util + name-rev: use commit-slab for rev-name instead of commit->util + show-branch: use commit-slab for commit-name instead of commit->util + show-branch: note about its object flags usage + log: use commit-slab in prepare_bases() instead of commit->util + merge: use commit-slab in merge remote desc instead of commit->util + commit.h: delete 'util' field in struct commit + diff: ignore --ita-[in]visible-in-index when diffing worktree-to-tree + diff: turn --ita-invisible-in-index on by default + t2203: add a test about "diff HEAD" case + apply: add --intent-to-add + parse-options: option to let --git-completion-helper show negative form + completion: suppress some -no- options + Add and use generic name->id mapping code for color slot parsing + grep: keep all colors in an array + fsck: factor out msg_id_info[] lazy initialization code + help: add --config to list all available config + fsck: produce camelCase config key names + advice: keep config name in camelCase in advice_config[] + am: move advice.amWorkDir parsing back to advice.c + completion: drop the hard coded list of config vars + completion: keep other config var completion in camelCase + completion: support case-insensitive config vars + log-tree: allow to customize 'grafted' color + completion: complete general config vars in two steps + upload-pack: reject shallow requests that would return nothing + completion: collapse extra --no-.. options + Update messages in preparation for i18n + archive-tar.c: mark more strings for translation + archive-zip.c: mark more strings for translation + builtin/config.c: mark more strings for translation + builtin/grep.c: mark strings for translation + builtin/pack-objects.c: mark more strings for translation + builtin/replace.c: mark more strings for translation + commit-graph.c: mark more strings for translation + config.c: mark more strings for translation + connect.c: mark more strings for translation + convert.c: mark more strings for translation + dir.c: mark more strings for translation + environment.c: mark more strings for translation + exec-cmd.c: mark more strings for translation + object.c: mark more strings for translation + pkt-line.c: mark more strings for translation + refs.c: mark more strings for translation + refspec.c: mark more strings for translation + replace-object.c: mark more strings for translation + sequencer.c: mark more strings for translation + sha1-file.c: mark more strings for translation + transport.c: mark more strings for translation + transport-helper.c: mark more strings for translation + pack-objects: document about thread synchronization + apply.h: drop extern on func declaration + attr.h: drop extern from function declaration + blame.h: drop extern on func declaration + cache-tree.h: drop extern from function declaration + convert.h: drop 'extern' from function declaration + diffcore.h: drop extern from function declaration + diff.h: remove extern from function declaration + line-range.h: drop extern from function declaration + rerere.h: drop extern from function declaration + repository.h: drop extern from function declaration + revision.h: drop extern from function declaration + submodule.h: drop extern from function declaration + config.txt: reorder blame stuff to keep config keys sorted + Makefile: add missing dependency for command-list.h + diff.c: move read_index() code back to the caller + cache-tree: wrap the_index based wrappers with #ifdef + attr: remove an implicit dependency on the_index + convert.c: remove an implicit dependency on the_index + dir.c: remove an implicit dependency on the_index in pathspec code + preload-index.c: use the right index instead of the_index + ls-files: correct index argument to get_convert_attr_ascii() + unpack-trees: remove 'extern' on function declaration + unpack-trees: add a note about path invalidation + unpack-trees: don't shadow global var the_index + unpack-trees: convert clear_ce_flags* to avoid the_index + unpack-trees: avoid the_index in verify_absent() + pathspec.c: use the right index instead of the_index + submodule.c: use the right index instead of the_index + entry.c: use the right index instead of the_index + attr: remove index from git_attr_set_direction() + grep: use the right index instead of the_index + archive.c: avoid access to the_index + archive-*.c: use the right repository + resolve-undo.c: use the right index instead of the_index + apply.c: pass struct apply_state to more functions + apply.c: make init_apply_state() take a struct repository + apply.c: remove implicit dependency on the_index + blame.c: remove implicit dependency on the_index + cherry-pick: fix --quit not deleting CHERRY_PICK_HEAD + +Nicholas Guriev (1): + mergetool: don't suggest to continue after last file + +Olga Telezhnaya (5): + ref-filter: add info_source to valid_atom + ref-filter: fill empty fields with empty values + ref-filter: initialize eaten variable + ref-filter: merge get_obj and get_object + ref-filter: use oid_object_info() to get object + +Phillip Wood (5): + add -p: fix counting empty context lines in edited patches + sequencer: do not squash 'reword' commits when we hit conflicts + rebase -i: fix numbering in squash message + t3430: add conflicting commit + rebase -i: fix SIGSEGV when 'merge <branch>' fails + +Prathamesh Chavan (4): + submodule foreach: correct '$path' in nested submodules from a subdirectory + submodule foreach: document '$sm_path' instead of '$path' + submodule foreach: document variable '$displaypath' + submodule: port submodule subcommand 'foreach' from shell to C + +Ramsay Jones (3): + fsck: check skiplist for object in fsck_blob() + t6036: fix broken && chain in sub-shell + t5562: avoid non-portable "export FOO=bar" construct + +René Scharfe (7): + remote: clear string_list after use in mv() + add, update-index: fix --chmod argument help + difftool: remove angular brackets from argument help + pack-objects: specify --index-version argument help explicitly + send-pack: specify --force-with-lease argument help explicitly + shortlog: correct option help for -w + parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP + +SZEDER Gábor (19): + update-ref --stdin: use skip_prefix() + t7510-signed-commit: use 'test_must_fail' + tests: make forging GPG signed commits and tags more robust + t5541: clean up truncating access log + t/lib-httpd: add the strip_access_log() helper function + t/lib-httpd: avoid occasional failures when checking access.log + t5608: fix broken &&-chain + t9300: wait for background fast-import process to die after killing it + travis-ci: run Coccinelle static analysis with two parallel jobs + travis-ci: fail if Coccinelle static analysis found something to transform + coccinelle: mark the 'coccicheck' make target as .PHONY + coccinelle: use $(addsuffix) in 'coccicheck' make target + coccinelle: exclude sha1dc source files from static analysis + coccinelle: put sane filenames into output patches + coccinelle: extract dedicated make target to clean Coccinelle's results + travis-ci: include the trash directories of failed tests in the trace log + t5318: use 'test_cmp_bin' to compare commit-graph files + t5318: avoid unnecessary command substitutions + t5310-pack-bitmaps: fix bogus 'pack-objects to file can use bitmap' test + +Sebastian Kisela (2): + git-instaweb: support Fedora/Red Hat apache module path + git-instaweb: fix apache2 config with apache >= 2.4 + +Stefan Beller (87): + repository: introduce parsed objects field + object: add repository argument to create_object + alloc: add repository argument to alloc_blob_node + alloc: add repository argument to alloc_tree_node + alloc: add repository argument to alloc_commit_node + alloc: add repository argument to alloc_tag_node + alloc: add repository argument to alloc_object_node + alloc: add repository argument to alloc_report + alloc: add repository argument to alloc_commit_index + object: allow grow_object_hash to handle arbitrary repositories + object: allow create_object to handle arbitrary repositories + alloc: allow arbitrary repositories for alloc functions + object-store: move object access functions to object-store.h + shallow: add repository argument to set_alternate_shallow_file + shallow: add repository argument to register_shallow + shallow: add repository argument to check_shallow_file_for_update + shallow: add repository argument to is_repository_shallow + cache: convert get_graft_file to handle arbitrary repositories + path.c: migrate global git_path_* to take a repository argument + shallow: migrate shallow information into the object parser + commit: allow prepare_commit_graft to handle arbitrary repositories + commit: allow lookup_commit_graft to handle arbitrary repositories + refs/packed-backend.c: close fd of empty file + submodule--helper: plug mem leak in print_default_remote + sequencer.c: plug leaks in do_pick_commit + submodule: fix NULL correctness in renamed broken submodules + t5526: test recursive submodules when fetching moved submodules + submodule: unset core.worktree if no working tree is present + submodule: ensure core.worktree is set after update + submodule deinit: unset core.worktree + submodule.c: report the submodule that an error occurs in + sequencer.c: plug mem leak in git_sequencer_config + .mailmap: merge different spellings of names + object: add repository argument to parse_object + object: add repository argument to lookup_object + object: add repository argument to parse_object_buffer + object: add repository argument to object_as_type + blob: add repository argument to lookup_blob + tree: add repository argument to lookup_tree + commit: add repository argument to lookup_commit_reference_gently + commit: add repository argument to lookup_commit_reference + commit: add repository argument to lookup_commit + commit: add repository argument to parse_commit_buffer + commit: add repository argument to set_commit_buffer + commit: add repository argument to get_cached_commit_buffer + tag: add repository argument to lookup_tag + tag: add repository argument to parse_tag_buffer + tag: add repository argument to deref_tag + object: allow object_as_type to handle arbitrary repositories + object: allow lookup_object to handle arbitrary repositories + blob: allow lookup_blob to handle arbitrary repositories + tree: allow lookup_tree to handle arbitrary repositories + commit: allow lookup_commit to handle arbitrary repositories + tag: allow lookup_tag to handle arbitrary repositories + tag: allow parse_tag_buffer to handle arbitrary repositories + commit.c: allow parse_commit_buffer to handle arbitrary repositories + commit-slabs: remove realloc counter outside of slab struct + commit.c: migrate the commit buffer to the parsed object store + commit.c: allow set_commit_buffer to handle arbitrary repositories + commit.c: allow get_cached_commit_buffer to handle arbitrary repositories + object.c: allow parse_object_buffer to handle arbitrary repositories + object.c: allow parse_object to handle arbitrary repositories + tag.c: allow deref_tag to handle arbitrary repositories + commit.c: allow lookup_commit_reference_gently to handle arbitrary repositories + commit.c: allow lookup_commit_reference to handle arbitrary repositories + xdiff/xdiff.h: remove unused flags + xdiff/xdiffi.c: remove unneeded function declarations + t4015: avoid git as a pipe input + diff.c: do not pass diff options as keydata to hashmap + diff.c: adjust hash function signature to match hashmap expectation + diff.c: add a blocks mode for moved code detection + diff.c: decouple white space treatment from move detection algorithm + diff.c: factor advance_or_nullify out of mark_color_as_moved + diff.c: add white space mode to move detection that allows indent changes + diff.c: offer config option to control ws handling in move detection + xdiff/xhistogram: pass arguments directly to fall_back_to_classic_diff + xdiff/xhistogram: factor out memory cleanup into free_index() + xdiff/xhistogram: move index allocation into find_lcs + Documentation/git-interpret-trailers: explain possible values + xdiff/histogram: remove tail recursion + t1300: document current behavior of setting options + xdiff: reduce indent heuristic overhead + config: fix case sensitive subsection names on writing + git-config: document accidental multi-line setting in deprecated syntax + git-submodule.sh: accept verbose flag in cmd_update to be non-quiet + t7410: update to new style + builtin/submodule--helper: remove stray new line + +Taylor Blau (9): + Documentation/config.txt: camel-case lineNumber for consistency + grep.c: expose {,inverted} match column in match_line() + grep.[ch]: extend grep_opt to allow showing matched column + grep.c: display column number of first match + builtin/grep.c: add '--column' option to 'git-grep(1)' + grep.c: add configuration variables to show matched option + contrib/git-jump/git-jump: jump to exact location + grep.c: extract show_line_header() + grep.c: teach 'git grep --only-matching' + +Thomas Rast (1): + range-diff: add tests + +Tobias Klauser (1): + git-rebase--preserve-merges: fix formatting of todo help message + +Todd Zullinger (4): + git-credential-netrc: minor whitespace cleanup in test script + git-credential-netrc: make "all" default target of Makefile + gitignore.txt: clarify default core.excludesfile path + dir.c: fix typos in core.excludesfile comment + +Ville Skyttä (1): + Documentation: spelling and grammar fixes + +Vladimir Parfinenko (1): + rebase: fix documentation formatting + +William Chargin (2): + sha1-name.c: for ":/", find detached HEAD commits + t: factor out FUNNYNAMES as shared lazy prereq + +Xiaolong Ye (1): + format-patch: clear UNINTERESTING flag before prepare_bases + +brian m. carlson (21): + send-email: add an auto option for transfer encoding + send-email: accept long lines with suitable transfer encoding + send-email: automatically determine transfer-encoding + docs: correct RFC specifying email line length + sequencer: pass absolute GIT_WORK_TREE to exec commands + cache: update object ID functions for the_hash_algo + tree-walk: replace hard-coded constants with the_hash_algo + hex: switch to using the_hash_algo + commit: express tree entry constants in terms of the_hash_algo + strbuf: allocate space with GIT_MAX_HEXSZ + sha1-name: use the_hash_algo when parsing object names + refs/files-backend: use the_hash_algo for writing refs + builtin/update-index: convert to using the_hash_algo + builtin/update-index: simplify parsing of cacheinfo + builtin/fmt-merge-msg: make hash independent + builtin/merge: switch to use the_hash_algo + builtin/merge-recursive: make hash independent + diff: switch GIT_SHA1_HEXSZ to use the_hash_algo + log-tree: switch GIT_SHA1_HEXSZ to the_hash_algo->hexsz + sha1-file: convert constants to uses of the_hash_algo + pretty: switch hard-coded constants to the_hash_algo + +Ævar Arnfjörð Bjarmason (36): + checkout tests: index should be clean after dwim checkout + checkout.h: wrap the arguments to unique_tracking_name() + checkout.c: introduce an *_INIT macro + checkout.c: change "unique" member to "num_matches" + checkout: pass the "num_matches" up to callers + builtin/checkout.c: use "ret" variable for return + checkout: add advice for ambiguous "checkout <branch>" + checkout & worktree: introduce checkout.defaultRemote + refspec: s/refspec_item_init/&_or_die/g + refspec: add back a refspec_item_init() function + doc hash-function-transition: note the lack of a changelog + receive.fsck.<msg-id> tests: remove dead code + config doc: don't describe *.fetchObjects twice + config doc: unify the description of fsck.* and receive.fsck.* + config doc: elaborate on what transfer.fsckObjects does + config doc: elaborate on fetch.fsckObjects security + transfer.fsckObjects tests: untangle confusing setup + fetch: implement fetch.fsck.* + fsck: test & document {fetch,receive}.fsck.* config fallback + fsck: add stress tests for fsck.skipList + fsck: test and document unknown fsck.<msg-id> values + tests: make use of the test_must_be_empty function + tests: make use of the test_must_be_empty function + fetch tests: change "Tag" test tag to "testTag" + push tests: remove redundant 'git push' invocation + push tests: fix logic error in "push" test assertion + push tests: add more testing for forced tag pushing + push tests: assert re-pushing annotated tags + negotiator: unknown fetch.negotiationAlgorithm should error out + fetch doc: cross-link two new negotiation options + sha1dc: update from upstream + push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets + fetch tests: correct a comment "remove it" -> "remove them" + pull doc: fix a long-standing grammar error + submodule: add more exhaustive up-path testing + t2024: mark test using "checkout -p" with PERL prerequisite + +Łukasz Stelmach (1): + completion: complete remote names too + + +Version v2.18.5; changes since v2.18.4: +--------------------------------------- + +Johannes Schindelin (3): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + Git 2.18.5 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.18.4; changes since v2.18.3: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.18.3; changes since v2.18.2: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.18.2; changes since v2.18.1: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (24): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + test-drop-caches: use `has_dos_drive_prefix()` + Git 2.16.6 + Git 2.17.3 + Git 2.18.2 + +Jonathan Nieder (2): + submodule: reject submodule.update = !command in .gitmodules + fsck: reject submodule.update = !command in .gitmodules + + +Version v2.18.1; changes since v2.18.0: +--------------------------------------- + +Jeff King (5): + submodule--helper: use "--" to signal end of clone options + submodule-config: ban submodule urls that start with dash + submodule-config: ban submodule paths that start with a dash + fsck: detect submodule urls starting with dash + fsck: detect submodule paths starting with dash + +Junio C Hamano (5): + Git 2.14.5 + Git 2.15.3 + Git 2.16.5 + Git 2.17.2 + Git 2.18.1 + + +Version v2.18.0; changes since v2.18.0-rc2: +------------------------------------------- + +Alexander Shopov (2): + l10n: bg.po: Updated Bulgarian translation (3608t) + l10n: bg.po: Updated Bulgarian translation (3608t) + +Andre Hinrichs (1): + l10n: de.po: fix typos + +Changwoo Ryu (1): + l10n: ko.po: Update Korean translation + +Christopher Díaz Riveros (3): + l10n: es.po: Spanish update for v2.18.0 round 1 + l10n: es.po: Spanish update for v2.18.0 round 2 + l10n: es.po: Spanish update for v2.18.0 round 3 + +Eric Sunshine (1): + Makefile: make NO_ICONV really mean "no iconv" + +Jean-Noël Avila (2): + l10n: fr.po v2.18 round 1 + l10n: fr.po v2.18.0 round 3 + +Jeff King (2): + ewah_read_mmap: bounds-check mmap reads + ewah: adjust callers of ewah_read_mmap() + +Jeremy Linton (1): + packfile: correct zlib buffer handling + +Jiang Xin (4): + l10n: git.pot: v2.18.0 round 1 (108 new, 14 removed) + l10n: git.pot: v2.18.0 round 2 (144 new, 6 removed) + l10n: git.pot: v2.18.0 round 3 (1 new, 1 removed) + l10n: zh_CN: for git v2.18.0 l10n round 1 to 3 + +Johannes Schindelin (1): + rebase --root: fix amending root commit messages + +Jordi Mas (1): + l10n: Update Catalan translation + +Junio C Hamano (3): + A bunch of micro-fixes before going 2.18 final + Almost 2.18 final + Git 2.18 + +Kaartic Sivaraam (1): + t3200: clarify description of --set-upstream test + +Karthikeyan Singaravelan (1): + doc: fix typos in documentation and release notes + +Kyle Meyer (1): + gitworkflows: fix grammar in 'Merge upwards' rule + +Luke Diamand (6): + git-p4: disable-rebase: allow setting this via configuration + git-p4: add option to disable syncing of p4/master with p4 + git-p4: better error reporting when p4 fails + git-p4: raise exceptions from p4CmdList based on error from p4 server + git-p4: narrow the scope of exceptions caught when parsing an int + git-p4: auto-size the block + +Meng-Sung Wu (1): + doc: update the order of the syntax `git merge --continue` + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (3470t0f0u) + l10n: sv.po: Update Swedish translation (3608t0f0u) + +Ralf Thielow (1): + l10n: TEAMS: remove inactive de team members + +René Scharfe (3): + merge-recursive: use xstrdup() instead of fixed buffer + blame: release string_list after use in parse_color_fields() + merge-recursive: use xstrdup() instead of fixed buffer + +Robert P. J. Day (3): + sha1-file.c: correct $GITDIR to $GIT_DIR in a comment + diff-options.txt: fix minor typos, font inconsistencies, in docs + Use hyphenated "remote-tracking branch" (docs and comments) + +Romain Merland (1): + git-p4: add options --commit and --disable-rebase + +SZEDER Gábor (2): + t7406-submodule-update: fix broken &&-chains + RelNotes 2.18: minor fix to entry about dynamically loading completions + +Stefan Beller (1): + t7400: encapsulate setup code in test_expect_success + +Todd Zullinger (2): + rebase --root: demonstrate a bug while amending root commit messages + t3404: check root commit in 'rebase -i --root reword root commit' + +Trần Ngọc Quân (3): + l10n: vi(3470t): Updated Vietnamese translation for v2.18.0 + l10n: vi.po(3608t): Update Vietnamese translation for v2.18.0 round2 + l10n: vi.po(3608t): Update Vietnamese translation for v2.18.0 round 3 + +Ævar Arnfjörð Bjarmason (1): + git-credential-netrc: remove use of "autodie" + + +Version v2.18.0-rc2; changes since v2.18.0-rc1: +----------------------------------------------- + +Elijah Newren (1): + RelNotes 2.18: clarify where directory rename detection applies + +Jeff King (4): + prepare_commit_graft: treat non-repository as a noop + index-pack: handle --strict checks of non-repo packs + t7415: don't bother creating commit for symlink test + fsck: avoid looking at NULL blob->object + +Junio C Hamano (3): + RelNotes 2.18: typofixes + index-pack: correct install_packed_git() args + Git 2.18-rc2 + +Leif Middelschulte (1): + merge-submodule: reduce output verbosity + +SZEDER Gábor (1): + completion: correct zsh detection when run from git-completion.zsh + + +Version v2.18.0-rc1; changes since v2.18.0-rc0: +----------------------------------------------- + +Christian Couder (1): + t990X: use '.git/objects' as 'deep inside .git' path + +David Turner (1): + t: make many tests depend less on the refs being files + +Elijah Newren (2): + rev-parse: check lookup'ed commit references for NULL + RelNotes: remove duplicate release note + +Jonathan Nieder (1): + fetch: do not pass ref-prefixes for fetch by exact SHA1 + +Jonathan Tan (1): + submodule: do not pass null OID to setup_revisions + +Junio C Hamano (3): + refspec-api: avoid uninitialized field in refspec item + A bit more topics before -rc1 + Git 2.18-rc1 + +Luke Diamand (1): + git-p4: add unshelve command + +Nguyễn Thái Ngọc Duy (20): + generate-cmds.sh: factor out synopsis extract code + generate-cmds.sh: export all commands to command-list.h + help: use command-list.h for common command list + Remove common-cmds.h + git.c: convert --list-* to --list-cmds=* + git --list-cmds: collect command list in a string_list + completion: implement and use --list-cmds=main,others + git: support --list-cmds=list-<category> + help: add "-a --verbose" to list all commands with synopsis + help: use command-list.txt for the source of guides + command-list.txt: documentation and guide line + completion: let git provide the completable command list + completion: reduce completable command list + Move declaration for alias.c to alias.h + completion: add and use --list-cmds=nohelpers + completion: add and use --list-cmds=alias + completion: allow to customize the completable command list + Use OPT_SET_INT_F() for cmdline option specification + remote.txt: update documentation for 'update' command + remote: doc typofix + +Orgad Shaneh (1): + git-rebase--interactive: fix copy-paste mistake + +Pedro Alvarez Piedehierro (1): + import-tars: read overlong names from pax extended header + +Robert P. J. Day (4): + Use proper syntax for replaceables in command docs + tag: clarify in the doc that a tag can refer to a non-commit object + init: fix grammar in "templates not found" msg + p4.txt: Use backquotes for variable names + +Thomas Gummerer (2): + SubmittingPatches: replace numbered attributes with names + note git-security@googlegroups.com in more places + +brian m. carlson (2): + sequencer: ensure labels that are object IDs are rewritten + t3430: test clean-up + + +Version v2.18.0-rc0; changes since v2.17.6: +------------------------------------------- + +Anders Kaseorg (1): + Documentation/git-bisect.txt: git bisect term → git bisect terms + +Andreas Heiduk (9): + git-svn: search --authors-prog in PATH too + git-svn: allow empty email-address using authors-prog and authors-file + doc: improve formatting in githooks.txt + doc: align 'diff --no-index' in text and synopsis + doc: clarify ignore rules for git ls-files + doc: add '-d' and '-o' for 'git push' + git-svn: remove ''--add-author-from' for 'commit-diff' + doc: add note about shell quoting to revision.txt + doc: normalize [--options] to [options] in git-diff + +Antonio Ospite (1): + doc: fix config API documentation about config_with_options + +Beat Bolli (1): + git-gui: search for all current SSH key types + +Ben Peart (7): + fsmonitor: fix incorrect buffer size when printing version number + fsmonitor: force index write after full scan + test-drop-caches: simplify delay loading of NtSetSystemInformation + merge: update documentation for {merge,diff}.renameLimit + merge: add merge.renames config setting + merge: pass aggressive when rename detection is turned off + add status config and command line options for rename detection + +Bill Ritcher (1): + mergetools: add support for guiffy + +Birger Skogeng Pedersen (1): + git-gui: bind CTRL/CMD+numpad ENTER to do_commit + +Brandon Williams (79): + pkt-line: introduce packet_read_with_status + pkt-line: allow peeking a packet line without consuming it + pkt-line: add delim packet support + upload-pack: convert to a builtin + upload-pack: factor out processing lines + transport: use get_refs_via_connect to get refs + connect: convert get_remote_heads to use struct packet_reader + connect: discover protocol version outside of get_remote_heads + transport: store protocol version + protocol: introduce enum protocol_version value protocol_v2 + test-pkt-line: introduce a packet-line test helper + serve: introduce git-serve + ls-refs: introduce ls-refs server command + connect: request remote refs using v2 + transport: convert get_refs_list to take a list of ref prefixes + transport: convert transport_get_remote_refs to take a list of ref prefixes + ls-remote: pass ref prefixes when requesting a remote's refs + fetch: pass ref prefixes when fetching + push: pass ref prefixes when pushing + upload-pack: introduce fetch server command + fetch-pack: perform a fetch using v2 + fetch-pack: support shallow requests + connect: refactor git_connect to only get the protocol version once + connect: don't request v2 when pushing + transport-helper: remove name parameter + transport-helper: refactor process_connect_service + transport-helper: introduce stateless-connect + pkt-line: add packet_buf_write_len function + remote-curl: create copy of the service name + remote-curl: store the protocol version the server responded with + http: allow providing extra headers for http requests + http: don't always add Git-Protocol header + http: eliminate "# service" line when using protocol v2 + remote-curl: implement stateless-connect command + remote-curl: don't request v2 when pushing + commit: allow partial commits with relative paths + serve: introduce the server-option capability + ls-remote: send server options when using protocol v2 + fetch: send server options when using protocol v2 + refspec: move refspec parsing logic into its own file + refspec: rename struct refspec to struct refspec_item + refspec: factor out parsing a single refspec + refspec: introduce struct refspec + refspec: convert valid_fetch_refspec to use parse_refspec + submodule--helper: convert push_check to use struct refspec + pull: convert get_tracking_branch to use refspec_item_init + transport: convert transport_push to use struct refspec + remote: convert check_push_refs to use struct refspec + remote: convert match_push_refs to use struct refspec + clone: convert cmd_clone to use refspec_item_init + fast-export: convert to use struct refspec + remote: convert push refspecs to struct refspec + remote: convert fetch refspecs to struct refspec + remote: remove add_prune_tags_to_fetch_refspec + transport-helper: convert to use struct refspec + fetch: convert fetch_one to use struct refspec + fetch: convert refmap to use struct refspec + refspec: remove the deprecated functions + fetch: convert do_fetch to take a struct refspec + fetch: convert get_ref_map to take a struct refspec + fetch: convert prune_refs to take a struct refspec + remote: convert get_stale_heads to take a struct refspec + remote: convert apply_refspecs to take a struct refspec + remote: convert query_refspecs to take a struct refspec + remote: convert get_ref_match to take a struct refspec + remote: convert match_explicit_refs to take a struct refspec + push: check for errors earlier + push: convert to use struct refspec + transport: convert transport_push to take a struct refspec + send-pack: store refspecs in a struct refspec + transport: remove transport_verify_remote_names + http-push: store refspecs in a struct refspec + remote: convert match_push_refs to take a struct refspec + remote: convert check_push_refs to take a struct refspec + submodule: convert push_unpushed_submodules to take a struct refspec + refspec: consolidate ref-prefix generation logic + fetch: generate ref-prefixes when using a configured refspec + remote-curl: accept all encodings supported by curl + remote-curl: accept compressed responses with protocol v2 + +Casey Fitzpatrick (3): + submodule: clean up substitutions in script + submodule: add --progress option to add command + submodule: add --dissociate option to add/update commands + +Christian Couder (6): + perf/aggregate: add display_dir() + perf/aggregate: add --sort-by=regression option + perf/run: add --subsection option + t/perf: add scripts to bisect performance regressions + perf/aggregate: use Getopt::Long for option parsing + perf/bisect_run_script: disable codespeed + +Christian Hesse (2): + perl: fix installing modules from contrib + Makefile: mark perllibdir as a .PHONY target + +Clemens Buchacher (2): + git-gui: workaround ttk:style theme use + completion: improve ls-files filter performance + +Dan Jacques (3): + Makefile: generate Perl header from template file + Makefile: add Perl runtime prefix support + exec_cmd: RUNTIME_PREFIX on some POSIX systems + +Derrick Stolee (20): + packfile: define and use bsearch_pack() + sha1_name: use bsearch_pack() for abbreviations + csum-file: rename hashclose() to finalize_hashfile() + csum-file: refactor finalize_hashfile() method + commit-graph: add format document + graph: add commit graph design document + commit-graph: create git-commit-graph builtin + commit-graph: implement write_commit_graph() + commit-graph: implement git-commit-graph write + commit-graph: implement git commit-graph read + commit-graph: add core.commitGraph setting + commit-graph: close under reachability + commit: integrate commit graph with commit parsing + commit-graph: read only from specific pack-indexes + commit-graph: build graph from starting commits + commit-graph: implement "--append" option + treewide: rename tree to maybe_tree + commit: create get_commit_tree() method + treewide: replace maybe_tree with accessor methods + commit-graph: lazy-load trees for commits + +Drew DeVault (1): + git-send-email: allow re-editing of message + +Eckhard S. Maaß (1): + wt-status: use settings from git_diff_ui_config + +Elijah Newren (70): + directory rename detection: basic testcases + directory rename detection: directory splitting testcases + directory rename detection: testcases to avoid taking detection too far + directory rename detection: partially renamed directory testcase/discussion + directory rename detection: files/directories in the way of some renames + directory rename detection: testcases checking which side did the rename + directory rename detection: more involved edge/corner testcases + directory rename detection: testcases exploring possibly suboptimal merges + directory rename detection: miscellaneous testcases to complete coverage + directory rename detection: tests for handling overwriting untracked files + directory rename detection: tests for handling overwriting dirty files + merge-recursive: move the get_renames() function + merge-recursive: introduce new functions to handle rename logic + merge-recursive: fix leaks of allocated renames and diff_filepairs + merge-recursive: make !o->detect_rename codepath more obvious + merge-recursive: split out code for determining diff_filepairs + merge-recursive: make a helper function for cleanup for handle_renames + merge-recursive: add get_directory_renames() + merge-recursive: check for directory level conflicts + merge-recursive: add computation of collisions due to dir rename & merging + merge-recursive: check for file level conflicts then get new name + merge-recursive: when comparing files, don't include trees + merge-recursive: apply necessary modifications for directory renames + merge-recursive: avoid clobbering untracked files with directory renames + merge-recursive: fix overwriting dirty files involved in renames + merge-recursive: fix remaining directory rename + dirty overwrite cases + directory rename detection: new testcases showcasing a pair of bugs + merge-recursive: avoid spurious rename/rename conflict from dir renames + merge-recursive: ensure we write updates for directory-renamed file + Documentation: fix several one-character-off spelling errors + Documentation: normalize spelling of 'normalised' + directory rename detection: basic testcases + directory rename detection: directory splitting testcases + directory rename detection: testcases to avoid taking detection too far + directory rename detection: partially renamed directory testcase/discussion + directory rename detection: files/directories in the way of some renames + directory rename detection: testcases checking which side did the rename + directory rename detection: more involved edge/corner testcases + directory rename detection: testcases exploring possibly suboptimal merges + directory rename detection: miscellaneous testcases to complete coverage + directory rename detection: tests for handling overwriting untracked files + directory rename detection: tests for handling overwriting dirty files + merge-recursive: move the get_renames() function + merge-recursive: introduce new functions to handle rename logic + merge-recursive: fix leaks of allocated renames and diff_filepairs + merge-recursive: make !o->detect_rename codepath more obvious + merge-recursive: split out code for determining diff_filepairs + merge-recursive: make a helper function for cleanup for handle_renames + Make running git under other debugger-like programs easy + unpack_trees: fix breakage when o->src_index != o->dst_index + merge-recursive: add get_directory_renames() + merge-recursive: check for directory level conflicts + merge-recursive: add computation of collisions due to dir rename & merging + merge-recursive: check for file level conflicts then get new name + merge-recursive: when comparing files, don't include trees + merge-recursive: apply necessary modifications for directory renames + merge-recursive: avoid clobbering untracked files with directory renames + merge-recursive: fix overwriting dirty files involved in renames + merge-recursive: fix remaining directory rename + dirty overwrite cases + directory rename detection: new testcases showcasing a pair of bugs + merge-recursive: avoid spurious rename/rename conflict from dir renames + merge-recursive: improve add_cacheinfo error handling + merge-recursive: move more is_dirty handling to merge_content + merge-recursive: avoid triggering add_cacheinfo error with dirty mod + t6046: testcases checking whether updates can be skipped in a merge + merge-recursive: fix was_tracked() to quit lying with some renamed paths + merge-recursive: fix remainder of was_dirty() to use original index + merge-recursive: make "Auto-merging" comment show for other merges + merge-recursive: fix check for skipability of working tree updates + merge-recursive: provide pair of `unpack_trees_{start,finish}()` + +Eric Sunshine (5): + t3200: verify "branch --list" sanity when rebasing from detached HEAD + t2028: tighten grep expression to make "move worktree" test more robust + git-worktree.txt: recommend 'git worktree remove' over manual deletion + git-worktree.txt: unify command-line prompt in example blocks + configure.ac: fix botched FREAD_READS_DIRECTORIES check + +Erik E Brady (1): + credential: ignore SIGPIPE when writing to credential helpers + +Florian Gamböck (1): + completion: load completion file for external subcommand + +Harald Nordgren (1): + ls-remote: create '--sort' option + +Jameson Miller (3): + fast-import: rename mem_pool type to mp_block + fast-import: introduce mem_pool type + mem-pool: move reusable parts of memory pool into its own file + +Jeff King (36): + diff-highlight: correct test graph diagram + diff-highlight: use test_tick in graph test + diff-highlight: prefer "echo" to "cat" in tests + diff-highlight: test interleaved parallel lines of history + diff-highlight: test graphs with --color + diff-highlight: use flush() helper consistently + diff-highlight: detect --graph by indent + set_git_dir: die when setenv() fails + add chdir-notify API + set_work_tree: use chdir_notify + refs: use chdir_notify to update cached relative paths + config: move flockfile() closer to unlocked functions + t5561: drop curl stderr redirects + t5561: skip tests if curl is not available + ref-filter: use "struct object_id" consistently + ref-filter: make ref_array_item allocation more consistent + ref-filter: factor ref_array pushing into its own function + t7004: fix mistaken tag name + gpg-interface: handle bool user.signingkey + gpg-interface: modernize function declarations + gpg-interface: use size_t for signature buffer size + gpg-interface: fix const-correctness of "eol" pointer + gpg-interface: extract gpg line matching helper + gpg-interface: find the last gpg signature line + apply: clarify "-p" documentation + pager: set COLUMNS to term_columns() + mark_tree_contents_uninteresting(): drop missing object check + mark_parents_uninteresting(): drop missing object check + mark_parents_uninteresting(): replace list with stack + mark_parents_uninteresting(): avoid most allocation + get_main_ref_store: BUG() when outside a repository + config: die when --blob is used outside a repository + http: use strbufs instead of fixed buffers + log_write_email_headers: use strbufs + shorten_unambiguous_ref: use xsnprintf + fmt_with_err: add a comment that truncation is OK + +Johannes Schindelin (66): + git_config_set: fix off-by-two + t1300: rename it to reflect that `repo-config` was deprecated + t1300: demonstrate that --replace-all can "invent" newlines + config --replace-all: avoid extra line breaks + t1300: avoid relying on a bug + t1300: remove unreasonable expectation from TODO + t5404: relax overzealous test + t1300: add a few more hairy examples of sections becoming empty + t1300: `--unset-all` can leave an empty section behind (bug) + config: introduce an optional event stream while parsing + config: avoid using the global variable `store` + config_set_store: rename some fields for consistency + git_config_set: do not use a state machine + git_config_set: make use of the config parser's event stream + git config --unset: remove empty sections (in the common case) + git_config_set: reuse empty sections + exec_cmd: provide a new-style RUNTIME_PREFIX helper for Windows + mingw/msvc: use the new-style RUNTIME_PREFIX helper + color: introduce support for colorizing stderr + push: test to verify that push errors are colored + config: document the settings to colorize push errors/hints + gettext: avoid initialization if the locale dir is not present + git_setup_gettext: plug memory leak + sequencer: avoid using errno clobbered by rollback_lock_file() + sequencer: make rearrange_squash() a bit more obvious + sequencer: refactor how original todo list lines are accessed + sequencer: offer helpful advice when a command was rescheduled + sequencer: introduce new commands to reset the revision + sequencer: introduce the `merge` command + sequencer: fast-forward `merge` commands, if possible + rebase-helper --make-script: introduce a flag to rebase merges + rebase: introduce the --rebase-merges option + sequencer: make refs generated by the `label` command worktree-local + sequencer: handle post-rewrite for merge commands + rebase --rebase-merges: avoid "empty merges" + pull: accept --rebase=merges to recreate the branch topology + rebase -i: introduce --rebase-merges=[no-]rebase-cousins + rebase -i --rebase-merges: add a section to the man page + argv_array: offer to split a string by whitespace + commit: Let the callback of for_each_mergetag return on error + replace: avoid using die() to indicate a bug + tests: introduce test_unset_prereq, for debugging + replace: "libify" create_graft() and callees + replace: prepare create_graft() for converting graft files wholesale + replace: introduce --convert-graft-file + Add a test for `git replace --convert-graft-file` + Deprecate support for .git/info/grafts + filter-branch: stop suggesting to use grafts + technical/shallow: stop referring to grafts + technical/shallow: describe why shallow cannot use replace refs + Remove obsolete script to convert grafts to replace refs + rebase -i: demonstrate bugs with fixup!/squash! commit messages + rebase -i: Handle "combination of <n> commits" with GETTEXT_POISON + sequencer: always commit without editing when asked for + rebase --skip: clean up commit message after a failed fixup/squash + sequencer: extract helper to update active_cache_tree + sequencer: learn about the special "fake root commit" handling + rebase -i --root: let the sequencer handle even the initial part + sequencer: allow introducing new root commits + rebase --rebase-merges: a "merge" into a new root is a fast-forward + rebase --rebase-merges: root commits can be cousins, too + test-tool: help verifying BUG() code paths + run-command: use BUG() to report bugs, not die() + Replace all die("BUG: ...") calls by BUG() ones + Convert remaining die*(BUG) messages + config: a user-provided invalid section is not a BUG + +Johannes Sixt (2): + sequencer: reset the committer date before commits + git: add -P as a short option for --no-pager + +Jonathan Nieder (5): + sha1_file: allow map_sha1_file_1 to handle arbitrary repositories + sha1_file: allow sha1_loose_object_info to handle arbitrary repositories + Makefile: remove unused @@PERLLIBDIR@@ substitution variable + Makefile: quote $INSTLIBDIR when passing it to sed + packfile: add repository argument to packed_object_info + +Jonathan Tan (4): + grep: remove "repo" arg from non-supporting funcs + upload-pack: fix error message typo + upload-pack: read config when serving protocol v2 + {fetch,upload}-pack: support filter in protocol v2 + +Junio C Hamano (13): + stash: fix nonsense pipeline + The first batch for 2.18 cycle + The second batch for 2.18 + The third batch for 2.18 + Revert "Merge branch 'en/rename-directory-detection'" + gc: do not upcase error message shown with die() + parseopt: handle malformed --expire arguments more nicely + The fourth batch for 2.18 + The fifth batch for 2.18 + argv-array: return the pushed string from argv_push*() + The sixth batch for 2.18 + The seventh batch for 2.18 + Git 2.18-rc0 + +Kaartic Sivaraam (1): + branch --list: print useful info whilst interactive rebasing a detached HEAD + +Lars Schneider (10): + strbuf: remove unnecessary NUL assignment in xstrdup_tolower() + strbuf: add xstrdup_toupper() + strbuf: add a case insensitive starts_with() + utf8: teach same_encoding() alternative UTF encoding names + utf8: add function to detect prohibited UTF-16/32 BOM + utf8: add function to detect a missing UTF-16/32 BOM + convert: add 'working-tree-encoding' attribute + convert: check for detectable errors in UTF encodings + convert: add tracing for 'working-tree-encoding' attribute + convert: add round trip check based on 'core.checkRoundtripEncoding' + +Leif Middelschulte (1): + merge-recursive: give notice when submodule commit gets fast-forwarded + +Loganaden Velvindron (1): + http: allow use of TLS 1.3 + +Lucas Werkmeister (1): + daemon.c: fix condition for redirecting stderr + +Luis Marsano (2): + git-credential-netrc: adapt to test framework for git + git-credential-netrc: accept gpg option + +Martin Ågren (24): + git-shortlog.txt: reorder usages + shortlog: add usage-string for stdin-reading + shortlog: disallow left-over arguments outside repo + doc: convert \--option to --option + doc: convert [\--] to [--] + git-[short]log.txt: unify quoted standalone -- + git-submodule.txt: quote usage in monospace, drop backslash + fast-export: fix regression skipping some merge-commits + http-fetch: make `-a` standard behaviour + walker: drop fields of `struct walker` which are always 1 + t/helper/test-write-cache: clean up lock-handling + refs.c: do not die if locking fails in `write_pseudoref()` + refs.c: do not die if locking fails in `delete_pseudoref()` + lock_file: make function-local locks non-static + lock_file: move static locks into functions + refs.c: refer to "object ID", not "sha1", in error messages + t1400: add tests around adding/deleting pseudorefs + refs: handle zero oid for pseudorefs + merge: setup `opts` later in `checkout_fast_forward()` + config: free resources of `struct config_store_data` + config: let `config_store_data_clear()` handle `value_regex` + config: let `config_store_data_clear()` handle `key` + regex: do not call `regfree()` if compilation fails + unpack_trees_options: free messages when done + +Michal Nazarewicz (1): + send-email: simplify Gmail example in the documentation + +Michele Locati (1): + filter-branch: return 2 when nothing to rewrite + +Nguyễn Thái Ngọc Duy (88): + repository: initialize the_repository in main() + repository.c: move env-related setup code back to environment.c + repository.c: delete dead functions + sha1_file.c: move delayed getenv(altdb) back to setup_git_env() + repository: delete ignore_env member + gc.txt: more details about what gc does + worktree: delete dead code + worktree prune: improve prune logic when worktree is moved + repository.h: add comment and clarify repo_set_gitdir + git.c: move cmd_struct declaration up + git.c: add hidden option --list-parseopt-builtins + completion: mention the oldest version we need to support + completion: factor out _git_xxx calling code + completion: add --option completion for most builtin commands + completion: delete option-only completion commands + completion: use __gitcomp_builtin in _git_ls_tree + completion: use __gitcomp_builtin in _git_cherry + packfile: keep prepare_packed_git() private + t/helper: add an empty test-tool program + t/helper: merge test-chmtime into test-tool + t/helper: merge test-sha1 into test-tool + t/helper: merge test-lazy-init-name-hash into test-tool + t/helper: merge test-config into test-tool + t/helper: merge test-ctype into test-tool + t/helper: merge test-date into test-tool + t/helper: merge (unused) test-delta into test-tool + t/helper: merge test-drop-caches into test-tool + t/helper: merge test-dump-cache-tree into test-tool + t/helper: merge test-dump-split-index into test-tool + t/helper: merge test-example-decorate into test-tool + t/helper: merge test-genrandom into test-tool + t/helper: merge test-hashmap into test-tool + t/helper: merge test-index-version into test-tool + t/helper: merge (unused) test-match-trees into test-tool + t/helper: merge (unused) test-mergesort into test-tool + t/helper: merge test-mktemp into test-tool + t/helper: merge test-online-cpus into test-tool + t/helper: merge test-path-utils into test-tool + t/helper: merge test-prio-queue into test-tool + t/helper: merge test-read-cache into test-tool + t/helper: merge test-ref-store into test-tool + t/helper: merge test-regex into test-tool + t/helper: merge test-revision-walking into test-tool + t/helper: merge test-run-command into test-tool + t/helper: merge test-scrap-cache-tree into test-tool + t/helper: merge test-sha1-array into test-tool + t/helper: merge test-sigchain into test-tool + t/helper: merge test-strcmp-offset into test-tool + t/helper: merge test-string-list into test-tool + t/helper: merge test-submodule-config into test-tool + t/helper: merge test-subprocess into test-tool + t/helper: merge test-urlmatch-normalization into test-tool + t/helper: merge test-wildmatch into test-tool + t/helper: merge test-write-cache into test-tool + trace.c: export trace_setup_key + read-cache.c: make $GIT_TEST_SPLIT_INDEX boolean + pack-objects: a bit of document about struct object_entry + pack-objects: turn type and in_pack_type to bitfields + pack-objects: use bitfield for object_entry::dfs_state + pack-objects: use bitfield for object_entry::depth + pack-objects: move in_pack_pos out of struct object_entry + pack-objects: move in_pack out of struct object_entry + pack-objects: refer to delta objects by index instead of pointer + pack-objects: shrink z_delta_size field in struct object_entry + pack-objects: don't check size when the object is bad + pack-objects: clarify the use of object_entry::size + pack-objects: shrink size field in struct object_entry + pack-objects: shrink delta_size field in struct object_entry + pack-objects: reorder members to shrink struct object_entry + ci: exercise the whole test suite with uncommon code in pack-objects + t7700: have closing quote of a test at the beginning of line + repack: add --keep-pack option + gc: add --keep-largest-pack option + gc: add gc.bigPackThreshold config + gc: handle a corner case in gc.bigPackThreshold + gc --auto: exclude base pack if not enough mem to "repack -ad" + pack-objects: show some progress when counting kept objects + connect.c: mark die_initial_contact() NORETURN + Makefile: detect compiler and enable more warnings in DEVELOPER=1 + submodule--helper: don't print null in 'submodule status' + doc: keep first level section header in upper case + pack-objects: validation and documentation about unreachable options + completion: fix misspelled config key aliasesfiletype + repository: fix free problem with repo_clear(the_repository) + pack-format.txt: more details on pack file format + column: fix off-by-one default width + commit.h: rearrange 'index' to shrink struct commit + travis-ci: run gcc-8 on linux-gcc jobs + +Olga Telezhnaya (6): + ref-filter: add shortcut to work with strbufs + ref-filter: start adding strbufs with errors + ref-filter: add return value && strbuf to handlers + ref-filter: change parsing function error handling + ref-filter: add return value to parsers + ref-filter: libify get_ref_atom_value() + +Paul-Sebastian Ungureanu (2): + parse-options: do not show usage upon invalid option value + t/helper: 'test-chmtime (--get|-g)' to print only the mtime + +Philip Oakley (1): + Avoid multiple PREFIX definitions + +Phillip Wood (7): + rebase --root: stop assuming squash_onto is unset + rebase -i --keep-empty: don't prune empty commits + rebase: respect --no-keep-empty + rebase: extend --signoff support + rebase -p: error out if --signoff is given + rebase --keep-empty: always use interactive rebase + rebase --rebase-merges: add test for --keep-empty + +Pratik Karki (1): + test: avoid pipes in git related commands for test + +Ramsay Jones (1): + BUG_exit_code: fix sparse "symbol not declared" warning + +René Scharfe (8): + sha1_name: use bsearch_pack() in unique_in_pack() + bisect: use oid_to_hex() for converting object_id hashes to hex strings + run-command: use strbuf_addstr() for adding a string to a strbuf + submodule: check for NULL return of get_submodule_ref_store() + replace_object: use oidmap + fast-export: avoid NULL pointer arithmetic + t5512: run git fetch inside test + fsmonitor: use internal argv_array of struct child_process + +Ryan Dammrose (1): + push: colorize errors + +SZEDER Gábor (22): + test_must_be_empty: simplify file existence check + t9902-completion: add tests demonstrating issues with quoted pathnames + completion: move __git_complete_index_file() next to its helpers + completion: simplify prefix path component handling during path completion + completion: support completing non-ASCII pathnames + completion: improve handling quoted paths on the command line + completion: let 'ls-files' and 'diff-index' filter matching paths + completion: use 'awk' to strip trailing path components + t9902-completion: ignore COMPREPLY element order in some tests + completion: remove repeated dirnames with 'awk' during path completion + completion: improve handling quoted paths in 'git ls-files's output + completion: fill COMPREPLY directly when completing paths + completion: reduce overhead of clearing cached --options + docs/git-gc: fix minor rendering issue + coccinelle: avoid wrong transformation suggestions from commit.cocci + t6050-replace: don't disable stdin for the whole test script + t5310-pack-bitmaps: make JGit tests work with GIT_TEST_SPLIT_INDEX + t5516-fetch-push: fix 'push with dry-run' test + t5516-fetch-push: fix broken &&-chain + t7005-editor: get rid of the SPACES_IN_FILENAMES prereq + completion: don't return with error from __gitcomp_file_direct() + t9902-completion: exercise __git_complete_index_file() directly + +Sergey Organov (1): + glossary: substitute "ancestor" for "direct ancestor" in 'push' description. + +Stefan Agner (1): + send-email: avoid duplicate In-Reply-To/References + +Stefan Beller (81): + repository: introduce raw object store field + object-store: migrate alternates struct and functions from cache.h + object-store: move alt_odb_list and alt_odb_tail to object store + object-store: free alt_odb_list + object-store: move packed_git and packed_git_mru to object store + object-store: close all packs upon clearing the object store + pack: move prepare_packed_git_run_once to object store + pack: move approximate object count to object store + sha1_file: add raw_object_store argument to alt_odb_usable + sha1_file: add repository argument to link_alt_odb_entry + sha1_file: add repository argument to read_info_alternates + sha1_file: add repository argument to link_alt_odb_entries + sha1_file: add repository argument to prepare_alt_odb + sha1_file: allow link_alt_odb_entries to handle arbitrary repositories + sha1_file: allow prepare_alt_odb to handle arbitrary repositories + sha1_file: add repository argument to sha1_file_name + sha1_file: add repository argument to stat_sha1_file + sha1_file: add repository argument to open_sha1_file + sha1_file: add repository argument to map_sha1_file_1 + sha1_file: add repository argument to map_sha1_file + sha1_file: add repository argument to sha1_loose_object_info + sha1_file: allow sha1_file_name to handle arbitrary repositories + sha1_file: allow stat_sha1_file to handle arbitrary repositories + sha1_file: allow open_sha1_file to handle arbitrary repositories + sha1_file: allow map_sha1_file to handle arbitrary repositories + packfile: allow prepare_packed_git_mru to handle arbitrary repositories + packfile: allow rearrange_packed_git to handle arbitrary repositories + packfile: allow install_packed_git to handle arbitrary repositories + packfile: add repository argument to prepare_packed_git_one + packfile: add repository argument to prepare_packed_git + packfile: add repository argument to reprepare_packed_git + packfile: allow prepare_packed_git_one to handle arbitrary repositories + packfile: allow prepare_packed_git to handle arbitrary repositories + packfile: allow reprepare_packed_git to handle arbitrary repositories + packfile: add repository argument to find_pack_entry + packfile: allow find_pack_entry to handle arbitrary repositories + submodule.h: drop declaration of connect_work_tree_and_git_dir + submodule-config: allow submodule_free to handle arbitrary repositories + submodule-config: add repository argument to submodule_from_{name, path} + submodule-config: remove submodule_from_cache + submodule: fixup nested submodules after moving the submodule + write_or_die.c: rename to use dashes in file name + unicode_width.h: rename to use dash in file name + exec_cmd: rename to use dash in file name + sha1_name.c: rename to use dash in file name + sha1_file.c: rename to use dash in file name + replace_object.c: rename to use dash in file name + replace-object: move replace_map to object store + object-store: move lookup_replace_object to replace-object.h + replace-object: eliminate replace objects prepared flag + replace-object: check_replace_refs is safe in multi repo environment + refs: add repository argument to get_main_ref_store + refs: add repository argument to for_each_replace_ref + replace-object: add repository argument to prepare_replace_object + replace-object: add repository argument to do_lookup_replace_object + replace-object: add repository argument to lookup_replace_object + refs: store the main ref store inside the repository struct + refs: allow for_each_replace_ref to handle arbitrary repositories + replace-object: allow prepare_replace_object to handle arbitrary repositories + replace-object: allow do_lookup_replace_object to handle arbitrary repositories + replace-object: allow lookup_replace_object to handle arbitrary repositories + worktree: accept -f as short for --force for removal + builtin/blame: dim uninteresting metadata lines + builtin/blame: highlight recently changed lines + builtin/blame: add new coloring scheme config + cache.h: add repository argument to oid_object_info_extended + cache.h: add repository argument to oid_object_info + packfile: add repository argument to retry_bad_packed_offset + packfile: add repository argument to packed_to_object_type + packfile: add repository argument to read_object + packfile: add repository argument to unpack_entry + packfile: add repository argument to cache_or_unpack_entry + cache.h: allow oid_object_info to handle arbitrary repositories + git-rebase--interactive: clarify arguments + object.c: free replace map in raw_object_store_clear + replace-object.c: remove the_repository from prepare_replace_object + grep: handle corrupt index files early + git-submodule.sh: try harder to fetch a submodule + submodule.c: move submodule merging to merge-recursive.c + merge-recursive: i18n submodule merge output and respect verbosity + object.c: clear replace map before freeing it + +Takuto Ikuta (1): + fetch-pack.c: use oidset to check existence of loose object + +Tao Qingyun (1): + t1510-repo-setup.sh: remove useless mkdir + +Taylor Blau (5): + builtin/config.c: treat type specifiers singularly + builtin/config.c: support `--type=<type>` as preferred alias for `--<type>` + builtin/config: introduce `--default` + config.c: introduce 'git_config_color' to parse ANSI colors + builtin/config: introduce `color` type specifier + +Thomas Gummerer (10): + stash push: avoid printing errors + stash push -u: don't create empty stash + stash: drop superfluos pathspec parameter + SubmittingPatches: mention the git contacts command + completion: stop showing 'save' for stash by default + completion: make stash -p and alias for stash push -p + worktree: remove extra members from struct add_opts + worktree: improve message when creating a new worktree + worktree: factor out dwim_branch function + worktree: teach "add" to check out existing branches + +Todd Zullinger (1): + doc/clone: update caption for GIT URLS cross-reference + +Torsten Bögershausen (1): + test: correct detection of UTF8_NFD_TO_NFC for APFS + +Wink Saville (8): + rebase-interactive: simplify pick_on_preserving_merges + rebase: update invocation of rebase dot-sourced scripts + rebase: reindent function git_rebase__interactive + rebase: extract functions out of git_rebase__interactive + rebase: add and use git_rebase__interactive__preserve_merges + rebase: remove unused code paths from git_rebase__interactive + rebase: remove unused code paths from git_rebase__interactive__preserve_merges + rebase: remove merges_option and a blank line + +Yuki Kokubun (1): + filter-branch: fix errors caused by refs that point at non-committish + +brian m. carlson (121): + bulk-checkin: convert index_bulk_checkin to struct object_id + builtin/write-tree: convert to struct object_id + cache-tree: convert write_*_as_tree to object_id + cache-tree: convert remnants to struct object_id + resolve-undo: convert struct resolve_undo_info to object_id + tree: convert read_tree_recursive to struct object_id + ref-filter: convert grab_objectname to struct object_id + strbuf: convert strbuf_add_unique_abbrev to use struct object_id + wt-status: convert struct wt_status_state to object_id + Convert find_unique_abbrev* to struct object_id + http-walker: convert struct object_request to use struct object_id + send-pack: convert remaining functions to struct object_id + replace_object: convert struct replace_object to object_id + builtin/mktag: convert to struct object_id + archive: convert write_archive_entry_fn_t to object_id + archive: convert sha1_file_to_archive to struct object_id + builtin/index-pack: convert struct ref_delta_entry to object_id + sha1_file: convert read_loose_object to use struct object_id + sha1_file: convert check_sha1_signature to struct object_id + streaming: convert open_istream to use struct object_id + builtin/mktree: convert to struct object_id + sha1_file: convert assert_sha1_type to object_id + sha1_file: convert retry_bad_packed_offset to struct object_id + packfile: convert unpack_entry to struct object_id + Convert remaining callers of sha1_object_info_extended to object_id + sha1_file: convert sha1_object_info* to object_id + builtin/fmt-merge-msg: convert remaining code to object_id + builtin/notes: convert static functions to object_id + tree-walk: convert get_tree_entry_follow_symlinks internals to object_id + streaming: convert istream internals to struct object_id + tree-walk: convert tree entry functions to object_id + sha1_file: convert read_object_with_reference to object_id + sha1_file: convert read_sha1_file to struct object_id + Convert lookup_replace_object to struct object_id + sha1_file: introduce a constant for max header length + convert: convert to struct object_id + sha1_name: convert struct min_abbrev_data to object_id + t1011: abstract away SHA-1-specific constants + t1304: abstract away SHA-1-specific constants + t1300: abstract away SHA-1-specific constants + t1405: sort reflog entries in a hash-independent way + t1411: abstract away SHA-1-specific constants + t1507: abstract away SHA-1-specific constants + t2020: abstract away SHA-1 specific constants + t2101: modernize test style + t2101: abstract away SHA-1-specific constants + t2107: abstract away SHA-1-specific constants + format-patch: make cover letters always text/plain + cache: add a function to read an object ID from a buffer + server-info: remove unused members from struct pack_info + Remove unused member in struct object_context + packfile: remove unused member from struct pack_entry + packfile: convert has_sha1_pack to object_id + sha1-file: convert freshen functions to object_id + packfile: convert find_pack_entry to object_id + packfile: abstract away hash constant values + pack-objects: abstract away hash algorithm + pack-redundant: abstract away hash algorithm + tree-walk: avoid hard-coded 20 constant + tree-walk: convert get_tree_entry_follow_symlinks to object_id + fsck: convert static functions to struct object_id + submodule-config: convert structures to object_id + split-index: convert struct split_index to object_id + Update struct index_state to use struct object_id + pack-redundant: convert linked lists to use struct object_id + index-pack: abstract away hash function constant + commit: convert uses of get_sha1_hex to get_oid_hex + dir: convert struct untracked_cache_dir to object_id + http: eliminate hard-coded constants + revision: replace use of hard-coded constants + upload-pack: replace use of several hard-coded constants + diff: specify abbreviation size in terms of the_hash_algo + builtin/receive-pack: avoid hard-coded constants for push certs + sha1-file: add functions for hex empty tree and blob OIDs + builtin/am: convert uses of EMPTY_TREE_SHA1_BIN to the_hash_algo + builtin/merge: switch tree functions to use object_id + merge: convert empty tree constant to the_hash_algo + sequencer: convert one use of EMPTY_TREE_SHA1_HEX + submodule: convert several uses of EMPTY_TREE_SHA1_HEX + wt-status: convert two uses of EMPTY_TREE_SHA1_HEX + builtin/receive-pack: convert one use of EMPTY_TREE_SHA1_HEX + builtin/reset: convert use of EMPTY_TREE_SHA1_BIN + sha1_file: convert cached object code to struct object_id + cache-tree: use is_empty_tree_oid + sequencer: use the_hash_algo for empty tree object ID + dir: use the_hash_algo for empty blob object ID + sha1_file: only expose empty object constants through git_hash_algo + Update shell scripts to compute empty tree object ID + add--interactive: compute the empty tree value + merge-one-file: compute empty blob object ID + Documentation: use 8-space tabs with Asciidoctor + Documentation: render revisions correctly under Asciidoctor + mailmap: update brian m. carlson's email address + t/test-lib: add an SHA1 prerequisite + t/test-lib: introduce ZERO_OID + t: switch $_z40 to $ZERO_OID + t/test-lib: introduce OID_REGEX + t: switch $_x40 to $OID_REGEX + t0000: annotate with SHA1 prerequisite + t1007: annotate with SHA1 prerequisite + t1512: skip test if not using SHA-1 + t4044: skip test if not using SHA-1 + t: skip pack tests if not using SHA-1 + t2203: abstract away SHA-1-specific constants + t3103: abstract away SHA-1-specific constants + t3702: abstract away SHA-1-specific constants + t3905: abstract away SHA-1-specific constants + t4007: abstract away SHA-1-specific constants + t4008: abstract away SHA-1-specific constants + t4014: abstract away SHA-1-specific constants + t4020: abstract away SHA-1-specific constants + t4022: abstract away SHA-1-specific constants + t4029: fix test indentation + t4029: abstract away SHA-1-specific constants + t4030: abstract away SHA-1-specific constants + t/lib-diff-alternative: abstract away SHA-1-specific constants + t4205: sort log output in a hash-independent way + t4042: abstract away SHA-1-specific constants + t4045: abstract away SHA-1-specific constants + t4208: abstract away SHA-1-specific constants + t5300: abstract away SHA-1-specific constants + +Ævar Arnfjörð Bjarmason (21): + configure: fix a regression in PCRE v1 detection + configure: detect redundant --with-libpcre & --with-libpcre1 + Makefile: make USE_LIBPCRE=YesPlease mean v2, not v1 + Makefile: fix broken bindir_relative variable + Makefile: add a gitexecdir_relative variable + Makefile: optionally symlink libexec/git-core binaries to bin/git + Remove contrib/examples/* + doc hash-function-transition: clarify how older gits die on NewHash + doc hash-function-transition: clarify what SHAttered means + git-svn: avoid warning on undef readline() + Makefile: add a DEVOPTS to suppress -Werror under DEVELOPER + Makefile: add a DEVOPTS to get all of -Wextra + git{,-blame}.el: remove old bitrotting Emacs code + .gitattributes: add *.pl extension for Perl + .gitattributes: use the "perl" differ for Perl + .gitattributes: add a diff driver for Python + sha1-name.c: remove stray newline + sha1-array.h: align function arguments + git-p4: change "commitish" typo to "committish" + sha1-name.c: move around the collect_ambiguous() function + get_short_oid: sort ambiguous objects by type, then SHA-1 + + +Version v2.17.6; changes since v2.17.5: +--------------------------------------- + +Johannes Schindelin (2): + run-command: invalidate lstat cache after a command finished + Git 2.17.6 + +Matheus Tavares (2): + checkout: fix bug that makes checkout follow symlinks in leading path + unpack_trees(): start with a fresh lstat cache + + +Version v2.17.5; changes since v2.17.4: +--------------------------------------- + +Jeff King (6): + t0300: make "quit" helper more realistic + t0300: use more realistic inputs + credential: parse URL without host as empty host, not unset + credential: refuse to operate when missing host or protocol + credential: die() when parsing invalid urls + Git 2.17.5 + +Jonathan Nieder (4): + fsck: convert gitmodules url to URL passed to curl + credential: treat URL without scheme as invalid + credential: treat URL with empty scheme as invalid + fsck: reject URL with empty host in .gitmodules + + +Version v2.17.4; changes since v2.17.3: +--------------------------------------- + +Jeff King (4): + credential: avoid writing values with newlines + t/lib-credential: use test_i18ncmp to check stderr + credential: detect unrepresentable values when parsing urls + fsck: detect gitmodules URLs with embedded newlines + +Junio C Hamano (1): + Git 2.17.4 + + +Version v2.17.3; changes since v2.17.2: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (23): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + test-drop-caches: use `has_dos_drive_prefix()` + Git 2.16.6 + Git 2.17.3 + +Jonathan Nieder (2): + submodule: reject submodule.update = !command in .gitmodules + fsck: reject submodule.update = !command in .gitmodules + + +Version v2.17.2; changes since v2.17.1: +--------------------------------------- + +Jeff King (5): + submodule--helper: use "--" to signal end of clone options + submodule-config: ban submodule urls that start with dash + submodule-config: ban submodule paths that start with a dash + fsck: detect submodule urls starting with dash + fsck: detect submodule paths starting with dash + +Junio C Hamano (4): + Git 2.14.5 + Git 2.15.3 + Git 2.16.5 + Git 2.17.2 + + +Version v2.17.1; changes since v2.17.0: +--------------------------------------- + +Jeff King (18): + submodule-config: verify submodule names as paths + is_ntfs_dotgit: use a size_t for traversing string + is_hfs_dotgit: match other .git files + skip_prefix: add case-insensitive variant + verify_path: drop clever fallthrough + verify_dotfile: mention case-insensitivity in comment + update-index: stat updated files earlier + verify_path: disallow symlinks in .gitmodules + index-pack: make fsck error message more specific + fsck: simplify ".git" check + fsck: actually fsck blob data + fsck: detect gitmodules files + fsck: handle promisor objects in .gitmodules check + fsck: check .gitmodules content + fsck: call fsck_finish() after fscking objects + unpack-objects: call fsck_finish() after fscking objects + index-pack: check .gitmodules files with --strict + fsck: complain when .gitmodules is a symlink + +Johannes Schindelin (2): + is_ntfs_dotgit: match other .git files + is_{hfs,ntfs}_dotgitmodules: add tests + +Junio C Hamano (5): + Git 2.13.7 + Git 2.14.4 + Git 2.15.2 + Git 2.16.4 + Git 2.17.1 + + +Version v2.17.0; changes since v2.17.0-rc2: +------------------------------------------- + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (3376t) + +Changwoo Ryu (1): + l10n: ko.po: Update Korean translation + +Christopher Díaz Riveros (2): + l10n: es.po: fixes to Spanish translation + l10n: es.po: Update Spanish translation 2.17.0 + +Jean-Noël Avila (2): + l10n: fr.po v2.17.0 round 1 + l10n: fr.po: v2.17.0 no fuzzy + +Jiang Xin (2): + l10n: git.pot: v2.17.0 round 1 (132 new, 44 removed) + l10n: zh_CN: for git v2.17.0 l10n round 1 + +Jonathan Nieder (1): + upload-pack: disable object filtering when disabled by config + +Jordi Mas (1): + l10n: Update Catalan translation + +Junio C Hamano (1): + Git 2.17 + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (3376t0f0u) + +Ralf Thielow (1): + l10n: de.po: translate 132 new messages + +Ray Chen (1): + l10n: zh_CN: review for git v2.17.0 l10n round 1 + +René Scharfe (1): + unpack-trees: release oid_array after use in check_updates() + +Trần Ngọc Quân (1): + l10n: vi.po(3376t): Updated Vietnamese translation for v2.17 + +Ævar Arnfjörð Bjarmason (1): + add -p: fix 2.17.0-rc* regression due to moved code + + +Version v2.17.0-rc2; changes since v2.17.0-rc1: +----------------------------------------------- + +Junio C Hamano (3): + Git 2.16.3 + t9902: disable test on the list of merge-strategies under GETTEXT_POISON + Git 2.17-rc2 + +SZEDER Gábor (1): + completion: clear cached --options when sourcing the completion script + +Stefan Beller (1): + submodule deinit: handle non existing pathspecs gracefully + +Thomas Gummerer (1): + git-stash.txt: remove extra square bracket + + +Version v2.17.0-rc1; changes since v2.17.0-rc0: +----------------------------------------------- + +Ben Peart (1): + Fix bugs preventing adding updated cache entries to the name hash + +David Pursehouse (1): + Documentation/merge-strategies: typofix + +Jeff King (1): + doc/gitattributes: mention non-recursive behavior + +Johannes Schindelin (1): + mingw: abort on invalid strftime formats + +Jonathan Tan (3): + sha1_file: restore OBJECT_INFO_QUICK functionality + index-pack: support checking objects but not links + fetch-pack: do not check links for partial fetch + +Junio C Hamano (1): + Git 2.17-rc1 + +Kaartic Sivaraam (1): + t/t3200: fix a typo in a test description + +Martin Ågren (4): + t7006: add tests for how git config paginates + config: respect `pager.config` in list/get-mode only + config: change default of `pager.config` to "on" + write_locked_index(): add flag to avoid writing unchanged index + +Michele Locati (1): + filter-branch: use printf instead of echo -e + +Ramsay Jones (3): + http: fix an unused variable warning for 'curl_no_proxy' + -Wuninitialized: remove some 'init-self' workarounds + read-cache: fix an -Wmaybe-uninitialized warning + +Todd Zullinger (2): + RelNotes: add details on Perl module changes + completion: complete tags with git tag --delete/--verify + + +Version v2.17.0-rc0; changes since v2.16.6: +------------------------------------------- + +Adam Borowski (1): + hooks/pre-auto-gc-battery: allow gc to run on non-laptops + +Alban Gruin (1): + userdiff: add built-in pattern for golang + +Alex Bennée (1): + send-email: add test for Linux's get_maintainer.pl + +Alexander Shopov (1): + Mark messages for translations + +Ben Peart (2): + dir.c: don't flag the index as dirty for changes to the untracked cache + name-hash: properly fold directory names in adjust_dirname_case() + +Bernhard M. Wiedemann (1): + perl: call timegm and timelocal with 4-digit year + +Brandon Williams (38): + object_info: change member name from 'typename' to 'type_name' + object: rename function 'typename' to 'type_name' + blame: rename 'this' variables + pack-objects: rename 'this' variables + rev-parse: rename 'this' variable + submodule: indicate that 'submodule.recurse' doesn't apply to clone + diff: rename 'this' variables + apply: rename 'try' variables + apply: rename 'new' variables + checkout: rename 'new' variables + help: rename 'new' variables + pack-redundant: rename 'new' variables + reflog: rename 'new' variables + remote: rename 'new' variables + combine-diff: rename 'new' variables + commit: rename 'new' variables + diff-lib: rename 'new' variable + diff: rename 'new' variables + diffcore-delta: rename 'new' variables + entry: rename 'new' variables + http: rename 'new' variables + imap-send: rename 'new' variables + line-log: rename 'new' variables + read-cache: rename 'new' variables + ref-filter: rename 'new' variables + remote: rename 'new' variables + split-index: rename 'new' variables + submodule: rename 'new' variables + trailer: rename 'new' variables + unpack-trees: rename 'new' variables + init-db: rename 'template' variables + environment: rename 'template' variables + diff: rename 'template' variables + environment: rename 'namespace' variables + wrapper: rename 'template' variables + tempfile: rename 'template' variables + trailer: rename 'template' variables + replace: rename 'new' variables + +Christian Couder (12): + perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION} + perf/aggregate: refactor printing results + perf/aggregate: implement codespeed JSON output + perf/run: add conf_opts argument to get_var_from_env_or_config() + perf/run: learn about perf.codespeedOutput + perf/run: learn to send output to codespeed server + perf/run: read GIT_PERF_REPO_NAME from perf.repoName + sha1_file: remove static strbuf from sha1_file_name() + sha1_file: improve sha1_file_name() perfs + perf/aggregate: add --subsection option + perf/aggregate: add --reponame option + perf/aggregate: sort JSON fields in output + +Christian Ludwig (2): + send-email: rename variable for clarity + send-email: support separate Reply-To address + +Derrick Stolee (3): + packfile: use get_be64() for large offsets + sha1_name: fix uninitialized memory errors + revision.c: reduce object database queries + +Elijah Newren (3): + Tighten and correct a few testcases for merging and cherry-picking + merge-recursive: fix logic ordering issue + merge-recursive: add explanation for src_entry and dst_entry + +Eric Sunshine (2): + worktree: add: fix 'post-checkout' not knowing new worktree location + t2028: fix minor error and issues in newly-added "worktree move" tests + +Gargi Sharma (1): + mru: Replace mru.[ch] with list.h implementation + +Genki Sky (1): + rebase: add --allow-empty-message option + +Gregory Herrero (1): + rebase -p: fix incorrect commit message when calling `git merge`. + +Jeff Hostetler (12): + upload-pack: add object filtering for partial clone + fetch-pack, index-pack, transport: partial clone + fetch-pack: add --no-filter + fetch: support filters + partial-clone: define partial clone settings in config + t5616: end-to-end tests for partial clone + fetch: inherit filter-spec from partial clone + t5616: test bulk prefetch after partial fetch + stat_tracking_info: return +1 when branches not equal + status: add --[no-]ahead-behind to status and commit for V2 format. + status: update short status to respect --no-ahead-behind + status: support --no-ahead-behind in long format + +Jeff King (20): + sq_quote_argv: drop maxlen parameter + trace: avoid unnecessary quoting + correct error messages for NULL packet_read_line() + CodingGuidelines: mention "static" and "extern" + t0002: simplify error checking + describe: confirm that blobs actually exist + test-hashmap: use ALLOC_ARRAY rather than bare malloc + test-hashmap: check allocation computation for overflow + test-hashmap: use xsnprintf rather than snprintf + test-hashmap: use strbuf_getline rather than fgets + test-hashmap: simplify alloc_test_entry + test-hashmap: use "unsigned int" for hash storage + sq_dequote: fix extra consumption of source string + t5545: factor out http repository setup + remote-curl: unquote incoming push-options + t: send verbose test-helper output to fd 4 + strbuf_read_file(): preserve errno across close() call + smart-http: document flush after "# service" line + t3701: add a test for interactive.diffFilter + add--interactive: detect bogus diffFilter output + +Johannes Schindelin (2): + sequencer: assign only free()able strings to gpg_sign + apply: demonstrate a problem applying svn diffs + +Jon Simons (1): + always check for NULL return from packet_read_line() + +Jonathan Nieder (1): + perl: treat PERLLIB_EXTRA as an extra path again + +Jonathan Tan (18): + extension.partialclone: introduce partial clone extension + fsck: introduce partialclone extension + fsck: support refs pointing to promisor objects + fsck: support referenced promisor objects + fsck: support promisor objects as CLI argument + index-pack: refactor writing of .keep files + introduce fetch-object: fetch one promisor object + sha1_file: support lazily fetching missing objects + rev-list: support termination at promisor objects + gc: do not repack promisor packfiles + fetch-pack: test support excluding large blobs + fetch: refactor calculation of remote list + clone: partial clone + unpack-trees: batch fetching of missing blobs + fetch-pack: restore save_commit_buffer after use + Docs: split out long-running subprocess handshake + packfile: remove GIT_DEBUG_LOOKUP log statements + packfile: refactor hash search with fanout table + +Junio C Hamano (14): + Start 2.17 cycle + First batch after 2.16 + blame: tighten command line parser + Second batch for 2.17 + Third batch for 2.17 + merge: allow fast-forward when merging a tracked tag + Fourth batch for 2.17 + Fifth batch for 2.17 + test_must_be_empty: make sure the file exists, not just empty + untracked cache: use git_env_bool() not getenv() for customization + Sixth batch for 2.17 + Seventh batch for 2.17 + Eighth batch for 2.17 + Git 2.17-rc0 + +Kim Gybels (1): + packed_ref_cache: don't use mmap() for small files + +Lucas Werkmeister (1): + daemon: add --log-destination=(stderr|syslog|none) + +Martin Ågren (5): + sequencer: make lockfiles non-static + sequencer: always roll back lock in `do_recursive_merge()` + merge-recursive: always roll back lock in `merge_recursive_generic()` + merge: always roll back lock in `checkout_fast_forward()` + sequencer: do not roll back lockfile unnecessarily + +Matthieu Moy (2): + send-email: add and use a local copy of Mail::Address + perl/Git: remove now useless email-address parsing code + +Michael Haggerty (5): + struct snapshot: store `start` rather than `header_len` + create_snapshot(): use `xmemdupz()` rather than a strbuf + find_reference_location(): make function safe for empty snapshots + packed_ref_iterator_begin(): make optimization more general + load_contents(): don't try to mmap an empty file + +Mårten Kongstad (1): + docs/pretty-formats: fix typo '% <(<N>)' -> '%<|(<N>)' + +Nathan Payre (1): + send-email: extract email-parsing code into a subroutine + +Nguyễn Thái Ngọc Duy (72): + trace.c: move strbuf_release() out of print_trace_line() + run-command.c: introduce trace_run_command() + run-command.c: print program 'git' when tracing git_cmd mode + run-command.c: print env vars in trace_run_command() + run-command.c: print new cwd in trace_run_command() + worktree.c: add validate_worktree() + dir.c: avoid stat() in valid_cached_dir() + dir.c: fix missing dir invalidation in untracked code + format-patch: keep cover-letter diffstat wrapped in 72 columns + dir.c: stop ignoring opendir() error in open_cached_dir() + format-patch: reduce patch diffstat width to 72 + trace: measure where the time is spent in the index-heavy operations + diff.c: refactor pprint_rename() to use strbuf + dir.c: ignore paths containing .git when invalidating untracked cache + parse-options: support --git-completion-helper + parse-options: add OPT_xxx_F() variants + parse-options: let OPT__FORCE take optional flags argument + git-completion.bash: introduce __gitcomp_builtin + completion: use __gitcomp_builtin in _git_add + completion: use __gitcomp_builtin in _git_am + completion: use __gitcomp_builtin in _git_apply + completion: use __gitcomp_builtin in _git_branch + completion: use __gitcomp_builtin in _git_checkout + completion: use __gitcomp_builtin in _git_cherry_pick + completion: use __gitcomp_builtin in _git_clean + completion: use __gitcomp_builtin in _git_clone + completion: use __gitcomp_builtin in _git_commit + completion: use __gitcomp_builtin in _git_config + completion: use __gitcomp_builtin in _git_describe + completion: use __gitcomp_builtin in _git_difftool + completion: use __gitcomp_builtin in _git_fetch + completion: use __gitcomp_builtin in _git_fsck + completion: use __gitcomp_builtin in _git_gc + completion: use __gitcomp_builtin in _git_grep + completion: use __gitcomp_builtin in _git_help + completion: use __gitcomp_builtin in _git_init + completion: use __gitcomp_builtin in _git_ls_files + completion: use __gitcomp_builtin in _git_ls_remote + completion: use __gitcomp_builtin in _git_merge + completion: use __gitcomp_builtin in _git_merge_base + completion: use __gitcomp_builtin in _git_mv + completion: use __gitcomp_builtin in _git_name_rev + completion: use __gitcomp_builtin in _git_notes + completion: use __gitcomp_builtin in _git_pull + completion: use __gitcomp_builtin in _git_push + completion: use __gitcomp_builtin in _git_remote + remote: force completing --mirror= instead of --mirror + completion: use __gitcomp_builtin in _git_replace + completion: use __gitcomp_builtin in _git_reset + completion: use __gitcomp_builtin in _git_revert + completion: use __gitcomp_builtin in _git_rm + completion: use __gitcomp_builtin in _git_show_branch + completion: use __gitcomp_builtin in _git_status + completion: use __gitcomp_builtin in _git_tag + completion: use __gitcomp_builtin in _git_worktree + worktree.c: add update_worktree_location() + worktree move: new command + worktree move: accept destination as directory + worktree move: refuse to move worktrees with submodules + worktree remove: new command + worktree remove: allow it when $GIT_WORK_TREE is already gone + am: add --show-current-patch + rebase: add --show-current-patch + rebase: introduce and use pseudo-ref REBASE_HEAD + am: support --quit + diff: add --compact-summary + object.h: update flag allocation comment + object.h: realign object flag allocation comment + completion: don't set PARSE_OPT_NOCOMPLETE on --rerere-autoupdate + completion: simplify _git_notes + completion: complete --{reuse,reedit}-message= for all notes subcmds + completion: more subcommands in _git_notes() + +Nicolas Morey-Chaisemartin (1): + tag: add --edit option + +Olga Telezhnaya (3): + mru: use double-linked list from list.h + ref-filter: get rid of duplicate code + ref-filter: get rid of goto + +Patryk Obara (14): + clang-format: adjust penalty for return type line break + http-push: improve error log + sha1_file: convert pretend_sha1_file to object_id + dir: convert struct sha1_stat to use object_id + sha1_file: convert hash_sha1_file to object_id + cache: clear whole hash buffer with oidclr + match-trees: convert splice_tree to object_id + commit: convert commit_tree* to object_id + notes: convert combine_notes_* to object_id + notes: convert write_notes_tree to object_id + sha1_file: convert write_sha1_file to object_id + sha1_file: convert force_object_loose to object_id + sha1_file: convert write_loose_object to object_id + sha1_file: rename hash_sha1_file_literally + +Phillip Wood (25): + t3404: check intermediate squash messages + commit: move empty message checks to libgit + Add a function to update HEAD after creating a commit + commit: move post-rewrite code to libgit + commit: move print_commit_summary() to libgit + sequencer: simplify adding Signed-off-by: trailer + sequencer: load commit related config + sequencer: try to commit without forking 'git commit' + t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1 + sequencer: improve config handling + t7505: style fixes + t7505: add tests for cherry-pick and rebase -i/-p + sequencer: run 'prepare-commit-msg' hook + add -p: only display help for active keys + add -p: only bind search key if there's more than one hunk + add -p: improve error messages + add -i: add function to format hunk header + t3701: indent here documents + t3701: use test_write_lines and write_script + t3701: don't hard code sha1 hash values + t3701: add failing test for pathological context lines + add -p: adjust offsets of subsequent hunks when one is skipped + add -p: calculate offset delta for edited patches + add -p: fix counting when splitting and coalescing + add -p: don't rely on apply's '--recount' option + +Prathamesh Chavan (2): + submodule: port submodule subcommand 'sync' from shell to C + submodule: port submodule subcommand 'deinit' from shell to C + +Ramsay Jones (1): + t4151: consolidate multiple calls to test_i18ngrep + +Rasmus Villemoes (2): + grep: move grep_source_init outside critical section + grep: simplify grep_oid and grep_file + +René Scharfe (4): + cocci: use format keyword instead of a literal string + check-ignore: fix mix of directories and other file types + sequencer: factor out strbuf_read_file_or_whine() + perf: use GIT_PERF_REPEAT_COUNT=3 by default even without config file + +SZEDER Gábor (22): + Use MOVE_ARRAY + travis-ci: use 'set -x' for the commands under 'su' in the 32 bit Linux build + travis-ci: use 'set -e' in the 32 bit Linux build job + travis-ci: don't repeat the path of the cache directory + travis-ci: don't run the test suite as root in the 32 bit Linux build + travis-ci: don't fail if user already exists on 32 bit Linux build job + t6300-for-each-ref: fix "more than one quoting style" tests + Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets + t: prevent '-x' tracing from interfering with test helpers' stderr + t: add means to disable '-x' tracing for individual test scripts + t1507-rev-parse-upstream: don't check the stderr of a shell function + t5536: simplify checking of messages output to stderr + t3030-merge-recursive: don't check the stderr of a subshell + t5500-fetch-pack: don't check the stderr of a subshell + t5526: use $TRASH_DIRECTORY to specify the path of GIT_TRACE log file + t5570-git-daemon: don't check the stderr of a subshell + t9903-bash-prompt: don't check the stderr of __git_ps1() + t1510-repo-setup: mark as untraceable with '-x' + t/README: add a note about don't saving stderr of compound commands + travis-ci: run tests with '-x' tracing + t9400-git-cvsserver-server: don't rely on the output of 'test_cmp' + t9402-git-cvsserver-refs: don't check the stderr of a subshell + +Stefan Beller (9): + diff.h: make pickaxe_opts an unsigned bit field + diff: migrate diff_flags.pickaxe_ignore_case to a pickaxe_opts bit + diff: introduce DIFF_PICKAXE_KINDS_MASK + diffcore: add a pickaxe option to find a specific blob + diff: properly error out when combining multiple pickaxe options + diff: use HAS_MULTI_BITS instead of counting bits manually + builtin/pull: respect verbosity settings in submodules + send-email: error out when relogin delay is missing + color.h: document and modernize header + +Stephen R Guglielmo (1): + subtree: fix add and pull for GPG-signed commits + +Tatyana Krasnukha (1): + apply: handle Subversion diffs with /dev/null gracefully + +Thomas Gummerer (1): + reset --hard: make use of the pretty machinery + +Thomas Levesque (1): + userdiff.c: add C# async keyword in diff pattern + +Todd Zullinger (2): + Makefile: remove *.spec from clean target + Makefile: add NO_PERL_CPAN_FALLBACKS knob + +Torsten Bögershausen (1): + convert_to_git(): safe_crlf/checksafe becomes int conv_flags + +brian m. carlson (13): + hash: move SHA-1 macros to hash.h + hash: create union for hash context allocation + builtin/index-pack: improve hash function abstraction + builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo + sha1_file: switch uses of SHA-1 to the_hash_algo + fast-import: switch various uses of SHA-1 to the_hash_algo + pack-check: convert various uses of SHA-1 to abstract forms + pack-write: switch various SHA-1 values to abstract forms + read-cache: abstract away uses of SHA-1 + csum-file: rename sha1file to hashfile + csum-file: abstract uses of SHA-1 + bulk-checkin: abstract SHA-1 usage + hash: update obsolete reference to SHA1_HEADER + +Ævar Arnfjörð Bjarmason (49): + Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto + Makefile: under "make dist", include the sha1collisiondetection submodule + sha1dc_git.h: re-arrange an ifdef chain for a subsequent change + Makefile: replace perl/Makefile.PL with simple make rules + perl: avoid *.pmc and fix Error.pm further + status: add a failing test showing a core.untrackedCache bug + wildmatch test: indent with tabs, not spaces + wildmatch test: use more standard shell style + wildmatch test: don't try to vertically align our output + wildmatch test: use a paranoia pattern from nul_match() + wildmatch test: remove dead fnmatch() test code + wildmatch test: use test_must_fail, not ! for test-wildmatch + wildmatch test: perform all tests under all wildmatch() modes + wildmatch test: create & test files on disk in addition to in-memory + test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite + wildmatch test: mark test as EXPENSIVE_ON_WINDOWS + fetch: don't redundantly NULL something calloc() gave us + fetch: trivially refactor assignment to ref_nr + fetch: stop accessing "remote" variable indirectly + remote: add a macro for "refs/tags/*:refs/tags/*" + fetch tests: refactor in preparation for testing tag pruning + fetch tests: re-arrange arguments for future readability + fetch tests: add a tag to be deleted to the pruning tests + fetch tests: test --prune and refspec interaction + fetch tests: double quote a variable for interpolation + fetch tests: expand case/esac for later change + fetch tests: fetch <url> <spec> as well as fetch [<remote>] + git fetch doc: add a new section to explain the ins & outs of pruning + git remote doc: correct dangerous lies about what prune does + git-fetch & config doc: link to the new PRUNING section + fetch tests: add scaffolding for the new fetch.pruneTags + fetch: add a --prune-tags option and fetch.pruneTags config + fetch: make the --prune-tags work with <url> + update-index doc: note a fixed bug in the untracked cache + update-index doc: note the caveat with "could not open..." + perl: *.pm files should not have the executable bit + Git.pm: remove redundant "use strict" from sub-package + Git.pm: add the "use warnings" pragma + commit: run git gc --auto just before the post-commit hook + gitweb: hard-depend on the Digest::MD5 5.8 module + Git.pm: hard-depend on the File::{Temp,Spec} modules + git-send-email: unconditionally use Net::{SMTP,Domain} + perl: update our ancient copy of Error.pm + perl: update our copy of Mail::Address + perl: move CPAN loader wrappers to another namespace + perl: generalize the Git::LoadCPAN facility + perl: move the perl/Git/FromCPAN tree to perl/FromCPAN + perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS + git manpage: note git-security@googlegroups.com + + +Version v2.16.6; changes since v2.16.5: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (22): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + test-drop-caches: use `has_dos_drive_prefix()` + Git 2.16.6 + +Jonathan Nieder (1): + submodule: reject submodule.update = !command in .gitmodules + + +Version v2.16.5; changes since v2.16.4: +--------------------------------------- + +Jeff King (3): + submodule--helper: use "--" to signal end of clone options + submodule-config: ban submodule urls that start with dash + submodule-config: ban submodule paths that start with a dash + +Junio C Hamano (3): + Git 2.14.5 + Git 2.15.3 + Git 2.16.5 + + +Version v2.16.4; changes since v2.16.3: +--------------------------------------- + +Jeff King (8): + submodule-config: verify submodule names as paths + is_ntfs_dotgit: use a size_t for traversing string + is_hfs_dotgit: match other .git files + skip_prefix: add case-insensitive variant + verify_path: drop clever fallthrough + verify_dotfile: mention case-insensitivity in comment + update-index: stat updated files earlier + verify_path: disallow symlinks in .gitmodules + +Johannes Schindelin (2): + is_ntfs_dotgit: match other .git files + is_{hfs,ntfs}_dotgitmodules: add tests + +Junio C Hamano (4): + Git 2.13.7 + Git 2.14.4 + Git 2.15.2 + Git 2.16.4 + + +Version v2.16.3; changes since v2.16.2: +--------------------------------------- + +Ben Peart (1): + fsmonitor: update documentation to remove reference to invalid config settings + +Brandon Williams (1): + oidmap: ensure map is initialized + +Christian Ludwig (1): + t9001: use existing helper in send-email test + +Eric Sunshine (2): + git-worktree.txt: fix missing ")" typo + git-worktree.txt: fix indentation of example and text of 'add' command + +Eric Wong (2): + fsck: fix leak when traversing trees + git-svn: control destruction order to avoid segfault + +Genki Sky (1): + test-lib.sh: unset XDG_CACHE_HOME + +Jeff King (10): + t5570: use ls-remote instead of clone for interp tests + t/lib-git-daemon: record daemon log + daemon: fix off-by-one in logging extended attributes + daemon: handle NULs in extended attribute string + t/lib-git-daemon: add network-protocol helpers + daemon: fix length computation in newline stripping + t0205: drop redundant test + git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME + commit: drop uses of get_cached_commit_buffer() + revision: drop --show-all option + +Jonathan Tan (2): + http: support cookie redaction when tracing + http: support omitting data from traces + +Juan F. Codagnone (1): + mailinfo: avoid segfault when can't open files + +Junio C Hamano (2): + worktree: say that "add" takes an arbitrary commit in short-help + Git 2.16.3 + +Kaartic Sivaraam (2): + Doc/gitsubmodules: make some changes to improve readability and syntax + Doc/git-submodule: improve readability and grammar of a sentence + +Mathias Rav (1): + files_initial_transaction_commit(): only unlock if locked + +Motoki Seki (1): + Documentation/gitsubmodules.txt: avoid non-ASCII apostrophes + +Nguyễn Thái Ngọc Duy (12): + t2203: test status output with porcelain v2 format + Use DIFF_DETECT_RENAME for detect_rename assignments + wt-status.c: coding style fix + wt-status.c: catch unhandled diff status codes + wt-status.c: rename rename-related fields in wt_status_change_data + wt-status.c: handle worktree renames + read-cache.c: change type of "temp" in write_shared_index() + read-cache.c: move tempfile creation/cleanup out of write_shared_index + diff.c: flush stdout before printing rename warnings + read-cache: don't write index twice if we can't write shared index + completion: fix completing merge strategies on non-C locales + gitignore.txt: elaborate shell glob syntax + +Ramsay Jones (2): + config.mak.uname: remove SPARSE_FLAGS setting for cygwin + Makefile: suppress a sparse warning for pack-revindex.c + +Randall S. Becker (1): + hashmap.h: remove unused variable + +René Scharfe (2): + describe: use strbuf_add_unique_abbrev() for adding short hashes + cocci: simplify check for trivial format strings + +Robert P. J. Day (2): + t/: correct obvious typo "detahced" + Correct mispellings of ".gitmodule" to ".gitmodules" + +SZEDER Gábor (11): + travis-ci: build Git during the 'script' phase + t5541: add 'test_i18ngrep's missing filename parameter + t5812: add 'test_i18ngrep's missing filename parameter + t6022: don't run 'git merge' upstream of a pipe + t4001: don't run 'git status' upstream of a pipe + t5510: consolidate 'grep' and 'test_i18ngrep' patterns + t5536: let 'test_i18ngrep' read the file without redirection + t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh' + t: validate 'test_i18ngrep's parameters + t: make 'test_i18ngrep' more informative on failure + t: document 'test_must_fail ok=<signal-name>' + +Stefan Beller (5): + t/lib-submodule-update.sh: clarify test + t/lib-submodule-update.sh: fix test ignoring ignored files in submodules + unpack-trees: oneway_merge to update submodules + submodule: submodule_move_head omits old argument in forced case + Documentation/git-status: clarify status table for porcelain mode + +Stefan Moch (2): + t7001: add test case for --dry-run + mv: remove unneeded 'if (!show_only)' + +Thomas Gummerer (3): + read-cache: fix reading the shared index for other repos + split-index: don't write cache tree with null oid entries + travis: run tests with GIT_TEST_SPLIT_INDEX + +Todd Zullinger (1): + doc: mention 'git show' defaults to HEAD + +Yasushi SHOJI (1): + bisect: debug: convert struct object to object_id + +brian m. carlson (1): + docs/interpret-trailers: fix agreement error + +Ævar Arnfjörð Bjarmason (2): + commit doc: document that -c, -C, -F and --fixup with -m error + commit: add support for --fixup <commit> -m"<extra message>" + + +Version v2.16.2; changes since v2.16.1: +--------------------------------------- + +Andreas G. Schacker (1): + doc/read-tree: remove obsolete remark + +Daniel Knittl-Frank (1): + describe: prepend "tags/" when describing tags with embedded name + +Jason Merrill (1): + git-svn: fix svn.pushmergeinfo handling of svn+ssh usernames. + +Jeff King (4): + t5600: fix outdated comment about unborn HEAD + t5600: modernize style + clone: factor out dir_exists() helper + clone: do not clean up directories we didn't create + +Junio C Hamano (2): + merge: teach -Xours/-Xtheirs to symbolic link merge + Git 2.16.2 + +Nguyễn Thái Ngọc Duy (1): + add--interactive: ignore submodule changes except HEAD + +René Scharfe (9): + commit: avoid allocation in clear_commit_marks_many() + commit: use clear_commit_marks_many() in remove_redundant() + ref-filter: use clear_commit_marks_many() in do_merge_filter() + object: add clear_commit_marks_all() + bisect: avoid using the rev_info flag leak_pending + bundle: avoid using the rev_info flag leak_pending + checkout: avoid using the rev_info flag leak_pending + revision: remove the unused flag leak_pending + commit: remove unused function clear_commit_marks_for_object_array() + +Thomas Gummerer (1): + stash: don't delete untracked files that match pathspec + +Ævar Arnfjörð Bjarmason (2): + perf: amend the grep tests to test grep.threads + cat-file doc: document that -e will return some output + + +Version v2.16.1; changes since v2.16.0: +--------------------------------------- + +Eric Sunshine (1): + t5601-clone: test case-conflicting files on case-insensitive filesystem + +Junio C Hamano (1): + Git 2.16.1 + +brian m. carlson (1): + repository: pre-initialize hash algo pointer + + +Version v2.16.0; changes since v2.16.0-rc2: +------------------------------------------- + +Alexander Shopov (2): + l10n: bg.po: Updated Bulgarian translation (3284t) + l10n: bg.po: Updated Bulgarian translation (3288t) + +Changwoo Ryu (2): + l10n: ko.po: Update Korean translation + l10n: TEAMS: Add ko team members + +Christopher Díaz Riveros (3): + l10n: Update Spanish translation + l10n: es.po: Update Spanish Translation v2.16.0 + l10n: es.po: Spanish translation 2.16.0 round 2 + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Fangyi Zhou (2): + l10n: zh_CN Fix typo + l10n: zh_CN translate parameter name + +Jean-Noël Avila (2): + l10n: fr.po v2.16.0 round 1 + l10n: fr.po 2.16 round 2 + +Jiang Xin (4): + l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed) + l10n: git.pot: v2.16.0 round 2 (8 new, 4 removed) + l10n: zh_CN: for git v2.16.0 l10n round 2 + l10n: TEAMS: add zh_CN team members + +Jordi Mas (1): + l10n: Fixes to Catalan translation + +Junio C Hamano (1): + Git 2.16 + +Louis Bettens (1): + l10n: fr.po: "worktree list" mistranslated as prune + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (3284t0f0u) + l10n: sv.po: Update Swedish translation (3288t0f0u) + +Ralf Thielow (2): + l10n: de.po: improve messages when a branch starts to track another ref + l10n: de.po: translate 72 new messages + +Robert Abel (1): + l10n: fixes to German translation + +SZEDER Gábor (1): + RelNotes: minor typofix + +Trần Ngọc Quân (1): + l10n: vi.po(3288t): Updated Vietnamese translation for v2.16.0 round 2 + + +Version v2.16.0-rc2; changes since v2.16.0-rc1: +----------------------------------------------- + +Beat Bolli (1): + t3900: add some more quotes + +Jeff King (1): + docs/diff-options: clarify scope of diff-filter types + +Johannes Schindelin (8): + Allow the test suite to pass in a directory whose name contains spaces + t0302 & t3900: add forgotten quotes + rebase -p: fix quoting when calling `git merge` + git gui: fix staging a second line to a 1-line file + git-gui: avoid exception upon Ctrl+T in an empty list + git-gui: fix exception when trying to stage with empty file list + git-gui: allow Ctrl+T to toggle multiple paths + mingw: handle GITPERLLIB in t0021 in a Windows-compatible way + +Junio C Hamano (3): + merge-recursive: do not look at the index during recursive merge + RelNotes update before -rc2 + Git 2.16-rc2 + +Ralf Thielow (1): + Documentation/git-worktree.txt: add missing ` + +SZEDER Gábor (9): + travis-ci: fine tune the use of 'set -x' in 'ci/*' scripts + travis-ci: don't install default addon packages for the 32 bit Linux build + travis-ci: save prove state for the 32 bit Linux build + travis-ci: only print test failures if there are test results available + travis-ci: print the "tip of branch is exactly at tag" message in color + travis-ci: create the cache directory early in the build process + travis-ci: record and skip successfully built trees + travis-ci: don't store P4 and Git LFS in the working tree + travis-ci: check that all build artifacts are .gitignore-d + +Thomas Gummerer (1): + oidset: don't return value from oidset_init + +Todd Zullinger (2): + doc/SubmittingPatches: improve text formatting + http: fix v1 protocol tests with apache httpd < 2.4 + +Ævar Arnfjörð Bjarmason (2): + Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1 + bisect: fix a regression causing a segfault + + +Version v2.16.0-rc1; changes since v2.16.0-rc0: +----------------------------------------------- + +Dave Borowitz (1): + config.txt: document behavior of backslashes in subsections + +Elijah Newren (3): + t6044: recursive can silently incorporate dirty changes in a merge + move index_has_changes() from builtin/am.c to merge.c for reuse + merge-recursive: avoid incorporating uncommitted changes in a merge + +Jeff King (4): + test-lib: silence "-x" cleanup under bash + t5615: avoid re-using descriptor 4 + test-lib: make "-x" work with "--verbose-log" + t/Makefile: introduce TEST_SHELL_PATH + +Johannes Schindelin (5): + rebase: do not continue when the todo list generation failed + sequencer: strip bogus LF at end of error messages + sequencer: remove superfluous conditional + sequencer: report when noop has an argument + sequencer: do not invent whitespace when transforming OIDs + +Julien Dusser (1): + strbuf: fix urlencode format string on signed char + +Junio C Hamano (1): + Git 2.16-rc1 + +Luke Diamand (1): + git-p4: update multiple shelved change lists + +René Scharfe (2): + http: use internal argv_array of struct child_process + send-pack: use internal argv_array of struct child_process + +Stefan Beller (1): + t/helper/test-lazy-name-hash: fix compilation + +Torsten Bögershausen (1): + check-non-portable-shell.pl: `wc -l` may have leading WS + + +Version v2.16.0-rc0; changes since v2.15.4: +------------------------------------------- + +Albert Astals Cid (1): + completion: add --autostash and --no-autostash to pull + +Alex Vandiver (7): + fsmonitor: read entirety of watchman output + fsmonitor: set the PWD to the top of the working tree + fsmonitor: don't bother pretty-printing JSON from watchman + fsmonitor: document GIT_TRACE_FSMONITOR + fsmonitor: delay updating state until after split index is merged + fsmonitor: read from getcwd(), not the PWD environment variable + fsmonitor: store fsmonitor bitmap before splitting index + +Anders Kaseorg (1): + git-gui: sort entries in optimized tclIndex + +Andrey Okoshkin (1): + merge-recursive: check GIT_MERGE_VERBOSITY only once + +Ann T Ropea (7): + Documentation: revisions: fix typo: "three dot" ---> "three-dot" (in line with "two-dot"). + Documentation: user-manual: limit usage of ellipsis + print_sha1_ellipsis: introduce helper + checkout: describe_detached_head: remove ellipsis after committish + t4013: prepare for upcoming "diff --raw --abbrev" output format change + diff: diff_aligned_abbrev: remove ellipsis after abbreviated SHA-1 value + t4013: test new output from diff --abbrev --raw + +Antoine Beaupré (6): + remote-mediawiki: limit filenames to legal + remote-mediawiki: show known namespace choices on failure + remote-mediawiki: skip virtual namespaces + remote-mediawiki: support fetching from (Main) namespace + remote-mediawiki: process namespaces in order + remote-mediawiki: show progress while fetching namespaces + +Beat Bolli (1): + contrib/git-jump: allow to configure the grep command + +Ben Peart (16): + bswap: add 64 bit endianness helper get_be64 + preload-index: add override to enable testing preload-index + update-index: add a new --force-write-index option + fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files. + fsmonitor: add documentation for the fsmonitor extension. + ls-files: Add support in ls-files to display the fsmonitor valid bit + update-index: add fsmonitor support to update-index + fsmonitor: add a test tool to dump the index extension + split-index: disable the fsmonitor extension when running the split index test + fsmonitor: add test cases for fsmonitor extension + fsmonitor: add a sample integration script for Watchman + fsmonitor: add a performance test + fsmonitor: MINGW support for watchman integration + fsmonitor: preserve utf8 filenames in fsmonitor-watchman log + read_index_from(): speed index loading by skipping verification of the entry order + fsmonitor: simplify determining the git worktree under Windows + +Brandon Williams (23): + pkt-line: add packet_write function + protocol: introduce protocol extension mechanisms + daemon: recognize hidden request arguments + upload-pack, receive-pack: introduce protocol version 1 + connect: teach client to recognize v1 server response + connect: tell server that the client understands v1 + http: tell server that the client understands v1 + i5700: add interop test for protocol transition + ssh: introduce a 'simple' ssh variant + add, reset: use DIFF_OPT_SET macro to set a diff flag + diff: convert flags to be stored in bitfields + diff: add flag to indicate textconv was set via cmdline + diff: remove touched flags + diff: remove DIFF_OPT_TST macro + diff: remove DIFF_OPT_SET macro + diff: remove DIFF_OPT_CLR macro + diff: make struct diff_flags members lowercase + pathspec: only match across submodule boundaries when requested + diff-tree: read the index so attribute checks work in bare repositories + submodule: convert stage_updated_gitmodules to take a struct index_state + submodule: used correct index in is_staging_gitmodules_ok + submodule: convert get_next_submodule to not rely on the_index + path: document path functions + +Christian Couder (24): + perf/run: add '--config' option to the 'run' script + perf/run: add get_var_from_env_or_config() + perf/run: add GIT_PERF_DIRS_OR_REVS + perf/run: add calls to get_var_from_env_or_config() + perf/run: add get_subsections() + perf/run: update get_var_from_env_or_config() for subsections + perf/run: add run_subsection() + perf/run: show name of rev being built + perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/" + t0021/rot13-filter: fix list comparison + t0021/rot13-filter: refactor packet reading functions + t0021/rot13-filter: improve 'if .. elsif .. else' style + t0021/rot13-filter: improve error message + t0021/rot13-filter: add packet_initialize() + t0021/rot13-filter: refactor checking final lf + t0021/rot13-filter: add capability functions + Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse + Git/Packet: clarify that packet_required_key_val_read allows EOF + Git/Packet.pm: use 'if' instead of 'unless' + list-objects-filter-options: fix 'keword' typo in comment + git-compat-util: introduce skip_to_optional_arg() + index-pack: use skip_to_optional_arg() + diff: use skip_to_optional_arg() + diff: use skip_to_optional_arg_default() + +Damien Marié (1): + run-command: add hint when a hook is ignored + +Daniel Bensoussan (1): + doc: reword gitworkflows.txt for neutrality + +Derrick Stolee (5): + p4211-line-log.sh: add log --online --raw --parents perf test + sha1_name: unroll len loop in find_unique_abbrev_r() + sha1_name: parse less while finding common prefix + sha1_name: minimize OID comparisons during disambiguation + sha1_file: use strbuf_add() instead of strbuf_addf() + +Elijah Newren (6): + sequencer: warn when internal merge may be suboptimal due to renameLimit + progress: fix progress meters when dealing with lots of work + diff: remove silent clamp of renameLimit + sequencer: show rename progress during cherry picks + merge-recursive: ignore_case shouldn't reject intentional removals + strbuf: remove unused stripspace function alias + +Emily Xie (1): + pathspec: die on empty strings as pathspec + +Eric Sunshine (3): + worktree: invoke post-checkout hook (unless --no-checkout) + clone: support 'clone --shared' from a worktree + version --build-options: also report host CPU + +Eric Wong (1): + git-svn: convert CRLF to LF in commit message to SVN + +Florian Klink (1): + git-send-email: honor $PATH for sendmail binary + +Gennady Kupava (2): + trace: remove trace key normalization + trace: improve performance while category is disabled + +Guillaume Castagnino (1): + gitweb: use filetest to allow ACLs + +Haaris Mehmood (1): + config: add --expiry-date + +Hans Jerry Illikainen (2): + merge: add config option for verifySignatures + t: add tests for pull --verify-signatures + +Heiko Voigt (3): + fetch: add test to make sure we stay backwards compatible + implement fetching of moved submodules + submodule: simplify decision tree whether to or not to fetch + +Ingo Ruhnke (1): + remote-mediawiki: allow fetching namespaces with spaces + +J Wyman (1): + for-each-ref: let upstream/push report the remote ref name + +Jacob Keller (1): + diff: add tests for --relative without optional prefix value + +Jameson Miller (4): + status: add option to show ignored files differently + status: report matching ignored and normal untracked + status: document options to show matching ignored files + status: test ignored modes + +Jean-Noël Avila (1): + submodule--helper.c: i18n: add a missing space in message + +Jeff Hostetler (9): + dir: allow exclusions from blob in addition to file + oidmap: add oidmap iterator methods + oidset: add iterator methods to oidset + list-objects: filter objects in traverse_commit_list + rev-list: add list-objects filtering support + pack-objects: add list-objects filtering + list-objects-filter-options: support --no-filter + rev-list: support --no-filter argument + partial-clone: design doc + +Jeff King (11): + revision: quit pruning diff more quickly when possible + git-jump: give contact instructions in the README + p5550: factor out nonsense-pack creation + t/perf/lib-pack: use fast-import checkpoint to create packs + p5551: add a script to test fetch pack-dir rescans + everything_local: use "quick" object existence check + sha1_file: fast-path null sha1 as a missing object + git-status.txt: mention --no-optional-locks + progress: set default delay threshold to 100%, not 0% + docs/pretty-formats: mention commas in %(trailers) syntax + cvsimport: apply shell-quoting regex globally + +Johannes Schindelin (4): + for-each-ref: let upstream/push optionally report the remote name + for-each-ref: test :remotename and :remoteref + hashmap: adjust documentation to reflect reality + version --build-options: report commit, too, if possible + +Jonathan Nieder (10): + ssh test: make copy_ssh_wrapper_as clean up after itself + connect: move no_fork fallback to git_tcp_connect + connect: split git:// setup into a separate function + connect: split ssh command line options into separate function + connect: split ssh option computation to its own function + ssh: 'auto' variant to select between 'ssh' and 'simple' + ssh: 'simple' variant does not support -4/-6 + ssh: 'simple' variant does not support --port + connect: correct style of C-style comment + generate-cmdlist: avoid non-deterministic output + +Jonathan Tan (10): + connect: in ref advertisement, shallows are last + Documentation: document Extra Parameters + Tests: clean up and document submodule helpers + Tests: clean up submodule recursive helpers + diff: support anchoring line(s) + diffcore-rename: make diff-tree -l0 mean -l<large> + decorate: clean up and document API + transport: remove unused "push" in vtable + clone, fetch: remove redundant transport check + transport: make transport vtable more private + +Junio C Hamano (26): + t0027: do not use an empty string as a pathspec element + describe: do not use cmd_*() as a subroutine + merge-ours: do not use cmd_*() as a subroutine + branch: streamline "attr_only" handling in validate_new_branchname() + branch: split validate_new_branchname() into two + xdiff: reassign xpparm_t.flags bits + The first batch for 2.16 + RelNotes: the second batch post 2.15 comes + diff: --ignore-cr-at-eol + RelNotes: the third batch for 2.16 + branch: correctly reject refs/heads/{-dash,HEAD} + RelNotes: the fourth batch for 2.16 + RelNotes: the fifth batch for 2.16 + hooks doc: clarify when receive-pack invokes its hooks + RelNotes: the sixth batch for 2.16 + RelNotes: the seventh batch + t2020: test variations that matter + RelNotes: the eighth batch + diff: use skip_to_optional_arg_default() in parsing --relative + t4045: reindent to make helpers readable + RelNotes: the ninth batch + RelNotes: the tenth batch + t5573, t7612: clean up after unexpected success of 'pull' and 'merge' + sequencer.c: drop 'const' from function return type + RelNotes: the eleventh batch + Git 2.16-rc0 + +Kaartic Sivaraam (11): + builtin/branch: remove redundant check for HEAD + git-rebase: clean up dashed-usages in messages + Doc/checkout: checking out using @{-N} can lead to detached state + branch: improve documentation and naming of create_branch() parameters + branch: group related arguments of create_branch() + branch: update warning message shown when copying a misnamed branch + builtin/branch: strip refs/heads/ using skip_prefix + Doc/check-ref-format: clarify information about @{-N} syntax + rebase: consistently use branch_name variable + rebase: distinguish user input by quoting it + rebase: rebasing can also be done when HEAD is detached + +Kevin (1): + remote-mediawiki: add namespace support + +Lars Schneider (3): + refactor "dumb" terminal determination + progress: drop delay-threshold code + launch_editor(): indicate that Git waits for user input + +Liam Beguin (9): + Documentation: move rebase.* configs to new file + Documentation: use preferred name for the 'todo list' script + rebase -i: set commit to null in exec commands + rebase -i: refactor transform_todo_ids + rebase -i: replace reference to sha1 with oid + rebase -i: update functions to use a flags parameter + rebase -i -x: add exec commands via the rebase--helper + rebase -i: learn to abbreviate command names + t3404: add test case for abbreviated commands + +Marius Paliga (1): + builtin/push.c: add push.pushOption config + +Martin Ågren (15): + sha1_file: do not leak `lock_file` + treewide: prefer lockfiles on the stack + lockfile: fix documentation on `close_lock_file_gently()` + tempfile: fix documentation on `delete_tempfile()` + checkout-index: simplify locking logic + cache-tree: simplify locking logic + apply: move lockfile into `apply_state` + apply: remove `newfd` from `struct apply_state` + cache.h: document `write_locked_index()` + read-cache: drop explicit `CLOSE_LOCK`-flag + read-cache: leave lock in right state in `write_locked_index()` + read_cache: roll back lock in `update_index_if_able()` + t7006: add tests for how git branch paginates + branch: respect `pager.branch` in list-mode only + branch: change default of `pager.branch` to "on" + +Michael Haggerty (10): + t0000: check whether the shell supports the "local" keyword + files_transaction_prepare(): don't leak flags to packed transaction + prune_ref(): call `ref_transaction_add_update()` directly + ref_transaction_update(): die on disallowed flags + ref_transaction_add_update(): remove a check + refs: tidy up and adjust visibility of the `ref_update` flags + refs: rename constant `REF_NODEREF` to `REF_NO_DEREF` + refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING` + write_packed_entry(): take `object_id` arguments + refs: update some more docs to use "oid" rather than "sha1" + +Nicolas Morey-Chaisemartin (1): + imap-send: URI encode server folder + +Olga Telezhnaya (2): + format: create pretty.h file + format: create docs for pretty.h + +Phil Hord (2): + doc: prefer 'stash push' over 'stash save' + stash: learn to parse -m/--message like commit does + +Pranit Bauva (6): + bisect--helper: use OPT_CMDMODE instead of OPT_BOOL + bisect--helper: rewrite `check_term_format` shell function in C + bisect--helper: `write_terms` shell function in C + bisect--helper: `bisect_clean_state` shell function in C + t6030: explicitly test for bisection cleanup + bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C + +Prathamesh Chavan (3): + submodule--helper: introduce get_submodule_displaypath() + submodule--helper: introduce for_each_listed_submodule() + submodule: port submodule subcommand 'status' from shell to C + +Rafael Ascensão (1): + log: add option to choose which refs to decorate + +Ramsay Jones (1): + repository: fix a sparse 'using integer as NULL pointer' warning + +Randall S. Becker (1): + install-doc-quick: allow specifying what ref to install + +Rasmus Villemoes (2): + Documentation/config: add sendemail.tocmd to list preceding "See git-send-email(1)" + completion: add git config sendemail.tocmd + +René Scharfe (14): + notes: move hex_to_bytes() to hex.c and export it + http-push: use hex_to_bytes() + sha1_file: use hex_to_bytes() + t4051: add test for comments preceding function lines + xdiff: factor out is_func_rec() + xdiff: show non-empty lines before functions with -W + t7810: improve check of -W with user-defined function lines + grep: update boundary variable for pre-context + grep: show non-empty lines before functions with -W + am: release strbuf after use in split_mail_mbox() + fmt-merge-msg: avoid leaking strbuf in shortlog() + strbuf: release memory on read error in strbuf_read_once() + transport-helper: plug strbuf and string_list leaks + p7519: improve check for prerequisite WATCHMAN + +Robert Abel (2): + git-prompt: make __git_eread intended use explicit + git-prompt: fix reading files with windows line endings + +Robert P. J. Day (4): + bisect: mention "view" as an alternative to "visualize" + doc: add missing "-n" (dry-run) option to reflog man page + prune: add "--progress" to man page and usage msg + notes: correct 'git notes prune' options to '[-n] [-v]' + +SZEDER Gábor (5): + setup.c: fix comment about order of .git directory discovery + travis-ci: introduce a $jobname variable for 'ci/*' scripts + travis-ci: move setting environment variables to 'ci/lib-travisci.sh' + travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh' + travis-ci: use 'set -x' in 'ci/*' scripts for extra tracing output + +Simon Ruderich (1): + config: document default value of http.sslVerify + +Stefan Beller (11): + recursive submodules: detach HEAD from new state + Documentation/checkout: clarify submodule HEADs to be detached + t6120: fix typo in test name + list-objects.c: factor out traverse_trees_and_blobs + revision.h: introduce blob/tree walking in order of the commits + builtin/describe.c: rename `oid` to avoid variable shadowing + builtin/describe.c: print debug statements earlier + builtin/describe.c: factor out describe_commit + Documentation/git-clone: improve description for submodule recursing + t/helper: ignore everything but sources + builtin/describe.c: describe a blob + +Steffen Prohaska (1): + doc: Mention info/attributes in gitrepository-layout + +Stephan Beyer (1): + bisect run: die if no command is given + +Thomas Gummerer (11): + stash: replace "git stash save" with "git stash push" in the documentation + stash: mark "git stash save" deprecated in the man page + stash: remove now superfluos help for "stash push" + checkout: factor out functions to new lib file + worktree: add can be created from any commit-ish + worktree: add --[no-]track option to the add subcommand + worktree: make add <path> <branch> dwim + t/README: remove mention of adding copyright notices + t/README: document test_cmp_rev + worktree: add --guess-remote flag to add subcommand + add worktree.guessRemote config option + +Todd Zullinger (4): + branch doc: remove --set-upstream from synopsis + t/lib-git-svn: cleanup inconsistent tab/space usage + t/lib-git-svn.sh: improve svnserve tests with parallel make test + RelNotes: minor typo fixes in 2.16.0 draft + +Torsten Bögershausen (3): + add: introduce "--renormalize" + convert: tighten the safe autocrlf handling + t0027: Adapt the new MIX tests to Windows + +W. Trevor King (1): + pull: pass --signoff/--no-signoff to "git merge" + +Wei Shuyu (1): + http: support CURLPROXY_HTTPS + +brian m. carlson (29): + walker: convert to struct object_id + refs/files-backend: convert struct ref_to_prune to object_id + refs: convert delete_ref and refs_delete_ref to struct object_id + refs: convert update_ref and refs_update_ref to use struct object_id + refs: prevent accidental NULL dereference in write_pseudoref + refs: update ref transactions to use struct object_id + Convert check_connected to use struct object_id + refs: convert resolve_refdup and refs_resolve_refdup to struct object_id + refs: convert read_ref and read_ref_full to object_id + refs: convert dwim_ref and expand_ref to struct object_id + builtin/reflog: convert remaining unsigned char uses to object_id + refs: convert dwim_log to struct object_id + pack-bitmap: convert traverse_bitmap_commit_list to object_id + builtin/pack-objects: convert to struct object_id + refs: convert peel_ref to struct object_id + refs: convert read_ref_at to struct object_id + refs: convert reflog_expire parameter to struct object_id + sha1_file: convert index_path and index_fd to struct object_id + Convert remaining callers of resolve_gitlink_ref to object_id + refs: convert resolve_gitlink_ref to struct object_id + worktree: convert struct worktree to object_id + refs: convert resolve_ref_unsafe to struct object_id + refs: convert peel_object to struct object_id + refs: convert read_raw_ref backends to struct object_id + refs/files-backend: convert static functions to object_id + setup: expose enumerated repo info + Add structure representing hash algorithm + Integrate hash algorithm support with repo setup + Switch empty tree and blob lookups to use hash abstraction + +Ævar Arnfjörð Bjarmason (2): + test-lib: add LIBPCRE1 & LIBPCRE2 prerequisites + grep: fix segfault under -P + PCRE2 <=10.30 + (*NO_JIT) + +Łukasz Stelmach (1): + git-gui: prevent double UTF-8 conversion + + +Version v2.15.4; changes since v2.15.3: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (20): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + Git 2.15.4 + +Jonathan Nieder (1): + submodule: reject submodule.update = !command in .gitmodules + + +Version v2.15.3; changes since v2.15.2: +--------------------------------------- + +Jeff King (3): + submodule--helper: use "--" to signal end of clone options + submodule-config: ban submodule urls that start with dash + submodule-config: ban submodule paths that start with a dash + +Junio C Hamano (2): + Git 2.14.5 + Git 2.15.3 + + +Version v2.15.2; changes since v2.15.1: +--------------------------------------- + +Elijah Newren (1): + merge-recursive: handle addition of submodule on our side of history + +Eric Wong (1): + rebase: use mboxrd format to avoid split errors + +Jeff King (8): + submodule-config: verify submodule names as paths + is_ntfs_dotgit: use a size_t for traversing string + is_hfs_dotgit: match other .git files + skip_prefix: add case-insensitive variant + verify_path: drop clever fallthrough + verify_dotfile: mention case-insensitivity in comment + update-index: stat updated files earlier + verify_path: disallow symlinks in .gitmodules + +Johannes Schindelin (2): + is_ntfs_dotgit: match other .git files + is_{hfs,ntfs}_dotgitmodules: add tests + +Junio C Hamano (5): + merge-base --fork-point doc: clarify the example and failure modes + Prepare for 2.15.2 + Git 2.13.7 + Git 2.14.4 + Git 2.15.2 + +Michael Haggerty (2): + t1409: check that `packed-refs` is not rewritten unnecessarily + files-backend: don't rewrite the `packed-refs` file unnecessarily + +Phillip Wood (2): + config: avoid "write_in_full(fd, buf, len) != len" pattern + sequencer: reschedule pick if index can't be locked + +René Scharfe (1): + apply: update line lengths for --inaccurate-eof + +Stefan Beller (1): + t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure + +Todd Zullinger (4): + t/lib-gpg: fix gpgconf stderr redirect to /dev/null + rebase: fix stderr redirect in apply_autostash() + notes: send "Automatic notes merge failed" messages to stderr + completion: add '--copy' option to 'git branch' + +Wei Shuyu (1): + pull: pass -4/-6 option to 'git fetch' + +brian m. carlson (2): + Documentation: enable compat-mode for Asciidoctor + Documentation: convert SubmittingPatches to AsciiDoc + + +Version v2.15.1; changes since v2.15.0: +--------------------------------------- + +Adam Dinwoodie (3): + t5580: add Cygwin support + rebase -i: fix comment typo + doc/SubmittingPatches: correct subject guidance + +Andrey Okoshkin (2): + commit: check result of resolve_ref_unsafe + diff: fix lstat() error handling in diff_populate_filespec() + +Brandon Williams (1): + wt-status: actually ignore submodules when requested + +Carlos Martín Nieto (1): + diff: --indent-heuristic is no longer experimental + +Charles Bailey (2): + t4201: make use of abbreviation in the test more robust + grep: fix NO_LIBPCRE1_JIT to fully disable JIT + +Dennis Kaarsemaker (1): + credential-libsecret: unlock locked secrets + +Jacob Keller (1): + sequencer: pass absolute GIT_DIR to exec commands + +Jakub Bereżański (2): + t0302: check helper can handle empty credentials + wincred: handle empty username/password correctly + +Jean Carlo Machado (1): + fix typos in 2.15.0 release notes + +Jeff King (11): + t4015: refactor --color-moved whitespace test + t4015: check "negative" case for "-w --color-moved" + t4015: test the output of "diff --color-moved -b" + diff: fix whitespace-skipping with --color-moved + diff: handle NULs in get_string_hash() + test-ref-store: avoid passing NULL to printf + remote: handle broken symrefs + log: handle broken HEAD in decoration check + worktree: handle broken symrefs in find_shared_symref() + setup: avoid double slashes when looking for HEAD + link_alt_odb_entries: make empty input a noop + +Johannes Schindelin (5): + status: do not get confused by submodules in excluded directories + mingw: include the full version information in the resources + mingw: add experimental feature to redirect standard handles + mingw: optionally redirect stderr/stdout via the same handle + mingw: document the standard handle redirection + +Junio C Hamano (9): + t5601: rm the target file of cp that could still be executing + check-ref-format --branch: do not expand @{...} outside repository + check-ref-format --branch: strip refs/heads/ using skip_prefix + check-ref-format doc: --branch validates and expands <branch> + column: do not include pager.c + Start preparation for 2.15.1 + Almost ready for 2.15.1 + A bit more fixes for 2.15.1 + Git 2.15.1 + +Kaartic Sivaraam (1): + mailmap: use Kaartic Sivaraam's new address + +Kevin Daudt (1): + column: show auto columns when pager is active + +Martin Ågren (7): + grep: take the read-lock when adding a submodule + bisect: change calling-convention of `find_bisection()` + bisect: fix memory leak in `find_bisection()` + bisect: fix off-by-one error in `best_bisection_sorted()` + bisect: fix memory leak when returning best element + builtin/merge-base: free commit lists + reduce_heads: fix memory leaks + +René Scharfe (6): + sequencer: factor out rewrite_file() + sequencer: use O_TRUNC to truncate files + imap-send: handle NULL return of next_arg() + imap-send: handle missing response codes gracefully + apply: avoid out-of-bounds access in fuzzy_matchlines() + config: flip return value of write_section() + +SZEDER Gábor (2): + travis-ci: fix running P4 and Git LFS tests in Linux build jobs + travis-ci: don't build Git for the static analysis job + +Simon Ruderich (2): + sequencer.c: check return value of close() in rewrite_file() + wrapper.c: consistently quote filenames in error messages + +Stefan Beller (3): + xdiff-interface: export comparing and hashing strings + diff.c: get rid of duplicate implementation + config: document blame configuration + +Thomas Braun (1): + completion: add remaining flags to checkout + +Todd Zullinger (3): + Replace Free Software Foundation address in license notices + Replace Free Software Foundation address in license notices + RelNotes: minor typo fixes in 2.15.1 draft + + +Version v2.15.0; changes since v2.15.0-rc2: +------------------------------------------- + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (3245t) + +Andre Hinrichs (1): + l10n: de.po: fix typos + +Andrey Okoshkin (1): + path.c: use xmalloc() in add_to_trie() + +Changwoo Ryu (1): + l10n: ko.po: Update Korean translation + +Christopher Díaz (3): + l10n: es.po: initial Spanish version git 2.14.0 + l10n: es.po: spanish added to TEAMS + l10n: es.po: Update translation v2.15.0 round 1 + +Christopher Díaz Riveros (1): + l10n: es.po: v2.15.0 round 2 + +Dimitriy Ryazantcev (2): + l10n: ru.po: update Russian translation + l10n: ru.po: update Russian translation + +Jean-Noel Avila (1): + l10n: fr.po fix some mistakes + +Jean-Noël Avila (1): + l10n: fr.po: v2.15.0 round 2 + +Jiang Xin (3): + l10n: git.pot: v2.15.0 round 1 (68 new, 36 removed) + l10n: git.pot: v2.15.0 round 2 (2 new, 2 removed) + l10n: zh_CN: for git v2.15.0 l10n round 2 + +Jordi Mas (2): + l10n: Update Catalan translation + l10n: Update Catalan translation + +Junio C Hamano (3): + Git 2.14.3 + Hopefully final batch before 2.15 + Git 2.15 + +Michael Haggerty (2): + t1404: add a bunch of tests of D/F conflicts + files_transaction_prepare(): fix handling of ref lock failure + +Nathan Payre (1): + config doc: clarify "git config --path" example + +Nicolas Cornu (1): + l10n: fr.po change translation of "First, rewinding" + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (3245t0f0u) + l10n: sv.po: Update Swedish translation (3245t0f0u) + +Ralf Thielow (1): + l10n: de.po: translate 70 new messages + +Ray Chen (1): + l10n: zh_CN: review for git v2.15.0 l10n round 2 + +SZEDER Gábor (1): + rev-list-options.txt: use correct directional reference + +Sebastian Schuberth (1): + docs: fix formatting of rev-parse's --show-superproject-working-tree + +Trần Ngọc Quân (2): + l10n: vi.po(3245t): Updated Vietnamese translation for v2.15.0 + l10n: vi.po(3245t): Updated Vietnamese translation for v2.15.0 round 2 + + +Version v2.15.0-rc2; changes since v2.15.0-rc1: +----------------------------------------------- + +David Glasser (1): + doc: list filter-branch subdirectory-filter first + +Jeff King (5): + diff: fix infinite loop with --color-moved --ignore-space-change + Revert "color: make "always" the same as "auto" in config" + Revert "t6006: drop "always" color config tests" + Revert "color: check color.ui in git_default_config()" + tag: respect color.ui config + +Junio C Hamano (7): + checkout doc: clarify command line args for "checkout paths" mode + Crawling towards -rc2 + fetch doc: src side of refspec could be full SHA-1 + Preparing for rc2 continues + branch doc: sprinkle a few commas for readability + Prepare for 2.14.3 + Git 2.15-rc2 + +Ralf Thielow (2): + sequencer.c: fix and unify error messages in rearrange_squash() + sequencer.c: unify an error message + +W. Trevor King (1): + Documentation/merge-options.txt: describe -S/--gpg-sign for 'pull' + + +Version v2.15.0-rc1; changes since v2.15.0-rc0: +----------------------------------------------- + +Derrick Stolee (1): + cleanup: fix possible overflow errors in binary search + +Jean-Noël Avila (1): + i18n: add a missing space in message + +Jeff King (19): + test-terminal: set TERM=vt100 + t4015: prefer --color to -c color.diff=always + t3701: use test-terminal to collect color output + t7508: use test_terminal for color output + t7502: use diff.noprefix for --verbose test + t6006: drop "always" color config tests + t3203: drop "always" color test + t3205: use --color instead of color.branch=always + provide --color option for all ref-filter users + color: make "always" the same as "auto" in config + t4015: use --color with --color-moved + t7301: use test_terminal to check color + path.c: fix uninitialized memory access + sha1_loose_object_info: handle errors from unpack_sha1_rest + t3308: create a real ref directory/file conflict + refs_resolve_ref_unsafe: handle d/f conflicts for writes + write_entry: fix leak when retrying delayed filter + write_entry: avoid reading blobs in CE_RETRY case + write_entry: untangle symlink and regular-file cases + +Johannes Sixt (1): + sub-process: use child_process.args instead of child_process.argv + +Jonathan Nieder (2): + technical doc: add a design doc for hash function transition + strbuf doc: reuse after strbuf_release is fine + +Jonathan Tan (1): + oidmap: map with OID as key + +Junio C Hamano (2): + Prepare for -rc1 + Git 2.15-rc1 + +Kaartic Sivaraam (2): + branch: change the error messages to be more meaningful + setup: update error message to be more meaningful + +Lars Schneider (2): + entry.c: update cache entry only for existing files + entry.c: check if file exists after checkout + +Martin Ågren (1): + builtin/: add UNLEAKs + +Randall S. Becker (1): + poll.c: always set revents, even if to zero + +René Scharfe (3): + test-stringlist: avoid buffer underrun when sorting nothing + fsck: handle NULL return of lookup_blob() and lookup_tree() + .mailmap: normalize name for René Scharfe + +Stefan Beller (2): + branch: reset instead of release a strbuf + tests: fix diff order arguments in test_cmp + +Taylor Blau (8): + pretty.c: delimit "%(trailers)" arguments with "," + t4205: unfold across multiple lines + doc: 'trailers' is the preferred way to format trailers + doc: use "`<literal>`"-style quoting for literal strings + t6300: refactor %(trailers) tests + ref-filter.c: use trailer_opts to format trailers + ref-filter.c: parse trailers arguments with %(contents) atom + ref-filter.c: pass empty-string as NULL to atom parsers + +Thomas Braun (1): + completion: add --broken and --dirty to describe + +Thomas Gummerer (1): + http-push: fix construction of hex value from path + +Todd Zullinger (1): + api-argv-array.txt: remove broken link to string-list API + + +Version v2.15.0-rc0; changes since v2.14.6: +------------------------------------------- + +Brandon Casey (7): + t1502: demonstrate rev-parse --parseopt option mis-parsing + rev-parse parseopt: do not search help text for flag chars + rev-parse parseopt: interpret any whitespace as start of help text + git-rebase: don't ignore unexpected command line arguments + t0040,t1502: Demonstrate parse_options bugs + parse-options: write blank line to correct output stream + parse-options: only insert newline in help text if needed + +Brandon Williams (27): + repo_read_index: don't discard the index + repository: have the_repository use the_index + cache.h: add GITMODULES_FILE macro + config: add config_from_gitmodules + submodule: remove submodule.fetchjobs from submodule-config parsing + submodule: remove fetch.recursesubmodules from submodule-config parsing + submodule: check for unstaged .gitmodules outside of config parsing + submodule: check for unmerged .gitmodules outside of config parsing + submodule: merge repo_read_gitmodules and gitmodules_config + grep: recurse in-process using 'struct repository' + t7411: check configuration parsing errors + submodule: don't use submodule_from_name + add, reset: ensure submodules can be added or reset + submodule--helper: don't overlay config in remote_submodule_branch + submodule--helper: don't overlay config in update-clone + fetch: don't overlay config with submodule-config + submodule: don't rely on overlayed config when setting diffopts + unpack-trees: don't respect submodule.update + submodule: remove submodule_config callback routine + diff: stop allowing diff to have submodules configured in .git/config + submodule-config: remove support for overlaying repository config + submodule-config: move submodule-config functions to submodule-config.c + submodule-config: lazy-load a repository's .gitmodules file + unpack-trees: improve loading of .gitmodules + submodule: remove gitmodules_config + clang-format: outline the git project's coding style + Makefile: add style build rule + +Eric Blake (1): + git-contacts: also recognise "Reported-by:" + +Han-Wen Nienhuys (4): + submodule.c: describe submodule_to_gitdir() in a new comment + real_path: clarify return value ownership + read_gitfile_gently: clarify return value ownership. + string-list.h: move documentation from Documentation/api/ into header + +Heiko Voigt (1): + add test for bug in git-mv for recursive submodules + +Ian Campbell (4): + filter-branch: reset $GIT_* before cleaning up + filter-branch: preserve and restore $GIT_AUTHOR_* and $GIT_COMMITTER_* + filter-branch: stash away ref map in a branch + filter-branch: use hash-object instead of mktag + +Jameson Miller (1): + Improve performance of git status --ignored + +Jeff Hostetler (1): + hashmap: add API to disable item counting when threaded + +Jeff King (53): + strbuf: use designated initializers in STRBUF_INIT + trailer: put process_trailers() options into a struct + interpret-trailers: add an option to show only the trailers + interpret-trailers: add an option to show only existing trailers + interpret-trailers: add an option to unfold values + interpret-trailers: add --parse convenience option + pretty: move trailer formatting to trailer.c + t4205: refactor %(trailers) tests + pretty: support normalization options for %(trailers) + write_index_as_tree: cleanup tempfile on error + setup_temporary_shallow: avoid using inactive tempfile + setup_temporary_shallow: move tempfile struct into function + verify_signed_buffer: prefer close_tempfile() to close() + always check return value of close_tempfile + tempfile: do not delete tempfile on failed close + lockfile: do not rollback lock on failed close + tempfile: prefer is_tempfile_active to bare access + tempfile: handle NULL tempfile pointers gracefully + tempfile: replace die("BUG") with BUG() + tempfile: factor out activation + tempfile: factor out deactivation + tempfile: robustify cleanup handler + tempfile: release deactivated strbufs instead of resetting + tempfile: use list.h for linked list + tempfile: remove deactivated list entries + tempfile: auto-allocate tempfiles on heap + lockfile: update lifetime requirements in documentation + ref_lock: stop leaking lock_files + stop leaking lock structs in some simple cases + test-lib: --valgrind should not override --verbose-log + test-lib: set LSAN_OPTIONS to abort by default + add: free leaked pathspec after add_files_to_cache() + update-index: fix cache entry leak in add_one_file() + config: plug user_config leak + reset: make tree counting less confusing + reset: free allocated tree buffers + repository: free fields before overwriting them + set_git_dir: handle feeding gitdir to itself + add UNLEAK annotation for reducing leak false positives + shortlog: skip format/parse roundtrip for internal traversal + prefix_ref_iterator: break when we leave the prefix + revision: replace "struct cmdline_pathspec" with argv_array + test-line-buffer: simplify command parsing + curl_trace(): eliminate switch fallthrough + consistently use "fallthrough" comments in switches + files-backend: prefer "0" for write_in_full() error check + notes-merge: drop dead zero-write code + prefer "!=" when checking read_in_full() result + avoid looking at errno for short read_in_full() returns + distinguish error versus short read from read_in_full() + worktree: use xsize_t to access file size + worktree: check the result of read_in_full() + git: add --no-optional-locks option + +Job Snijders (1): + gitweb: add 'raw' blob_plain link in history overview + +Joel Teichroeb (3): + stash: add a test for stash create with no files + stash: add a test for when apply fails during stash branch + stash: add a test for stashing in a detached state + +Johannes Schindelin (12): + t3415: verify that an empty instructionFormat is handled as before + rebase -i: generate the script via rebase--helper + rebase -i: remove useless indentation + rebase -i: do not invent onelines when expanding/collapsing SHA-1s + rebase -i: also expand/collapse the SHA-1s via the rebase--helper + t3404: relax rebase.missingCommitsCheck tests + rebase -i: check for missing commits in the rebase--helper + rebase -i: skip unnecessary picks using the rebase--helper + t3415: test fixup with wrapped oneline + rebase -i: rearrange fixup/squash lines using the rebase--helper + Win32: simplify loading of DLL functions + clang-format: adjust line break penalties + +Jonathan Nieder (2): + pack: make packed_git_mru global a value instead of a pointer + pathspec doc: parse_pathspec does not maintain references to args + +Jonathan Tan (31): + sha1_file: set whence in storage-specific info fn + sha1_file: remove read_packed_sha1() + diff: avoid redundantly clearing a flag + diff: respect MIN_BLOCK_LENGTH for last block + diff: define block by number of alphanumeric chars + pack: move pack name-related functions + pack: move static state variables + pack: move pack_report() + pack: move open_pack_index(), parse_pack_index() + pack: move release_pack_memory() + pack: move pack-closing functions + pack: move use_pack() + pack: move unuse_pack() + pack: move add_packed_git() + pack: move install_packed_git() + pack: move {,re}prepare_packed_git and approximate_object_count + pack: move unpack_object_header_buffer() + pack: move get_size_from_delta() + pack: move unpack_object_header() + pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry() + pack: move nth_packed_object_{sha1,oid} + pack: move check_pack_index_ptr(), nth_packed_object_offset() + pack: move find_pack_entry_one(), is_pack_valid() + pack: move find_sha1_pack() + pack: move find_pack_entry() and make it global + pack: move has_sha1_pack() + pack: move has_pack_index() + pack: move for_each_packed_object() + Remove inadvertently added outgoing/packfile.h + Add t/helper/test-write-cache to .gitignore + git-compat-util: make UNLEAK less error-prone + +Junio C Hamano (25): + t1408: add a test of stale packed refs covered by loose refs + clean.c: use designated initializer + Start post 2.14 cycle + The first batch of topics after the 2.14 cycle + diff: retire sane_truncate_fn + progress: simplify "delayed" progress API + The second batch post 2.14 + t4200: give us a clean slate after "rerere gc" tests + t4200: make "rerere gc" test more robust + t4200: gather "rerere gc" together + t4200: parameterize "rerere gc" custom expiry test + rerere: represent time duration in timestamp_t internally + rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved + The third batch post 2.14 + The fourth batch post 2.14 + The fifth batch post 2.14 + The sixth batch post 2.14 + The seventh batch post 2.14 + The eighth batch for 2.15 + branch: fix "copy" to never touch HEAD + The ninth batch for 2.15 + The tenth batch for 2.15 + The eleventh batch for 2.15 + The twelfth batch for 2.15 + Git 2.15-rc0 + +Kaartic Sivaraam (10): + hook: cleanup script + hook: name the positional variables + hook: add sign-off using "interpret-trailers" + hook: add a simple first example + hook: use correct logical variable + t3200: cleanup cruft of a test + builtin/branch: stop supporting the "--set-upstream" option + branch: quote branch/ref names to improve readability + help: change a message to be more precise + commit-template: change a message to be more intuitive + +Kevin Willford (9): + format-patch: have progress option while generating patches + rebase: turn on progress option by default for format-patch + commit: skip discarding the index if there is no pre-commit hook + perf: add test for writing the index + read-cache: fix memory leak in do_write_index + read-cache: avoid allocating every ondisk entry when writing + merge-recursive: fix memory leak + merge-recursive: remove return value from get_files_dirs + merge-recursive: change current file dir string_lists to hashmap + +Lars Schneider (1): + convert: display progress for filtered objects that have been delayed + +Martin Koegler (2): + diff-delta: fix encoding size that would not fit in "unsigned int" + diff-delta: do not allow delta offset truncation + +Martin Ågren (20): + Doc/git-{push,send-pack}: correct --sign= to --signed= + t5334: document that git push --signed=1 does not work + config: introduce git_parse_maybe_bool_text + config: make git_{config,parse}_maybe_bool equivalent + treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool + parse_decoration_style: drop unused argument `var` + doc/interpret-trailers: fix "the this" typo + Documentation/user-manual: update outdated example output + treewide: correct several "up-to-date" to "up to date" + config: remove git_config_maybe_bool + refs/files-backend: add longer-scoped copy of string to list + refs/files-backend: fix memory leak in lock_ref_for_update + refs/files-backend: correct return value in lock_ref_for_update + refs/files-backend: add `refname`, not "HEAD", to list + builtin/commit: fix memory leak in `prepare_index()` + commit: fix memory leak in `reduce_heads()` + leak_pending: use `object_array_clear()`, not `free()` + object_array: use `object_array_clear()`, not `free()` + object_array: add and use `object_array_pop()` + pack-bitmap[-write]: use `object_array_clear()`, don't leak + +Max Kirillov (1): + describe: teach --match to handle branches and remotes + +Michael Haggerty (76): + add_packed_ref(): teach function to overwrite existing refs + packed_ref_store: new struct + packed_ref_store: move `packed_refs_path` here + packed_ref_store: move `packed_refs_lock` member here + clear_packed_ref_cache(): take a `packed_ref_store *` parameter + validate_packed_ref_cache(): take a `packed_ref_store *` parameter + get_packed_ref_cache(): take a `packed_ref_store *` parameter + get_packed_refs(): take a `packed_ref_store *` parameter + add_packed_ref(): take a `packed_ref_store *` parameter + lock_packed_refs(): take a `packed_ref_store *` parameter + commit_packed_refs(): take a `packed_ref_store *` parameter + rollback_packed_refs(): take a `packed_ref_store *` parameter + get_packed_ref(): take a `packed_ref_store *` parameter + repack_without_refs(): take a `packed_ref_store *` parameter + packed_peel_ref(): new function, extracted from `files_peel_ref()` + packed_ref_store: support iteration + packed_read_raw_ref(): new function, replacing `resolve_packed_ref()` + packed-backend: new module for handling packed references + packed_ref_store: make class into a subclass of `ref_store` + commit_packed_refs(): report errors rather than dying + commit_packed_refs(): use a staging file separate from the lockfile + packed_refs_lock(): function renamed from lock_packed_refs() + packed_refs_lock(): report errors via a `struct strbuf *err` + packed_refs_unlock(), packed_refs_is_locked(): new functions + clear_packed_ref_cache(): don't protest if the lock is held + commit_packed_refs(): remove call to `packed_refs_unlock()` + repack_without_refs(): don't lock or unlock the packed refs + t3210: add some tests of bogus packed-refs file contents + read_packed_refs(): die if `packed-refs` contains bogus data + packed_ref_store: handle a packed-refs file that is a symlink + files-backend: cheapen refname_available check when locking refs + refs: retry acquiring reference locks for 100ms + notes: make GET_NIBBLE macro more robust + load_subtree(): remove unnecessary conditional + load_subtree(): reduce the scope of some local variables + load_subtree(): fix incorrect comment + load_subtree(): separate logic for internal vs. terminal entries + load_subtree(): check earlier whether an internal node is a tree entry + load_subtree(): only consider blobs to be potential notes + get_oid_hex_segment(): return 0 on success + load_subtree(): combine some common code + get_oid_hex_segment(): don't pad the rest of `oid` + hex_to_bytes(): simpler replacement for `get_oid_hex_segment()` + load_subtree(): declare some variables to be `size_t` + load_subtree(): check that `prefix_len` is in the expected range + packed-backend: don't adjust the reference count on lock/unlock + struct ref_transaction: add a place for backends to store data + packed_ref_store: implement reference transactions + packed_delete_refs(): implement method + files_pack_refs(): use a reference transaction to write packed refs + prune_refs(): also free the linked list + files_initial_transaction_commit(): use a transaction for packed refs + t1404: demonstrate two problems with reference transactions + files_ref_store: use a transaction to update packed refs + packed-backend: rip out some now-unused code + files_transaction_finish(): delete reflogs before references + ref_iterator: keep track of whether the iterator output is ordered + packed_ref_cache: add a backlink to the associated `packed_ref_store` + die_unterminated_line(), die_invalid_line(): new functions + read_packed_refs(): use mmap to read the `packed-refs` file + read_packed_refs(): only check for a header at the top of the file + read_packed_refs(): make parsing of the header line more robust + read_packed_refs(): read references with minimal copying + packed_ref_cache: remember the file-wide peeling state + mmapped_ref_iterator: add iterator over a packed-refs file + mmapped_ref_iterator_advance(): no peeled value for broken refs + packed-backend.c: reorder some definitions + packed_ref_cache: keep the `packed-refs` file mmapped if possible + read_packed_refs(): ensure that references are ordered when read + packed_ref_iterator_begin(): iterate using `mmapped_ref_iterator` + packed_read_raw_ref(): read the reference from the mmapped buffer + ref_store: implement `refs_peel_ref()` generically + packed_ref_store: get rid of the `ref_cache` entirely + ref_cache: remove support for storing peeled values + mmapped_ref_iterator: inline into `packed_ref_iterator` + packed-backend.c: rename a bunch of things and update comments + +Michael J Gruber (4): + t7004: move limited stack prereq to test-lib + t6120: test name-rev --all and --stdin + t6120: clean up state after breaking repo + t6120: test describe and name-rev with deep repos + +Nguyễn Thái Ngọc Duy (16): + revision.h: new flag in struct rev_info wrt. worktree-related refs + refs.c: use is_dir_sep() in resolve_gitlink_ref() + revision.c: refactor add_index_objects_to_pending() + revision.c: --indexed-objects add objects from all worktrees + refs.c: refactor get_submodule_ref_store(), share common free block + refs: move submodule slash stripping code to get_submodule_ref_store + refs: add refs_head_ref() + revision.c: use refs_for_each*() instead of for_each_*_submodule() + refs.c: move for_each_remote_ref_submodule() to submodule.c + refs: remove dead for_each_*_submodule() + revision.c: --all adds HEAD from all worktrees + files-backend: make reflog iterator go through per-worktree reflog + revision.c: --reflog add HEAD reflog from all worktrees + rev-list: expose and document --single-worktree + refs.c: remove fallback-to-main-store code get_submodule_ref_store() + refs.c: reindent get_submodule_ref_store() + +Nicolas Morey-Chaisemartin (7): + stash: clean untracked files before reset + pull: fix cli and config option parsing order + pull: honor submodule.recurse config option + imap-send: return with error if curl failed + imap-send: add wrapper to get server credentials if needed + imap_send: setup_curl: retreive credentials if not set in config file + imap-send: use curl by default when possible + +Paolo Bonzini (4): + trailers: export action enums and corresponding lookup functions + trailers: introduce struct new_trailer_item + interpret-trailers: add options for actions + interpret-trailers: fix documentation typo + +Patryk Obara (10): + sha1_file: fix definition of null_sha1 + commit: replace the raw buffer with strbuf in read_graft_line + commit: allocate array using object_id size + commit: rewrite read_graft_line + builtin/hash-object: convert to struct object_id + read-cache: convert to struct object_id + sha1_file: convert index_path to struct object_id + sha1_file: convert index_fd to struct object_id + sha1_file: convert hash_sha1_file_literally to struct object_id + sha1_file: convert index_stream to struct object_id + +Raman Gupta (1): + contrib/rerere-train: optionally overwrite existing resolutions + +Ramsay Jones (3): + test-lib: don't use ulimit in test prerequisites on cygwin + test-lib: use more compact expression in PIPE prerequisite + t9010-*.sh: skip all tests if the PIPE prereq is missing + +René Scharfe (49): + tree-diff: don't access hash of NULL object_id pointer + notes: don't access hash of NULL object_id pointer + receive-pack: don't access hash of NULL object_id pointer + tree-walk: convert fill_tree_descriptor() to object_id + apply: check date of potential epoch timestamps first + apply: remove epoch date from regex + am: release strbufs after use in detect_patch_format() + am: release strbuf on error return in hg_patch_to_mail() + am: release strbuf after use in safe_to_abort() + check-ref-format: release strbuf after use in check_ref_format_branch() + clean: release strbuf after use in remove_dirs() + clone: release strbuf after use in remove_junk() + commit: release strbuf on error return in commit_tree_extended() + connect: release strbuf on error return in git_connect() + convert: release strbuf on error return in filter_buffer_or_fd() + diff: release strbuf after use in diff_summary() + diff: release strbuf after use in show_rename_copy() + diff: release strbuf after use in show_stats() + help: release strbuf on error return in exec_man_konqueror() + help: release strbuf on error return in exec_man_man() + help: release strbuf on error return in exec_woman_emacs() + mailinfo: release strbuf after use in handle_from() + mailinfo: release strbuf on error return in handle_boundary() + merge: release strbuf after use in save_state() + merge: release strbuf after use in write_merge_heads() + notes: release strbuf after use in notes_copy_from_stdin() + refs: release strbuf on error return in write_pseudoref() + remote: release strbuf after use in read_remote_branches() + remote: release strbuf after use in migrate_file() + remote: release strbuf after use in set_url() + send-pack: release strbuf on error return in send_pack() + sha1_file: release strbuf on error return in index_path() + shortlog: release strbuf after use in insert_one_record() + sequencer: release strbuf after use in save_head() + transport-helper: release strbuf after use in process_connect_service() + userdiff: release strbuf after use in userdiff_get_textconv() + utf8: release strbuf on error return in strbuf_utf8_replace() + vcs-svn: release strbuf after use in end_revision() + wt-status: release strbuf after use in read_rebase_todolist() + wt-status: release strbuf after use in wt_longstatus_print_tracking() + refs: make sha1 output parameter of refs_resolve_ref_unsafe() optional + refs: pass NULL to refs_resolve_ref_unsafe() if hash is not needed + refs: pass NULL to resolve_ref_unsafe() if hash is not needed + refs: pass NULL to refs_resolve_refdup() if hash is not needed + refs: pass NULL to resolve_refdup() if hash is not needed + path: use strbuf_add_real_path() + use strbuf_addstr() for adding strings to strbufs + graph: use strbuf_addchars() to add spaces + repository: use FREE_AND_NULL + +Sahil Dua (2): + config: create a function to format section headers + branch: add a --copy (-c) option to go with --move (-m) + +Stefan Beller (46): + diff.c: readability fix + diff.c: move line ending check into emit_hunk_header + diff.c: factor out diff_flush_patch_all_file_pairs + diff.c: introduce emit_diff_symbol + diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER + diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO + diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF + diff.c: migrate emit_line_checked to use emit_diff_symbol + diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS[_PORCELAIN] + diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE + diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR_{PLUS, MINUS} + diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER + diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES + diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF + submodule.c: migrate diff output to use emit_diff_symbol + diff.c: convert emit_binary_diff_body to use emit_diff_symbol + diff.c: convert show_stats to use emit_diff_symbol + diff.c: convert word diffing to use emit_diff_symbol + diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP + diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY + diff.c: buffer all output if asked to + diff.c: color moved lines differently + diff.c: color moved lines differently, plain mode + diff.c: add dimming to moved line detection + diff: document the new --color-moved setting + attr.c: drop hashmap_cmp_fn cast + builtin/difftool.c: drop hashmap_cmp_fn cast + builtin/describe: drop hashmap_cmp_fn cast + config.c: drop hashmap_cmp_fn cast + convert/sub-process: drop cast to hashmap_cmp_fn + patch-ids.c: drop hashmap_cmp_fn cast + remote.c: drop hashmap_cmp_fn cast + submodule-config.c: drop hashmap_cmp_fn cast + name-hash.c: drop hashmap_cmp_fn cast + t/helper/test-hashmap: use custom data instead of duplicate cmp functions + commit: convert lookup_commit_graft to struct object_id + tag: convert gpg_verify_tag to use struct object_id + t1200: remove t1200-tutorial.sh + builtin/merge: honor commit-msg hook for merges + push, fetch: error out for submodule entries not pointing to commits + replace-objects: evaluate replacement refs without using the object store + Documentation/githooks: mention merge in commit-msg hook + Documentation/config: clarify the meaning of submodule.<name>.update + t7406: submodule.<name>.update command must not be run from .gitmodules + diff: correct newline in summary for renamed files + submodule: correct error message for missing commits + +Stephan Beyer (1): + clang-format: add a comment about the meaning/status of the + +Takashi Iwai (2): + sha1dc: build git plumbing code more explicitly + sha1dc: allow building with the external sha1dc library + +Thomas Gummerer (1): + read-cache: fix index corruption with index v4 + +Tom G. Christensen (2): + http: fix handling of missing CURLPROTO_* + http: use a feature check to enable GSSAPI delegation control + +William Duclot (1): + rebase: make resolve message clearer for inexperienced users + +brian m. carlson (12): + builtin/fsck: convert remaining caller of get_sha1 to object_id + builtin/merge-tree: convert remaining caller of get_sha1 to object_id + submodule: convert submodule config lookup to use object_id + remote: convert struct push_cas to struct object_id + sequencer: convert to struct object_id + builtin/update_ref: convert to struct object_id + bisect: convert bisect_checkout to struct object_id + builtin/unpack-file: convert to struct object_id + Convert remaining callers of get_sha1 to get_oid. + sha1_name: convert get_sha1* to get_oid* + sha1_name: convert GET_SHA1* flags to GET_OID* + sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ + +Ævar Arnfjörð Bjarmason (1): + branch: add test for -m renaming multiple config sections + +Øystein Walle (1): + rev-parse: rev-parse: add --is-shallow-repository + +Łukasz Gryglicki (1): + merge: add a --signoff flag + + +Version v2.14.6; changes since v2.14.5: +--------------------------------------- + +Garima Singh (2): + test-path-utils: offer to run a protectNTFS/protectHFS benchmark + tests: add a helper to stress test argument quoting + +Jeff King (7): + t9300: drop some useless uses of cat + t9300: create marks files for double-import-marks test + fast-import: tighten parsing of boolean command line options + fast-import: stop creating leading directories for import-marks + fast-import: delay creating leading directories for export-marks + fast-import: disallow "feature export-marks" by default + fast-import: disallow "feature import-marks" by default + +Johannes Schindelin (19): + clone --recurse-submodules: prevent name squatting on Windows + mingw: disallow backslash characters in tree objects' file names + path.c: document the purpose of `is_ntfs_dotgit()` + is_ntfs_dotgit(): only verify the leading segment + path: safeguard `.git` against NTFS Alternate Streams Accesses + is_ntfs_dotgit(): speed it up + mingw: fix quoting of arguments + path: also guard `.gitmodules` against NTFS Alternate Data Streams + protect_ntfs: turn on NTFS protection by default + Disallow dubiously-nested submodule git directories + quote-stress-test: accept arguments to test via the command-line + t6130/t9350: prepare for stringent Win32 path validation + quote-stress-test: allow skipping some trials + unpack-trees: let merged_entry() pass through do_add_entry()'s errors + mingw: refuse to access paths with illegal characters + quote-stress-test: offer to test quoting arguments for MSYS2 sh + mingw: refuse to access paths with trailing spaces or periods + mingw: handle `subst`-ed "DOS drives" + Git 2.14.6 + + +Version v2.14.5; changes since v2.14.4: +--------------------------------------- + +Jeff King (3): + submodule--helper: use "--" to signal end of clone options + submodule-config: ban submodule urls that start with dash + submodule-config: ban submodule paths that start with a dash + +Junio C Hamano (1): + Git 2.14.5 + + +Version v2.14.4; changes since v2.14.3: +--------------------------------------- + +Jeff King (8): + submodule-config: verify submodule names as paths + is_ntfs_dotgit: use a size_t for traversing string + is_hfs_dotgit: match other .git files + skip_prefix: add case-insensitive variant + verify_path: drop clever fallthrough + verify_dotfile: mention case-insensitivity in comment + update-index: stat updated files earlier + verify_path: disallow symlinks in .gitmodules + +Johannes Schindelin (2): + is_ntfs_dotgit: match other .git files + is_{hfs,ntfs}_dotgitmodules: add tests + +Junio C Hamano (2): + Git 2.13.7 + Git 2.14.4 + + +Version v2.14.3; changes since v2.14.2: +--------------------------------------- + +Adam Dinwoodie (1): + doc: correct command formatting + +Ann T Ropea (1): + request-pull: capitalise "Git" to make it a proper noun + +Ben Boeckel (1): + Documentation: mention that `eol` can change the dirty status of paths + +Christian Couder (1): + sha1-lookup: remove sha1_entry_pos() from header file + +Daniel Watkins (1): + diff-highlight: add clean target to Makefile + +Eric Rannaud (1): + fast-import: checkpoint: dump branches/tags/marks even if object_count==0 + +Evan Zacks (1): + doc: fix minor typos (extra/duplicated words) + +Han-Wen Nienhuys (1): + submodule.h: typofix + +Ilya Kantor (1): + userdiff: fix HTML hunk header regexp + +Jeff King (36): + sha1_file: drop experimental GIT_USE_LOOKUP search + config: use a static lock_file struct + rev-parse: don't trim bisect refnames + system_path: move RUNTIME_PREFIX to a sub-function + git_extract_argv0_path: do nothing without RUNTIME_PREFIX + config: avoid "write_in_full(fd, buf, len) < len" pattern + get-tar-commit-id: check write_in_full() return against 0 + avoid "write_in_full(fd, buf, len) != len" pattern + convert less-trivial versions of "write_in_full() != len" + pkt-line: check write_in_full() errors against "< 0" + notes-merge: use ssize_t for write_in_full() return value + config: flip return value of store_write_*() + read_pack_header: handle signed/unsigned comparison in read result + read_info_alternates: read contents into strbuf + read_info_alternates: warn on non-trivial errors + cat-file: handle NULL object_context.path + doc: put literal block delimiter around table + validate_headref: NUL-terminate HEAD buffer + validate_headref: use skip_prefix for symref parsing + validate_headref: use get_oid_hex for detached HEADs + test-terminal: set TERM=vt100 + t4015: prefer --color to -c color.diff=always + t3701: use test-terminal to collect color output + t7508: use test_terminal for color output + t7502: use diff.noprefix for --verbose test + t6006: drop "always" color config tests + t3203: drop "always" color test + t3205: use --color instead of color.branch=always + provide --color option for all ref-filter users + color: make "always" the same as "auto" in config + path.c: fix uninitialized memory access + sha1_loose_object_info: handle errors from unpack_sha1_rest + Revert "color: make "always" the same as "auto" in config" + Revert "t6006: drop "always" color config tests" + Revert "color: check color.ui in git_default_config()" + tag: respect color.ui config + +Johannes Sixt (1): + sub-process: use child_process.args instead of child_process.argv + +Jonathan Nieder (1): + strbuf doc: reuse after strbuf_release is fine + +Jonathan Tan (1): + fast-export: do not copy from modified file + +Junio C Hamano (8): + travis: dedent a few scripts that are indented overly deeply + subprocess: loudly die when subprocess asks for an unsupported capability + gc: call fscanf() with %<len>s, not %<len>c, when reading hostname + merge-strategies: avoid implying that "-s theirs" exists + checkout doc: clarify command line args for "checkout paths" mode + fetch doc: src side of refspec could be full SHA-1 + Prepare for 2.14.3 + Git 2.14.3 + +Kaartic Sivaraam (2): + t/README: fix typo and grammatically improve a sentence + doc: camelCase the config variables to improve readability + +Kevin Daudt (2): + doc/for-each-ref: consistently use '=' to between argument names and values + doc/for-each-ref: explicitly specify option names + +Lars Schneider (3): + travis-ci: move Travis CI code into dedicated scripts + travis-ci: skip a branch build if equal tag is present + travis-ci: fix "skip_branch_tip_with_tag()" string comparison + +Manav Rathi (1): + docs: improve discoverability of exclude pathspec + +Martin Ågren (5): + convert: always initialize attr_action in convert_attrs + pack-objects: take lock before accessing `remaining` + strbuf_setlen: don't write to strbuf_slopbuf + ThreadSanitizer: add suppressions + pkt-line: re-'static'-ify buffer in packet_write_fmt_1() + +Matthieu Moy (2): + send-email: fix garbage removal after address + send-email: don't use Mail::Address, even if available + +Max Kirillov (1): + describe: fix matching to actually match all patterns + +Michael Haggerty (1): + for_each_string_list_item: avoid undefined behavior for empty list + +Michael J Gruber (1): + name-rev: change ULONG_MAX to TIME_MAX + +Nguyễn Thái Ngọc Duy (1): + branch: fix branch renaming not updating HEADs correctly + +Ramsay Jones (4): + git-compat-util.h: xsize_t() - avoid -Wsign-compare warnings + commit-slab.h: avoid -Wsign-compare warnings + cache.h: hex2chr() - avoid -Wsign-compare warnings + ALLOC_GROW: avoid -Wsign-compare warnings + +Randall S. Becker (1): + poll.c: always set revents, even if to zero + +René Scharfe (9): + strbuf: clear errno before calling getdelim(3) + archive: don't add empty directories to archives + mailinfo: don't decode invalid =XY quoted-printable sequences + coccinelle: remove parentheses that become unnecessary + tag: avoid NULL pointer arithmetic + run-command: use ALLOC_ARRAY + test-stringlist: avoid buffer underrun when sorting nothing + fsck: handle NULL return of lookup_blob() and lookup_tree() + .mailmap: normalize name for René Scharfe + +Ross Kabus (1): + commit-tree: do not complete line in -F input + +Stefan Beller (1): + branch: reset instead of release a strbuf + +Taylor Blau (1): + ref-filter.c: pass empty-string as NULL to atom parsers + +Thomas Braun (1): + completion: add --broken and --dirty to describe + +Thomas Gummerer (2): + refs: strip out not allowed flags from ref_transaction_update + http-push: fix construction of hex value from path + +Torsten Bögershausen (1): + test-lint: echo -e (or -E) is not portable + + +Version v2.14.2; changes since v2.14.1: +--------------------------------------- + +Andreas Heiduk (2): + doc: add missing values "none" and "default" for diff.wsErrorHighlight + doc: clarify "config --bool" behaviour with empty string + +Anthony Sottile (1): + git-grep: correct exit code with --quiet and -L + +Brandon Williams (2): + submodule--helper: teach push-check to handle HEAD + clone: teach recursive clones to respect -q + +Christian Couder (2): + refs: use skip_prefix() in ref_is_hidden() + sub-process: print the cmd when a capability is unsupported + +Dimitrios Christidis (1): + fmt-merge-msg: fix coding style + +Heiko Voigt (1): + t5526: fix some broken && chains + +Hielke Christian Braun (1): + gitweb: skip unreadable subdirectories + +Jeff King (32): + t1414: document some reflog-walk oddities + revision: disallow reflog walking with revs->limited + log: clarify comment about reflog cycles + log: do not free parents when walking reflog + get_revision_1(): replace do-while with an early return + rev-list: check reflog_info before showing usage + reflog-walk: stop using fake parents + reflog-walk: apply --since/--until to reflog dates + check return value of verify_ref_format() + docs/for-each-ref: update pointer to color syntax + t: use test_decode_color rather than literal ANSI codes + ref-filter: simplify automatic color reset + ref-filter: abstract ref format into its own struct + ref-filter: move need_color_reset_at_eol into ref_format + ref-filter: provide a function for parsing sort options + ref-filter: make parse_ref_filter_atom a private function + ref-filter: factor out the parsing of sorting atoms + ref-filter: pass ref_format struct to atom parsers + color: check color.ui in git_default_config() + for-each-ref: load config earlier + rev-list: pass diffopt->use_colors through to pretty-print + pretty: respect color settings for %C placeholders + ref-filter: consult want_color() before emitting colors + t6018: flesh out empty input/output rev-list tests + revision: add rev_input_given flag + rev-list: don't show usage when we see empty ref patterns + revision: do not fallback to default when rev_input_given is set + hashcmp: use memcmp instead of open-coded loop + doc: fix typo in sendemail.identity + shell: drop git-cvsserver support by default + archimport: use safe_pipe_capture for user input + cvsimport: shell-quote variable used in backticks + +Johannes Schindelin (2): + run_processes_parallel: change confusing task_cb convention + git-gui (MinGW): make use of MSys2's msgfmt + +Jonathan Nieder (4): + vcs-svn: remove more unused prototypes and declarations + vcs-svn: remove custom mode constants + vcs-svn: remove repo_delete wrapper function + vcs-svn: move remaining repo_tree functions to fast_export.h + +Jonathan Tan (7): + fsck: remove redundant parse_tree() invocation + object: remove "used" field from struct object + fsck: cleanup unused variable + Documentation: migrate sub-process docs to header + sub-process: refactor handshake to common function + tests: ensure fsck fails on corrupt packfiles + Doc: clarify that pack-objects makes packs, plural + +Junio C Hamano (11): + http.c: http.sslcert and http.sslkey are both pathnames + perl/Git.pm: typofix in a comment + Prepare for 2.14.2 + RelNotes: further fixes for 2.14.2 from the master front + cvsserver: move safe_pipe_capture() to the main package + cvsserver: use safe_pipe_capture for `constant commands` as well + Git 2.10.5 + Git 2.11.4 + Git 2.12.5 + Git 2.13.6 + Git 2.14.2 + +Kaartic Sivaraam (1): + commit: check for empty message before the check for untouched template + +Kevin Daudt (1): + stash: prevent warning about null bytes in input + +Lars Schneider (7): + t0021: keep filter log files on comparison + t0021: make debug log file name configurable + t0021: write "OUT <size>" only on success + convert: put the flags field before the flag itself for consistent style + convert: move multiple file filter error handling to separate function + convert: refactor capabilities negotiation + convert: add "status=delayed" to filter process protocol + +Martin Ågren (7): + builtin.h: take over documentation from api-builtin.txt + git.c: let builtins opt for handling `pager.foo` themselves + git.c: provide setup_auto_pager() + t7006: add tests for how git tag paginates + tag: respect `pager.tag` in list-mode only + tag: change default of `pager.tag` to "on" + git.c: ignore pager.* when launching builtin as dashed external + +Michael Forney (1): + scripts: use "git foo" not "git-foo" + +Michael J Gruber (6): + Documentation: use proper wording for ref format strings + Documentation/git-for-each-ref: clarify peeling of tags for --format + Documentation/git-merge: explain --continue + merge: clarify call chain + merge: split write_merge_state in two + merge: save merge state earlier + +Philip Oakley (4): + git-gui: remove duplicate entries from .gitconfig's gui.recentrepo + git gui: cope with duplicates in _get_recentrepo + git gui: de-dup selected repo from recentrepo history + git gui: allow for a long recentrepo list + +Phillip Wood (7): + am: remember --rerere-autoupdate setting + rebase: honor --rerere-autoupdate + rebase -i: honor --rerere-autoupdate + t3504: use test_commit + cherry-pick/revert: remember --rerere-autoupdate + cherry-pick/revert: reject --rerere-autoupdate when continuing + am: fix signoff when other trailers are present + +Ramsay Jones (2): + credential-cache: interpret an ECONNRESET as an EOF + builtin/add: add detail to a 'cannot chmod' error message + +René Scharfe (23): + bswap: convert to unsigned before shifting in get_be32 + bswap: convert get_be16, get_be32 and put_be32 to inline functions + add MOVE_ARRAY + use MOVE_ARRAY + apply: use COPY_ARRAY and MOVE_ARRAY in update_image() + ls-files: don't try to prune an empty index + dir: support platforms that require aligned reads + pack-objects: remove unnecessary NULL check + t0001: skip test with restrictive permissions if getpwd(3) respects them + test-path-utils: handle const parameter of basename and dirname + t3700: fix broken test under !POSIXPERM + t4062: use less than 256 repetitions in regex + sha1_file: avoid comparison if no packed hash matches the first byte + apply: remove prefix_length member from apply_state + merge: use skip_prefix() + win32: plug memory leak on realloc() failure in syslog() + fsck: free buffers on error in fsck_obj() + sha1_file: release delta_stack on error in unpack_entry() + t1002: stop using sum(1) + t5001: add tests for export-ignore attributes and exclude pathspecs + archive: factor out helper functions for handling attributes + archive: don't queue excluded directories + commit: remove unused inline function single_parent() + +Santiago Torres (1): + t: lib-gpg: flush gpg agent on startup + +Stefan Beller (3): + t8008: rely on rev-parse'd HEAD instead of sha1 value + sha1_file: make read_info_alternates static + submodule.sh: remove unused variable + +Torsten Bögershausen (2): + convert: add SAFE_CRLF_KEEP_CRLF + apply: file commited with CRLF should roundtrip diff and apply + +Urs Thuermann (1): + git svn fetch: Create correct commit timestamp when using --localtime + +brian m. carlson (2): + vcs-svn: remove unused prototypes + vcs-svn: rename repo functions to "svn_repo" + +joernchen (1): + cvsserver: use safe_pipe_capture instead of backticks + +Ævar Arnfjörð Bjarmason (1): + tests: don't give unportable ">" to "test" built-in, use -gt + + +Version v2.14.1; changes since v2.14.0: +--------------------------------------- + +Jeff King (5): + t/lib-proto-disable: restore protocol.allow after config tests + t5813: add test for hostname starting with dash + connect: factor out "looks like command line option" check + connect: reject dashed arguments for proxy commands + connect: reject paths that look like command line options + +Junio C Hamano (9): + connect: reject ssh hostname that begins with a dash + Git 2.7.6 + Git 2.8.6 + Git 2.9.5 + Git 2.10.4 + Git 2.11.3 + Git 2.12.4 + Git 2.13.5 + Git 2.14.1 + + +Version v2.14.0; changes since v2.14.0-rc1: +------------------------------------------- + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (3213t) + +Andreas Heiduk (1): + doc: remove unsupported parameter from patch-id + +Anthony Sottile (1): + diff-options doc: grammar fix + +Changwoo Ryu (1): + l10n: ko.po: Update Korean translation + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Hartmut Henkel (1): + l10n: de.po: various fixes in German translation + +Hugues Peccatte (1): + l10n: fr.po Fix some translations + +Jean-Noel Avila (1): + l10n: fr.po v2.14.0 rnd 2 + +Jiang Xin (2): + l10n: zh_CN: for git v2.14.0 l10n round 2 + l10n: zh_CN: review for git v2.14.0 l10n + +Jordi Mas (1): + l10n: Update Catalan translation + +Junio C Hamano (3): + Preparation for 2.13.4 continues + Git 2.13.4 + Git 2.14 + +Louis (1): + l10n: fr.po Fix typo + +Ralf Thielow (1): + l10n: de.po: update German translation + +SZEDER Gábor (1): + blame: fix memory corruption scrambling revision name in error message + +Sylvestre Ledru (1): + l10n: fr.po Fix some french typos + +Trần Ngọc Quân (1): + l10n: vi.po (3213t): Updated 9 new strings + + +Version v2.14.0-rc1; changes since v2.14.0-rc0: +----------------------------------------------- + +Alexander Shopov (1): + l10n: bg.po: Updated Bulgarian translation (3206t) + +Changwoo Ryu (1): + l10n: ko.po: Update Korean translation + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Eric Wong (1): + set FD_CLOEXEC properly when O_CLOEXEC is not supported + +Jeff King (2): + gc: run pre-detach operations under lock + t: handle EOF in test_copy_bytes() + +Jiang Xin (2): + l10n: git.pot: v2.14.0 round 1 (34 new, 23 removed) + l10n: git.pot: v2.14.0 round 2 (9 new, 2 removed) + +Johannes Schindelin (2): + t1300: demonstrate that CamelCased aliases regressed + alias: compare alias name *case-insensitively* + +Jonathan Nieder (1): + pre-rebase hook: capture documentation in a <<here document + +Jordi Mas (2): + l10n: Fixes to Catalan translation + l10n: Update Catalan translation + +Junio C Hamano (6): + A few more topics before 2.14-rc1 + Makefile: help gettext tools to cope with our custom PRItime format + A few more topics while waiting for the po/PRItime resolution + Hopefully the final last-minute fix before -rc1 + fixes from 'master' for 2.13.4 + Git 2.14-rc1 + +Kaartic Sivaraam (2): + doc: camelCase the i18n config variables to improve readability + doc: reformat the paragraph containing the 'cut-line' + +Miguel Torroja (3): + git-p4: git-p4 tests with p4 triggers + git-p4: parse marshal output "p4 -G" in p4 changes + git-p4: filter for {'code':'info'} in p4CmdList + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (3206t0f0u) + +Ramsay Jones (1): + config.mak.uname: set FREAD_READS_DIRECTORIES for cygwin + +René Scharfe (2): + progress: show overall rate in last update + Makefile: allow combining UBSan with other sanitizers + +Torsten Bögershausen (1): + cygwin: allow pushing to UNC paths + +Trần Ngọc Quân (1): + l10n: vi.po(3206t): Update Vietnamese translation + +Ævar Arnfjörð Bjarmason (3): + RelNotes: mention "log: add -P as a synonym for --perl-regexp" + RelNotes: mention "log: make --regexp-ignore-case work with --perl-regexp" + RelNotes: mention "sha1dc: optionally use sha1collisiondetection as a submodule" + + +Version v2.14.0-rc0; changes since v2.13.7: +------------------------------------------- + +Andreas Heiduk (4): + doc: describe git svn init --ignore-refs + filter-branch: add `--setup` step + filter-branch: add [--] to usage + git-svn: document special options for commit-diff + +Ben Peart (10): + convert: remove erroneous tests for errno == EPIPE + pkt-line: fix packet_read_line() to handle len < 0 errors + pkt-line: add packet_read_line_gently() + convert: move packet_write_line() into pkt-line as packet_writel() + convert: split start_multi_file_filter() into two separate functions + convert: separate generic structures and variables from the filter specific ones + convert: update generic functions to only use generic data structures + convert: rename reusable sub-process functions + sub-process: move sub-process functions into separate files + convert: update subprocess_read_status() to not die on EOF + +Brandon Williams (95): + submodule: rename add_sha1_to_array() + submodule: rename free_submodules_sha1s() + submodule: remove add_oid_to_argv() + submodule: change string_list changed_submodule_paths + submodule: improve submodule_has_commits() + submodule: refactor logic to determine changed submodules + dir: stop using the index compatibility macros + dir: convert read_skip_worktree_file_from_index to take an index + dir: convert directory_exists_in_index to take index + dir: convert get_dtype to take index + dir: convert dir_add* to take an index + dir: convert last_exclude_matching_from_list to take an index + dir: convert is_excluded_from_list to take an index + dir: convert add_excludes to take an index + dir: convert prep_exclude to take an index + dir: convert is_excluded to take an index + dir: convert open_cached_dir to take an index + dir: convert read_directory_recursive to take an index + dir: convert read_directory to take an index + dir: convert fill_directory to take an index + pathspec: provide a more descriptive die message + submodule: add die_in_unpopulated_submodule function + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag + ls-files: prevent prune_cache from overeagerly pruning submodules + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP + pathspec: convert find_pathspecs_matching_against_index to take an index + grep: convert to struct object_id + diff: convert get_stat_data to struct object_id + diff: convert diff_index_show_file to struct object_id + diff: convert diff_addremove to struct object_id + diff: convert run_diff_files to struct object_id + diff: convert diff_change to struct object_id + diff: convert fill_filespec to struct object_id + diff: convert reuse_worktree_file to struct object_id + diff: finish conversion for prepare_temp_file to struct object_id + patch-ids: convert to struct object_id + diff: convert diff_flush_patch_id to struct object_id + combine-diff: convert diff_tree_combined to struct object_id + combine-diff: convert find_paths_* to struct object_id + tree-diff: convert diff_root_tree_sha1 to struct object_id + notes-merge: convert notes_merge* to struct object_id + notes-merge: convert merge_from_diffs to struct object_id + notes-merge: convert find_notes_merge_pair_ps to struct object_id + notes-merge: convert verify_notes_filepair to struct object_id + notes-merge: convert write_note_to_worktree to struct object_id + diff-tree: convert diff_tree_sha1 to struct object_id + builtin/diff-tree: cleanup references to sha1 + tree-diff: convert try_to_follow_renames to struct object_id + tree-diff: convert diff_tree_paths to struct object_id + tree-diff: convert path_appendnew to object_id + diffcore-rename: use is_empty_blob_oid + diff: rename diff_fill_sha1_info to diff_fill_oid_info + convert: convert get_cached_convert_stats_ascii to take an index + convert: convert crlf_to_git to take an index + convert: convert convert_to_git_filter_fd to take an index + convert: convert convert_to_git to take an index + convert: convert renormalize_buffer to take an index + tree: convert read_tree to take an index parameter + ls-files: convert overlay_tree_on_cache to take an index + ls-files: convert write_eolinfo to take an index + ls-files: convert show_killed_files to take an index + ls-files: convert show_other_files to take an index + ls-files: convert show_ru_info to take an index + ls-files: convert ce_excluded to take an index + ls-files: convert prune_cache to take an index + ls-files: convert show_ce_entry to take an index + ls-files: convert show_files to take an index + ls-files: factor out debug info into a function + ls-files: factor out tag calculation + config: create config.h + config: remove git_config_iter + config: don't include config.h by default + setup: teach discover_git_directory to respect the commondir + config: respect commondir + config: don't implicitly use gitdir or commondir + setup: don't perform lazy initialization of repository state + setup: add comment indicating a hack + environment: remove namespace_len variable + repository: introduce the repository object + environment: place key repository state in the_repository + environment: store worktree in the_repository + path: create path.h + path: always pass in commondir to update_common_dir + path: convert strbuf_git_common_path to take a 'struct repository' + path: convert do_git_path to take a 'struct repository' + path: worktree_git_path() should not use file relocation + path: add repo_git_path and strbuf_repo_git_path + path: add repo_worktree_path and strbuf_repo_worktree_path + config: read config from a repository object + repository: add index_state to struct repo + submodule-config: store the_submodule_cache in the_repository + submodule: add repo_read_gitmodules + submodule: convert is_submodule_initialized to work on a repository + repository: enable initialization of submodules + ls-files: use repository object + +Christian Couder (2): + p3400: add perf tests for rebasing many changes + sub-process: correct path to API docs in a comment + +David Turner (2): + Increase core.packedGitLimit + unpack-trees: preserve index extensions + +Jeff King (29): + cache-tree: reject entries with null sha1 + status: fix missing newline when comment chars are disabled + add--interactive: drop diff.indentHeuristic handling + pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL + ref-filter: limit traversal to prefix + t4208: add check for ":/" without matching file + check_filename(): refactor ":/" handling + check_filename(): use skip_prefix + check_filename(): handle ":^" path magic + verify_filename(): treat ":(magic)" as a pathspec + verify_filename(): flip order of checks + credential: handle invalid arguments earlier + upload-archive: handle "-h" option early + remote-{ext,fd}: print usage message on invalid arguments + submodule--helper: show usage for "-h" + version: convert to parse-options + git: add hidden --list-builtins option + t0012: test "-h" with builtins + add: warn when adding an embedded repository + t: move "git add submodule" into test blocks + configure.ac: loosen FREAD_READS_DIRECTORIES test program + t0006: check --date=format zone offsets + date: use localtime() for "-local" time formats + docs: update 64-bit core.packedGitLimit default + test-lib: set ASAN_OPTIONS variable before we run git + test-lib: turn on ASan abort_on_error by default + Makefile: add helper for compiling with -fsanitize + Makefile: turn off -fomit-frame-pointer with sanitizers + Makefile: disable unaligned loads with UBSan + +Jeff Smith (29): + blame: remove unneeded dependency on blob.h + blame: move textconv_object with related functions + blame: remove unused parameters + blame: rename origin structure to blame_origin + blame: rename scoreboard structure to blame_scoreboard + blame: rename origin-related functions + blame: rename coalesce function + blame: rename ent_score function + blame: rename nth_line function + blame: move stat counters to scoreboard + blame: move copy/move thresholds to scoreboard + blame: move contents_from to scoreboard + blame: move reverse flag to scoreboard + blame: move show_root flag to scoreboard + blame: move xdl_opts flags to scoreboard + blame: move no_whole_file_rename flag to scoreboard + blame: make sanity_check use a callback in scoreboard + blame: move progress updates to a scoreboard callback + blame: wrap blame_sort and compare_blame_final + blame: rework methods that determine 'final' commit + blame: create scoreboard init function + blame: create scoreboard setup function + blame: create entry prepend function + blame: move core structures to header + blame: move origin-related methods to libgit + blame: move fake-commit-related methods to libgit + blame: move scoreboard-related methods to libgit + blame: move scoreboard setup to libgit + blame: move entry prepend to libgit + +Johannes Schindelin (9): + ref-filter: avoid using `unsigned long` for catch-all data type + t0006 & t5000: prepare for 64-bit timestamps + t0006 & t5000: skip "far in the future" test when time_t is too limited + parse_timestamp(): specify explicitly where we parse timestamps + PRItime: introduce a new "printf format" for timestamps + timestamp_t: a new data type for timestamps + date.c: abort if the system time cannot handle one of our timestamps + use uintmax_t for timestamps + mingw: verify that paths are not mistaken for remote nicknames + +Johannes Sixt (1): + mingw_fopen: report ENOENT for invalid file names + +Jonathan Tan (11): + fetch-pack: always allow fetching of literal SHA1s + send-email: support validate hook + send-email: check for repo before invoking hook + sha1_file: teach packed_object_info about typename + sha1_file: rename LOOKUP_UNKNOWN_OBJECT + sha1_file: rename LOOKUP_REPLACE_OBJECT + sha1_file: move delta base cache code up + sha1_file: refactor read_object + sha1_file: teach sha1_object_info_extended more flags + sha1_file: do not access pack if unneeded + sha1_file: refactor has_sha1_file_with_flags + +Junio C Hamano (28): + test-lib.sh: do not barf under --debug at the end of the test + test-lib: retire $remove_trash variable + repack: accept --threads=<n> and pass it down to pack-objects + Start post 2.13 cycle + name-rev: change a "long" variable to timestamp_t + Second batch for 2.14 + config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, too + Third batch for 2.14 + compat-util: is_missing_file_error() + treewide: use is_missing_file_error() where ENOENT and ENOTDIR are checked + Fourth batch for 2.14 + Fifth batch for 2.14 + Sixth batch for 2.14 + Seventh batch for 2.14 + diff- and log- family: handle "git cmd -h" early + Eighth batch for 2.14 + Ninth batch for 2.14 + Tenth batch for 2.14 + Revert "split-index: add and use unshare_split_index()" + Eleventh batch for 2.14 + Twelfth batch for 2.14 + Thirteenth batch for 2.14 + sha1collisiondetection: automatically enable when submodule is populated + Fourteenth batch for 2.14 + Fifteenth batch for 2.14 + Sixteenth batch for 2.14 + Hopefully the last batch before -rc0 + Git 2.14-rc0 + +Kaartic Sivaraam (4): + status: contextually notify user about an initial commit + Documentation/git-submodule: cleanup "add" section + commit-template: remove outdated notice about explicit paths + commit-template: distinguish status information unconditionally + +Lars Schneider (2): + travis-ci: handle Git for Windows CI status "failed" explicitly + travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503 + +Liam Beguin (3): + stash: update documentation to use 'stash entry' + status: add optional stash count information + glossary: define 'stash entry' + +Marc Branchaud (2): + diff: make the indent heuristic part of diff's basic configuration + diff: have the diff-* builtins configure diff before initializing revisions + +Michael Haggerty (26): + t3600: clean up permissions test properly + refs.h: clarify docstring for the ref_transaction_update()-related fns + ref_iterator_begin_fn(): fix docstring + files-backend: use `die("BUG: ...")`, not `die("internal error: ...")` + prefix_ref_iterator: don't trim too much + refs_ref_iterator_begin(): don't check prefixes redundantly + refs: use `size_t` indexes when iterating over ref transaction updates + ref_store: take a `msg` parameter when deleting references + lockfile: add a new method, is_lock_file_locked() + files-backend: move `lock` member to `files_ref_store` + files_ref_store: put the packed files lock directly in this struct + files_transaction_cleanup(): new helper function + ref_transaction_commit(): check for valid `transaction->state` + ref_transaction_prepare(): new optional step for reference updates + ref_update_reject_duplicates(): expose function to whole refs module + ref_update_reject_duplicates(): use `size_t` rather than `int` + ref_update_reject_duplicates(): add a sanity check + should_pack_ref(): new function, extracted from `files_pack_refs()` + get_packed_ref_cache(): assume "packed-refs" won't change while locked + read_packed_refs(): do more of the work of reading packed refs + read_packed_refs(): report unexpected fopen() failures + refs_ref_iterator_begin(): handle `GIT_REF_PARANOIA` + create_ref_entry(): remove `check_name` option + cache_ref_iterator_begin(): avoid priming unneeded directories + lock_packed_refs(): fix cache validity check + for_each_bisect_ref(): don't trim refnames + +Mike Hommey (1): + fast-import: increase the default pack depth to 50 + +Nguyễn Thái Ngọc Duy (16): + environment.c: fix potential segfault by get_git_common_dir() + refs.c: make submodule ref store hashmap generic + refs: add REFS_STORE_ALL_CAPS + refs: introduce get_worktree_ref_store() + worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe() + refs: kill set_worktree_head_symref() + split-index: add and use unshare_split_index() + use xfopen() in more places + clone: use xfopen() instead of fopen() + config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD + wrapper.c: add and use warn_on_fopen_errors() + wrapper.c: add and use fopen_or_warn() + wrapper.c: make warn_on_inaccessible() static + print errno when reporting a system call error + rerere.c: move error_errno() closer to the source system call + log: fix memory leak in open_next_file() + +Prathamesh Chavan (1): + dir: create function count_slashes() + +Ramsay Jones (2): + archive-tar: fix a sparse 'constant too large' warning + git_fopen: fix a sparse 'not declared' warning + +René Scharfe (17): + archive-zip: add tests for big ZIP archives + archive-zip: use strbuf for ZIP directory + archive-zip: write ZIP dir entry directly to strbuf + archive-zip: support archives bigger than 4GB + archive-zip: support files bigger than 4GB + archive-zip: set version field for big files correctly + t5004: require 64-bit support for big ZIP tests + mingw: simplify PATH handling + strbuf: let strbuf_addftime handle %z and %Z itself + sha1_name: cache readdir(3) results in find_short_object_filename() + p4205: add perf test script for pretty log formats + sha1_file: let for_each_file_in_obj_subdir() handle subdir names + sha1_file: guard against invalid loose subdirectory numbers + coccinelle: polish FREE_AND_NULL rules + urlmatch: use hex2chr() in append_normalized_escapes() + wt-status: use separate variable for result of shorten_unambiguous_ref + use DIV_ROUND_UP + +Rikard Falkeborn (6): + completion: add git config gc completions + completion: add git config core completions + completion: add git config am.threeWay completion + completion: add git config advice completions + completion: add git config credential completions + completion: add git config credentialCache.ignoreSIGHUP + +SZEDER Gábor (1): + test-lib: abort when can't remove trash directory + +Stefan Beller (22): + entry.c: submodule recursing: respect force flag correctly + submodule.c: uninitialized submodules are ignored in recursive commands + submodule.c: submodule_move_head works with broken submodules + builtin/reset: add --recurse-submodules switch + diff: recurse into nested submodules for inline diff + diff: enable indent heuristic by default + submodule recursing: do not write a config variable twice + submodule test invocation: only pass additional arguments + reset/checkout/read-tree: unify config callback for submodule recursion + submodule loading: separate code path for .gitmodules and config overlay + Introduce 'submodule.recurse' option for worktree manipulators + builtin/grep.c: respect 'submodule.recurse' option + builtin/push.c: respect 'submodule.recurse' option + builtin/fetch.c: respect 'submodule.recurse' option + submodules: overhaul documentation + builtin/fetch: factor submodule recurse parsing out to submodule config + builtin/fetch: parse recurse-submodules-default at default options parsing + pull: optionally rebase submodules (remote submodule changes only) + builtin/fetch cleanup: always set default value for submodule recursing + hashmap.h: compare function has access to a data field + patch-ids.c: use hashmap correctly + hashmap: migrate documentation from Documentation/technical into header + +Stephen Kent (1): + status: add color config slots for branch info in "--short --branch" + +Ville Skyttä (1): + Spelling fixes + +brian m. carlson (60): + fetch-pack: convert to struct object_id + Clean up outstanding object_id transforms. + Convert struct cache_tree to use struct object_id + builtin/name-rev: convert to struct object_id + builtin/prune: convert to struct object_id + bundle: convert to struct object_id + branch: convert to struct object_id + builtin/blame: convert static function to struct object_id + builtin/rev-parse: convert to struct object_id + fast-import: convert internal structs to struct object_id + fast-import: convert to struct object_id + submodule: convert merge_submodule to use struct object_id + notes-cache: convert to struct object_id + parse-options-cb: convert to struct object_id + reflog_expire: convert to struct object_id + builtin/verify-commit: convert to struct object_id + tag: convert parse_tag_buffer to struct object_id + http-push: convert some static functions to struct object_id + notes-utils: convert internals to struct object_id + revision: convert prepare_show_merge to struct object_id + shallow: convert shallow registration functions to object_id + sequencer: convert some functions to struct object_id + builtin/tag: convert to struct object_id + Convert remaining callers of lookup_commit_reference* to object_id + Convert lookup_commit* to struct object_id + pack: convert struct pack_idx_entry to struct object_id + builtin/unpack-objects: convert to struct object_id + Convert remaining callers of lookup_blob to object_id + Convert lookup_blob to struct object_id + tree: convert read_tree_1 to use struct object_id internally + builtin/reflog: convert tree_is_complete to take struct object_id + Convert lookup_tree to struct object_id + log-tree: convert to struct object_id + Convert lookup_tag to struct object_id + Convert the verify_pack callback to struct object_id + Convert struct ref_array_item to struct object_id + ref-filter: convert some static functions to struct object_id + refs: convert struct ref_update to use struct object_id + refs/files-backend: convert many internals to struct object_id + http-push: convert process_ls_object and descendants to object_id + revision: rename add_pending_sha1 to add_pending_oid + revision: convert remaining parse_object callers to object_id + upload-pack: convert remaining parse_object callers to object_id + sha1_name: convert internals of peel_onion to object_id + builtin/read-tree: convert to struct object_id + builtin/ls-files: convert overlay_tree_on_cache to object_id + sequencer: convert fast_forward_to to struct object_id + merge: convert checkout_fast_forward to struct object_id + builtin/ls-tree: convert to struct object_id + diff-lib: convert do_diff_cache to struct object_id + sequencer: convert do_recursive_merge to struct object_id + tree: convert parse_tree_indirect to struct object_id + object: convert parse_object* to take struct object_id + notes: convert internal structures to struct object_id + notes: convert internal parts to struct object_id + notes: convert for_each_note to struct object_id + notes: make get_note return pointer to struct object_id + notes: convert format_display_notes to struct object_id + builtin/notes: convert to struct object_id + notes: convert some accessor functions to struct object_id + +xiaoqiang zhao (1): + send-email: --batch-size to work around some SMTP server limit + +Ævar Arnfjörð Bjarmason (65): + tests: change "cd ... && git fetch" to "cd &&\n\tgit fetch" + clone: add a --no-tags option to clone without tags + tests: rename a test having to do with shallow submodules + perf: add function to setup a fresh test repo + perf: add test showing exponential growth in path globbing + config: match both symlink & realpath versions in IncludeIf.gitdir:* + Makefile & configure: reword inaccurate comment about PCRE + grep & rev-list doc: stop promising libpcre for --perl-regexp + test-lib: rename the LIBPCRE prerequisite to PCRE + log: add exhaustive tests for pattern style options & config + log: make --regexp-ignore-case work with --perl-regexp + grep: add a test asserting that --perl-regexp dies when !PCRE + grep: add a test for backreferences in PCRE patterns + grep: change non-ASCII -i test to stop using --debug + grep: add tests for --threads=N and grep.threads + grep: amend submodule recursion test for regex engine testing + grep: add tests for grep pattern types being passed to submodules + grep: add a test helper function for less verbose -f \0 tests + grep: prepare for testing binary regexes containing rx metacharacters + grep: add tests to fix blind spots with \0 patterns + perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't do + perf: emit progress output when unpacking & building + perf: add a comparison test of grep regex engines + perf: add a comparison test of grep regex engines with -F + perf: add a comparison test of log --grep regex engines + perf: add a comparison test of log --grep regex engines with -F + grep: catch a missing enum in switch statement + grep: remove redundant regflags assignments + grep: factor test for \0 in grep patterns into a function + grep: change the internal PCRE macro names to be PCRE1 + grep: change internal *pcre* variable & function names to be *pcre1* + grep: move is_fixed() earlier to avoid forward declaration + test-lib: add a PTHREADS prerequisite + pack-objects & index-pack: add test for --threads warning + pack-objects: fix buggy warning about threads + grep: given --threads with NO_PTHREADS=YesPlease, warn + grep: assert that threading is enabled when calling grep_{lock,unlock} + grep: don't redundantly compile throwaway patterns under threading + grep: skip pthreads overhead when using one thread + log: add -P as a synonym for --perl-regexp + grep: add support for the PCRE v1 JIT API + grep: un-break building with PCRE < 8.32 + grep: un-break building with PCRE < 8.20 + grep: un-break building with PCRE >= 8.32 without --enable-jit + grep: add support for PCRE v2 + perf: work around the tested repo having an index.lock + git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL + wildmatch test: cover a blind spot in "/" matching + coccinelle: add a rule to make "type" code use FREE_AND_NULL() + coccinelle: make use of the "type" FREE_AND_NULL() rule + coccinelle: add a rule to make "expression" code use FREE_AND_NULL() + coccinelle: make use of the "expression" FREE_AND_NULL() rule + *.[ch] refactoring: make use of the FREE_AND_NULL() macro + grep: fix erroneously copy/pasted variable in check/assert pattern + die(): stop hiding errors due to overzealous recursion guard + wildmatch: remove unused wildopts parameter + strbuf.h comment: discuss strbuf_addftime() arguments in order + grep: remove redundant double assignment to 0 + grep: adjust a redundant grep pattern type assignment + grep: remove redundant "fixed" field re-assignment to 0 + grep: remove redundant and verbose re-assignments to 0 + grep: remove regflags from the public grep_opt API + grep: remove redundant REG_NEWLINE when compiling fixed regex + strbuf: change an always NULL/"" strbuf_addftime() param to bool + sha1dc: optionally use sha1collisiondetection as a submodule + + +Version v2.13.7; changes since v2.13.6: +--------------------------------------- + +Jeff King (8): + submodule-config: verify submodule names as paths + is_ntfs_dotgit: use a size_t for traversing string + is_hfs_dotgit: match other .git files + skip_prefix: add case-insensitive variant + verify_path: drop clever fallthrough + verify_dotfile: mention case-insensitivity in comment + update-index: stat updated files earlier + verify_path: disallow symlinks in .gitmodules + +Johannes Schindelin (2): + is_ntfs_dotgit: match other .git files + is_{hfs,ntfs}_dotgitmodules: add tests + +Junio C Hamano (1): + Git 2.13.7 + + +Version v2.13.6; changes since v2.13.5: +--------------------------------------- + +Jeff King (3): + shell: drop git-cvsserver support by default + archimport: use safe_pipe_capture for user input + cvsimport: shell-quote variable used in backticks + +Junio C Hamano (6): + cvsserver: move safe_pipe_capture() to the main package + cvsserver: use safe_pipe_capture for `constant commands` as well + Git 2.10.5 + Git 2.11.4 + Git 2.12.5 + Git 2.13.6 + +joernchen (1): + cvsserver: use safe_pipe_capture instead of backticks + + +Version v2.13.5; changes since v2.13.4: +--------------------------------------- + +Jeff King (5): + t/lib-proto-disable: restore protocol.allow after config tests + t5813: add test for hostname starting with dash + connect: factor out "looks like command line option" check + connect: reject dashed arguments for proxy commands + connect: reject paths that look like command line options + +Junio C Hamano (8): + connect: reject ssh hostname that begins with a dash + Git 2.7.6 + Git 2.8.6 + Git 2.9.5 + Git 2.10.4 + Git 2.11.3 + Git 2.12.4 + Git 2.13.5 + + +Version v2.13.4; changes since v2.13.3: +--------------------------------------- + +Beat Bolli (1): + unicode: update the width tables to Unicode 10 + +Eric Wong (1): + set FD_CLOEXEC properly when O_CLOEXEC is not supported + +Jeff King (2): + gc: run pre-detach operations under lock + t: handle EOF in test_copy_bytes() + +Johannes Schindelin (2): + t1300: demonstrate that CamelCased aliases regressed + alias: compare alias name *case-insensitively* + +Jonathan Nieder (1): + pre-rebase hook: capture documentation in a <<here document + +Junio C Hamano (3): + fixes from 'master' for 2.13.4 + Preparation for 2.13.4 continues + Git 2.13.4 + +Kaartic Sivaraam (3): + doc: correct a mistake in an illustration + doc: camelCase the i18n config variables to improve readability + doc: reformat the paragraph containing the 'cut-line' + +Phillip Wood (4): + add -i: move unquote_path() to Git.pm + Git::unquote_path(): handle '\a' + Git::unquote_path(): throw an exception on bad path + t9700: add tests for Git::unquote_path() + +René Scharfe (3): + apply: use starts_with() in gitdiff_verify_name() + apply: use strcmp(3) for comparing strings in gitdiff_verify_name() + progress: show overall rate in last update + +Torsten Bögershausen (1): + cygwin: allow pushing to UNC paths + + +Version v2.13.3; changes since v2.13.2: +--------------------------------------- + +A. Wilcox (1): + subtree: honour USE_ASCIIDOCTOR when set + +Alejandro R. Sedeño (1): + ref-filter.c: drop return from void function + +Andreas Heiduk (2): + doc: do not use `rm .git/index` when normalizing line endings + doc: clarify syntax for %C(auto,...) in pretty formats + +Christian Couder (3): + read-cache: use shared perms when writing shared index + t1301: move modebits() to test-lib-functions.sh + t1700: make sure split-index respects core.sharedrepository + +David Aguilar (1): + mergetools/meld: improve compatibiilty with Meld on macOS X + +James Clarke (1): + pack-bitmap: don't perform unaligned memory access + +Jeff King (10): + diff-highlight: split code into module + add--interactive: handle EOF in prompt_yesno + add--interactive: quote commentChar regex + reflog-walk: skip over double-null oid due to HEAD rename + reflog-walk: duplicate strings in complete_reflogs list + reflog-walk: don't free reflogs added to cache + reflog-walk: include all fields when freeing complete_reflogs + branch: only perform HEAD check for local branches + branch: use BRANCH_COLOR_LOCAL in ref-filter format + branch: set remote color in ref-filter branch immediately + +Johannes Schindelin (8): + discover_git_directory(): avoid setting invalid git_dir + config: report correct line number upon error + help: use early config when autocorrecting aliases + t1308: relax the test verifying that empty alias values are disallowed + t7006: demonstrate a problem with aliases in subdirectories + alias: use the early config machinery to expand aliases + sequencer: print autostash messages to stderr + t5534: fix misleading grep invocation + +Junio C Hamano (5): + t3420: fix under GETTEXT_POISON build + t1450: use egrep for regexp "alternation" + submodule--helper: do not call utf8_fprintf() unnecessarily + Prepare for 2.13.3 + Git 2.13.3 + +Kaartic Sivaraam (2): + t7508: fix a broken indentation + builtin/commit.c: fix a typo in the comment + +Marc Branchaud (1): + auto-correct: tweak phrasing + +Phillip Wood (3): + rebase -i: add test for reflog message + rebase: add regression tests for console output + rebase: add more regression tests for console output + +Ralf Thielow (1): + l10n: de.po: fix typo + +René Scharfe (4): + pretty: recalculate duplicate short hashes + apply: check git diffs for missing old filenames + apply: check git diffs for invalid file modes + apply: check git diffs for mutually exclusive header lines + +Stefan Beller (2): + t4005: modernize style and drop hard coded sha1 + merge-recursive: use DIFF_XDL_SET macro + +Ævar Arnfjörð Bjarmason (1): + sha1dc: update from upstream + + +Version v2.13.2; changes since v2.13.1: +--------------------------------------- + +Adam Dinwoodie (1): + docs: fix formatting and grammar + +Brandon Williams (12): + t5550: use write_script to generate post-update hook + t0061: run_command executes scripts without a #! line + run-command: prepare command before forking + run-command: use the async-signal-safe execv instead of execvp + string-list: add string_list_remove function + run-command: prepare child environment before forking + run-command: don't die in child when duping /dev/null + run-command: eliminate calls to error handling functions in child + run-command: handle dup2 and close errors in child + run-command: add note about forking and threading + run-command: expose is_executable function + run-command: restrict PATH search to executable files + +Dennis Kaarsemaker (1): + send-email: Net::SMTP::SSL is obsolete, use only when necessary + +Eric Wong (1): + run-command: block signals between fork and execve + +Jeff Hostetler (1): + read-cache: close index.lock in do_write_index + +Jeff King (23): + usage.c: add BUG() function + setup_git_env: convert die("BUG") to BUG() + config: complain about --local outside of a git repo + usage.c: drop set_error_handle() + handle_revision_arg: reset "dotdot" consistently + handle_revision_arg: simplify commit reference lookups + handle_revision_arg: stop using "dotdot" as a generic pointer + handle_revision_arg: hoist ".." check out of range parsing + handle_revision_arg: add handle_dotdot() helper + sha1_name: consistently refer to object_context as "oc" + get_sha1_with_context: always initialize oc->symlink_path + get_sha1_with_context: dynamically allocate oc->path + t4063: add tests of direct blob diffs + handle_revision_arg: record modes for "a..b" endpoints + handle_revision_arg: record paths for pending objects + diff: pass whole pending entry in blobinfo + diff: use the word "path" instead of "name" for blobs + diff: use pending "path" if it is available + diff: use blob path for blob/file diffs + connect.c: fix leak in parse_one_symref_info() + remote: drop free_refspecs() function + t5313: make extended-table test more deterministic + sha1dc: ignore indent-with-non-tab whitespace violations + +Jonathan Nieder (1): + send-email: Net::SMTP::starttls was introduced in v2.34 + +Junio C Hamano (6): + name-rev: refactor logic to see if a new candidate is a better name + name-rev: favor describing with tags and use committer date to tiebreak + test: allow skipping the remainder + diff-tree: update stale in-code comments + Prepare for 2.13.2 + Git 2.13.2 + +Kyle J. McKay (1): + t5100: add some more mailinfo tests + +Lars Schneider (1): + Configure Git contribution guidelines for github.com + +Patrick Steinhardt (1): + git-stash: fix pushing stash with pathspec from subdir + +Ramsay Jones (1): + usage: add NORETURN to BUG() function definitions + +René Scharfe (5): + p0004: simplify calls of test-lazy-init-name-hash + p0004: avoid using pipes + p0004: use test_perf + p0004: don't abort if multi-threaded is too slow + p0004: don't error out if test repo is too small + +Rikard Falkeborn (1): + completion: add completions for git config commit + +SZEDER Gábor (6): + revision.h: turn rev_info.early_output back into an unsigned int + revision.c: stricter parsing of '--no-{min,max}-parents' + revision.c: stricter parsing of '--early-output' + revision.c: use skip_prefix() in handle_revision_opt() + revision.c: use skip_prefix() in handle_revision_pseudo_opt() + docs/pretty-formats: stress that %- removes all preceding line-feeds + +Sahil Dua (1): + t3200: add test for single parameter passed to -m option + +Samuel Lijin (6): + t7300: clean -d should skip dirs with ignored files + t7061: status --ignored should search untracked dirs + dir: recurse into untracked dirs for ignored files + dir: hide untracked contents of untracked dirs + dir: expose cmp_name() and check_contains() + clean: teach clean -d to preserve ignored paths + +Stefan Beller (5): + submodule_move_head: reuse child_process structure for futher commands + submodule: avoid auto-discovery in new working tree manipulator code + submodule: properly recurse for read-tree and checkout + t5545: enhance test coverage when no http server is installed + Documentation/git-rm: correct submodule description + +Tyler Brazier (1): + pull: ff --rebase --autostash works in dirty repo + +Ævar Arnfjörð Bjarmason (2): + wildmatch test: remove redundant duplicate test + sha1dc: update from upstream + +Štěpán Němec (1): + doc: git-reset: fix a trivial typo + + +Version v2.13.1; changes since v2.13.0: +--------------------------------------- + +Andreas Heiduk (4): + Documentation: fix reference to ifExists for interpret-trailers + Documentation: fix formatting typo in pretty-formats.txt + doc: filter-branch does not require re-export of vars + doc: rewrite description for rev-parse --short + +Brian Malehorn (1): + interpret-trailers: honor the cut line + +Jean-Noël Avila (3): + usability: don't ask questions if no reply is required + read-tree -m: make error message for merging 0 trees less smart aleck + git-filter-branch: be more direct in an error message + +Jeff King (14): + am: fix commit buffer leak in get_commit_info() + am: simplify allocations in get_commit_info() + am: shorten ident_split variable name in get_commit_info() + pack-objects: disable pack reuse for object-selection options + t5310: fix "; do" style + docs/config: clarify include/includeIf relationship + docs/config: give a relative includeIf example + docs/config: avoid the term "expand" for includes + docs/config: consistify include.path examples + t5400: avoid concurrent writes into a trace file + ref-filter: resolve HEAD when parsing %(HEAD) atom + revision.c: ignore broken tags with ignore_missing_links + am: handle "-h" argument earlier + docs/config: mention protocol implications of url.insteadOf + +Johannes Schindelin (31): + mingw: avoid memory leak when splitting PATH + winansi: avoid use of uninitialized value + winansi: avoid buffer overrun + add_commit_patch_id(): avoid allocating memory unnecessarily + git_config_rename_section_in_file(): avoid resource leak + get_mail_commit_oid(): avoid resource leak + difftool: address a couple of resource/memory leaks + status: close file descriptor after reading git-rebase-todo + mailinfo & mailsplit: check for EOF while parsing + cat-file: fix memory leak + checkout: fix memory leak + split_commit_in_progress(): simplify & fix memory leak + setup_bare_git_dir(): help static analysis + setup_discovered_git_dir(): plug memory leak + pack-redundant: plug memory leak + mktree: plug memory leaks reported by Coverity + fast-export: avoid leaking memory in handle_tag() + receive-pack: plug memory leak in update() + line-log: avoid memory leak + shallow: avoid memory leak + add_reflog_for_walk: avoid memory leak + remote: plug memory leak in match_explicit() + name-rev: avoid leaking memory in the `deref` case + show_worktree(): plug memory leak + submodule_uses_worktrees(): plug memory leak + Fix build with core.autocrlf=true + git-new-workdir: mark script as LF-only + completion: mark bash script as LF-only + t3901: move supporting files into t/t3901/ + Fix the remaining tests that failed with core.autocrlf=true + t4051: mark supporting files as requiring LF-only line endings + +Johannes Sixt (2): + mingw.h: permit arguments with side effects for is_dir_sep + Windows: do not treat a path with backslashes as a remote's nick name + +Jonathan Nieder (2): + credential doc: make multiple-helper behavior more prominent + clone: handle empty config values in -c + +Jonathan Tan (3): + sequencer: add newline before adding footers + docs: correct receive.advertisePushOptions default + receive-pack: verify push options in cert + +Junio C Hamano (6): + apply.c: fix whitespace-only mismerge + checkout: fix memory leak + doc: replace more gmane links + read-tree: "read-tree -m --empty" does not make sense + Prepare for 2.13.1; more topics to follow + Git 2.13.1 + +Kyle Meyer (1): + config.txt: add an entry for log.showSignature + +Lars Schneider (6): + travis-ci: build documentation with AsciiDoc and Asciidoctor + travis-ci: parallelize documentation build + travis-ci: unset compiler for jobs that do not need one + travis-ci: check AsciiDoc/AsciiDoctor stderr output + travis-ci: setup "prove cache" in "script" step + travis-ci: add job to run tests with GETTEXT_POISON + +Phillip Wood (3): + rebase -i: fix reflog message + rebase -i: silence stash apply + rebase -i: add missing newline to end of message + +Ramsay Jones (1): + t7400: add !CYGWIN prerequisite to 'add with \\ in path' + +René Scharfe (2): + checkout: check return value of resolve_refdup before using hash + am: check return value of resolve_refdup before using hash + +SZEDER Gábor (1): + docs/config.txt: fix indefinite article in core.fileMode description + +Sahil Dua (1): + branch test: fix invalid config key access + +Stefan Beller (1): + t5531: fix test description + +Sven Strickroth (1): + doc: use https links to Wikipedia to avoid http redirects + +Thomas Gummerer (1): + completion: add git stash push + +Torsten Bögershausen (1): + t0027: tests are not expensive; remove t0025 + +brian m. carlson (1): + builtin/log: honor log.decorate + +Ævar Arnfjörð Bjarmason (6): + config.mak.uname: set NO_REGEX=NeedsStartEnd on AIX + doc: replace a couple of broken gmane links + tests: fix tests broken under GETTEXT_POISON=YesPlease + sha1dc: update from upstream + tag: duplicate mention of --contains should mention --no-contains + C style: use standard style for "TRANSLATORS" comments + + +Version v2.13.0; changes since v2.13.0-rc2: +------------------------------------------- + +Alexander Shopov (2): + l10n: bg.po: Updated Bulgarian translation (3201t) + l10n: bg.po: Updated Bulgarian translation (3195t) + +Jean-Noël Avila (2): + l10n: fr.po v2.13 round 1 + l10n: fr.po v2.13 rnd 2 + +Jeff Hostetler (1): + t1450: avoid use of "sed" on the index, which is a binary file + +Jeff King (1): + shell: disallow repo names beginning with dash + +Jiang Xin (4): + l10n: git.pot: v2.13.0 round 1 (96 new, 37 removed) + l10n: zh_CN: for git v2.13.0 l10n round 1 + l10n: git.pot: v2.13.0 round 2 (4 new, 7 removed) + l10n: zh_CN: for git v2.13.0 l10n round 2 + +Jordi Mas (1): + l10n: Update Catalan translation + +Junio C Hamano (10): + Git 2.4.12 + Git 2.5.6 + Git 2.6.7 + Git 2.7.5 + Git 2.8.5 + Git 2.9.4 + Git 2.10.3 + Git 2.11.2 + Git 2.12.3 + Git 2.13 + +Michael J Gruber (1): + l10n: de.po: lower case after semi-colon + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (3199t0f0u) + l10n: sv.po: Update Swedish translation (3195t0f0u) + +Ralf Thielow (2): + l10n: de.po: update German translation + l10n: de.po: translate 4 new messages + +Ray Chen (1): + l10n: zh_CN: review for git v2.13.0 l10n round 1 + +Trần Ngọc Quân (2): + l10n: vi.po(3198t): Updated Vietnamese translation for v2.13.0-rc0 + l10n: vi.po(3195t): Update translation for v2.13.0 round 2 + +Vasco Almeida (1): + l10n: pt_PT: update Portuguese translation + + +Version v2.13.0-rc2; changes since v2.13.0-rc1: +----------------------------------------------- + +Jean-Noël Avila (1): + i18n: remove i18n from tag reflog message + +Jeff King (3): + completion: optionally disable checkout DWIM + submodule_init: die cleanly on submodules without url defined + prio_queue_reverse: don't swap elements with themselves + +Junio C Hamano (2): + Merging a handful of topics before -rc2 + Git 2.13-rc2 + +Lars Schneider (2): + travis-ci: printf $STATUS as string + travis-ci: set DEVELOPER knob for Linux32 build + +Peter Krefting (1): + i18n: read-cache: typofix + +René Genz (3): + doc: update SubmittingPatches + fix minor typos + doc: git-pull.txt use US spelling, fix minor typo + +Simon Ruderich (1): + githooks.txt: clarify push hooks are always executed in $GIT_DIR + +Stephen Hicks (1): + rebase -i: reread the todo list if `exec` touched it + +Ævar Arnfjörð Bjarmason (1): + t/perf: correctly align non-ASCII descriptions in output + + +Version v2.13.0-rc1; changes since v2.13.0-rc0: +----------------------------------------------- + +Brandon Williams (1): + submodule: prevent backslash expantion in submodule names + +Christian Couder (1): + read-cache: avoid using git_path() in freshen_shared_index() + +David Turner (2): + http.postbuffer: allow full range of ssize_t values + xgethostname: handle long hostnames + +Giuseppe Bilotta (4): + builtin/am: honor --signoff also when --rebasing + builtin/am: fold am_signoff() into am_append_signoff() + doc: trivial typo in git-format-patch.txt + rebase: pass --[no-]signoff option to git am + +Jacob Keller (2): + ls-files: fix recurse-submodules with nested submodules + ls-files: fix path used when recursing into submodules + +Jeff Hostetler (8): + read-cache: force_verify_index_checksum + string-list: use ALLOC_GROW macro when reallocing string_list + read-cache: add strcmp_offset function + unpack-trees: avoid duplicate ODB lookups during checkout + p0006-read-tree-checkout: perf test to time read-tree + read-cache: speed up add_index_entry during checkout + read-cache: speed up has_dir_name (part 1) + read-cache: speed up has_dir_name (part 2) + +Jeff King (16): + receive-pack: drop tmp_objdir_env from run_update_hook + receive-pack: document user-visible quarantine effects + refs: reject ref updates while GIT_QUARANTINE_PATH is set + bisect: add git_path_bisect_terms helper + branch: add edit_description() helper + use git_path_* helper functions + replace xstrdup(git_path(...)) with git_pathdup(...) + replace strbuf_addstr(git_path()) with git_path_buf() + am: drop "dir" parameter from am_state_init + connect.c: fix leak in handle_ssh_variant + doc: use https links to avoid http redirect + doc: replace or.cz gitwiki link with git.wiki.kernel.org + gitcore-tutorial: update broken link + docs/archimport: quote sourcecontrol.net reference + docs/bisect-lk2009: update nist report link + docs/bisect-lk2009: update java code conventions link + +Jonathan Tan (1): + fetch-pack: show clearer error message upon ERR + +Junio C Hamano (3): + replace: plug a memory leak + Getting ready for -rc1 + Git 2.13-rc1 + +Kyle Meyer (1): + t1400: use consistent style for test_expect_success calls + +Lars Schneider (1): + travis-ci: add static analysis build job to run coccicheck + +Michael Haggerty (20): + get_ref_dir(): don't call read_loose_refs() for "refs/bisect" + refs_read_raw_ref(): new function + refs_ref_iterator_begin(): new function + refs_verify_refname_available(): implement once for all backends + refs_verify_refname_available(): use function in more places + ref-cache: rename `add_ref()` to `add_ref_entry()` + ref-cache: rename `find_ref()` to `find_ref_entry()` + ref-cache: rename `remove_entry()` to `remove_entry_from_dir()` + refs: split `ref_cache` code into separate files + ref-cache: introduce a new type, ref_cache + refs: record the ref_store in ref_cache, not ref_dir + ref-cache: use a callback function to fill the cache + refs: handle "refs/bisect/" in `loose_fill_ref_dir()` + do_for_each_entry_in_dir(): eliminate `offset` argument + get_loose_ref_dir(): function renamed from get_loose_refs() + get_loose_ref_cache(): new function + cache_ref_iterator_begin(): make function smarter + commit_packed_refs(): use reference iteration + files_pack_refs(): use reference iteration + do_for_each_entry_in_dir(): delete function + +Nguyễn Thái Ngọc Duy (6): + path.c: and an option to call real_path() in expand_user_path() + config: resolve symlinks in conditional include's patterns + config: prepare to pass more info in git_config_with_options() + config: handle conditional include when $GIT_DIR is not set up + config: correct file reading order in read_early_config() + worktree add: add --lock option + +Patrick Steinhardt (1): + pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix + +Prathamesh Chavan (1): + t2027: avoid using pipes + +René Scharfe (4): + am: close stream on error, but not stdin + files_for_each_reflog_ent_reverse(): close stream and free strbuf on error + server-info: avoid calling fclose(3) twice in update_info_file() + use HOST_NAME_MAX to size buffers for gethostname(2) + +Sebastian Schuberth (4): + sha1_file: remove an used fd variable + submodule: remove a superfluous second check for the "new" variable + gitmodules: clarify what history depth a shallow clone has + gitmodules: clarify the ignore option values + +Sergey Ryazanov (2): + http: honor empty http.proxy option to bypass proxy + http: fix the silent ignoring of proxy misconfiguraion + +Torsten Bögershausen (1): + gitattributes.txt: document how to normalize the line endings + +Ævar Arnfjörð Bjarmason (2): + push: document & test --force-with-lease with multiple remotes + completion: expand "push --delete <remote> <ref>" for refs on that <remote> + + +Version v2.13.0-rc0; changes since v2.12.5: +------------------------------------------- + +Alex Henrie (1): + log: if --decorate is not given, default to --decorate=auto + +Andreas Heiduk (2): + Documentation: improve description for core.quotePath + diff-files: document --ours etc. + +Brandon Williams (36): + attr: pass struct attr_check to collect_some_attrs + attr: use hashmap for attribute dictionary + attr: eliminate global check_all_attr array + attr: remove maybe-real, maybe-macro from git_attr + attr: tighten const correctness with git_attr and match_attr + attr: store attribute stack in attr_check structure + attr: push the bare repo check into read_attr() + attr: reformat git_attr_set_direction() function + pathspec: allow querying for attributes + pathspec: allow escaped query values + submodule--helper: add is-active subcommand + submodule status: use submodule--helper is-active + submodule sync: skip work for inactive submodules + submodule sync: use submodule--helper is-active + submodule--helper clone: check for configured submodules using helper + grep: fix help text typo + setup: allow for prefix to be passed to git commands + grep: fix bug when recursing with relative pathspec + ls-files: fix typo in variable name + ls-files: fix bug when recursing with relative pathspec + grep: set default output method + submodule: decouple url and submodule interest + submodule init: initialize active submodules + clone: teach --recurse-submodules to optionally take a pathspec + submodule--helper init: set submodule.<name>.active + submodule add: respect submodule.active and submodule.<name>.active + grep: fix builds with with no thread support + send-pack: send push options correctly in stateless-rpc case + remote-curl: allow push options + sequencer: fix missing newline + push: unmark a local variable as static + push: propagate push-options with --recurse-submodules + remote: expose parse_push_refspec function + submodule--helper: add push-check subcommand + push: propagate remote and refspec with --recurse-submodules + pathspec: fix segfault in clear_pathspec + +Christian Couder (24): + config: mark an error message up for translation + t1700: change here document style + config: add git_config_get_split_index() + split-index: add {add,remove}_split_index() functions + read-cache: add and then use tweak_split_index() + update-index: warn in case of split-index incoherency + t1700: add tests for core.splitIndex + Documentation/config: add information for core.splitIndex + Documentation/git-update-index: talk about core.splitIndex config var + config: add git_config_get_max_percent_split_change() + read-cache: regenerate shared index if necessary + t1700: add tests for splitIndex.maxPercentChange + Documentation/config: add splitIndex.maxPercentChange + sha1_file: make check_and_freshen_file() non static + read-cache: touch shared index files when used + config: add git_config_get_expiry() from gc.c + read-cache: unlink old sharedindex files + t1700: test shared index file expiration + read-cache: refactor read_index_from() + read-cache: use freshen_shared_index() in read_index_from() + Documentation/config: add splitIndex.sharedIndexExpire + Documentation/git-update-index: explain splitIndex.* + update-index: fix xgetcwd() related memory leak + p0004: make perf test executable + +Cornelius Weig (1): + tag: generate useful reflog message + +David Aguilar (3): + t7800: remove whitespace before redirect + t7800: cleanup cruft left behind by tests + difftool: handle modified symlinks in dir-diff mode + +Devin Lehmacher (3): + path.c: add xdg_cache_home + credential-cache: use XDG_CACHE_HOME for socket + credential-cache: add tests for XDG functionality + +Hiroshi Shirosaki (1): + git svn: fix authentication with 'branch' + +Jacob Keller (5): + doc: add documentation for OPT_STRING_LIST + name-rev: extend --refs to accept multiple patterns + name-rev: add support to exclude refs by pattern match + describe: teach --match to accept multiple patterns + describe: teach describe negative pattern matches + +Jeff Hostetler (9): + preload-index: avoid lstat for skip-worktree items + name-hash: specify initial size for istate.dir_hash table + hashmap: allow memihash computation to be continued + hashmap: add disallow_rehash setting + hashmap: document memihash_cont, hashmap_disallow_rehash api + name-hash: perf improvement for lazy_init_name_hash + name-hash: add test-lazy-init-name-hash + name-hash: add perf test for lazy_init_name_hash + test-online-cpus: helper to return cpu count + +Jeff King (58): + setup_git_env: avoid blind fall-back to ".git" + for_each_alternate_ref: handle failure from real_pathdup() + for_each_alternate_ref: stop trimming trailing slashes + for_each_alternate_ref: use strbuf for path allocation + for_each_alternate_ref: pass name/oid instead of ref struct + for_each_alternate_ref: replace transport code with for-each-ref + fetch-pack: cache results of for_each_alternate_ref + add oidset API + receive-pack: use oidset to de-duplicate .have lines + receive-pack: fix misleading namespace/.have comment + receive-pack: treat namespace .have lines like alternates + receive-pack: avoid duplicates between our refs and alternates + ref-filter: move ref_cbdata definition into ref-filter.c + ref-filter: use contains_result enum consistently + ref-filter: die on parse_commit errors + ref-filter: use separate cache for contains_tag_algo + add--interactive: do not expand pathspecs with ls-files + cherry-pick: detect bogus arguments to --mainline + sha1dc: add collision-detecting sha1 implementation + sha1dc: adjust header includes for git + sha1dc: disable safe_hash feature + sequencer: drop "warning:" when stopping for edit + Makefile: add DC_SHA1 knob + t0013: add a basic sha1 collision detection test + hash-object: fix buffer reuse with --path in a subdirectory + prefix_filename: move docstring to header file + prefix_filename: drop length parameter + prefix_filename: return newly allocated string + prefix_filename: simplify windows #ifdef + bundle: use prefix_filename with bundle path + pager_in_use: use git_env_bool() + fast-import: use xsnprintf for writing sha1s + fast-import: use xsnprintf for formatting headers + encode_in_pack_object_header: respect output buffer length + pack.h: define largest possible encoded object size + do not check odb_mkstemp return value for errors + odb_mkstemp: write filename into strbuf + odb_mkstemp: use git_path_buf + Makefile: detect errors in running spatch + difftool: avoid strcpy + diff: avoid fixed-size buffer for patch-ids + tag: use strbuf to format tag header + fetch: use heap buffer to format reflog + avoid using fixed PATH_MAX buffers for refs + avoid using mksnpath for refs + create_branch: move msg setup closer to point of use + create_branch: use xstrfmt for reflog message + name-rev: replace static buffer with strbuf + receive-pack: print --pack-header directly into argv array + replace unchecked snprintf calls with heap buffers + combine-diff: replace malloc/snprintf with xstrfmt + convert unchecked snprintf into xsnprintf + transport-helper: replace checked snprintf with xsnprintf + gc: replace local buffer with git_path + daemon: use an argv_array to exec children + sha1_loose_object_info: return error for corrupted objects + index-pack: detect local corruption in collision check + connect.c: handle errors from split_cmdline + +Johannes Schindelin (20): + git_connect(): factor out SSH variant handling + rebase--helper: add a builtin helper for interactive rebases + rebase -i: use the rebase--helper builtin + rev-parse: fix several options when running in a subdirectory + t7006: replace dubious test + setup_git_directory(): use is_dir_sep() helper + setup: prepare setup_discovered_git_dir() for the root directory + setup_git_directory_1(): avoid changing global state + setup: introduce the discover_git_directory() function + setup: make read_early_config() reusable + read_early_config(): avoid .git/config hack when unneeded + read_early_config(): really discover .git/ + t1309: test read_early_config() + setup_git_directory_gently_1(): avoid die()ing + t1309: document cases where we would want early config not to die() + setup.c: mention unresolved problems + t7504: document regression: reword no longer calls commit-msg + sequencer: make commit options more extensible + sequencer: allow the commit-msg hooks to run during a `reword` + difftool: fix use-after-free + +Jonathan Nieder (1): + has_sha1_file: don't bother if we are not in a repository + +Junio C Hamano (41): + merge: drop 'git merge <message> HEAD <commit>' syntax + connect: rename tortoiseplink and putty variables + commit.c: use strchrnul() to scan for one line + attr.c: use strchrnul() to scan for one line + attr.c: update a stale comment on "struct match_attr" + attr.c: explain the lack of attr-name syntax check in parse_attr() + attr.c: complete a sentence in a comment + attr.c: mark where #if DEBUG ends more clearly + attr.c: simplify macroexpand_one() + attr.c: tighten constness around "git_attr" structure + attr.c: plug small leak in parse_attr_line() + attr.c: add push_stack() helper + attr.c: outline the future plans by heavily commenting + attr: rename function and struct related to checking attributes + attr: (re)introduce git_check_attr() and struct attr_check + attr: convert git_all_attrs() to use "struct attr_check" + attr: convert git_check_attrs() callers to use the new API + attr: retire git_check_attrs() API + attr: change validity check for attribute names to use positive logic + ref-filter: resurrect "strip" as a synonym to "lstrip" + connect.c: stop conflating ssh command names and overrides + First batch after 2.12 + branch: honor --abbrev/--no-abbrev in --list mode + Second batch after 2.12 + Third batch after 2.12 + Fourth batch after 2.12 + Makefile: make DC_SHA1 the default + Fifth batch for 2.13 + Sixth batch for 2.13 + tests: lint for run-away here-doc + branch doc: update description for `--list` + Seventh batch for 2.13 + sha1dc: avoid CPP macro collisions + Eighth batch for 2.13 + Ninth batch for 2.13 + Tenth batch for 2.13 + remote.[ch]: parse_push_cas_option() can be static + contrib/git-resurrect.sh: do not write \t for HT in sed scripts + Eleventh batch for 2.13 + Twelfth batch for 2.13 + Git 2.13-rc0 + +Karthik Nayak (20): + ref-filter: implement %(if), %(then), and %(else) atoms + ref-filter: include reference to 'used_atom' within 'atom_value' + ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>) + ref-filter: modify "%(objectname:short)" to take length + ref-filter: move get_head_description() from branch.c + ref-filter: introduce format_ref_array_item() + ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams + ref-filter: add support for %(upstream:track,nobracket) + ref-filter: make "%(symref)" atom work with the ':short' modifier + ref-filter: introduce refname_atom_parser_internal() + ref-filter: introduce refname_atom_parser() + ref-filter: make remote_ref_atom_parser() use refname_atom_parser_internal() + ref-filter: rename the 'strip' option to 'lstrip' + ref-filter: Do not abruptly die when using the 'lstrip=<N>' option + ref-filter: modify the 'lstrip=<N>' option to work with negative '<N>' + ref-filter: add an 'rstrip=<N>' option to atoms which deal with refnames + ref-filter: allow porcelain to translate messages in the output + branch, tag: use porcelain output + branch: use ref-filter printing APIs + branch: implement '--format' option + +Kevin Willford (2): + name-hash: fix buffer overrun + t3008: skip lazy-init test on a single-core box + +Kyle Meyer (10): + delete_ref: accept a reflog message argument + update-ref: pass reflog message to delete_ref() + rename_ref: replace empty message in HEAD's log + branch: record creation of renamed branch in HEAD's log + t1400: rename test descriptions to be unique + t1400: set core.logAllRefUpdates in "logged by touch" tests + t1400: use test_path_is_* helpers + t1400: remove a set of unused output files + t1400: use test_when_finished for cleanup + doc/revisions: remove brackets from rev^-n shorthand + +Lars Schneider (1): + travis-ci: build and test Git on Windows + +Linus Torvalds (3): + pathspec magic: add '^' as alias for '!' + pathspec: don't error out on all-exclusionary pathspec patterns + mailinfo: fix in-body header continuations + +Luke Diamand (3): + git-p4: add failing test for name-rev rather than symbolic-ref + git-p4: add read_pipe_text() internal function + git-p4: don't use name-rev to get current branch + +Matt McCutchen (1): + merge-recursive: make "CONFLICT (rename/delete)" message show both paths + +Michael Haggerty (32): + files_rename_ref(): tidy up whitespace + refname_is_safe(): correct docstring + t5505: use "for-each-ref" to test for the non-existence of references + safe_create_leading_directories_const(): preserve errno + safe_create_leading_directories(): set errno on SCLD_EXISTS + raceproof_create_file(): new function + lock_ref_sha1_basic(): inline constant + lock_ref_sha1_basic(): use raceproof_create_file() + rename_tmp_log(): use raceproof_create_file() + rename_tmp_log(): improve error reporting + log_ref_write(): inline function + log_ref_setup(): separate code for create vs non-create + log_ref_setup(): improve robustness against races + log_ref_setup(): pass the open file descriptor back to the caller + log_ref_write_1(): don't depend on logfile argument + log_ref_setup(): manage the name of the reflog file internally + log_ref_write_1(): inline function + delete_ref_loose(): derive loose reference path from lock + delete_ref_loose(): inline function + try_remove_empty_parents(): rename parameter "name" -> "refname" + try_remove_empty_parents(): don't trash argument contents + try_remove_empty_parents(): teach to remove parents of reflogs, too + files_transaction_commit(): clean up empty directories + refs: reorder some function definitions + refs: make some ref_store lookup functions private + refs: remove some unnecessary handling of submodule == "" + register_ref_store(): new function + refs: store submodule ref stores in a hashmap + refs: push the submodule attribute down + base_ref_store_init(): remove submodule argument + files_ref_store::submodule: use NULL for the main repository + read_loose_refs(): read refs using resolve_ref_recursively() + +Michael J Gruber (3): + git-prompt: add a describe style for any tags + describe: localize debug output fully + l10n: de: translate describe debug terms + +Michael Rappazzo (1): + rev-parse tests: add tests executed from a subdirectory + +Mike Hommey (1): + notes: do not break note_tree structure in note_tree_consolidate() + +Mostyn Bramley-Moore (1): + Documentation: document elements in "ls-files -s" output in order + +Nguyễn Thái Ngọc Duy (33): + attr: support quoting pathname patterns in C style + clean: use warning_errno() when appropriate + config.txt: clarify multiple key values in include.path + config.txt: reflow the second include.path paragraph + config: add conditional include + refs.h: add forward declaration for structs used in this file + files-backend: make files_log_ref_write() static + files-backend.c: delete dead code in files_ref_iterator_begin() + files-backend: delete dead code in files_init_db() + files-backend: add and use files_packed_refs_path() + files-backend: make sure files_rename_ref() always reach the end + files-backend: convert git_path() to strbuf_git_path() + files-backend: move "logs/" out of TMP_RENAMED_LOG + files-backend: add and use files_reflog_path() + files-backend: add and use files_ref_path() + files-backend: remove the use of git_path() + refs.c: introduce get_main_ref_store() + refs: rename lookup_ref_store() to lookup_submodule_ref_store() + refs.c: flatten get_ref_store() a bit + refs.c: kill register_ref_store(), add register_submodule_ref_store() + refs.c: make get_main_ref_store() public and use it + path.c: move some code out of strbuf_git_path_submodule() + refs: move submodule code out of files-backend.c + files-backend: replace submodule_allowed check in files_downcast() + refs: rename get_ref_store() to get_submodule_ref_store() and make it public + refs: add new ref-store api + refs: new transaction related ref-store api + files-backend: avoid ref api targeting main ref store + refs: delete pack_refs() in favor of refs_pack_refs() + t/helper: add test-ref-store to test ref-store functions + t1405: some basic tests on main ref store + t1406: new tests for submodule ref store + refs.h: add a note about sorting order of for_each_ref_* + +Patrick Steinhardt (5): + mailmap: add Patrick Steinhardt's work address + urlmatch: enable normalization of URLs with globs + urlmatch: split host and port fields in `struct url_info` + urlmatch: include host in urlmatch ranking + urlmatch: allow globbing for the URL host part + +Quentin Pradet (1): + git-bisect.txt: add missing word + +Ralf Thielow (2): + submodule.c: add missing ' in error messages + git-add--interactive.perl: add missing dot in a message + +Ramsay Jones (1): + name-hash: add test-lazy-init-name-hash to .gitignore + +René Scharfe (4): + log-tree: factor out fmt_output_email_subject() + pretty: use fmt_output_email_subject() + strbuf: support long paths w/o read rights in strbuf_getcwd() on FreeBSD + test-read-cache: setup git dir + +SZEDER Gábor (41): + completion: improve __git_refs()'s in-code documentation + completion tests: don't add test cruft to the test repository + completion tests: make the $cur variable local to the test helper functions + completion tests: consolidate getting path of current working directory + completion tests: check __gitdir()'s output in the error cases + completion tests: add tests for the __git_refs() helper function + completion: ensure that the repository path given on the command line exists + completion: fix most spots not respecting 'git --git-dir=<path>' + completion: respect 'git --git-dir=<path>' when listing remote refs + completion: list refs from remote when remote's name matches a directory + completion: don't list 'HEAD' when trying refs completion outside of a repo + completion: list short refs from a remote given as a URL + completion: don't offer commands when 'git --opt' needs an argument + completion: fix completion after 'git -C <path>' + rev-parse: add '--absolute-git-dir' option + completion: respect 'git -C <path>' + completion: don't use __gitdir() for git commands + completion: consolidate silencing errors from git commands + completion: don't guard git executions with __gitdir() + completion: extract repository discovery from __gitdir() + completion: cache the path to the repository + completion: restore removed line continuating backslash + completion: remove redundant __gitcomp_nl() options from _git_commit() + completion: wrap __git_refs() for better option parsing + completion: support completing full refs after '--option=refs/<TAB>' + completion: support completing fully qualified non-fast-forward refspecs + completion: support excluding full refs + completion: don't disambiguate tags and branches + completion: don't disambiguate short refs + completion: let 'for-each-ref' and 'ls-remote' filter matching refs + completion: let 'for-each-ref' strip the remote name from remote branches + completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery + completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery + completion: fill COMPREPLY directly when completing refs + completion: fill COMPREPLY directly when completing fetch refspecs + completion: speed up branch and tag completion + refs.c: use skip_prefix() in prettify_refname() + completion: put matching ctags symbol names directly into COMPREPLY + completion: extract completing ctags symbol names into helper function + completion: offer ctags symbol names for 'git log -S', '-G' and '-L:' + t6500: wait for detached auto gc at the end of the test script + +Segev Finer (2): + connect: handle putty/plink also in GIT_SSH_COMMAND + connect: Add the envvar GIT_SSH_VARIANT and ssh.variant config + +Stefan Beller (32): + Documentation: fix a typo + submodule init: warn about falling back to a local path + rev-parse: add --show-superproject-working-tree + connect_work_tree_and_git_dir: safely create leading directories + lib-submodule-update.sh: reorder create_lib_submodule_repo + lib-submodule-update.sh: do not use ./. as submodule remote + lib-submodule-update: teach test_submodule_content the -C <dir> flag + lib-submodule-update.sh: replace sha1 by hash + lib-submodule-update.sh: define tests for recursing into submodules + make is_submodule_populated gently + update submodules: add submodule config parsing + update submodules: add a config option to determine if submodules are updated + submodules: introduce check to see whether to touch a submodule + update submodules: move up prepare_submodule_repo_env + submodule.c: get_super_prefix_or_empty + update submodules: add submodule_move_head + unpack-trees: pass old oid to verify_clean_submodule + unpack-trees: check if we can perform the operation for submodules + entry.c: create submodules when interesting + builtin/checkout: add --recurse-submodules switch + builtin/read-tree: add --recurse-submodules switch + builtin/describe: introduce --broken flag + submodule.c: use argv_array in is_submodule_modified + submodule.c: factor out early loop termination in is_submodule_modified + submodule.c: convert is_submodule_modified to use strbuf_getwholeline + submodule.c: port is_submodule_modified to use porcelain 2 + submodule.c: stricter checking for submodules in is_submodule_modified + short status: improve reporting for submodule changes + unpack-trees.c: align submodule error message to the other error messages + submodule.c: correctly handle nested submodules in is_submodule_modified + diff: submodule inline diff to initialize env array. + submodule--helper: fix typo in is_active error message + +Thomas Gummerer (9): + stash: introduce push verb + stash: add test for the create command line arguments + stash: refactor stash_create + stash: teach 'push' (and 'create_stash') to honor pathspec + stash: use stash_push for no verb form + stash: allow pathspecs in the no verb form + stash: don't show internal implementation details + stash: pass the pathspec argument to git reset + stash: keep untracked files intact in stash -k + +Valery Tolstov (1): + submodule--helper.c: remove duplicate code + +Vegard Nossum (1): + xdiff -W: relax end-of-file function detection + +brian m. carlson (41): + hex: introduce parse_oid_hex + builtin/commit: convert to struct object_id + builtin/diff-tree: convert to struct object_id + builtin/describe: convert to struct object_id + builtin/fast-export: convert to struct object_id + builtin/fmt-merge-message: convert to struct object_id + builtin/grep: convert to struct object_id + builtin/branch: convert to struct object_id + builtin/clone: convert to struct object_id + builtin/merge: convert to struct object_id + Convert remaining callers of resolve_refdup to object_id + builtin/replace: convert to struct object_id + reflog-walk: convert struct reflog_info to struct object_id + refs: convert each_reflog_ent_fn to struct object_id + refs: simplify parsing of reflog entries + sha1_file: introduce an nth_packed_object_oid function + Convert object iteration callbacks to struct object_id + builtin/merge-base: convert to struct object_id + wt-status: convert to struct object_id + hash.h: move SHA-1 implementation selection into a header file + Define new hash-size constants for allocating memory + Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ + Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ + builtin/diff: convert to struct object_id + builtin/pull: convert portions to struct object_id + builtin/receive-pack: fix incorrect pointer arithmetic + builtin/receive-pack: convert portions to struct object_id + fsck: convert init_skiplist to struct object_id + parse-options-cb: convert sha1_array_append caller to struct object_id + test-sha1-array: convert most code to struct object_id + sha1_name: convert struct disambiguate_state to object_id + sha1_name: convert disambiguate_hint_fn to take object_id + submodule: convert check_for_new_submodule_commits to object_id + builtin/pull: convert to struct object_id + sha1-array: convert internal storage for struct sha1_array to object_id + Make sha1_array_append take a struct object_id * + Convert remaining callers of sha1_array_lookup to object_id + Convert sha1_array_lookup to take struct object_id + Convert sha1_array_for_each_unique and for_each_abbrev to object_id + Rename sha1_array to oid_array + Documentation: update and rename api-sha1-array.txt + +Ævar Arnfjörð Bjarmason (25): + tag doc: move the description of --[no-]merged earlier + tag doc: split up the --[no-]merged documentation + tag doc: reword --[no-]merged to talk about commits, not tips + ref-filter: make combining --merged & --no-merged an error + doc/SubmittingPatches: clarify the casing convention for "area: change..." + t/README: link to metacpan.org, not search.cpan.org + t/README: change "Inside <X> part" to "Inside the <X> part" + ref-filter: add test for --contains on a non-commit + tag: remove a TODO item from the test suite + tag tests: fix a typo in a test description + for-each-ref: partly change <object> to <commit> in help + branch doc: change `git branch <pattern>` to use `<branchname>` + tag: add more incompatibles mode tests + parse-options: add OPT_NONEG to the "contains" option + tag: change misleading --list <pattern> documentation + tag: implicitly supply --list given another list-like option + tag: change --point-at to default to HEAD + ref-filter: add --no-contains option to tag/branch/for-each-ref + ref-filter: reflow recently changed branch/tag/for-each-ref docs + tag: add tests for --with and --without + t/README: clarify the test_have_prereq documentation + doc/SubmittingPatches: show how to get a CLI commit summary + rev-parse: match @{upstream}, @{u} and @{push} case-insensitively + perl: regenerate perl.mak if perl -V changes + grep: plug a trivial memory leak + + +Version v2.12.5; changes since v2.12.4: +--------------------------------------- + +Jeff King (3): + shell: drop git-cvsserver support by default + archimport: use safe_pipe_capture for user input + cvsimport: shell-quote variable used in backticks + +Junio C Hamano (5): + cvsserver: move safe_pipe_capture() to the main package + cvsserver: use safe_pipe_capture for `constant commands` as well + Git 2.10.5 + Git 2.11.4 + Git 2.12.5 + +joernchen (1): + cvsserver: use safe_pipe_capture instead of backticks + + +Version v2.12.4; changes since v2.12.3: +--------------------------------------- + +Jeff King (5): + t/lib-proto-disable: restore protocol.allow after config tests + t5813: add test for hostname starting with dash + connect: factor out "looks like command line option" check + connect: reject dashed arguments for proxy commands + connect: reject paths that look like command line options + +Junio C Hamano (7): + connect: reject ssh hostname that begins with a dash + Git 2.7.6 + Git 2.8.6 + Git 2.9.5 + Git 2.10.4 + Git 2.11.3 + Git 2.12.4 + + +Version v2.12.3; changes since v2.12.2: +--------------------------------------- + +Devin J. Pohly (4): + t7003: ensure --prune-empty can prune root commit + t7003: ensure --prune-empty removes entire branch when applicable + filter-branch: fix --prune-empty on parentless commits + p7000: add test for filter-branch with --prune-empty + +Eric Wong (2): + http: inform about alternates-as-redirects behavior + http: release strbuf on disabled alternates + +Jeff King (32): + pack-objects: enforce --depth limit in reused deltas + pack-objects: convert recursion to iteration in break_delta_chain() + ident: mark error messages for translation + ident: handle NULL email when complaining of empty name + ident: reject all-crud ident name + ident: do not ignore empty config name/email + parse_config_key: use skip_prefix instead of starts_with + parse_config_key: allow matching single-level config + parse_hide_refs_config: tell parse_config_key we don't want a subsection + interpret_branch_name(): handle auto-namelen for @{-1} + interpret_branch_name: move docstring to header file + strbuf_branchname: drop return value + strbuf_branchname: add docstring + interpret_branch_name: allow callers to restrict expansions + t3204: test git-branch @-expansion corner cases + branch: restrict @-expansions when deleting + strbuf_check_ref_format(): expand only local branches + checkout: restrict @-expansions when finding branch + t/perf: use $MODERN_GIT for all repo-copying steps + t/perf: add fallback for pre-bin-wrappers versions of git + t: add an interoperability test harness + t/interop: add test of old clients against modern git-daemon + rev-parse: use skip_prefix when parsing options + rev-parse: add helper for parsing "--foo/--foo=" + rev-parse: simplify parsing of ref options + move odb_* declarations out of git-compat-util.h + sha1_file.c: make pack-name helper globally accessible + odb_pack_keep(): stop generating keepfile name + replace snprintf with odb_pack_name() + index-pack: make pointer-alias fallbacks safer + run-command: fix segfault when cleaning forked async process + shell: disallow repo names beginning with dash + +Jonathan Tan (1): + t/perf: export variable used in other blocks + +Junio C Hamano (12): + t5615: fix a here-doc syntax error + t7406: correct test case for submodule-update initial population + Prepare for 2.12.3 + Git 2.4.12 + Git 2.5.6 + Git 2.6.7 + Git 2.7.5 + Git 2.8.5 + Git 2.9.4 + Git 2.10.3 + Git 2.11.2 + Git 2.12.3 + +Kyle Meyer (1): + doc/config: grammar fixes for core.{editor,commentChar} + +Matt McCutchen (3): + fetch-pack: move code to report unmatched refs to a function + fetch_refs_via_pack: call report_unmatched_refs + fetch-pack: add specific error for fetching an unadvertised object + +René Scharfe (7): + cocci: use ALLOC_ARRAY + strbuf: add strbuf_add_real_path() + blame: move blame_entry duplication to add_blame_entry() + receive-pack: simplify run_update_post_hook() + http-push: don't check return value of lookup_unknown_object() + revision: remove declaration of path_name() + shortlog: don't set after_subject to an empty string + +SZEDER Gábor (3): + tests: create an interactive gdb session with the 'debug' helper + tests: make the 'test_pause' helper work in non-verbose mode + pickaxe: fix segfault with '-S<...> --pickaxe-regex' + +Santiago Torres (1): + t7004, t7030: fix here-doc syntax errors + +Stefan Beller (3): + refs: parse_hide_refs_config to use parse_config_key + wt-status: simplify by using for_each_string_list_item + t3600: rename test to describe its functionality + +Ævar Arnfjörð Bjarmason (3): + cvs tests: skip tests that call "cvs commit" when running as root + gitweb tests: change confusing "skip_all" phrasing + gitweb tests: skip tests when we don't have Time::HiRes + + +Version v2.12.2; changes since v2.12.1: +--------------------------------------- + +David Turner (1): + gc: ignore old gc.log files + +Eric Wong (1): + README: create HTTP/HTTPS links from URLs in Markdown + +Jeff King (20): + grep: move thread initialization a little lower + grep: re-order rev-parsing loop + grep: fix "--" rev/pathspec disambiguation + grep: avoid resolving revision names in --no-index case + grep: do not diagnose misspelt revs with --no-index + show-branch: drop head_len variable + show-branch: store resolved head in heap buffer + remote: avoid reading $GIT_DIR config in non-repo + grep: treat revs the same for --untracked as for --no-index + show-branch: use skip_prefix to drop magic numbers + tempfile: set errno to a known value before calling ferror() + t6300: avoid creating refs/heads/HEAD + ewah: fix eword_t/uint64_t confusion + receive-pack: fix deadlock when we cannot create tmpdir + send-pack: extract parsing of "unpack" response + send-pack: use skip_prefix for parsing unpack status + send-pack: improve unpack-status error messages + send-pack: read "unpack" status even on pack-objects failure + send-pack: report signal death of pack-objects + http-walker: fix buffer underflow processing remote alternates + +Johan Hovold (1): + send-email: only allow one address per body tag + +Jonathan Nieder (1): + remote helpers: avoid blind fall-back to ".git" when setting GIT_DIR + +Jonathan Tan (2): + grep: do not unnecessarily query repo for "--" + upload-pack: report "not our ref" to client + +Junio C Hamano (5): + config: move a few helper functions up + config: use git_config_parse_key() in git_config_parse_parameter() + diff: do not short-cut CHECK_SIZE_ONLY check in diff_populate_filespec() + Prepare for 2.12.2 + Git 2.12.2 + +Michael J Gruber (2): + git-status: make porcelain more robust + mailmap: use Michael J Gruber's new address + +Nguyễn Thái Ngọc Duy (1): + git-commit.txt: list post-rewrite in HOOKS section + +Patrick Steinhardt (2): + docs/diffcore: fix grammar in diffcore-rename header + docs/diffcore: unquote "Complete Rewrites" in headers + +Ramsay Jones (2): + wrapper.c: remove unused git_mkstemp() function + wrapper.c: remove unused gitmkstemps() function + +René Scharfe (3): + sha1_file: release fallback base's memory in unpack_entry() + commit: be more precise when searching for headers + commit: don't check for space twice when looking for header + +Ross Lagerwall (1): + remote: ignore failure to remove missing branch.<name>.merge + +Sebastian Schuberth (1): + contrib: git-remote-{bzr,hg} placeholders don't need Python + +Stefan Beller (1): + submodule-config: correct error reporting for invalid ignore value + +Ævar Arnfjörð Bjarmason (2): + doc: change erroneous --[no]-whatever into --[no-]whatever + push: mention "push.default=tracking" in the documentation + + +Version v2.12.1; changes since v2.12.0: +--------------------------------------- + +Allan Xavier (1): + line-log.c: prevent crash during union of too many ranges + +Jeff Hostetler (1): + mingw: use OpenSSL's SHA-1 routines + +Jeff King (3): + http: restrict auth methods to what the server advertises + http: add an "auto" mode for http.emptyauth + add--interactive: fix missing file prompt for patch mode with "-i" + +Johannes Schindelin (3): + Travis: also test on 32-bit Linux + t1501: demonstrate NULL pointer access with invalid GIT_WORK_TREE + real_pathdup(): fix callsites that wanted it to die on error + +Jonathan Tan (1): + http: attempt updating base URL only if no error + +Junio C Hamano (2): + Preparing for 2.12.1 + Git 2.12.1 + +Maxim Moseychuk (2): + stop_progress_msg: convert xsnprintf to xstrfmt + bisect_next_all: convert xsnprintf to xstrfmt + +Vegard Nossum (1): + line-log: use COPY_ARRAY to fix mis-sized memcpy + + +Version v2.12.0; changes since v2.12.0-rc2: +------------------------------------------- + +Alexander Shopov (1): + l10n: bg: Updated Bulgarian translation (2913t+0f+0u) + +Anthony Ramine (1): + l10n: fr.po: Fix a typo in the French translation + +Changwoo Ryu (2): + l10n: ko.po: Update Korean translation + l10n: ko.po: Update Korean translation + +Damien Regad (1): + git-check-ref-format: clarify documentation for --normalize + +Eric Wong (1): + git-svn: escape backslashes in refnames + +Grégoire Paris (1): + init: document dotfiles exclusion on template copy + +Jean-Noël Avila (2): + l10n: fr.po: v2.11-rc0 first round + l10n: fr.po: v2.12.0 round 2 3139t + +Jiang Xin (3): + l10n: git.pot: v2.12.0 round 1 (239 new, 15 removed) + l10n: git.pot: v2.12.0 round 2 (2 new) + l10n: zh_CN: for git v2.12.0 l10n round 2 + +Joachim Jablon (2): + l10n: fr.po: Fix typos + l10n: fr.po: Remove gender specific adjectives + +Jordi Mas (4): + l10n: New Catalan translation maintainer + l10n: fixes to Catalan translation + l10n: update Catalan translation + l10n: Update Catalan translation + +Junio C Hamano (1): + Git 2.12 + +Patrick Steinhardt (1): + docs/git-gc: fix default value for `--aggressiveDepth` + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (3137t0f0u) + l10n: sv.po: Update Swedish translation (3139t0f0u) + +Ralf Thielow (2): + l10n: de.po: translate 241 messages + git add -i: replace \t with blanks in the help message + +Ray Chen (1): + l10n: zh_CN: review for git v2.11.0 l10n + +Trần Ngọc Quân (2): + l10n: vi.po: Updated Vietnamese translation (3137t) + l10n: vi.po (3139t): Updated 2 new messages for rc1 + +Vasco Almeida (1): + l10n: pt_PT: update Portuguese tranlation + +brian m. carlson (2): + Documentation: correctly spell git worktree --detach + Documentation: use brackets for optional arguments + + +Version v2.12.0-rc2; changes since v2.12.0-rc1: +----------------------------------------------- + +Cornelius Weig (7): + completion: teach submodule subcommands to complete options + completion: add subcommand completion for rerere + completion: improve bash completion for git-add + completion: teach ls-remote to complete options + completion: teach replace to complete options + completion: teach remote subcommands to complete options + completion: recognize more long-options + +David Pursehouse (1): + config.txt: fix formatting of submodule.alternateErrorStrategy section + +Jacob Keller (1): + reset: add an example of how to split a commit into two + +Jeff King (3): + docs/gitremote-helpers: fix unbalanced quotes + docs/git-submodule: fix unbalanced quote + tempfile: avoid "ferror | fclose" trick + +Johannes Schindelin (1): + mingw: make stderr unbuffered again + +Junio C Hamano (4): + A bit more for -rc2 + Revert "reset: add an example of how to split a commit into two" + Hopefully the final batch of mini-topics before the final + Git 2.12-rc2 + +Lars Schneider (1): + git-p4: fix git-p4.pathEncoding for removed files + +René Scharfe (9): + add SWAP macro + apply: use SWAP macro + use SWAP macro + diff: use SWAP macro + graph: use SWAP macro + cocci: detect useless free(3) calls + ls-files: pass prefix length explicitly to prune_cache() + ls-files: move only kept cache entries in prune_cache() + rm: reuse strbuf for all remove_dir_recursively() calls, again + +Stefan Beller (4): + submodule documentation: add options to the subcommand + submodule update documentation: don't repeat ourselves + push options: pass push options to the transport helper + Documentation: unify bottom "part of git suite" lines + +Thomas Gummerer (1): + Documentation/stash: remove mention of git reset --hard + + +Version v2.12.0-rc1; changes since v2.12.0-rc0: +----------------------------------------------- + +Cornelius Weig (2): + doc: add doc for git-push --recurse-submodules=only + completion: add completion for --recurse-submodules=only + +David Aguilar (3): + difftool: fix bug when printing usage + t7800: simplify basic usage test + t7800: replace "wc -l" with test_line_count + +Denton Liu (1): + Document the --no-gui option in difftool + +Eric Wong (1): + completion: fix git svn authorship switches + +Jacob Keller (1): + reset: add an example of how to split a commit into two + +Jeff King (1): + diff: print line prefix for --name-only output + +Junio C Hamano (1): + Git 2.12-rc1 + +Nguyễn Thái Ngọc Duy (1): + rev-list-options.txt: update --all about HEAD + +Patrick Steinhardt (1): + worktree: fix option descriptions for `prune` + +René Scharfe (2): + p5302: create repositories for index-pack results explicitly + dir: avoid allocation in fill_directory() + + +Version v2.12.0-rc0; changes since v2.11.4: +------------------------------------------- + +Alex Henrie (3): + bisect: improve English grammar of not-ancestors message + receive-pack: improve English grammar of denyCurrentBranch message + clone,fetch: explain the shallow-clone option a little more clearly + +Brandon Williams (38): + real_path: resolve symlinks by hand + real_path: convert real_path_internal to strbuf_realpath + real_path: create real_pathdup + real_path: have callers use real_pathdup and strbuf_realpath + lib-proto-disable: variable name fix + http: always warn if libcurl version is too old + transport: add protocol policy config option + http: create function to get curl allowed protocols + transport: add from_user parameter to is_transport_allowed + transport: reformat flag #defines to be more readable + submodules: add RECURSE_SUBMODULES_ONLY value + push: add option to push only submodules + submodules: add helper to determine if a submodule is populated + submodules: add helper to determine if a submodule is initialized + submodules: load gitmodules file from commit sha1 + grep: add submodules as a grep source type + grep: optionally recurse into submodules + grep: enable recurse-submodules to work on <tree> objects + grep: search history of moved submodules + mv: remove use of deprecated 'get_pathspec()' + dir: remove struct path_simplify + dir: convert fill_directory to use the pathspec struct interface + ls-tree: convert show_recursive to use the pathspec struct interface + pathspec: remove the deprecated get_pathspec function + pathspec: copy and free owned memory + pathspec: remove unused variable from unsupported_magic + pathspec: always show mnemonic and name in unsupported_magic + pathspec: simpler logic to prefix original pathspec elements + pathspec: factor global magic into its own function + pathspec: create parse_short_magic function + pathspec: create parse_long_magic function + pathspec: create parse_element_magic helper + pathspec: create strip submodule slash helpers + pathspec: small readability changes + pathspec: rename prefix_pathspec to init_pathspec_item + real_path: prevent redefinition of MAXSYMLINKS + real_path: set errno when max number of symlinks is exceeded + index: improve constness for reading blob data + +Chris Packham (3): + merge: add '--continue' option as a synonym for 'git commit' + completion: add --continue option for merge + merge: ensure '--abort' option takes no arguments + +Cornelius Weig (5): + doc: clarify distinction between sign-off and pgp-signing + config: add markup to core.logAllRefUpdates doc + refs: add option core.logAllRefUpdates = always + update-ref: add test cases for bare repository + doc: add note about ignoring '--no-create-reflog' + +David Aguilar (1): + gitk: Remove translated message from comments + +Dimitriy Ryazantcev (1): + gitk: ru.po: Update Russian translation + +Elia Pinto (2): + builtin/commit.c: remove the PATH_MAX limitation via dynamic allocation + builtin/commit.c: switch to strbuf, instead of snprintf() + +George Vanburgh (1): + git-p4: fix git-p4.mapUser on Windows + +Heiko Voigt (1): + help: improve is_executable() on Windows + +Igor Kushnir (1): + git-p4: do not pass '-r 0' to p4 commands + +Jacob Keller (2): + pretty: add %(trailers) format for displaying trailers of a commit message + ref-filter: add support to display trailers as part of contents + +Jeff King (25): + xdiff: drop XDL_FAST_HASH + http: respect protocol.*.allow=user for http-alternates + merge: mark usage error strings for translation + shortlog: test and document --committer option + Revert "vreportf: avoid intermediate buffer" + vreport: sanitize ASCII control chars + t1450: refactor loose-object removal + sha1_file: fix error message for alternate objects + t1450: test fsck of packed objects + sha1_file: add read_loose_object() function + fsck: parse loose object paths directly + fsck: detect trailing garbage in all object types + t1450: clean up sub-objects in duplicate-entry test + fsck: report trees as dangling + fsck: prepare dummy objects for --connectivity-check + fsck: tighten error-checks of "git fsck <head>" + fsck: do not fallback "git fsck <bogus>" to "git fsck" + fsck: check HAS_OBJ more consistently + clear_delta_base_cache(): don't modify hashmap while iterating + t1450: use "mv -f" within loose object directory + difftool: hack around -Wzero-length-format warning + fsck: move typename() printing to its own function + fsck: lazily load types under --connectivity-only + color_parse_mem: allow empty color spec + document behavior of empty color name + +Johannes Schindelin (50): + mingw: add a regression test for pushing to UNC paths + giteveryday: unbreak rendering with AsciiDoctor + sequencer: avoid unnecessary curly braces + sequencer: move "else" keyword onto the same line as preceding brace + sequencer: use a helper to find the commit message + sequencer: support a new action: 'interactive rebase' + sequencer (rebase -i): implement the 'noop' command + sequencer (rebase -i): implement the 'edit' command + sequencer (rebase -i): implement the 'exec' command + sequencer (rebase -i): learn about the 'verbose' mode + sequencer (rebase -i): write the 'done' file + sequencer (rebase -i): add support for the 'fixup' and 'squash' commands + sequencer (rebase -i): implement the short commands + sequencer (rebase -i): write an author-script file + sequencer (rebase -i): allow continuing with staged changes + sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed + sequencer (rebase -i): skip some revert/cherry-pick specific code path + sequencer (rebase -i): the todo can be empty when continuing + sequencer (rebase -i): update refs after a successful rebase + sequencer (rebase -i): leave a patch upon error + sequencer (rebase -i): implement the 'reword' command + sequencer (rebase -i): allow fast-forwarding for edit/reword + sequencer (rebase -i): refactor setting the reflog message + sequencer (rebase -i): set the reflog message consistently + sequencer (rebase -i): copy commit notes at end + sequencer (rebase -i): record interrupted commits in rewritten, too + sequencer (rebase -i): run the post-rewrite hook, if needed + sequencer (rebase -i): respect the rebase.autostash setting + sequencer (rebase -i): respect strategy/strategy_opts settings + sequencer (rebase -i): allow rescheduling commands + sequencer (rebase -i): implement the 'drop' command + sequencer (rebase -i): differentiate between comments and 'noop' + difftool: add a skeleton for the upcoming builtin + sequencer: update reading author-script + sequencer: use run_command() directly + sequencer (rebase -i): show only failed `git commit`'s output + sequencer (rebase -i): show only failed cherry-picks' output + sequencer (rebase -i): suggest --edit-todo upon unknown command + sequencer (rebase -i): show the progress + sequencer (rebase -i): write the progress into files + sequencer (rebase -i): write out the final message + difftool: implement the functionality in the builtin + difftool: retire the scripted version + remote rename: demonstrate a bogus "remote exists" bug + remote rename: more carefully determine whether a remote is configured + relink: retire the command + status: be prepared for not-yet-started interactive rebase + t/Makefile: add a rule to re-run previously-failed tests + test-lib: on FreeBSD, look for unzip(1) in /usr/local/bin/ + mingw: allow hooks to be .exe files + +Johannes Sixt (1): + real_path: canonicalize directory separators in root parts + +Jonathan Tan (5): + trailer: be stricter in parsing separators + commit: make ignore_non_trailer take buf/len + trailer: avoid unnecessary splitting on lines + trailer: have function to describe trailer layout + sequencer: use trailer's trailer layout + +Junio C Hamano (25): + git_open(): untangle possible NOATIME and CLOEXEC interactions + git_open_cloexec(): use fcntl(2) w/ FD_CLOEXEC fallback + sha1_file: stop opening files with O_NOATIME + Start post 2.11 cycle + wt-status: implement opportunisitc index update correctly + hold_locked_index(): align error handling with hold_lockfile_for_update() + lockfile: LOCK_REPORT_ON_ERROR + Early fixes for 2.11.x series + First batch for 2.12 + Second batch for 2.12 + i18n: fix misconversion in shell scripts + t4201: make tests work with and without the MINGW prerequiste + Third batch for 2.12 + diff: retire "compaction" heuristics + lockfile: move REPORT_ON_ERROR bit elsewhere + Fourth batch for 2.12 + Fifth batch 2.12 + RelNotes: drop merge-later comments for maint + Sixth batch for 2.12 + Seventh batch for 2.12 + show-ref: remove a stale comment + relink: really remove the command + Eighth batch for 2.12 + Ninth batch for 2.12; almost ready for -rc0 + Git 2.12-rc0 + +Lars Schneider (2): + git-p4: add config to retry p4 commands; retry 3 times by default + git-p4: add diff/merge properties to .gitattributes for GitLFS files + +Linus Torvalds (1): + shortlog: group by committer information + +Lukas Puehringer (3): + gpg-interface, tag: add GPG_VERIFY_OMIT_STATUS flag + ref-filter: add function to print single ref_array_item + builtin/tag: add --format argument for tag -v + +Luke Diamand (2): + git-p4: support updating an existing shelved changelist + git-p4: support git worktrees + +Markus Hitter (3): + gitk: Turn off undo manager in the text widget + gitk: Remove closed file descriptors from $blobdifffd + gitk: Clear array 'commitinfo' on reload + +Matt McCutchen (1): + t0001: don't let a default ACL interfere with the umask test + +Nguyễn Thái Ngọc Duy (5): + tag, branch, for-each-ref: add --ignore-case for sorting and filtering + rebase: add --quit to cleanup rebase, leave everything else untouched + color.c: fix color_parse_mem() with value_len == 0 + color.c: trim leading spaces in color_parse_mem() + log --graph: customize the graph lines with config log.graphColors + +Paul Mackerras (2): + gitk: Use explicit RGB green instead of "lime" + gitk: Update copyright notice to 2016 + +Peter Law (1): + Completion: Add support for --submodule=diff + +Philip Oakley (3): + doc: gitk: remove gitview reference + doc: gitk: add the upstream repo location + doc: git-gui browser does not default to HEAD + +Pranit Bauva (2): + don't use test_must_fail with grep + t9813: avoid using pipes + +Ramsay Jones (1): + GIT-VERSION-GEN: do not force abbreviation length used by 'describe' + +René Scharfe (11): + compat: add qsort_s() + add QSORT_S + perf: add basic sort performance test + string-list: use QSORT_S in string_list_sort() + ref-filter: use QSORT_S in ref_array_sort() + abspath: add absolute_pathdup() + use absolute_pathdup() + use oid_to_hex_r() for converting struct object_id hashes to hex strings + use oidcpy() for copying hashes between instances of struct object_id + checkout: convert post_checkout_hook() to struct object_id + receive-pack: call string_list_clear() unconditionally + +Richard Hansen (16): + .mailmap: record canonical email for Richard Hansen + rev-parse doc: pass "--" to rev-parse in the --prefix example + t7610: update branch names to match test number + t7610: move setup code to the 'setup' test case + t7610: use test_when_finished for cleanup tasks + t7610: don't rely on state from previous test + t7610: run 'git reset --hard' after each test to clean up + t7610: delete some now-unnecessary 'git reset --hard' lines + t7610: always work on a test-specific branch + t7610: don't assume the checked-out commit + t7610: spell 'git reset --hard' consistently + t7610: add test case for rerere+mergetool+subdir bug + mergetool: take the "-O" out of $orderfile + mergetool: fix running in subdir when rerere enabled + diff: document behavior of relative diff.orderFile + diff: document the format of the -O (diff.orderFile) file + +Rogier Goossens (3): + gitk: Add a 'rename' option to the branch context menu + gitk: Allow checking out a remote branch + gitk: Include commit title in branch dialog + +SZEDER Gábor (9): + t7004-tag: delete unnecessary tags with test_when_finished + t7004-tag: use test_config helper + t7004-tag: add version sort tests to show prerelease reordering issues + versioncmp: pass full tagnames to swap_prereleases() + versioncmp: cope with common part overlapping with prerelease suffix + versioncmp: use earliest-longest contained suffix to determine sorting order + versioncmp: factor out helper for suffix matching + versioncmp: generalize version sort suffix reordering + .mailmap: update Gábor Szeder's email address + +Santiago Torres (3): + builtin/verify-tag: add --format to verify-tag + t/t7030-verify-tag: Add --format specifier tests + t/t7004-tag: Add --format specifier tests + +Satoshi Yasushima (1): + gitk: Fix Japanese translation for "marked commit" + +Stefan Beller (35): + submodule config: inline config_from_{name, path} + submodule-config: rename commit_sha1 to treeish_name + submodule-config: clarify parsing of null_sha1 element + submodule add: extend force flag to add existing repos + submodule: use absolute path for computing relative path connecting + submodule helper: support super prefix + test-lib-functions.sh: teach test_commit -C <dir> + worktree: check if a submodule uses worktrees + move connect_work_tree_and_git_dir to dir.h + submodule: add absorb-git-dir function + worktree: initialize return value for submodule_uses_worktrees + submodule.h: add extern keyword to functions + submodule: modernize ok_to_remove_submodule to use argv_array + submodule: rename and add flags to ok_to_remove_submodule + rm: absorb a submodules git dir before deletion + submodule.c: use GIT_DIR_ENVIRONMENT consistently + contrib: remove gitview + pathspec: give better message for submodule related pathspec error + unpack-trees: move checkout state into check_updates + unpack-trees: remove unneeded continue + unpack-trees: factor progress setup out of check_updates + read-tree: use OPT_BOOL instead of OPT_SET_INT + t1000: modernize style + t1001: modernize style + submodule absorbgitdirs: mention in docstring help + t7411: quote URLs + t7411: test lookup of uninitialized submodules + submodule update --init: display correct path from submodule + lib-submodule-update.sh: reduce use of subshell by using "git -C" + contrib: remove git-convert-objects + unpack-trees: support super-prefix option + setup: add gentle version of resolve_git_dir + cache.h: expose the dying procedure for reading gitlinks + submodule absorbing: fix worktree/gitdir pointers recursively for non-moves + submodule update: run custom update script for initial populating as well + +Stefan Dotterweich (1): + gitk: Fix missing commits when using -S or -G + +Steven Penny (2): + Makefile: POSIX windres + Makefile: put LIBS after LDFLAGS for imap-send + +Vasco Almeida (18): + gitk: Makefile: create install bin directory + gitk: Add Portuguese translation + Git.pm: add subroutines for commenting lines + i18n: add--interactive: mark strings for translation + i18n: add--interactive: mark simple here-documents for translation + i18n: add--interactive: mark strings with interpolation for translation + i18n: clean.c: match string with git-add--interactive.perl + i18n: add--interactive: mark plural strings + i18n: add--interactive: mark patch prompt for translation + i18n: add--interactive: i18n of help_patch_cmd + i18n: add--interactive: mark edit_hunk_manually message for translation + i18n: add--interactive: remove %patch_modes entries + i18n: add--interactive: mark status words for translation + i18n: send-email: mark strings for translation + i18n: send-email: mark warnings and errors for translation + i18n: send-email: mark string with interpolation for translation + i18n: send-email: mark composing message for translation + i18n: difftool: mark warnings for translation + +Vegard Nossum (1): + diff: add interhunk context config option + +Vinicius Kursancew (1): + git-p4: allow submit to create shelved changelists. + +Vitaly "_Vi" Shukela (1): + submodule--helper: set alternateLocation for cloned submodules + +Vladimir Panteleev (5): + show-ref: accept HEAD with --verify + show-ref: allow -d to work with --verify + show-ref: move --quiet handling into show_one() + show-ref: detect dangling refs under --verify as well + show-ref: remove dead `if (verify)' check + +brian m. carlson (8): + Documentation: fix warning in cat-texi.perl + Documentation: modernize cat-texi.perl + Documentation: remove unneeded argument in cat-texi.perl + Documentation: sort sources for gitman.texi + Documentation: add XSLT to fix DocBook for Texinfo + Documentation: move dblatex arguments into variable + Makefile: add a knob to enable the use of Asciidoctor + Documentation: implement linkgit macro for Asciidoctor + +마누엘 (1): + asciidoctor: fix user-manual to be built by `asciidoctor` + + +Version v2.11.4; changes since v2.11.3: +--------------------------------------- + +Jeff King (3): + shell: drop git-cvsserver support by default + archimport: use safe_pipe_capture for user input + cvsimport: shell-quote variable used in backticks + +Junio C Hamano (4): + cvsserver: move safe_pipe_capture() to the main package + cvsserver: use safe_pipe_capture for `constant commands` as well + Git 2.10.5 + Git 2.11.4 + +joernchen (1): + cvsserver: use safe_pipe_capture instead of backticks + + +Version v2.11.3; changes since v2.11.2: +--------------------------------------- + +Jeff King (4): + t5813: add test for hostname starting with dash + connect: factor out "looks like command line option" check + connect: reject dashed arguments for proxy commands + connect: reject paths that look like command line options + +Junio C Hamano (6): + connect: reject ssh hostname that begins with a dash + Git 2.7.6 + Git 2.8.6 + Git 2.9.5 + Git 2.10.4 + Git 2.11.3 + + +Version v2.11.2; changes since v2.11.1: +--------------------------------------- + +Jeff King (1): + shell: disallow repo names beginning with dash + +Junio C Hamano (8): + Git 2.4.12 + Git 2.5.6 + Git 2.6.7 + Git 2.7.5 + Git 2.8.5 + Git 2.9.4 + Git 2.10.3 + Git 2.11.2 + + +Version v2.11.1; changes since v2.11.0: +--------------------------------------- + +Alan Davies (1): + mingw: fix colourization on Cygwin pseudo terminals + +Andreas Krey (2): + commit: make --only --allow-empty work without paths + commit: remove 'Clever' message for --only --amend + +Beat Bolli (6): + update_unicode.sh: move it into contrib/update-unicode + update_unicode.sh: remove an unnecessary subshell level + update_unicode.sh: pin the uniset repo to a known good commit + update_unicode.sh: automatically download newer definition files + update_unicode.sh: remove the plane filter + unicode_width.h: update the width tables to Unicode 9.0 + +Brandon Williams (2): + push: --dry-run updates submodules when --recurse-submodules=on-demand + push: fix --dry-run to not push submodules + +Christian Couder (1): + Documentation/bisect: improve on (bad|new) and (good|bad) + +David Aguilar (8): + mergetool: honor mergetool.$tool.trustExitCode for built-in tools + mergetools/vimdiff: trust Vim's exit code + difftool: fix dir-diff index creation when in a subdirectory + difftool: fix dir-diff index creation when in a subdirectory + difftool: sanitize $workdir as early as possible + difftool: chdir as early as possible + difftool: rename variables for consistency + mergetools: fix xxdiff hotkeys + +David Turner (5): + submodules: allow empty working-tree dirs in merge/cherry-pick + remote-curl: don't hang when a server dies before any output + upload-pack: optionally allow fetching any sha1 + auto gc: don't write bitmaps for incremental repacks + repack: die on incremental + write-bitmap-index + +Dennis Kaarsemaker (1): + push: test pushing ambiguously named branches + +Eric Wong (2): + git-svn: allow "0" in SVN path components + git-svn: document useLogAuthor and addAuthorFrom config keys + +George Vanburgh (1): + git-p4: fix multi-path changelist empty commits + +Heiko Voigt (4): + serialize collection of changed submodules + serialize collection of refs that contain submodule changes + batch check whether submodule needs pushing into one call + submodule_needs_pushing(): explain the behaviour when we cannot answer + +Jack Bates (1): + diff: handle --no-abbrev in no-index case + +Jeff Hostetler (1): + mingw: replace isatty() hack + +Jeff King (32): + rev-parse: fix parent shorthands with --symbolic + t7610: clean up foo.XXXXXX tmpdir + http: simplify update_url_from_redirect + http: always update the base URL for redirects + remote-curl: rename shadowed options variable + http: make redirects more obvious + http: treat http-alternates like redirects + http-walker: complain about non-404 loose object errors + stash: prefer plumbing over git-diff + alternates: accept double-quoted paths + tmp-objdir: quote paths we add to alternates + Makefile: reformat FIND_SOURCE_FILES + Makefile: exclude test cruft from FIND_SOURCE_FILES + Makefile: match shell scripts in FIND_SOURCE_FILES + Makefile: exclude contrib from FIND_SOURCE_FILES + parse-options: print "fatal:" before usage_msg_opt() + README: replace gmane link with public-inbox + t5000: extract nongit function to test-lib-functions.sh + index-pack: complain when --stdin is used outside of a repo + t: use nongit() function where applicable + index-pack: skip collision check when not in repository + archive-zip: load userdiff config + rebase--interactive: count squash commits above 10 correctly + blame: fix alignment with --abbrev=40 + blame: handle --no-abbrev + blame: output porcelain "previous" header for each file + git_exec_path: do not return the result of getenv() + execv_dashed_external: use child_process struct + execv_dashed_external: stop exiting with negative code + execv_dashed_external: wait for child on signal death + t7810: avoid assumption about invalid regex syntax + CodingGuidelines: clarify multi-line brace style + +Johannes Schindelin (6): + cherry-pick: demonstrate a segmentation fault + merge-recursive: handle NULL in add_cacheinfo() correctly + mingw: intercept isatty() to handle /dev/null as Git expects it + mingw: adjust is_console() to work with stdin + git_exec_path: avoid Coverity warning about unfree()d result + mingw: follow-up to "replace isatty() hack" + +Johannes Sixt (3): + t5547-push-quarantine: run the path separator test on Windows, too + normalize_path_copy(): fix pushing to //server/share/dir on Windows + t5615-alternate-env: double-quotes in file names do not work on Windows + +Jonathan Tan (1): + fetch: do not redundantly calculate tag refmap + +Junio C Hamano (11): + utf8: refactor code to decide fallback encoding + utf8: accept "latin-1" as ISO-8859-1 + push: do not use potentially ambiguous default refspec + compression: unify pack.compression configuration parsing + pull: fast-forward "pull --rebase=true" + preparing for 2.10.3 + Revert "sequencer: remove useless get_dir() function" + config.abbrev: document the new default that auto-scales + Almost ready for 2.11.1 + Ready for 2.11.1 + Git 2.11.1 + +Kristoffer Haugsbakk (4): + doc: add articles (grammar) + doc: add verb in front of command to run + doc: make the intent of sentence clearer + doc: omit needless "for" + +Kyle J. McKay (1): + mailinfo.c: move side-effects outside of assert + +Kyle Meyer (1): + branch_get_push: do not segfault when HEAD is detached + +Lars Schneider (6): + travis-ci: update P4 to 16.2 and GitLFS to 1.5.2 in Linux build + git-p4: fix empty file processing for large file system backend GitLFS + t0021: minor filter process test cleanup + docs: warn about possible '=' in clean/smudge filter process values + t0021: fix flaky test + travis-ci: fix Perforce install on macOS + +Luis Ressel (1): + date-formats.txt: Typo fix + +Luke Diamand (1): + git-p4: avoid crash adding symlinked directory + +Matt McCutchen (2): + doc: mention transfer data leaks in more places + git-gc.txt: expand discussion of races with other processes + +Max Kirillov (1): + mingw: consider that UNICODE_STRING::Length counts bytes + +Mike Hommey (1): + fast-import: properly fanout notes when tree is imported + +Nguyễn Thái Ngọc Duy (13): + worktree.c: zero new 'struct worktree' on allocation + worktree: reorder an if statement + get_worktrees() must return main worktree as first item even on error + worktree.c: get_worktrees() takes a new flag argument + worktree list: keep the list sorted + merge-recursive.c: use string_list_sort instead of qsort + shallow.c: rename fields in paint_info to better express their purposes + shallow.c: stop abusing COMMIT_SLAB_SIZE for paint_info's memory pools + shallow.c: make paint_alloc slightly more robust + shallow.c: remove useless code + config.c: handle error case for fstat() calls + config.c: rename label unlock_and_out + config.c: handle lock file in error case in git_config_rename_... + +Rasmus Villemoes (2): + shallow.c: avoid theoretical pointer wrap-around + shallow.c: bit manipulation tweaks + +Stefan Beller (7): + unpack-trees: fix grammar for untracked files in directories + t3600: remove useless redirect + t3600: slightly modernize style + cache.h: document index_name_pos + cache.h: document remove_index_entry_at + cache.h: document add_[file_]to_index + documentation: retire unfinished documentation + +Stephan Beyer (5): + am: fix filename in safe_to_abort() error message + am: change safe_to_abort()'s not rewinding error into a warning + t3510: test that cherry-pick --abort does not unsafely change HEAD + sequencer: make sequencer abort safer + sequencer: remove useless get_dir() function + +Torsten Bögershausen (1): + convert: git cherry-pick -Xrenormalize did not work + +Wolfram Sang (1): + request-pull: drop old USAGE stuff + + +Version v2.11.0; changes since v2.11.0-rc3: +------------------------------------------- + +Alex Henrie (1): + l10n: ca.po: update translation + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Jeff King (1): + common-main: stop munging argv[0] path + +Jiang Xin (1): + l10n: fix unmatched single quote in error message + +Junio C Hamano (1): + Git 2.11 + +Marc Branchaud (1): + RelNotes: spelling and phrasing fixups + +Ralf Thielow (1): + l10n: de.po: translate 210 new messages + + +Version v2.11.0-rc3; changes since v2.11.0-rc2: +----------------------------------------------- + +Changwoo Ryu (1): + l10n: ko.po: Update Korean translation + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Jean-Noël Avila (1): + l10n: fr.po v2.11.0_rnd1 + +Jiang Xin (5): + l10n: git.pot: v2.11.0 round 1 (209 new, 53 removed) + l10n: zh_CN: for git v2.11.0 l10n round 1 + i18n: fix unmatched single quote in error message + l10n: git.pot: v2.11.0 round 2 (1 new, 1 removed) + l10n: Fixed typo of git fetch-pack command + +Johannes Schindelin (3): + rebase -i: highlight problems with core.commentchar + stripspace: respect repository config + rebase -i: handle core.commentChar=auto + +Jonathan Tan (1): + doc: mention user-configured trailers + +Junio C Hamano (4): + for-each-ref: do not segv with %(HEAD) on an unborn branch + mailinfo: read local configuration + archive: read local configuration + Git 2.11-rc3 + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (2913t0f0u) + +Trần Ngọc Quân (1): + l10n: vi.po: Updated translation to v2.11.0 (2913t) + +Vasco Almeida (1): + l10n: pt_PT: update Portuguese translation + +jfbu (1): + l10n: fr.po fix grammar mistakes + + +Version v2.11.0-rc2; changes since v2.11.0-rc1: +----------------------------------------------- + +Ben North (1): + git-worktree.txt: fix typo "to"/"two", and add comma + +Jeff King (1): + create_branch: drop unused "head" parameter + +Junio C Hamano (1): + Git 2.11-rc2 + +Tobias Klauser (1): + diffcore-delta: remove unused parameter to diffcore_count_changes() + + +Version v2.11.0-rc1; changes since v2.11.0-rc0: +----------------------------------------------- + +Andreas Schwab (2): + t6026-merge-attr: don't fail if sleep exits early + t6026-merge-attr: ensure that the merge driver was called + +Christian Couder (1): + split-index: s/eith/with/ typo fix + +Jeff King (6): + t0021: use write_script to create rot13 shell script + t0021: put $TEST_ROOT in $PATH + t0021: use $PERL_PATH for rot13-filter.pl + t0021: fix filehandle usage on older perl + alternates: re-allow relative paths from environment + sequencer: silence -Wtautological-constant-out-of-range-compare + +Johannes Schindelin (1): + t6026: ensure that long-running script really is + +Johannes Sixt (4): + t0021: expect more variations in the output of uniq -c + t0021: compute file size with a single process instead of a pipeline + t0021, t5615: use $PWD instead of $(pwd) in PATH-like shell variables + t6026: clarify the point of "kill $(cat sleep.pid)" + +Junio C Hamano (5): + A bit of updates post -rc0 + Revert "t6026-merge-attr: ensure that the merge driver was called" + Revert "t6026-merge-attr: don't fail if sleep exits early" + t0021: remove debugging cruft + Git 2.11.0-rc1 + +Lars Schneider (2): + Makefile: set NO_OPENSSL on macOS by default + travis-ci: disable GIT_TEST_HTTPD for macOS + +Patrick Steinhardt (1): + doc: fix location of 'info/' with $GIT_COMMON_DIR + +Ralf Thielow (1): + fetch-pack.c: correct command at the beginning of an error message + +René Scharfe (2): + sha1_name: make wraparound of the index into ring-buffer explicit + cocci: avoid self-references in object_id transformations + + +Version v2.11.0-rc0; changes since v2.10.5: +------------------------------------------- + +Aaron M Watson (1): + stash: allow stashes to be referenced by index only + +Alex Riesen (2): + git-gui: support for $FILENAMES in tool definitions + git-gui: ensure the file in the diff pane is in the list of selected files + +Alexander Shopov (2): + git-gui i18n: Updated Bulgarian translation (565,0f,0u) + git-gui: Mark 'All' in remote.tcl for translation + +Brandon Williams (4): + git: make super-prefix option + ls-files: optionally recurse into submodules + ls-files: pass through safe options for --recurse-submodules + ls-files: add pathspec matching for submodules + +Christian Couder (42): + apply: make some names more specific + apply: move 'struct apply_state' to apply.h + builtin/apply: make apply_patch() return -1 or -128 instead of die()ing + builtin/apply: read_patch_file() return -1 instead of die()ing + builtin/apply: make find_header() return -128 instead of die()ing + builtin/apply: make parse_chunk() return a negative integer on error + builtin/apply: make parse_single_patch() return -1 on error + builtin/apply: make parse_whitespace_option() return -1 instead of die()ing + builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing + builtin/apply: move init_apply_state() to apply.c + apply: make init_apply_state() return -1 instead of exit()ing + builtin/apply: make check_apply_state() return -1 instead of die()ing + builtin/apply: move check_apply_state() to apply.c + builtin/apply: make apply_all_patches() return 128 or 1 on error + builtin/apply: make parse_traditional_patch() return -1 on error + builtin/apply: make gitdiff_*() return 1 at end of header + builtin/apply: make gitdiff_*() return -1 on error + builtin/apply: change die_on_unsafe_path() to check_unsafe_path() + builtin/apply: make build_fake_ancestor() return -1 on error + builtin/apply: make remove_file() return -1 on error + builtin/apply: make add_conflicted_stages_file() return -1 on error + builtin/apply: make add_index_file() return -1 on error + builtin/apply: make create_file() return -1 on error + builtin/apply: make write_out_one_result() return -1 on error + builtin/apply: make write_out_results() return -1 on error + unpack-objects: add --max-input-size=<size> option + builtin/apply: make try_create_file() return -1 on error + builtin/apply: make create_one_file() return -1 on error + builtin/apply: rename option parsing functions + apply: rename and move opt constants to apply.h + apply: move libified code from builtin/apply.c to apply.{c,h} + apply: make some parsing functions static again + apply: use error_errno() where possible + apply: make it possible to silently apply + apply: don't print on stdout in verbosity_silent mode + usage: add set_warn_routine() + usage: add get_error_routine() and get_warn_routine() + apply: change error_routine when silent + apply: refactor `git apply` option parsing + apply: pass apply state to build_fake_ancestor() + apply: learn to use a different index file + builtin/am: use apply API in run_apply() + +David Aguilar (4): + mergetool: add copyright + mergetool: move main program flow into a main() function + mergetool: honor diff.orderFile + mergetool: honor -O<orderfile> + +David Turner (9): + rename_ref_available(): add docstring + refs: add methods for reflog + refs: add method for initial ref transaction commit + refs: make delete_refs() virtual + refs: add methods to init refs db + refs: add method to rename refs + refs: make lock generic + refs: implement iteration over only per-worktree refs + fsck: handle bad trees like other errors + +Dimitriy Ryazantcev (1): + git-gui: Update Russian translation + +Elia Pinto (1): + git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command substitution + +Emily Xie (1): + pathspec: warn on empty strings as pathspec + +Eric Wong (2): + git-svn: reduce scope of input record separator change + git-svn: "git worktree" awareness + +Gavin Lambert (1): + git-svn: do not reuse caches memoized for a different architecture + +Ian Kelling (2): + gitweb: remove unused guess_file_syntax() parameter + gitweb: use highlight's shebang detection + +Jacob Keller (9): + format-patch: show 0/1 and 1/1 for singleton patch with cover letter + cache: add empty_tree_oid object and helper function + graph: add support for --line-prefix on all graph-aware output + diff: prepare for additional submodule formats + allow do_submodule_path to work even if submodule isn't checked out + submodule: convert show_submodule_summary to use struct object_id * + submodule: refactor show_submodule_summary with helper function + diff: teach diff to display submodule difference with an inline diff + rev-list: use hdr_termination instead of a always using a newline + +Jean-Noël Avila (1): + i18n: i18n: diff: mark die messages for translation + +Jeff Hostetler (9): + status: rename long-format print routines + status: cleanup API to wt_status_print + status: support --porcelain[=<version>] + status: collect per-file data for --porcelain=v2 + status: print per-file porcelain v2 status data + status: print branch info with --porcelain=v2 --branch + git-status.txt: describe --porcelain=v2 format + test-lib-functions.sh: add lf_to_nul helper + status: unit tests for --porcelain=v2 + +Jeff King (75): + provide an initializer for "struct object_info" + sha1_file: make packed_object_info public + pack-objects: break delta cycles before delta-search phase + pack-objects: use mru list when iterating over packs + cache_or_unpack_entry: drop keep_cache parameter + clear_delta_base_cache_entry: use a more descriptive name + release_delta_base_cache: reuse existing detach function + delta_base_cache: use list.h for LRU + delta_base_cache: drop special treatment of blobs + delta_base_cache: use hashmap.h + t/perf: add basic perf tests for delta base cache + index-pack: add --max-input-size=<size> option + receive-pack: allow a maximum input size to be specified + add_delta_base_cache: use list_for_each_safe + hash-object: always try to set up the git repository + patch-id: use RUN_SETUP_GENTLY + diff: skip implicit no-index check when given --no-index + diff: handle --no-index prefixes consistently + diff: always try to set up the repository + pager: remove obsolete comment + pager: stop loading git_default_config() + pager: make pager_program a file-local static + pager: use callbacks instead of configset + pager: handle early config + t1302: use "git -C" + test-config: setup git directory + config: only read .git/config from configured repos + init: expand comments explaining config trickery + init: reset cached config when entering new repo + t1007: factor out repeated setup + clone: pass --progress decision to recursive submodules + get_sha1: detect buggy calls with multiple disambiguators + get_sha1: avoid repeating ourselves via ONLY_TO_DIE + get_sha1: propagate flags to child functions + get_short_sha1: parse tags when looking for treeish + get_short_sha1: refactor init of disambiguation code + get_short_sha1: NUL-terminate hex prefix + get_short_sha1: mark ambiguity error for translation + sha1_array: let callbacks interrupt iteration + for_each_abbrev: drop duplicate objects + get_short_sha1: list ambiguous objects on error + xdiff: rename "struct group" to "struct xdlgroup" + get_short_sha1: make default disambiguation configurable + tree-walk: be more specific about corrupt tree errors + t5613: drop reachable_via function + t5613: drop test_valid_repo function + t5613: use test_must_fail + t5613: whitespace/style cleanups + t5613: do not chdir in main process + find_unique_abbrev: move logic out of get_short_sha1() + t5613: clarify "too deep" recursion tests + link_alt_odb_entry: handle normalize_path errors + link_alt_odb_entry: refactor string handling + alternates: provide helper for adding to alternates list + alternates: provide helper for allocating alternate + alternates: encapsulate alt->base munging + alternates: use a separate scratch space + fill_sha1_file: write "boring" characters + alternates: store scratch buffer as strbuf + fill_sha1_file: write into a strbuf + count-objects: report alternates via verbose mode + sha1_file: always allow relative paths to alternates + alternates: use fspathcmp to detect duplicates + check_connected: accept an env argument + tmp-objdir: introduce API for temporary object directories + receive-pack: quarantine objects until pre-receive accepts + tmp-objdir: put quarantine information in the environment + tmp-objdir: do not migrate files starting with '.' + upload-pack: use priority queue in reachable() check + read info/{attributes,exclude} only when in repository + test-*-cache-tree: setup git dir + find_unique_abbrev: use 4-buffer ring + diff_unique_abbrev: rename to diff_aligned_abbrev + diff_aligned_abbrev: use "struct oid" + diff: handle sha1 abbreviations outside of repository + +Johannes Schindelin (54): + cat-file: fix a grammo in the man page + sequencer: lib'ify sequencer_pick_revisions() + sequencer: do not die() in do_pick_commit() + sequencer: lib'ify write_message() + sequencer: lib'ify do_recursive_merge() + sequencer: lib'ify do_pick_commit() + sequencer: lib'ify walk_revs_populate_todo() + sequencer: lib'ify prepare_revs() + sequencer: lib'ify read_and_refresh_cache() + sequencer: lib'ify read_populate_todo() + sequencer: lib'ify read_populate_opts() + sequencer: lib'ify create_seq_dir() + sequencer: lib'ify save_head() + sequencer: lib'ify save_todo() + sequencer: lib'ify save_opts() + sequencer: lib'ify fast_forward_to() + sequencer: lib'ify checkout_fast_forward() + sequencer: ensure to release the lock when we could not read the index + cat-file: introduce the --filters option + cat-file --textconv/--filters: allow specifying the path separately + cat-file: support --textconv/--filters in batch mode + pull: drop confusing prefix parameter of die_on_unclean_work_tree() + pull: make code more similar to the shell script again + wt-status: make the require_clean_work_tree() function reusable + wt-status: export also the has_un{staged,committed}_changes() functions + wt-status: teach has_{unstaged,uncommitted}_changes() about submodules + wt-status: begin error messages with lower-case + sequencer: use static initializers for replay_opts + sequencer: use memoized sequencer directory path + sequencer: avoid unnecessary indirection + sequencer: future-proof remove_sequencer_state() + sequencer: plug memory leaks for the option values + sequencer: future-proof read_populate_todo() + sequencer: refactor the code to obtain a short commit name + sequencer: completely revamp the "todo" script parsing + sequencer: strip CR from the todo script + sequencer: avoid completely different messages for different actions + sequencer: get rid of the subcommand field + sequencer: remember the onelines when parsing the todo file + sequencer: prepare for rebase -i's commit functionality + sequencer: introduce a helper to read files written by scripts + sequencer: allow editing the commit message on a case-by-case basis + sequencer: support amending commits + sequencer: support cleaning up commit messages + sequencer: left-trim lines read from the script + sequencer: stop releasing the strbuf in write_message() + sequencer: roll back lock file if write_message() failed + sequencer: refactor write_message() to take a pointer/length + sequencer: teach write_message() to append an optional LF + sequencer: remove overzealous assumption in rebase -i mode + sequencer: mark action_name() for translation + sequencer: quote filenames in error messages + sequencer: start error messages consistently with lower case + sequencer: mark all error messages for translation + +Johannes Sixt (1): + t0060: sidestep surprising path mangling results on Windows + +Jonathan Nieder (1): + connect: tighten check for unexpected early hang up + +Jonathan Tan (13): + tests: move test_lazy_prereq JGIT to test-lib.sh + connect: advertized capability is not a ref + mailinfo: separate in-body header processing + mailinfo: make is_scissors_line take plain char * + mailinfo: handle in-body header continuations + trailer: improve const correctness + trailer: use list.h for doubly-linked list + trailer: streamline trailer item create and add + trailer: make args have their own struct + trailer: clarify failure modes in parse_trailer + trailer: allow non-trailers in trailer block + trailer: forbid leading whitespace in trailers + trailer: support values folded to multiple lines + +Josh Triplett (1): + format-patch: add "--rfc" for the common case of [RFC PATCH] + +Junio C Hamano (27): + blame: improve diagnosis for "--reverse NEW" + blame: dwim "blame --reverse OLD" as "blame --reverse OLD.." + diff.c: remove output_prefix_length field + Start the 2.11 cycle + First batch for 2.11 + Second batch for 2.11 + Third batch for 2.11 + Fourth batch for 2.11 + Fifth batch for 2.11 + Sixth batch for 2.11 + abbrev: add FALLBACK_DEFAULT_ABBREV to prepare for auto sizing + abbrev: prepare for new world order + Seventh batch for 2.11 + t4015: split out the "setup" part of ws-error-highlight test + diff.c: refactor parse_ws_error_highlight() + diff.c: move ws-error-highlight parsing helpers up + diff: introduce diff.wsErrorHighlight option + Eighth batch for 2.11 + Ninth batch for 2.11 + Tenth batch for 2.11 + transport: pass summary_width down the callchain + fetch: pass summary_width down the callchain + transport: allow summary-width to be computed dynamically + transport: compute summary-width dynamically + Eleventh batch for 2.11 + Getting ready for 2.11-rc0 + Git 2.11-rc0 + +Karsten Blees (2): + git-gui: unicode file name support on windows + git-gui: handle the encoding of Git's output correctly + +Kirill Smelkov (2): + pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use + pack-objects: use reachability bitmap index when generating non-stdout pack + +Lars Schneider (17): + convert: quote filter names in error messages + convert: modernize tests + run-command: move check_pipe() from write_or_die to run_command + run-command: add clean_on_exit_handler + pkt-line: rename packet_write() to packet_write_fmt() + pkt-line: extract set_packet_header() + pkt-line: add packet_write_fmt_gently() + pkt-line: add packet_flush_gently() + pkt-line: add packet_write_gently() + pkt-line: add functions to read/write flush terminated packet streams + convert: make apply_filter() adhere to standard Git error handling + convert: prepare filter.<driver>.process option + convert: add filter.<driver>.process option + contrib/long-running-filter: add long running filter example + sha1_file: rename git_open_noatime() to git_open() + sha1_file: open window into packfiles with O_CLOEXEC + read-cache: make sure file handles are not inherited by child processes + +Linus Torvalds (1): + abbrev: auto size the default abbreviation + +Mantas Mikulėnas (1): + contrib: add credential helper for libsecret + +Michael Haggerty (36): + xdl_change_compact(): fix compaction heuristic to adjust ixo + xdl_change_compact(): only use heuristic if group can't be matched + is_blank_line(): take a single xrecord_t as argument + recs_match(): take two xrecord_t pointers as arguments + xdl_change_compact(): introduce the concept of a change group + resolve_gitlink_ref(): eliminate temporary variable + refs: rename struct ref_cache to files_ref_store + refs: create a base class "ref_store" for files_ref_store + add_packed_ref(): add a files_ref_store argument + get_packed_ref(): add a files_ref_store argument + resolve_missing_loose_ref(): add a files_ref_store argument + {lock,commit,rollback}_packed_refs(): add files_ref_store arguments + refs: reorder definitions + resolve_packed_ref(): rename function from resolve_missing_loose_ref() + resolve_gitlink_packed_ref(): remove function + read_raw_ref(): take a (struct ref_store *) argument + resolve_ref_recursively(): new function + resolve_gitlink_ref(): implement using resolve_ref_recursively() + resolve_gitlink_ref(): avoid memory allocation in many cases + resolve_gitlink_ref(): rename path parameter to submodule + refs: make read_raw_ref() virtual + refs: make verify_refname_available() virtual + refs: make pack_refs() virtual + refs: make create_symref() virtual + refs: make peel_ref() virtual + repack_without_refs(): add a files_ref_store argument + lock_raw_ref(): add a files_ref_store argument + commit_ref_update(): add a files_ref_store argument + lock_ref_for_update(): add a files_ref_store argument + lock_ref_sha1_basic(): add a files_ref_store argument + split_symref_update(): add a files_ref_store argument + files_ref_iterator_begin(): take a ref_store argument + refs: add method iterator_begin + diff: improve positioning of add/delete blocks in diffs + parse-options: add parse_opt_unknown_cb() + blame: honor the diff heuristic options and config + +Michael J Gruber (1): + gpg-interface: use more status letters + +Nguyễn Thái Ngọc Duy (36): + remote-curl.c: convert fetch_git() to use argv_array + transport-helper.c: refactor set_helper_option() + upload-pack: move shallow deepen code out of receive_needs() + upload-pack: move "shallow" sending code out of deepen() + upload-pack: remove unused variable "backup" + upload-pack: move "unshallow" sending code out of deepen() + upload-pack: use skip_prefix() instead of starts_with() + upload-pack: tighten number parsing at "deepen" lines + upload-pack: make check_non_tip() clean things up on error + upload-pack: move rev-list code out of check_non_tip() + fetch-pack: use skip_prefix() instead of starts_with() + fetch-pack: use a common function for verbose printing + fetch-pack.c: mark strings for translating + fetch-pack: use a separate flag for fetch in deepening mode + shallow.c: implement a generic shallow boundary finder based on rev-list + upload-pack: add deepen-since to cut shallow repos based on time + fetch: define shallow boundary with --shallow-since + clone: define shallow clone boundary based on time with --shallow-since + t5500, t5539: tests for shallow depth since a specific date + refs: add expand_ref() + upload-pack: support define shallow boundary by excluding revisions + fetch: define shallow boundary with --shallow-exclude + clone: define shallow clone boundary with --shallow-exclude + t5500, t5539: tests for shallow depth excluding a ref + upload-pack: split check_unreachable() in two, prep for get_reachable_list() + upload-pack: add get_reachable_list() + fetch, upload-pack: --deepen=N extends shallow boundary by N commits + init: correct re-initialization from a linked worktree + init: call set_git_dir_init() from within init_db() + init: kill set_git_dir_init() + init: do not set unnecessary core.worktree + init: kill git_link variable + diff-lib: allow ita entries treated as "not yet exist in index" + diff: add --ita-[in]visible-in-index + commit: fix empty commit creation when there's no changes but ita entries + commit: don't be fooled by ita entries when creating initial commit + +Olaf Hering (1): + git-gui: sort entries in tclIndex + +Orgad Shaneh (1): + git-gui: Do not reset author details on amend + +Pat Thoyts (7): + Allow keyboard control to work in the staging widgets. + Amend tab ordering and text widget border and highlighting. + git-gui: fix detection of Cygwin + git-gui (Windows): use git-gui.exe in `Create Desktop Shortcut` + git-gui: maintain backwards compatibility for merge syntax + git-gui: avoid persisting modified author identity + git-gui: set version 0.21 + +Petr Stodulka (1): + http: control GSSAPI credential delegation + +Ralf Thielow (2): + help: introduce option --exclude-guides + help: make option --help open man pages only for Git commands + +René Scharfe (8): + sha1_file: use llist_mergesort() for sorting packs + introduce CHECKOUT_INIT + add QSORT + use QSORT + remove unnecessary check before QSORT + coccicheck: use --all-includes by default + use QSORT, part 2 + show-branch: use QSORT + +Ronnie Sahlberg (2): + refs: add a backend method structure + refs: add a transaction_commit() method + +Stefan Beller (10): + t7408: modernize style + t7408: merge short tests, factor out testing method + submodule--helper module-clone: allow multiple references + submodule--helper update-clone: allow multiple references + clone: factor out checking for an alternate path + clone: clarify option_reference as required + clone: implement optional references + clone: recursive and reference option triggers submodule alternates + submodule: ignore trailing slash on superproject URL + submodule: ignore trailing slash in relative url + +Vasco Almeida (30): + i18n: blame: mark error messages for translation + i18n: branch: mark option description for translation + i18n: config: mark error message for translation + i18n: merge-recursive: mark error messages for translation + i18n: merge-recursive: mark verbose message for translation + i18n: notes: mark error messages for translation + notes: spell first word of error messages in lowercase + i18n: receive-pack: mark messages for translation + i18n: show-branch: mark error messages for translation + i18n: show-branch: mark plural strings for translation + i18n: update-index: mark warnings for translation + i18n: commit: mark message for translation + i18n: connect: mark die messages for translation + i18n: ident: mark hint for translation + i18n: notes-merge: mark die messages for translation + i18n: stash: mark messages for translation + git-gui i18n: mark strings for translation + git-gui: l10n: add Portuguese translation + git-gui i18n: internationalize use of colon punctuation + git-gui i18n: mark "usage:" strings for translation + git-gui: fix incorrect use of Tcl append command + git-gui i18n: mark string in lib/error.tcl for translation + t1512: become resilient to GETTEXT_POISON build + i18n: apply: mark plural string for translation + i18n: apply: mark info messages for translation + i18n: apply: mark error messages for translation + i18n: apply: mark error message for translation + i18n: convert mark error messages for translation + i18n: credential-cache--daemon: mark advice for translation + i18n: diff: mark warnings for translation + +Vegard Nossum (1): + revision: new rev^-n shorthand for rev^n..rev + +brian m. carlson (20): + cache: convert struct cache_entry to use struct object_id + builtin/apply: convert static functions to struct object_id + builtin/blame: convert struct origin to use struct object_id + builtin/log: convert some static functions to use struct object_id + builtin/cat-file: convert struct expand_data to use struct object_id + builtin/cat-file: convert some static functions to struct object_id + builtin: convert textconv_object to use struct object_id + streaming: make stream_blob_to_fd take struct object_id + builtin/checkout: convert some static functions to struct object_id + notes-merge: convert struct notes_merge_pair to struct object_id + Convert read_mmblob to take struct object_id. + builtin/blame: convert file to use struct object_id + builtin/rm: convert to use struct object_id + notes: convert init_notes to use struct object_id + builtin/update-index: convert file to struct object_id + sha1_name: convert get_sha1_mb to struct object_id + refs: add an update_ref_oid function. + builtin/am: convert to struct object_id + builtin/commit-tree: convert to struct object_id + builtin/reset: convert to use struct object_id + +yaras (1): + git-gui: fix initial git gui message encoding + +Ævar Arnfjörð Bjarmason (3): + gitweb: fix a typo in a comment + gitweb: link to 7-char+ SHA-1s, not only 8-char+ + gitweb: link to "git describe"'d commits in log messages + + +Version v2.10.5; changes since v2.10.4: +--------------------------------------- + +Jeff King (3): + shell: drop git-cvsserver support by default + archimport: use safe_pipe_capture for user input + cvsimport: shell-quote variable used in backticks + +Junio C Hamano (3): + cvsserver: move safe_pipe_capture() to the main package + cvsserver: use safe_pipe_capture for `constant commands` as well + Git 2.10.5 + +joernchen (1): + cvsserver: use safe_pipe_capture instead of backticks + + +Version v2.10.4; changes since v2.10.3: +--------------------------------------- + +Jeff King (4): + t5813: add test for hostname starting with dash + connect: factor out "looks like command line option" check + connect: reject dashed arguments for proxy commands + connect: reject paths that look like command line options + +Junio C Hamano (5): + connect: reject ssh hostname that begins with a dash + Git 2.7.6 + Git 2.8.6 + Git 2.9.5 + Git 2.10.4 + + +Version v2.10.3; changes since v2.10.2: +--------------------------------------- + +Anders Kaseorg (2): + pre-receive.sample: mark it executable + git-sh-setup: be explicit where to dot-source git-sh-i18n from. + +Andreas Schwab (2): + t6026-merge-attr: don't fail if sleep exits early + t6026-merge-attr: ensure that the merge driver was called + +Ben North (1): + git-worktree.txt: fix typo "to"/"two", and add comma + +Chris Packham (1): + completion: support excluding refs + +Jeff King (6): + daemon: detect and reject too-long paths + git-compat-util: move content inside ifdef/endif guards + doc: fix missing "::" in config list + create_branch: drop unused "head" parameter + common-main: stop munging argv[0] path + shell: disallow repo names beginning with dash + +Johannes Schindelin (1): + t6026: ensure that long-running script really is + +Johannes Sixt (1): + t6026: clarify the point of "kill $(cat sleep.pid)" + +Junio C Hamano (11): + am: refactor read_author_script() + Revert "t6026-merge-attr: ensure that the merge driver was called" + Revert "t6026-merge-attr: don't fail if sleep exits early" + preparing for 2.10.3 + Git 2.4.12 + Git 2.5.6 + Git 2.6.7 + Git 2.7.5 + Git 2.8.5 + Git 2.9.4 + Git 2.10.3 + +Lars Schneider (2): + Makefile: set NO_OPENSSL on macOS by default + travis-ci: disable GIT_TEST_HTTPD for macOS + +Matthieu Moy (3): + parse_mailboxes: accept extra text after <...> address + t9000-addresses: update expected results after fix + Git.pm: add comment pointing to t9000 + +Patrick Steinhardt (1): + doc: fix location of 'info/' with $GIT_COMMON_DIR + +René Scharfe (4): + hex: make wraparound of the index into ring-buffer explicit + valgrind: support test helpers + commit: simplify building parents list + cocci: avoid self-references in object_id transformations + +Stefan Christ (1): + Documentation/fmt-merge-msg: fix markup in example + +Tobias Klauser (1): + diffcore-delta: remove unused parameter to diffcore_count_changes() + + +Version v2.10.2; changes since v2.10.1: +--------------------------------------- + +Anders Kaseorg (1): + imap-send: Tell cURL to use imap:// or imaps:// + +Brandon Williams (1): + submodules doc: update documentation for "." used for submodule branches + +David Turner (2): + add David Turner's Two Sigma address + http: http.emptyauth should allow empty (not just NULL) usernames + +Dennis Kaarsemaker (1): + worktree: allow the main brach of a bare repository to be checked out + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Jakub Narębski (1): + configure.ac: improve description of NO_REGEX test + +Jeff King (11): + verify_packfile: check pack validity before accessing data + graph: fix extra spaces in graph_padding_line + clone: detect errors in normalize_path_copy + files_read_raw_ref: avoid infinite loop on broken symlinks + files_read_raw_ref: prevent infinite retry loops in general + merge-base: handle --fork-point without reflog + fetch: use "quick" has_sha1_file for tag following + test-lib: handle TEST_OUTPUT_DIRECTORY with spaces + test-lib: add --verbose-log option + travis: use --verbose-log test option + test-lib: bail out when "-v" used under "prove" + +Johannes Schindelin (1): + reset: fix usage + +Jonathan Tan (1): + fetch-pack: do not reset in_vain on non-novel acks + +Junio C Hamano (9): + streaming: make sure to notice corrupt object + unpack_sha1_header(): detect malformed object header + worktree: honor configuration variables + blame: use DEFAULT_ABBREV macro + diff_unique_abbrev(): document its assumption and limitation + Start preparing for 2.10.2 + cocci: refactor common patterns to use xstrdup_or_null() + t3700: fix broken test under !SANITY + Git 2.10.2 + +Kevin Daudt (2): + t5100-mailinfo: replace common path prefix with variable + mailinfo: unescape quoted-pair in header fields + +Nguyễn Thái Ngọc Duy (1): + git-commit.txt: clarify --patch mode with pathspec + +Philip Oakley (2): + doc: fix merge-base ASCII art tab spacing + doc: fix the 'revert a faulty merge' ASCII art tab spacing + +Pranit Bauva (2): + rev-list-options: clarify the usage of --reverse + t0040: convert all possible tests to use `test-parse-options --expect` + +Ralf Thielow (2): + l10n: de.po: fix translation of autostash + l10n: de.po: translate 260 new messages + +René Scharfe (17): + contrib/coccinelle: fix semantic patch for oid_to_hex_r() + add coccicheck make target + use strbuf_addstr() for adding constant strings to a strbuf, part 2 + pretty: let %C(auto) reset all attributes + add COPY_ARRAY + use COPY_ARRAY + git-gui: stop using deprecated merge syntax + gitignore: ignore output files of coccicheck make target + use strbuf_addstr() instead of strbuf_addf() with "%s", part 2 + use strbuf_add_unique_abbrev() for adding short hashes, part 2 + pretty: avoid adding reset for %C(auto) if output is empty + coccicheck: make transformation for strbuf_addf(sb, "...") more precise + remove unnecessary NULL check before free(3) + use strbuf_add_unique_abbrev() for adding short hashes, part 3 + pretty: fix document link for color specification + avoid pointer arithmetic involving NULL in FLEX_ALLOC_MEM + inline xalloc_flex() into FLEXPTR_ALLOC_MEM + +SZEDER Gábor (1): + ref-filter: strip format option after a field name only once while parsing + +Stefan Beller (1): + documentation: improve submodule.<name>.{url, path} description + +Younes Khoudli (1): + doc: remove reference to the traditional layout in git-tag.txt + +Дилян Палаузов (1): + ./configure.ac: detect SSL in libcurl using curl-config + + +Version v2.10.1; changes since v2.10.0: +--------------------------------------- + +Alex Henrie (5): + am: put spaces around pipe in usage string + cat-file: put spaces around pipes in usage string + git-rebase--interactive: fix English grammar + git-merge-octopus: do not capitalize "octopus" + unpack-trees: do not capitalize "working" + +Beat Bolli (1): + SubmittingPatches: use gitk's "Copy commit summary" format + +Brandon Williams (1): + pathspec: remove unnecessary function prototypes + +Brian Henderson (3): + diff-highlight: add some tests + diff-highlight: add failing test for handling --graph output + diff-highlight: add support for --graph output + +Elia Pinto (5): + t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var + test-lib.sh: preserve GIT_TRACE_CURL from the environment + t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var + t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var + git-check-ref-format.txt: fixup documentation + +Eric Wong (3): + http: warn on curl_multi_add_handle failures + http: consolidate #ifdefs for curl_multi_remove_handle + http: always remove curl easy from curlm session on release + +Jeff King (20): + rebase-interactive: drop early check for valid ident + gc: default aggressive depth to 50 + test-lib: drop PID from test-results/*.count + diff-highlight: ignore test cruft + diff-highlight: add multi-byte tests + diff-highlight: avoid highlighting combined diffs + error_errno: use constant return similar to error() + color_parse_mem: initialize "struct color" temporary + t5305: move cleanup into test block + t5305: drop "dry-run" of unpack-objects + t5305: use "git -C" + t5305: simplify packname handling + pack-objects: walk tag chains for --include-tag + remote-curl: handle URLs without protocol + patch-ids: turn off rename detection + patch-ids: refuse to compute patch-id for merge commit + docs/cvsimport: prefer cvs-fast-export to parsecvs + docs/cvs-migration: update link to cvsps homepage + docs/cvs-migration: mention cvsimport caveats + ident: handle NULL ai_canonname + +Jiang Xin (1): + l10n: zh_CN: fixed some typos for git 2.10.0 + +Johannes Schindelin (4): + git-gui: respect commit.gpgsign again + regex: -G<pattern> feeds a non NUL-terminated string to regexec() and fails + regex: add regexec_buf() that can work on a non NUL-terminated string + regex: use regexec_buf() + +Johannes Sixt (4): + t9903: fix broken && chain + t6026-merge-attr: clean up background process at end of test case + t3700-add: create subdirectory gently + t3700-add: do not check working tree file mode without POSIXPERM + +Josh Triplett (1): + format-patch: show base info before email signature + +Junio C Hamano (6): + submodule: avoid auto-discovery in prepare_submodule_repo_env() + symbolic-ref -d: do not allow removal of HEAD + Prepare for 2.9.4 + Start preparing for 2.10.1 + Prepare for 2.10.1 + Git 2.10.1 + +Kirill Smelkov (1): + t/perf/run: copy config.mak.autogen & friends to build area + +Lars Schneider (1): + travis-ci: ask homebrew for its path instead of hardcoding it + +Matthieu Moy (1): + Documentation/config: default for color.* is color.ui + +Mike Ralphson (1): + vcs-svn/fast_export: fix timestamp fmt specifiers + +Nguyễn Thái Ngọc Duy (3): + checkout: add some spaces between code and comment + checkout.txt: document a common case that ignores ambiguation rules + checkout: fix ambiguity check in subdir + +Philip Oakley (12): + doc: use 'symmetric difference' consistently + doc: revisions - name the left and right sides + doc: show the actual left, right, and boundary marks + doc: revisions: give headings for the two and three dot notations + doc: revisions: extra clarification of <rev>^! notation effects + doc: revisions: single vs multi-parent notation comparison + doc: gitrevisions - use 'reachable' in page description + doc: gitrevisions - clarify 'latter case' is revision walk + doc: revisions - define `reachable` + doc: revisions - clarify reachability examples + doc: revisions: show revision expansion in examples + doc: revisions: sort examples and fix alignment of the unchanged + +Ralf Thielow (1): + rebase -i: improve advice on bad instruction lines + +Ray Chen (1): + l10n: zh_CN: review for git v2.10.0 l10n + +René Scharfe (6): + compat: move strdup(3) replacement to its own file + introduce hex2chr() for converting two hexadecimal digits to a character + strbuf: use valid pointer in strbuf_remove() + checkout: constify parameters of checkout_stage() and checkout_merged() + unpack-trees: pass checkout state explicitly to check_updates() + xdiff: fix merging of hunks with -W context and -u context + +Satoshi Yasushima (6): + git-gui: consistently use the same word for "remote" in Japanese + git-gui: consistently use the same word for "blame" in Japanese + git-gui: apply po template to Japanese translation + git-gui: add Japanese language code + git-gui: update Japanese translation + git-gui: update Japanese information + +Stefan Beller (5): + xdiff: remove unneeded declarations + transport: report missing submodule pushes consistently on stderr + diff.c: use diff_options directly + diff: omit found pointer from emit_callback + diff: remove dead code + +Thomas Gummerer (4): + add: document the chmod option + update-index: add test for chmod flags + read-cache: introduce chmod_index_entry + add: modify already added files when --chmod is given + +Vasco Almeida (2): + l10n: pt_PT: update Portuguese translation + l10n: pt_PT: update Portuguese repository info + + +Version v2.10.0; changes since v2.10.0-rc2: +------------------------------------------- + +Alex Henrie (1): + l10n: ca.po: update translation + +Changwoo Ryu (1): + l10n: ko.po: Update Korean translation + +Jean-Noël Avila (1): + l10n: fr.po v2.10.0-rc2 + +Jiang Xin (3): + l10n: git.pot: v2.10.0 round 1 (248 new, 56 removed) + l10n: git.pot: v2.10.0 round 2 (12 new, 44 removed) + l10n: zh_CN: for git v2.10.0 l10n round 2 + +Junio C Hamano (2): + A few more fixes before the final 2.10 + Git 2.10 + +Lars Schneider (1): + pack-protocol: fix maximum pkt-line size + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (2757t0f0u) + +René Scharfe (1): + p3400: make test script executable + +Thomas Gummerer (1): + blame: fix segfault on untracked files + +Trần Ngọc Quân (2): + l10n: Updated Vietnamese translation for v2.10.0 (2789t) + l10n: Updated Vietnamese translation for v2.10.0-rc2 (2757t) + +Vasco Almeida (2): + l10n: pt_PT: merge git.pot + l10n: pt_PT: update Portuguese translation + + +Version v2.10.0-rc2; changes since v2.10.0-rc1: +----------------------------------------------- + +Ben Wijen (2): + t6026-merge-attr: child processes must not inherit index.lock handles + mingw: ensure temporary file handles are not inherited by child processes + +David Glasser (1): + doc: mention `git -c` in git-config(1) + +Heiko Voigt (1): + SubmittingPatches: document how to reference previous commits + +Jean-Noël Avila (3): + i18n: fix typos for translation + i18n: fix git rebase interactive commit messages + i18n: simplify numeric error reporting + +Johannes Schindelin (1): + Revert "display HTML in default browser using Windows' shell API" + +Junio C Hamano (2): + Prepare for 2.10.0-rc2 + Git 2.10-rc2 + +Torsten Bögershausen (2): + git ls-files: text=auto eol=lf is supported in Git 2.10 + gitattributes: Document the unified "auto" handling + + +Version v2.10.0-rc1; changes since v2.10.0-rc0: +----------------------------------------------- + +Johannes Schindelin (2): + t/Makefile: ensure that paths are valid on platforms we care + rev-parse: respect core.hooksPath in --git-path + +John Keeping (1): + difftool: always honor fatal error exit codes + +Junio C Hamano (4): + Relnotes: decribe the updates to the "text=auto" attribute + relnotes: redo the description of text=auto fix + RelNotes: final batch of topics before -rc1 + Git 2.10-rc1 + +Linus Torvalds (1): + gpg-interface: prefer "long" key format output when verifying pgp signatures + +Matthieu Moy (1): + git-multimail: update to release 1.4.0 + +René Scharfe (7): + correct FLEXPTR_* example in comment + mailinfo: recycle strbuf in check_header() + commit: use xstrdup() in get_merge_parent() + commit: factor out set_merge_remote_desc() + merge-recursive: fix verbose output for multiple base trees + commit: use FLEX_ARRAY in struct merge_remote_desc + receive-pack: use FLEX_ALLOC_MEM in queue_command() + +SZEDER Gábor (1): + t1410: remove superfluous 'git reflog' from the 'walk past root' test + +Stefan Beller (1): + checkout: do not mention detach advice for explicit --detach option + +Torsten Bögershausen (1): + convert: Correct NNO tests and missing `LF will be replaced by CRLF` + +Vasco Almeida (3): + t3404: become resilient to GETTEXT_POISON + t5520: become resilient to GETTEXT_POISON + t7411: become resilient to GETTEXT_POISON + + +Version v2.10.0-rc0; changes since v2.9.5: +------------------------------------------ + +Alexander Hirsch (1): + pull: warn on --verify-signatures with --rebase + +Antoine Queru (1): + upload-pack.c: use parse-options API + +Christian Couder (50): + builtin/apply: make gitdiff_verify_name() return void + builtin/apply: avoid parameter shadowing 'p_value' global + builtin/apply: avoid parameter shadowing 'linenr' global + builtin/apply: avoid local variable shadowing 'len' parameter + builtin/apply: extract line_by_line_fuzzy_match() from match_fragment() + builtin/apply: move 'options' variable into cmd_apply() + builtin/apply: move 'read_stdin' global into cmd_apply() + builtin/apply: introduce 'struct apply_state' to start libifying + builtin/apply: move 'state' init into init_apply_state() + builtin/apply: move 'unidiff_zero' global into 'struct apply_state' + builtin/apply: move 'check' global into 'struct apply_state' + builtin/apply: move 'check_index' global into 'struct apply_state' + builtin/apply: move 'apply_in_reverse' global into 'struct apply_state' + builtin/apply: move 'apply_with_reject' global into 'struct apply_state' + builtin/apply: move 'apply_verbosely' global into 'struct apply_state' + builtin/apply: move 'update_index' global into 'struct apply_state' + builtin/apply: move 'allow_overlap' global into 'struct apply_state' + builtin/apply: move 'cached' global into 'struct apply_state' + builtin/apply: move 'diffstat' global into 'struct apply_state' + builtin/apply: move 'numstat' global into 'struct apply_state' + builtin/apply: move 'summary' global into 'struct apply_state' + builtin/apply: move 'threeway' global into 'struct apply_state' + builtin/apply: move 'no_add' global into 'struct apply_state' + builtin/apply: move 'unsafe_paths' global into 'struct apply_state' + builtin/apply: move 'line_termination' global into 'struct apply_state' + builtin/apply: move 'fake_ancestor' global into 'struct apply_state' + builtin/apply: move 'p_context' global into 'struct apply_state' + builtin/apply: move 'apply' global into 'struct apply_state' + builtin/apply: move 'patch_input_file' global into 'struct apply_state' + builtin/apply: move 'limit_by_name' global into 'struct apply_state' + builtin/apply: move 'has_include' global into 'struct apply_state' + builtin/apply: move 'p_value' global into 'struct apply_state' + builtin/apply: move 'p_value_known' global into 'struct apply_state' + builtin/apply: move 'root' global into 'struct apply_state' + builtin/apply: move 'whitespace_error' global into 'struct apply_state' + builtin/apply: move 'whitespace_option' into 'struct apply_state' + builtin/apply: remove whitespace_option arg from set_default_whitespace_mode() + builtin/apply: move 'squelch_whitespace_errors' into 'struct apply_state' + builtin/apply: move 'applied_after_fixing_ws' into 'struct apply_state' + builtin/apply: move 'ws_error_action' into 'struct apply_state' + builtin/apply: move 'ws_ignore_action' into 'struct apply_state' + builtin/apply: move 'max_change' and 'max_len' into 'struct apply_state' + builtin/apply: move 'state_linenr' global into 'struct apply_state' + builtin/apply: move 'fn_table' global into 'struct apply_state' + builtin/apply: move 'symlink_changes' global into 'struct apply_state' + builtin/apply: move 'state' check into check_apply_state() + builtin/apply: move applying patches into apply_all_patches() + builtin/apply: add 'lock_file' pointer into 'struct apply_state' + builtin/apply: move 'newfd' global into 'struct apply_state' + .mailmap: use Christian Couder's Tuxfamily address + +Christopher Layne (1): + git-svn: clone: Fail on missing url argument + +David Aguilar (2): + subtree: adjust style to match CodingGuidelines + subtree: adjust function definitions to match CodingGuidelines + +David Turner (2): + refs: allow log-only updates + refs: don't dereference on rename + +Elia Pinto (2): + http.c: implement the GIT_TRACE_CURL environment variable + imap-send.c: introduce the GIT_TRACE_CURL enviroment variable + +Eric Sunshine (1): + blame: drop strdup of string literal + +Eric Wong (17): + fast-import: implement unpack limit + fast-import: invalidate pack_id references after loosening + pretty: support "mboxrd" output format + mailsplit: support unescaping mboxrd messages + am: support --patch-format=mboxrd + git-svn: skip mergeinfo handling with --no-follow-parent + git-svn: warn instead of dying when commit data is missing + config.mak.uname: define NEEDS_LIBRT under Linux, for now + http-walker: remove unused parameter from fetch_object + http: avoid disconnecting on 404s for loose objects + http-walker: reduce O(n) ops with doubly-linked list + list: avoid incompatibility with *BSD sys/queue.h + git-svn: document svn.authorsProg in config + git-svn: allow --version to work anywhere + git svn: migrate tests to use lib-httpd + pager: move pager-specific setup into the build + http-backend: buffer headers before sending + +Ingo Brückl (3): + t3700: remove unwanted leftover files before running new tests + t3700: merge two tests into one + t3700: add a test_mode_in_index helper function + +Jacob Keller (1): + completion: add completion for --submodule=* diff option + +Jeff King (72): + git_config_with_options: drop "found" counting + git_config_parse_parameter: refactor cleanup code + config: set up config_source for command-line config + config: return configset value for current_config_ functions + config: add a notion of "scope" + upload-pack: provide a hook for running pack-objects + parse_opt_string_list: stop allocating new strings + interpret-trailers: don't duplicate option strings + blame,shortlog: don't make local option variables static + use string_list initializer consistently + repack: document --unpack-unreachable option + repack: add --keep-unreachable option + repack: extend --keep-unreachable to loose objects + gpg-interface: use child_process.args + verify_signed_buffer: drop pbuf variable + verify_signed_buffer: use tempfile object + run-command: add pipe_command helper + verify_signed_buffer: use pipe_command + sign_buffer: use pipe_command + t/perf: fix regression in testing older versions of git + p4211: explicitly disable renames in no-rename test + color: fix max-size comment + doc: refactor description of color format + add skip_prefix_mem helper + color: refactor parse_attr + color: allow "no-" for negating attributes + color: support "italic" attribute + color: support strike-through attribute + t9300: factor out portable "head -c" replacement + t5000: test tar files that overflow ustar headers + archive-tar: write extended headers for file sizes >= 8GB + archive-tar: write extended headers for far-future mtime + archive-tar: drop return value + config: fix bogus fd check when setting up default config + branch: use non-gentle write_file for branch description + write_file: drop "gently" form + write_file: use xopen + write_file: add pointer+len variant + write_file: add format attribute + use write_file_buf where applicable + branch: use write_file_buf instead of write_file + walker: let walker_say take arbitrary formats + avoid using sha1_to_hex output as printf format + check_everything_connected: always pass --quiet to rev-list + rev-list: add optional progress reporting + check_everything_connected: convert to argv_array + check_everything_connected: use a struct with named options + check_connected: relay errors to alternate descriptor + check_connected: add progress flag + clone: use a real progress meter for connectivity check + index-pack: add flag for showing delta-resolution progress + receive-pack: turn on index-pack resolving progress + receive-pack: relay connectivity errors to sideband + receive-pack: turn on connectivity progress + receive-pack: send keepalives during quiet periods + contrib/git-jump: fix greedy regex when matching hunks + contrib/git-jump: add whitespace-checking mode + contrib/git-jump: fix typo in README + t/perf: add tests for many-pack scenarios + sha1_file: drop free_pack_by_name + add generic most-recently-used list + find_pack_entry: replace last_found_pack with MRU cache + pack-objects: break out of want_object loop early + pack-objects: compute local/ignore_pack_keep early + trace: handle NULL argument in trace_disable() + trace: stop using write_or_whine_pipe() + trace: use warning() for printing trace errors + trace: cosmetic fixes for error messages + trace: correct variable name in write() error message + trace: disable key after write error + write_or_die: drop write_or_whine_pipe() + trace: do not fall back to stderr + +Johannes Schindelin (36): + log: prepare log/log-tree to reuse the diffopt.close_file attribute + log-tree: respect diffopt's configured output file stream + line-log: respect diffopt's configured output file stream + graph: respect the diffopt.file setting + shortlog: support outputting to streams other than stdout + format-patch: explicitly switch off color when writing to files + format-patch: avoid freopen() + format-patch: use stdout directly + shortlog: respect the --output=<file> setting + t4211: ensure that log respects --output=<file> + diff: do not color output when --color=auto and --output=<file> is given + t3404: add a test for the --gpg-sign option + rebase -i: demonstrate a bug with --autosquash + rebase -i: we allow extra spaces after fixup!/squash! + mingw: fix the shortlog --output=<file> test + mingw: fix regression in t1308-config-set + fsck: refactor how to describe objects + fsck_walk(): optionally name objects on the go + fsck: give the error function a chance to see the fsck_options + fsck: optionally show more helpful info for broken links + t5520: verify that `pull --rebase` shows the helpful advice when failing + die("bug"): report bugs consistently + die(_("BUG")): avoid translating bug messages + merge-recursive: clarify code in was_tracked() + prepare the builtins for a libified merge_recursive() + merge_recursive: abort properly upon errors + merge-recursive: avoid returning a wholesale struct + merge-recursive: allow write_tree_from_memory() to error out + merge-recursive: handle return values indicating errors + merge-recursive: switch to returning errors instead of dying + am -3: use merge_recursive() directly again + merge-recursive: flush output buffer before printing error messages + merge-recursive: write the commit title in one go + merge-recursive: offer an option to retain the output in 'obuf' + merge_trees(): ensure that the callers release output buffer + merge-recursive: flush output buffer even when erroring out + +Johannes Sixt (5): + git-submodule: forward exit code of git-submodule--helper more faithfully + submodule-helper: fix indexing in clone retry error reporting path + rebase-interactive: trim leading whitespace from progress count + config.c: avoid duplicated global static variables + commit-slab.h: avoid duplicated global static variables + +Jonathan Tan (1): + fetch-pack: grow stateless RPC windows exponentially + +Jordan DE GEA (1): + worktree: allow "-" short-hand for @{-1} in add command + +Josh Triplett (1): + format-patch: format.from gives the default for --from + +Junio C Hamano (21): + send-email: detect and offer to skip backup files + pathspec: rename free_pathspec() to clear_pathspec() + t1308: do not get fooled by symbolic links to the source tree + builtin/apply: remove misleading comment on lock_file field + Start the post-2.9 cycle + Second batch of topics for 2.10 + Third batch of topics for 2.10 + commit.c: remove print_commit_list() + Fourth batch of topics for 2.10 + Fifth batch of topics for 2.10 + archive-tar: huge offset and future timestamps would not work on 32-bit + Sixth batch of topics for 2.10 + Seventh batch of topics for 2.10 + t9100: portability fix + Eighth batch of topics for 2.10 + Ninth batch of topics for 2.10 + Tenth batch for 2.10 + Eleventh batch for 2.10 + Twelfth batch for 2.10 + Final batch before 2.10-rc0 + Git 2.10-rc0 + +Kevin Willford (4): + patch-ids: stop using a hand-rolled hashmap implementation + patch-ids: replace the seen indicator with a commit pointer + patch-ids: add flag to create the diff patch id using header only data + rebase: avoid computing unnecessary patch IDs + +Lars Schneider (1): + git-p4: place temporary refs used for branch import under refs/git-p4-tmp + +Lukas Fleischer (1): + receive-pack: send auto-gc output over sideband 2 + +Mehul Jain (3): + t4202: refactor test + log: add "--no-show-signature" command line option + log: add log.showSignature configuration variable + +Michael Haggerty (50): + t1404: demonstrate a bug resolving references + commit_ref(): if there is an empty dir in the way, delete it + read_raw_ref(): don't get confused by an empty directory + safe_create_leading_directories(): improve docstring + remove_dir_recursively(): add docstring + refname_is_safe(): use skip_prefix() + refname_is_safe(): don't allow the empty string + refname_is_safe(): insist that the refname already be normalized + commit_ref_update(): write error message to *err, not stderr + rename_ref(): remove unneeded local variable + ref_transaction_commit(): remove local variables n and updates + read_raw_ref(): rename flags argument to type + read_raw_ref(): clear *type at start of function + read_raw_ref(): rename symref argument to referent + read_raw_ref(): improve docstring + read_raw_ref(): move docstring to header file + lock_ref_sha1_basic(): remove unneeded local variable + refs: make error messages more consistent + ref_transaction_create(): disallow recursive pruning + ref_transaction_commit(): correctly report close_ref() failure + delete_branches(): use resolve_refdup() + verify_refname_available(): adjust constness in declaration + add_update(): initialize the whole ref_update + lock_ref_for_update(): new function + unlock_ref(): move definition higher in the file + ref_transaction_update(): check refname_is_safe() at a minimum + refs: resolve symbolic refs first + lock_ref_for_update(): don't re-read non-symbolic references + lock_ref_for_update(): don't resolve symrefs + commit_ref_update(): remove the flags parameter + lock_ref_sha1_basic(): only handle REF_NODEREF mode + refs: remove unnecessary "extern" keywords + do_for_each_ref(): move docstring to the header file + refs: use name "prefix" consistently + delete_refs(): add a flags argument + remote rm: handle symbolic refs correctly + get_ref_cache(): only create an instance if there is a submodule + entry_resolves_to_object(): rename function from ref_resolves_to_object() + ref_resolves_to_object(): new function + refs: introduce an iterator interface + do_for_each_ref(): reimplement using reference iteration + for_each_reflog(): don't abort for bad references + dir_iterator: new API for iterating over a directory tree + for_each_reflog(): reimplement using iterators + t1404: rename file to t1404-update-ref-errors.sh + t1404: remove "prefix" argument to test_update_rejected + t1404: document function test_update_rejected + t1404: add more tests of update-ref error handling + lock_ref_for_update(): make error handling more uniform + lock_ref_for_update(): avoid a symref resolution + +Michael J Gruber (2): + gpg-interface: check gpg signature creation status + t/t91*: do not say how to avoid the tests + +Nguyễn Thái Ngọc Duy (20): + completion: support git-worktree + worktree.c: rewrite mark_current_worktree() to avoid strbuf + git-worktree.txt: keep subcommand listing in alphabetical order + worktree.c: use is_dot_or_dotdot() + worktree: avoid 0{40}, too many zeroes, hard to read + worktree: simplify prefixing paths + worktree.c: add find_worktree() + worktree.c: add is_main_worktree() + lib-httpd.sh: print error.log on error + worktree.c: add is_worktree_locked() + git-fetch.txt: document fetch output + fetch: refactor ref update status formatting code + fetch: change flag code for displaying tag update and deleted ref + fetch: align all "remote -> local" output + fetch: reduce duplicate in ref update status lines with placeholder + connect: read $GIT_SSH_COMMAND from config file + worktree: add "lock" command + worktree: add "unlock" command + worktree.c: find_worktree() search by path suffix + log: decorate HEAD -> branch with the same color for arrow and HEAD + +René Scharfe (4): + am: ignore return value of write_file() + pass constants as first argument to st_mult() + use CHILD_PROCESS_INIT to initialize automatic variables + archive-tar: make write_extended_header() void + +Ronald Wampler (1): + Makefile: add NEEDS_LIBRT to optionally link with librt + +Stefan Beller (19): + submodule update: make use of the existing fetch_in_submodule function + submodule-config: keep shallow recommendation around + submodule update: learn `--[no-]recommend-shallow` option + submodule--helper: initial clone learns retry logic + submodule update: continue when a clone fails + push options: {pre,post}-receive hook learns about push options + receive-pack: implement advertising and receiving push options + push: accept push options + add a test for push options + t7406: future proof tests with hard coded depth + submodule update: respect depth in subsequent fetches + submodule update: narrow scope of local variable + submodule--helper: fix usage string for relative-path + submodule-config: keep configured branch around + gitmodules: document shallow recommendation + submodule--helper: add remote-branch helper + submodule update: allow '.' for branch value + submodule--helper: use parallel processor correctly + t7406: fix breakage on OSX + +Thomas Braun (3): + completion: factor out untracked file modes into a variable + completion: add __git_get_option_value helper + completion: add git status + +Vasco Almeida (44): + i18n: builtin/remote.c: fix mark for translation + i18n: advice: mark string about detached head for translation + i18n: advice: internationalize message for conflicts + i18n: transport: mark strings for translation + i18n: sequencer: mark entire sentences for translation + i18n: rebase-interactive: mark here-doc strings for translation + i18n: sequencer: mark string for translation + i18n: rebase-interactive: mark comments of squash for translation + i18n: merge-octopus: mark messages for translation + i18n: setup: mark strings for translation + merge-octopus: use die shell function from git-sh-setup.sh + tests: use test_i18n* functions to suppress false positives + i18n: rebase: fix marked string to use eval_gettext variant + tests: unpack-trees: update to use test_i18n* functions + i18n: rebase: mark placeholder for translation + t9003: become resilient to GETTEXT_POISON + i18n: bisect: simplify error message for i18n + t4153: fix negated test_i18ngrep call + t6030: update to use test_i18ncmp + t5523: use test_i18ngrep for negation + i18n: git-sh-setup.sh: mark strings for translation + i18n: bisect: mark strings for translation + i18n: rebase-interactive: mark strings for translation + i18n: transport-helper.c: change N_() call to _() + i18n: notes: mark strings for translation + i18n: notes: mark options for translation + i18n: merge: mark messages for translation + i18n: merge: change command option help to lowercase + i18n: sequencer: add period to error message + i18n: standardise messages + i18n: remote: mark URL fallback text for translation + i18n: remote: allow translations to reorder message + i18n: init-db: join message pieces + i18n: submodule: join strings marked for translation + i18n: submodule: escape shell variables inside eval_gettext + i18n: unmark die messages for translation + i18n: branch: mark comment when editing branch description for translation + t5541: become resilient to GETTEXT_POISON + t5510: skip tests under GETTEXT_POISON build + i18n: notes: mark comment for translation + i18n: config: unfold error messages marked for translation + i18n: setup: mark error messages for translation + i18n: archive: mark errors for translation + i18n: git-stash: mark messages for translation + +Ville Skyttä (2): + completion: complete --delete, --move, and --remotes for git branch + Spelling fixes + +William Duclot (1): + userdiff: add built-in pattern for CSS + +brian m. carlson (11): + hex: add oid_to_hex_r() + contrib/coccinelle: add basic Coccinelle transforms + coccinelle: convert hashcpy() with null_sha1 to hashclr() + coccinelle: apply object_id Coccinelle transformations + diff: convert struct diff_filespec to struct object_id + diff: rename struct diff_filespec's sha1_valid member + merge-recursive: convert struct stage_data to use object_id + merge-recursive: convert struct merge_file_info to object_id + merge-recursive: convert leaf functions to use struct object_id + merge-recursive: convert merge_recursive_generic() to object_id + diff: convert prep_temp_blob() to struct object_id + + +Version v2.9.5; changes since v2.9.4: +------------------------------------- + +Jeff King (4): + t5813: add test for hostname starting with dash + connect: factor out "looks like command line option" check + connect: reject dashed arguments for proxy commands + connect: reject paths that look like command line options + +Junio C Hamano (4): + connect: reject ssh hostname that begins with a dash + Git 2.7.6 + Git 2.8.6 + Git 2.9.5 + + +Version v2.9.4; changes since v2.9.3: +------------------------------------- + +Beat Bolli (1): + SubmittingPatches: use gitk's "Copy commit summary" format + +Ben Wijen (2): + t6026-merge-attr: child processes must not inherit index.lock handles + mingw: ensure temporary file handles are not inherited by child processes + +David Glasser (1): + doc: mention `git -c` in git-config(1) + +Heiko Voigt (1): + SubmittingPatches: document how to reference previous commits + +Jeff King (12): + add an extra level of indirection to main() + common-main: call git_extract_argv0_path() + common-main: call sanitize_stdfds() + common-main: call restore_sigpipe_to_default() + common-main: call git_setup_gettext() + doc/rev-list-options: clarify "commit@{Nth}" for "-g" option + doc/rev-list-options: explain "-g" output formats + doc/pretty-formats: describe index/time formats for %gd + doc/pretty-formats: explain shortening of %gd + date: document and test "raw-local" mode + date: add "unix" format + shell: disallow repo names beginning with dash + +Johannes Schindelin (6): + mingw: declare main()'s argv as const + import-tars: support hard links + t5533: make it pass on case-sensitive filesystems + git mv: do not keep slash in `git mv dir non-existing-dir/` + t/Makefile: ensure that paths are valid on platforms we care + Revert "display HTML in default browser using Windows' shell API" + +John Keeping (4): + Documentation/git-push: fix placeholder formatting + push: add shorthand for --force-with-lease branch creation + push: allow pushing new branches with --force-with-lease + difftool: always honor fatal error exit codes + +Junio C Hamano (9): + merge: avoid "safer crlf" during recording of merge results + date: clarify --date=raw description + Prepare for 2.9.4 + Git 2.4.12 + Git 2.5.6 + Git 2.6.7 + Git 2.7.5 + Git 2.8.5 + Git 2.9.4 + +Lars Schneider (1): + pack-protocol: fix maximum pkt-line size + +Michael Stahl (1): + document git-repack interaction of pack.threads and pack.windowMemory + +René Scharfe (10): + merge-recursive: use STRING_LIST_INIT_NODUP + merge: use string_list_split() in add_strategies() + use strbuf_add_unique_abbrev() for adding short hashes + correct FLEXPTR_* example in comment + mailinfo: recycle strbuf in check_header() + commit: use xstrdup() in get_merge_parent() + commit: factor out set_merge_remote_desc() + merge-recursive: fix verbose output for multiple base trees + commit: use FLEX_ARRAY in struct merge_remote_desc + receive-pack: use FLEX_ALLOC_MEM in queue_command() + +SZEDER Gábor (1): + t1410: remove superfluous 'git reflog' from the 'walk past root' test + +Stefan Beller (1): + checkout: do not mention detach advice for explicit --detach option + +Torsten Bögershausen (1): + convert: unify the "auto" handling of CRLF + + +Version v2.9.3; changes since v2.9.2: +------------------------------------- + +Alex Henrie (1): + unpack-trees: fix English grammar in do-this-before-that messages + +Andreas Brauchli (1): + gitweb: escape link body in format_ref_marker + +Armin Kunaschik (1): + t7610: test for mktemp before test execution + +Charles Bailey (3): + t7810-grep.sh: fix duplicated test name + t7810-grep.sh: fix a whitespace inconsistency + grep: fix grepping for "intent to add" files + +Chris Packham (1): + completion: add option '--recurse-submodules' to 'git clone' + +David A. Greene (1): + contrib/subtree: Add a test for subtree rebase that loses commits + +David Aguilar (4): + t7900-subtree.sh: fix quoting and broken && chains + subtree: fix "git subtree split --rejoin" + difftool: avoid $GIT_DIR and $GIT_WORK_TREE + difftool: use Git::* functions instead of passing around state + +David Kastrup (1): + blame: require 0 context lines while finding moved lines with -M + +Eric Wong (6): + gc: fix off-by-one error with gc.autoPackLimit + xread: retry after poll on EAGAIN/EWOULDBLOCK + xwrite: poll on non-blocking FDs + hoist out handle_nonblock function for xread and xwrite + daemon: ignore ENOTSOCK from setsockopt + configure.ac: stronger test for pthread linkage + +Heiko Voigt (3): + submodule-config: passing name reference for .gitmodule blobs + submodule-config: combine early return code into one goto + submodule-config: fix test binary crashing when no arguments given + +Jeff King (14): + send-pack: use buffered I/O to talk to pack-objects + tests: factor portable signal check out of t0005 + t0005: use test_match_signal as appropriate + test_must_fail: use test_match_signal + t/lib-git-daemon: use test_match_signal + parse_options: allocate a new array when concatenating + Makefile: drop extra dependencies for test helpers + Makefile: use VCSSVN_LIB to refer to svn library + push: anonymize URL in status output + t5541: fix url scrubbing test when GPG is not set + diff: do not reuse worktree files that need "clean" conversion + t4205: drop top-level &&-chaining + t4205: indent here documents + am: reset cached ident date for each patch + +Joey Hess (1): + clarify %f documentation + +Johannes Schindelin (13): + pretty: make the skip_blank_lines() function public + commit.c: make find_commit_subject() more robust + color.h: remove obsolete comment about limitations on Windows + t3404: fix a grammo (commands are ran -> commands are run) + commit -C: skip blank lines at the beginning of the message + sequencer: use skip_blank_lines() to find the commit subject + reset --hard: skip blank lines when reporting the commit subject + commit -S: avoid invalid pointer with empty message + am: counteract gender bias + diff: demonstrate a bug with --patience and --ignore-space-at-eol + diff: fix a double off-by-one with --ignore-space-at-eol + t/test-lib.sh: fix running tests with --valgrind + nedmalloc: fix misleading indentation + +Johannes Sixt (2): + Windows: add missing definition of ENOTSOCK + t4130: work around Windows limitation + +John Keeping (1): + difftool: fix argument handling in subdirs + +Junio C Hamano (7): + diff: document diff-filter exclusion + grep: further simplify setting the pattern type + Some fixes for 2.9.3 + hashmap: clarify that hashmap_entry can safely be discarded + Hopefully final batch for 2.9.3 + Yet another batch for 2.9.3 + Git 2.9.3 + +Lars Schneider (1): + travis-ci: enable web server tests t55xx on Linux + +Lukas Fleischer (3): + sideband.c: make send_sideband() return void + upload-pack.c: make send_client_data() return void + sideband.c: refactor recv_sideband() + +Matthieu Moy (8): + Documentation/git-mv.txt: fix whitespace indentation + doc: typeset short command-line options as literal + doc: typeset long command-line options as literal + doc: typeset '--' as literal + doc: typeset long options with argument as literal + CodingGuidelines: formatting HEAD in documentation + doc: typeset HEAD and variants as literal + status: suggest 'git merge --abort' when appropriate + +Mike Hommey (2): + blame: allow to blame paths freshly added to the index + t/t8003-blame-corner-cases.sh: Use here documents + +Nguyễn Thái Ngọc Duy (26): + new-command.txt: correct the command description file + grep: break down an "if" stmt in preparation for next changes + test-regex: isolate the bug test code + test-regex: expose full regcomp() to the command line + grep/icase: avoid kwsset on literal non-ascii strings + grep/icase: avoid kwsset when -F is specified + grep: rewrite an if/else condition to avoid duplicate expression + grep/pcre: prepare locale-dependent tables for icase matching + gettext: add is_utf8_locale() + grep/pcre: support utf-8 + diffcore-pickaxe: Add regcomp_or_die() + diffcore-pickaxe: support case insensitive match on non-ascii + grep.c: reuse "icase" variable + pack-objects: pass length to check_pack_crc() without truncation + sha1_file.c: use type off_t* for object_info->disk_sizep + index-pack: correct "len" type in unpack_data() + index-pack: report correct bad object offsets even if they are large + index-pack: correct "offset" type in unpack_entry_data() + pack-objects: do not truncate result in-pack object size on 32-bit systems + fsck: use streaming interface for large blobs in pack + test-lib.sh: introduce and use $EMPTY_TREE + test-lib.sh: introduce and use $EMPTY_BLOB + cache-tree.c: fix i-t-a entry skipping directory updates sometimes + cache-tree: do not generate empty trees as a result of all i-t-a subentries + config.mak.uname: correct perl path on FreeBSD + t7063: work around FreeBSD's lazy mtime update feature + +Nicolas Pitre (1): + sideband.c: small optimization of strbuf usage + +Orgad Shaneh (1): + commit: describe that --no-verify skips the commit-msg hook in the help text + +Parker Moore (2): + contrib/persistent-https: update ldflags syntax for Go 1.7+ + contrib/persistent-https: use Git version for build label + +Patrick Steinhardt (1): + rebase -i: restore autostash on abort + +Pranit Bauva (1): + builtin/commit.c: memoize git-path for COMMIT_EDITMSG + +Ramsay Jones (1): + write_or_die: remove the unused write_or_whine() function + +René Scharfe (10): + .gitattributes: set file type for C files + notes-merge: use O_EXCL to avoid overwriting existing files + rm: reuse strbuf for all remove_dir_recursively() calls + worktree: use strbuf_add_absolute_path() directly + use strbuf_addbuf() for appending a strbuf to another + submodule-config: use explicit empty string instead of strbuf in config_from() + strbuf: avoid calling strbuf_grow() twice in strbuf_addbuf() + use strbuf_addstr() for adding constant strings to a strbuf + use strbuf_addstr() instead of strbuf_addf() with "%s" + nedmalloc: work around overzealous GCC 6 warning + +Stefan Beller (2): + Documentation: pack-protocol correct NAK response + submodule deinit: remove outdated comment + + +Version v2.9.2; changes since v2.9.1: +------------------------------------- + +Jeff King (1): + t0006: skip "far in the future" test when unsigned long is not long enough + +Junio C Hamano (1): + Git 2.9.2 + + +Version v2.9.1; changes since v2.9.0: +------------------------------------- + +Alfred Perlstein (1): + git-svn: document the 'git svn propset' command + +Andrew Oakley (1): + git-p4: correct hasBranchPrefix verbose output + +Armin Kunaschik (1): + t7800: readlink may not be available + +Charles Bailey (1): + t7810: fix duplicated test title + +Dave Nicolson (1): + Documentation: GPG capitalization + +David Turner (1): + mailmap: use main email address for dturner + +Ed Maste (1): + rebase: update comment about FreeBSD /bin/sh + +Edward Thomson (2): + format_commit_message: honor `color=auto` for `%C(auto)` + add: add --chmod=+x / --chmod=-x options + +Eric Wong (1): + daemon: enable SO_KEEPALIVE for all sockets + +Heiko Becker (1): + gnome-keyring: Don't hard-code pkg-config executable + +Jeff King (9): + rev-list: "adjust" results of "--count --use-bitmap-index -n" + rev-list: disable bitmaps when "-n" is used with listing objects + tree-diff: avoid alloca for large allocations + fetch: document that pruning happens before fetching + add--interactive: respect diff.compactionHeuristic + bisect: always call setup_revisions after init_revisions + t0006: rename test-date's "show" to "relative" + t0006: test various date formats + local_tzoffset: detect errors from tm_to_time_t + +Johannes Schindelin (3): + mingw: let the build succeed with DEVELOPER=1 + perf: accommodate for MacOSX + t2300: "git --exec-path" is not usable in $PATH on Windows as-is + +Jonathan Nieder (1): + doc: git-htmldocs.googlecode.com is no more + +Josef Kufner (1): + pretty: pass graph width to pretty formatting for use in '%>|(N)' + +Junio C Hamano (5): + blame, line-log: do not loop around deref_tag() + clone: do not let --depth imply --shallow-submodules + Start preparing for 2.9.1 + More fixes for 2.9.1 + Git 2.9.1 + +Keith McGuigan (1): + builtin/fetch.c: don't free remote->name after fetch + +LE Manh Cuong (1): + sh-setup: enclose setting of ${VAR=default} in double-quotes + +Lars Vogel (1): + Use "working tree" instead of "working directory" for git status + +Michael J Gruber (5): + cherry-pick: allow to pick to unborn branches + Documentation/technical: describe signature formats + Documentation/technical: signed tag format + Documentation/technical: signed commit format + Documentation/technical: signed merge tag format + +Nguyễn Thái Ngọc Duy (1): + pretty.c: support <direction>|(<negative number>) forms + +Peter Colberg (2): + refs.h: fix misspelt "occurred" in a comment + config.c: fix misspelt "occurred" in an error message + +Pranit Bauva (1): + strbuf: describe the return value of strbuf_read_file + +Ramsay Jones (1): + regex: fix a SIZE_MAX macro redefinition warning + +René Scharfe (9): + t4051: rewrite, add more tests + xdiff: factor out match_func_rec() + xdiff: handle appended chunks better with -W + xdiff: ignore empty lines before added functions with -W + xdiff: -W: don't include common trailing empty lines in context + xdiff: don't trim common tail with -W + t7810: add test for grep -W and trailing empty context lines + grep: -W: don't extend context to trailing empty lines + xdiff: fix merging of appended hunk with -W + +SZEDER Gábor (1): + reflog: continue walking the reflog past root commits + +Stefan Beller (1): + t5614: don't use subshells + +Tom Russello (4): + doc: clearer rule about formatting literals + doc: change environment variables format + doc: more consistency in environment variables format + doc: change configuration variables format + +Ville Skyttä (1): + git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha + + +Version v2.9.0; changes since v2.9.0-rc2: +----------------------------------------- + +Alexander Shopov (1): + l10n: Updated Bulgarian translation of git (2597t,0f,0u) + +Antonin (1): + l10n: fr.po Fixed grammar mistake + +Changwoo Ryu (1): + l10n: ko.po: Update Korean translation + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Jean-Noël Avila (1): + l10n: fr.po v2.9.0rnd1 + +Jeff King (1): + test-lib: add in-shell "env" replacement + +Jiang Xin (2): + l10n: git.pot: v2.9.0 round 1 (104 new, 37 removed) + l10n: zh_CN: for git v2.9.0 l10n round 1 + +Junio C Hamano (5): + t5500 & t7403: lose bash-ism "local" + t2300: run git-sh-setup in an environment that better mimics the real life + diff: disable compaction heuristic for now + Hopefully the final last-minute update before 2.9 final + Git 2.9 + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (2597t0f0u) + +Ralf Thielow (1): + l10n: de.po: translate 104 new messages + +Ray Chen (1): + l10n: zh_CN: review for git v2.9.0 l10n round 1 + +Trần Ngọc Quân (1): + l10n: Updated Vietnamese translation (2597t) + +Vasco Almeida (3): + l10n: pt_PT: merge git.pot file + l10n: pt_PT: update according to git-gui glossary + l10n: pt_PT: update Portuguese translation + + +Version v2.9.0-rc2; changes since v2.9.0-rc1: +--------------------------------------------- + +Benjamin Dopplinger (1): + README.md: format CLI commands with code syntax + +Erwan Mathoniere (1): + Documentation: bold literals in man + +Johannes Sixt (1): + rebase -i: remove an unnecessary 'rerere' invocation + +Junio C Hamano (3): + Almost ready for 2.9-rc2 + Git 2.8.4 + Git 2.9-rc2 + +Matthieu Moy (2): + Makefile: move 'ifdef DEVELOPER' after config.mak* inclusion + Makefile: add $(DEVELOPER_CFLAGS) variable + +Pablo Santiago Blum de Aguiar (1): + git-cherry-pick.txt: correct a small typo + +René Scharfe (3): + apply: remove unused parameters from name_terminate() + patch-id: use starts_with() and skip_prefix() + perf: make the tests work without a worktree + +SZEDER Gábor (1): + Documentation/git-send-email: fix typo in gmail 2FA section + +Stefan Beller (2): + submodule--helper: offer a consistent API + submodule: remove bashism from shell script + + +Version v2.9.0-rc1; changes since v2.9.0-rc0: +--------------------------------------------- + +Armin Kunaschik (1): + t0008: 4 tests fail with ksh88 + +Eric Sunshine (5): + t1500: be considerate to future potential tests + t1500: test_rev_parse: facilitate future test enhancements + t1500: avoid changing working directory outside of tests + t1500: avoid setting configuration options outside of tests + t1500: avoid setting environment variables outside of tests + +Felipe Contreras (1): + fast-import: do not truncate exported marks file + +Jeff King (3): + cat-file: avoid noop calls to sha1_object_info_extended + cat-file: default to --buffer when --batch-all-objects is used + archive-tar: convert snprintf to xsnprintf + +Johannes Sixt (1): + t6044: replace seq by test_seq + +Junio C Hamano (5): + t4204: do not let $name variable clobbered + Start preparing for 2.8.4 + Final batch before 2.9-rc1 + More topics for 2.8.4 + Git 2.9-rc1 + +Karsten Blees (1): + mingw: make isatty() recognize MSYS2's pseudo terminals (/dev/pty*) + +Michael Rappazzo (1): + Documentation: add instructions to help setup gmail 2FA + +Ramsay Jones (1): + log: document the --decorate=auto option + + +Version v2.9.0-rc0; changes since v2.8.6: +----------------------------------------- + +Ben Woosley (1): + git-rebase--merge: don't include absent parent as a base + +Christian Couder (1): + Git/SVN: die when there is no commit metadata + +David Turner (5): + refs: move head_ref{,_submodule} to the common code + refs: move for_each_*ref* functions into common code + files-backend: break out ref reading + refs: move resolve_ref_unsafe into common code + refs: on symref reflog expire, lock symref not referrent + +Dennis Kaarsemaker (1): + Makefile: remove dependency on git.spec + +Elijah Newren (6): + merge-recursive: remove duplicate code + merge-recursive: do not check working copy when creating a virtual merge base + t7605: add a testcase demonstrating a bug with trivial merges + builtin/merge.c: fix a bug with trivial merges + t6044: new merge testcases for when index doesn't match HEAD + merge-octopus: abort if index does not match HEAD + +Eric Sunshine (4): + lib-gpg: drop unnecessary "missing GPG" warning + t6302: normalize names and descriptions of signed tags + t6302: also test annotated in addition to signed tags + t6302: skip only signed tags rather than all tests when GPG is missing + +Jacob Keller (7): + submodule: don't pass empty string arguments to submodule--helper clone + submodule: check argc count for git submodule--helper clone + submodule: fix submodule--helper clone usage + submodule: fix segmentation fault in submodule--helper clone + quote: implement sq_quotef() + git: submodule honor -c credential.* from command line + xdiff: add recs_match helper function + +Jacob Nisnevich (2): + mergetools: create mergetool_find_win32_cmd() helper function for winmerge + mergetools: add support for ExamDiff + +Jan Durovec (2): + git-p4: clean-up code style in tests + git-p4: add P4 jobs to git commit message + +Jeff King (16): + credential: let empty credential specs reset helper list + add--interactive: allow custom diff highlighting programs + git_config_push_parameter: handle empty GIT_CONFIG_PARAMETERS + t5550: fix typo in $HTTPD_URL + t5550: break submodule config test into multiple sub-tests + submodule: export sanitized GIT_CONFIG_PARAMETERS + submodule--helper: move config-sanitizing to submodule.c + submodule: use prepare_submodule_repo_env consistently + submodule: stop sanitizing config options + t6302: simplify non-gpg cases + t/lib-git-svn: drop $remote_git_svn and $git_svn_id + t9100,t3419: enclose all test code in single-quotes + t9107: use "return 1" instead of "exit 1" + t9107: switch inverted single/double quotes in test + t9103: modernize test style + always quote shell arguments to test -z/-n + +Johannes Schindelin (8): + http: support sending custom HTTP headers + tests: adjust the configuration for Apache 2.2 + t5551: make the test for extra HTTP headers more robust + t3404: fix typo + submodule: ensure that -c http.extraheader is heeded + perf: let's disable symlinks when they are not available + perf: make the tests work in worktrees + perf: run "rebase -i" under perf + +Junio C Hamano (45): + rerere: split conflict ID further + rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id + rerere: handle leftover rr-cache/$ID directory and postimage files + rerere: delay the recording of preimage + rerere: allow multiple variants to exist + t4200: rerere a merge with two identical conflicts + rerere: do use multiple variants + merge: refuse to create too cool a merge by default + pretty: enable --expand-tabs by default for selected pretty formats + pretty: allow tweaking tabwidth in --expand-tabs + First batch for post 2.8 cycle + pretty: test --expand-tabs + Second batch for post 2.8 cycle + Makefile: stop pretending to support rpmbuild + rerere: gc and clear + rerere: move code related to "forget" together + rerere: split code to call ll_merge() further + rerere: adjust 'forget' to multi-variant world order + Third batch for post 2.8 cycle + Fourth batch for post 2.8 cycle + ll-merge: fix typo in comment + Makefile: clean *.o files we create + Fifth batch for post 2.8 cycle + t3033: avoid 'ambiguous refs' warning + pull: pass --allow-unrelated-histories to "git merge" + Sixth batch for post 2.8 cycle + Seventh batch for post 2.8 cycle + Eighth batch for 2.9 + diff: undocument the compaction heuristic knobs for experimentation + commit-tree: do not pay attention to commit.gpgsign + Ninth batch for 2.9 + Tenth batch for 2.9 + ll-merge: use a longer conflict marker for internal merge + t6036: remove pointless test that expects failure + ci: validate "linkgit:" in documentation + test-parse-options: fix output when callback option fails + test-parse-options: --expect=<string> option to simplify tests + t0040: remove unused test helpers + t0040: convert a few tests to use test-parse-options --expect + Eleventh batch for 2.9 + rerere: plug memory leaks upon "rerere forget" failure + Twelfth batch for 2.9 + Thirteenth batch for 2.9 + rerere: remove an null statement + Git 2.9-rc0 + +Lars Schneider (2): + git-p4: map a P4 user to Git author name and email address + travis-ci: enable Git SVN tests t91xx on Linux + +Laurent Arnoud (1): + tag: add the option to force signing of annotated tags + +Linus Torvalds (1): + pretty: expand tabs in indented logs to make things line up properly + +Matthieu Moy (7): + Documentation/diff-config: fix description of diff.renames + t4001-diff-rename: wrap file creations in a test + t: add tests for diff.renames (true/false/unset) + log: introduce init_log_defaults() + diff: activate diff.renames by default + README.md: don't take 'commandname' literally + git-multimail: update to release 1.3.1 + +Mehul Jain (9): + git-pull.c: introduce git_pull_config() + pull --rebase: add --[no-]autostash flag + t5520: use consistent capitalization in test titles + t5520: ensure consistent test conditions + t5520: use better test to check stderr output + t5520: factor out common "successful autostash" code + t5520: factor out common "failing autostash" code + t5520: reduce commom lines of code + t5520: test --[no-]autostash with pull.rebase=true + +Michael Haggerty (19): + t1430: test the output and error of some commands more carefully + t1430: clean up broken refs/tags/shadow + t1430: don't rely on symbolic-ref for creating broken symrefs + t1430: test for-each-ref in the presence of badly-named refs + t1430: improve test coverage of deletion of badly-named refs + resolve_missing_loose_ref(): simplify semantics + resolve_ref_unsafe(): use for loop to count up to MAXDEPTH + resolve_ref_unsafe(): ensure flags is always set + resolve_ref_1(): eliminate local variable + resolve_ref_1(): reorder code + resolve_ref_1(): eliminate local variable "bad_name" + read_raw_ref(): manage own scratch space + files-backend: inline resolve_ref_1() into resolve_ref_unsafe() + read_raw_ref(): change flags parameter to unsigned int + fsck_head_link(): remove unneeded flag variable + cmd_merge(): remove unneeded flag variable + checkout_paths(): remove unneeded flag variable + check_aliased_update(): check that dst_name is non-NULL + show_head_ref(): check the result of resolve_ref_namespace() + +Michael J Gruber (1): + completion: complete --cherry-mark for git log + +Nguyễn Thái Ngọc Duy (57): + apply: report patch skipping in verbose mode + test helpers: move test-* to t/helper/ subdirectory + dir.c: rename str(n)cmp_icase to fspath(n)cmp + path.c: add git_common_path() and strbuf_git_common_path() + worktree.c: store "id" instead of "git_dir" + worktree.c: make find_shared_symref() return struct worktree * + worktree.c: mark current worktree + path.c: refactor and add worktree_git_path() + wt-status.c: split rebase detection out of wt_status_get_state() + wt-status.c: make wt_status_check_rebase() work on any worktree + worktree.c: avoid referencing to worktrees[i] multiple times + worktree.c: check whether branch is rebased in another worktree + wt-status.c: split bisect detection out of wt_status_get_state() + worktree.c: check whether branch is bisected in another worktree + branch: do not rename a branch under bisect or rebase + usage.c: move format processing out of die_errno() + usage.c: add warning_errno() and error_errno() + bisect.c: use die_errno() and warning_errno() + builtin/am.c: use error_errno() + builtin/branch.c: use error_errno() + builtin/fetch.c: use error_errno() + builtin/help.c: use warning_errno() + builtin/mailsplit.c: use error_errno() + builtin/merge-file.c: use error_errno() + builtin/pack-objects.c: use die_errno() and warning_errno() + builtin/rm.c: use warning_errno() + builtin/update-index.c: prefer "err" to "errno" in process_lstat_error + builtin/upload-archive.c: use error_errno() + builtin/worktree.c: use error_errno() + check-racy.c: use error_errno() + combine-diff.c: use error_errno() + compat/win32/syslog.c: use warning_errno() + config.c: use error_errno() + connected.c: use error_errno() + copy.c: use error_errno() + credential-cache--daemon.c: use warning_errno() + diff-no-index.c: use error_errno() + editor.c: use error_errno() + entry.c: use error_errno() + fast-import.c: use error_errno() + gpg-interface.c: use error_errno() + grep.c: use error_errno() + http.c: use error_errno() and warning_errno() + ident.c: use warning_errno() + mailmap.c: use error_errno() + reachable.c: use error_errno() + rerere.c: use error_errno() and warning_errno() + run-command.c: use error_errno() + sequencer.c: use error_errno() + server-info.c: use error_errno() + sha1_file.c: use {error,die,warning}_errno() + transport-helper.c: use error_errno() + unpack-trees.c: use error_errno() + upload-pack.c: use error_errno() + vcs-svn: use error_errno() + wrapper.c: use warning_errno() + wrap-for-bin.sh: regenerate bin-wrappers when switching branches + +Pranit Bauva (7): + t0040-test-parse-options.sh: fix style issues + test-parse-options: print quiet as integer + t0040-parse-options: improve test coverage + t/t7507: improve test coverage + parse-options.c: make OPTION_COUNTUP respect "unspecified" values + t7507-commit-verbose: improve test coverage by testing number of diffs + commit: add a commit.verbose config variable + +Ralf Thielow (3): + completion: add option '--guides' to 'git help' + completion: add 'revisions' and 'everyday' to 'git help' + rebase-i: print an abbreviated hash when stop for editing + +Ray Zhang (1): + worktree: add: introduce --checkout option + +Santiago Torres (6): + builtin/verify-tag.c: ignore SIGPIPE in gpg-interface + t7030: test verifying multiple tags + verify-tag: update variable name and type + verify-tag: prepare verify_tag for libification + verify-tag: move tag verification code to tag.c + tag -v: verify directly rather than exec-ing verify-tag + +Sidhant Sharma (1): + builtin/receive-pack.c: use parse_options API + +Stefan Beller (20): + submodule-config: keep update strategy around + submodule-config: drop check against NULL + fetching submodules: respect `submodule.fetchJobs` config option + submodule update: direct error message to stderr + run_processes_parallel: treat output of children as byte array + run_processes_parallel: rename parameters for the callbacks + git submodule update: have a dedicated helper for cloning + submodule helper: remove double 'fatal: ' prefix + submodule update: expose parallelism to the user + clone: allow an explicit argument for parallel submodule clones + rebase: decouple --exec from --interactive + t3404: cleanup double empty lines between tests + submodule: port resolve_relative_url from shell to C + submodule: port init from shell to C + xdiff: implement empty line chunk heuristic + clone: add `--shallow-submodules` flag + submodule init: fail gracefully with a missing .gitmodules file + submodule--helper update-clone: abort gracefully on missing .gitmodules + submodule deinit test: fix broken && chain in subshell + submodule init: redirect stdout to stderr + +Stephen P. Smith (1): + wt-status.c: set commitable bit if there is a meaningful merge. + +Xiaolong Ye (4): + patch-ids: make commit_patch_id() a public helper function + format-patch: add '--base' option to record base tree info + format-patch: introduce --base=auto option + format-patch: introduce format.useAutoBase configuration + +brian m. carlson (6): + sha1-name: introduce a get_oid() function + test-match-trees: convert to use struct object_id + match-trees: convert shift_tree() and shift_tree_by() to use object_id + struct name_entry: use struct object_id instead of unsigned char sha1[20] + tree-walk: convert tree_entry_extract() to use struct object_id + match-trees: convert several leaf functions to use struct object_id + +Ævar Arnfjörð Bjarmason (4): + githooks.txt: improve the intro section + githooks.txt: amend dangerous advice about 'update' hook ACL + githooks.txt: minor improvements to the grammar & phrasing + hooks: allow customizing where the hook directory is + + +Version v2.8.6; changes since v2.8.5: +------------------------------------- + +Jeff King (4): + t5813: add test for hostname starting with dash + connect: factor out "looks like command line option" check + connect: reject dashed arguments for proxy commands + connect: reject paths that look like command line options + +Junio C Hamano (3): + connect: reject ssh hostname that begins with a dash + Git 2.7.6 + Git 2.8.6 + + +Version v2.8.5; changes since v2.8.4: +------------------------------------- + +Jeff King (1): + shell: disallow repo names beginning with dash + +Junio C Hamano (5): + Git 2.4.12 + Git 2.5.6 + Git 2.6.7 + Git 2.7.5 + Git 2.8.5 + + +Version v2.8.4; changes since v2.8.3: +------------------------------------- + +Alexander Rinass (1): + diff: run arguments through precompose_argv + +Armin Kunaschik (1): + t4151: make sure argument to 'test -z' is given + +Brian Norris (3): + Documentation: config: improve word ordering for http.cookieFile + http: expand http.cookieFile as a path + config: consistently format $variables in monospaced font + +David Aguilar (2): + difftool: initialize variables for readability + difftool: handle unmerged files in dir-diff mode + +Jeff King (3): + rebase--interactive: avoid empty list in shell for-loop + test-lib: set BASH_XTRACEFD automatically + archive-tar: convert snprintf to xsnprintf + +Johannes Schindelin (3): + name-rev: include taggerdate in considering the best name + mingw: introduce the 'core.hideDotFiles' setting + mingw: remove unnecessary definition + +Junio C Hamano (9): + fsck_commit_buffer(): do not special case the last validation + config: describe 'pathname' value type + test-lib-functions.sh: remove misleading comment on test_seq + test-lib-functions.sh: rewrite test_seq without Perl + Documentation: fix linkgit references + fsck: detect and warn a commit with embedded NUL + Start preparing for 2.8.4 + More topics for 2.8.4 + Git 2.8.4 + +Karsten Blees (1): + mingw: make isatty() recognize MSYS2's pseudo terminals (/dev/pty*) + +Keller Fuchs (1): + Documentation: clarify signature verification + +Lars Schneider (1): + travis-ci: build documentation + +Li Peng (1): + typofix: assorted typofixes in comments, documentation and messages + +Nguyễn Thái Ngọc Duy (1): + remote.c: specify correct plural form in "commit diverge" message + +Stefan Beller (3): + submodule deinit: require '--all' instead of '.' for all submodules + t3513: do not compress backup tar file + t6041: do not compress backup tar file + +Torsten Bögershausen (5): + t0027: make commit_chk_wrnNNO() reliable + convert: allow core.autocrlf=input and core.eol=crlf + t0027: test cases for combined attributes + convert.c: ident + core.autocrlf didn't work + t5601: Remove trailing space in sed expression + +Vasco Almeida (12): + i18n: index-pack: use plural string instead of normal one + i18n: builtin/branch.c: mark option for translation + i18n: unpack-trees: mark strings for translation + i18n: builtin/rm.c: remove a comma ',' from string + i18n: branch: unmark string for translation + i18n: branch: move comment for translators + i18n: git-parse-remote.sh: mark strings for translation + i18n: builtin/pull.c: mark placeholders for translation + i18n: builtin/pull.c: split strings marked for translation + i18n: remote: add comment for translators + Documentation/git-mailinfo: fix typo + i18n: unpack-trees: avoid substituting only a verb in sentences + + +Version v2.8.3; changes since v2.8.2: +------------------------------------- + +Adam Dinwoodie (2): + config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES + commit: --amend -m '' silently fails to wipe message + +Christian Couder (3): + builtin/apply: get rid of useless 'name' variable + builtin/apply: handle parse_binary() failure + builtin/apply: free patch when parse_chunk() fails + +Eric Sunshine (1): + git-format-patch.txt: don't show -s as shorthand for multiple options + +Eric Wong (4): + send-email: more meaningful Message-ID + send-email: do not load Data::Dumper + pack-objects: warn on split packs disabling bitmaps + .mailmap: update to my shorter email address + +Jeff King (22): + setup: document check_repository_format() + wrap shared_repository global in get/set accessors + lazily load core.sharedrepository + check_repository_format_gently: stop using git_config_early + config: drop git_config_early + setup: refactor repo format reading and verification + init: use setup.c's repo version verification + setup: unify repository version callbacks + setup: drop repository_format_version global + verify_repository_format: mark messages for translation + branch: fix shortening of non-remote symrefs + commit: do not ignore an empty message given by -m '' + config: lower-case first word of error strings + git_config_set_multivar_in_file: all non-zero returns are errors + git_config_set_multivar_in_file: handle "unset" errors + t5532: use write_script + send-pack: close demux pipe before finishing async process + run-command: teach async threads to ignore SIGPIPE + send-pack: isolate sigpipe in demuxer thread + fetch-pack: isolate sigpipe in demuxer thread + t5504: drop sigpipe=ok from push tests + remote.c: spell __attribute__ correctly + +Johannes Schindelin (5): + replace --edit: respect core.editor + win32mmap: set errno appropriately + mmap(win32): avoid copy-on-write when it is unnecessary + mmap(win32): avoid expensive fstat() call + Windows: only add a no-op pthread_sigmask() when needed + +Johannes Sixt (1): + Windows: add pthread_sigmask() that does nothing + +Junio C Hamano (10): + apply: remove unused call to free() in gitdiff_{old,new}name() + submodule--helper: do not borrow absolute_path() result for too long + setup.c: do not feed NULL to "%.*s" even with precision 0 + http: differentiate socks5:// and socks5h:// + t1020: do not overuse printf and use write_script + t3404: use write_script + send-email: fix grammo in the prompt that asks e-mail recipients + Start preparing for 2.8.3 + Almost ready for 2.8.3 + Git 2.8.3 + +Kazuki Yamaguchi (10): + branch -d: refuse deleting a branch which is currently checked out + refs: add a new function set_worktree_head_symref + branch -m: update all per-worktree HEADs + set_worktree_head_symref(): fix error message + imap-send: use HMAC() function provided by OpenSSL + imap-send: check NULL return of SSL_CTX_new() + imap-send: avoid deprecated TLSv1_method() + configure: remove checking for HMAC_CTX_cleanup + imap-send: check for NOLOGIN capability only when using LOGIN command + imap-send: fix CRAM-MD5 response calculation + +Lars Schneider (5): + travis-ci: update Git-LFS and P4 to the latest version + travis-ci: express Linux/OS X dependency versions more clearly + git-p4: fix Git LFS pointer parsing + t9824: fix wrong reference value + Documentation: add setup instructions for Travis CI + +Luke Diamand (3): + git-p4 tests: cd to / before running python + git-p4 tests: work with python3 as well as python2 + git-p4 tests: time_in_seconds should use $PYTHON_PATH + +Marios Titas (2): + ident: check for useConfigOnly before auto-detection of name/email + ident: give "please tell me" message upon useConfigOnly error + +Matthieu Moy (1): + git-multimail: update to release 1.3.0 + +Nguyễn Thái Ngọc Duy (2): + dir.c: remove dead function fnmatch_icase() + wrapper.c: delete dead function git_mkstemps() + +Nikola Forró (1): + difftool/mergetool: make the form of yes/no questions consistent + +Ralf Thielow (1): + string_list: use string-list API in unsorted_string_list_lookup() + +René Nyffenegger (1): + Documentation: fix typo 'In such these cases' + +SZEDER Gábor (4): + for-each-ref: fix description of '--contains' in manpage + test-lib: simplify '--option=value' parsing + t9824: fix broken &&-chain in a subshell + t5510: run auto-gc in the foreground + +Shin Kojima (1): + gitweb: apply fallback encoding before highlight + +Stefan Beller (20): + submodule foreach: correct path display in recursive submodules + submodule update --init: correct path handling in recursive submodules + submodule status: correct path handling in recursive submodules + submodule update: align reporting path for custom command execution + submodule update: test recursive path reporting from subdirectory + t7407: make expectation as clear as possible + recursive submodules: test for relative paths + submodule--helper: fix potential NULL-dereference + submodule--helper clone: create the submodule path just once + notes: don't leak memory in git_config_get_notes_strategy + abbrev_sha1_in_line: don't leak memory + bundle: don't leak an fd in case of early return + credential-cache, send_request: close fd when done + submodule--helper, module_clone: always operate on absolute paths + submodule--helper, module_clone: catch fprintf failure + mv: allow moving nested submodules + config doc: improve exit code listing + config.c: drop local variable + submodule-config: don't shadow `cache` + t7300: mark test with SANITY + + +Version v2.8.2; changes since v2.8.1: +------------------------------------- + +Alexander Kuleshov (1): + submodule-config: use hashmap_iter_first() + +Christian Couder (1): + Documentation: talk about pager in api-trace.txt + +David Aguilar (2): + mergetool: support delete/delete conflicts + mergetool: honor tempfile configuration when resolving delete conflicts + +Elia Pinto (1): + api-trace.txt: fix typo + +Gabriel Souza Franco (2): + fetch-pack: fix object_id of exact sha1 + fetch-pack: update the documentation for "<refs>..." arguments + +Jeff King (12): + t1515: add tests for rev-parse out-of-repo helpers + rev-parse: let some options run outside repository + strbuf_getwholeline: NUL-terminate getdelim buffer on error + setup: make startup_info available everywhere + setup: set startup_info->have_repository more reliably + remote: don't resolve HEAD in non-repository + mailmap: do not resolve blobs in a non-repository + grep: turn off gitlink detection for --no-index + use setup_git_directory() in test-* programs + send-email: ignore trailing whitespace in mailrc alias file + credential-cache--daemon: clarify "exit" action semantics + t/lib-httpd: pass through GIT_CONFIG_NOSYSTEM env + +Johannes Sixt (1): + Windows: shorten code by re-using convert_slashes() + +John Keeping (3): + config: fail if --get-urlmatch finds no value + Documentation/git-config: use bulleted list for exit codes + Documentation/git-config: fix --get-all description + +Junio C Hamano (7): + index-pack: correct --keep[=<msg>] + index-pack: add a helper function to derive .idx/.keep filename + merge: fix NULL pointer dereference when merging nothing into void + Makefile: fix misdirected redirections + Start preparing for 2.8.2 + Prepare for 2.8.2 + Git 2.8.2 + +Matthieu Moy (2): + lockfile: mark strings for translation + lockfile: improve error message when lockfile exists + +Michael Procter (1): + upload-pack: use argv_array for pack_objects + +Nguyễn Thái Ngọc Duy (2): + git-apply.txt: remove a space + git-apply.txt: mention the behavior inside a subdir + +Ori Avtalion (1): + Documentation: git diff --check detects conflict markers + +Pranit Bauva (2): + t/t7502 : drop duplicate test + api-parse-options.txt: document OPT_CMDMODE() + +Ramsay Jones (2): + xdiff/xprepare: use the XDF_DIFF_ALG() macro to access flag bits + xdiff/xprepare: fix a memory leak + +SZEDER Gábor (1): + diffcore: fix iteration order of identical files during rename detection + +Saurav Sachidanand (1): + dir: store EXC_FLAG_* values in unsigned integers + +Stanislav Kolotinskiy (1): + git-send-pack: fix --all option when used with directory + +Stefan Beller (1): + clone tests: rename t57* => t56* + +Sven Strickroth (3): + commit: do not lose SQUASH_MSG contents + MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any more + MSVC: use shipped headers instead of fallback definitions + +Torsten Bögershausen (1): + correct blame for files commited with CRLF + +Vasco Almeida (4): + l10n: fr: fix transcation of "dir" + l10n: fr: fix wrongly translated option name + l10n: fr: change "id de clé" to match "id-clé" + l10n: fr: don't translate "merge" as a parameter + + +Version v2.8.1; changes since v2.8.0: +------------------------------------- + +Junio C Hamano (1): + Git 2.8.1 + +Matthieu Moy (1): + git.spec.in: use README.md, not README + + +Version v2.8.0; changes since v2.8.0-rc4: +----------------------------------------- + +Alex Henrie (1): + l10n: ca.po: update translation + +Johannes Schindelin (4): + config --show-origin: report paths with forward slashes + t1300-repo-config: make it resilient to being run via 'sh -x' + t1300: fix the new --show-origin tests on Windows + mingw: skip some tests in t9115 due to file name issues + +Junio C Hamano (1): + Git 2.8 + +Lars Schneider (2): + Documentation: use ASCII quotation marks in git-p4 + Documentation: fix git-p4 AsciiDoc formatting + +Stefan Beller (1): + submodule: fix regression for deinit without submodules + +Trần Ngọc Quân (1): + l10n: vi.po (2530t): Update translation + +Vasco Almeida (1): + l10n: pt_PT: Update and add new translations + + +Version v2.8.0-rc4; changes since v2.8.0-rc3: +--------------------------------------------- + +Alexander Shopov (1): + gitk: Update Bulgarian translation (311t) + +Changwoo Ryu (1): + l10n: ko.po: Update Korean translation + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Eric Sunshine (2): + git-compat-util: st_add4: work around gcc 4.2.x compiler crash + Revert "config.mak.uname: use clang for Mac OS X 10.6" + +Guillermo S. Romero (1): + gitk: Follow themed bgcolor in help dialogs + +Jean-Noël Avila (3): + l10n: fr.po v2.8.0 round 3 + gitk: Update French translation (311t) + gitk: fr.po: Sync translations with git + +Junio C Hamano (8): + Git 2.4.11 + Git 2.5.5 + Git 2.6.6 + Git 2.7.4 + Revert "Merge branch 'jc/exclusion-doc'" + Revert "Merge branch 'nd/exclusion-regression-fix'" + RelNotes: remove the mention of !reinclusion + Git 2.8-rc4 + +Matthieu Moy (1): + Documentation: fix broken linkgit to git-config + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (2530t0f0u) + +Ralf Thielow (3): + l10n: de.po: translate 22 new messages + l10n: de.po: add missing newlines + gitk: Update German translation + +Ray Chen (1): + l10n: zh_CN: review for git v2.8.0 l10n round 2 + + +Version v2.8.0-rc3; changes since v2.8.0-rc2: +--------------------------------------------- + +Adam Dinwoodie (1): + t9117: test specifying full url to git svn init -T + +Audric Schiltknecht (1): + l10n: fr.po: Correct case in sentence + +Carlos Martín Nieto (1): + Disown ssh+git and git+ssh + +Changwoo Ryu (2): + l10n: ko.po: Update Korean translation + l10n: ko: Update Korean translation + +Christoph Hoopmann (1): + l10n: de.po: fix typo + +Dimitriy Ryazantcev (2): + l10n: ru.po: update Russian translation + l10n: ru.po: update Russian translation + +Eric Wong (2): + git-svn: shorten glob error message + git-svn: fix URL canonicalization during init w/ SVN 1.7+ + +Jean-Noël Avila (2): + l10n: fr.po v2.8.0 round 1 2509t + l10n: fr.po v2.8.0 round 2 + +Jeff King (7): + add helpers for detecting size_t overflow + tree-diff: catch integer overflow in combine_diff_path allocation + http-push: stop using name_path + show_object_with_name: simplify by using path_name() + list-objects: convert name_path to a strbuf + list-objects: drop name_path entirely + list-objects: pass full pathname to callbacks + +Jiang Xin (6): + l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed) + l10n: zh_CN: for git v2.8.0 l10n round 1 + l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed) + l10n: zh_CN: for git v2.8.0 l10n round 2 + l10n: git.pot: Add one new message for Git 2.8.0 + l10n: zh_CN: for git v2.8.0 l10n round 3 + +Junio C Hamano (4): + sane_grep: pass "-a" if grep accepts it + rebase-i: clarify "is this commit relevant?" test + RelNotes for 2.8.0: typofix + Git 2.8-rc3 + +Michael J Gruber (1): + wt-status: allow "ahead " to be picked up by l10n + +Peter Krefting (2): + l10n: sv.po: Fix inconsistent translation of "progress meter" + l10n: sv.po: Update Swedish translation (2509t0f0u) + +Ralf Thielow (5): + l10n: TEAMS: update Ralf Thielow's email address + l10n: de.po: add space to abbreviation "z. B." + l10n: de.po: fix interactive rebase message + l10n: de.po: translate "command" as "Befehl" + l10n: de.po: translate 48 new messages + +Trần Ngọc Quân (1): + l10n: vi.po (2509t): Updated Vietnamese translation + +Victor Leschuk (1): + git-svn: loosen config globs limitations + + +Version v2.8.0-rc2; changes since v2.8.0-rc1: +--------------------------------------------- + +Jiang Xin (1): + http: honor no_http env variable to bypass proxy + +Junio C Hamano (3): + gitignore: document that unignoring a directory unignores everything in it + Git 2.7.3 + Git 2.8-rc2 + +Michael J Gruber (1): + t5510: do not leave changed cwd + +Stefan Beller (1): + Documentation: reword rebase summary + + +Version v2.8.0-rc1; changes since v2.8.0-rc0: +--------------------------------------------- + +Jeff King (5): + t5313: test bounds-checks of corrupted/malicious pack/idx files + nth_packed_object_offset: bounds-check extended offset + use_pack: handle signed off_t overflow + compat/mingw: brown paper bag fix for 50a6c8e + t9700: fix test for perl older than 5.14 + +Johannes Schindelin (1): + Mark win32's pthread_exit() as NORETURN + +Johannes Sixt (1): + t0001: fix GIT_* environment variable check under --valgrind + +Junio C Hamano (1): + Git 2.8-rc1 + +Michael J Gruber (1): + t/lib-httpd: load mod_unixd + +Nguyễn Thái Ngọc Duy (5): + sha1_file.c: mark strings for translation + builtin/checkout.c: mark strings for translation + builtin/clone.c: mark strings for translation + ref-filter.c: mark strings for translation + trailer.c: mark strings for translation + +Stefan Beller (1): + run-command: do not pass child process data into callbacks + +Thomas Ackermann (1): + documentation: fix some typos + +Torsten Bögershausen (1): + config.mak.uname: use clang for Mac OS X 10.6 + + +Version v2.8.0-rc0; changes since v2.7.6: +----------------------------------------- + +Alexander Kuleshov (1): + format-patch: introduce format.outputDirectory configuration + +Christian Couder (11): + dir: free untracked cache when removing it + update-index: use enum for untracked cache options + update-index: add --test-untracked-cache + update-index: add untracked cache notifications + update-index: move 'uc' var declaration + dir: add {new,add}_untracked_cache() + dir: add remove_untracked_cache() + dir: simplify untracked cache "ident" field + config: add core.untrackedCache + test-dump-untracked-cache: don't modify the untracked cache + t7063: add tests for core.untrackedCache + +Christoph Egger (1): + http: implement public key pinning + +Dan Aloni (1): + ident: add user.useConfigOnly boolean for when ident shouldn't be guessed + +David A. Greene (1): + contrib/subtree: Make testing easier + +David Turner (2): + do_compare_entry: use already-computed path + unpack-trees: fix accidentally quadratic behavior + +Edmundo Carmona Antoranz (1): + blame: add support for --[no-]progress option + +Elia Pinto (92): + Makefile: add missing phony target + contrib/examples/git-commit.sh: use the $( ... ) construct for command substitution + contrib/examples/git-fetch.sh: use the $( ... ) construct for command substitution + contrib/examples/git-merge.sh: use the $( ... ) construct for command substitution + contrib/examples/git-repack.sh: use the $( ... ) construct for command substitution + contrib/examples/git-revert.sh: use the $( ... ) construct for command substitution + contrib/thunderbird-patch-inline/appp.sh: use the $( ... ) construct for command substitution + git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command substitution + t/lib-httpd.sh: use the $( ... ) construct for command substitution + test-sha1.sh: use the $( ... ) construct for command substitution + unimplemented.sh: use the $( ... ) construct for command substitution + t/t1100-commit-tree-options.sh: use the $( ... ) construct for command substitution + t/t1401-symbolic-ref.sh: use the $( ... ) construct for command substitution + t/t1410-reflog.sh: use the $( ... ) construct for command substitution + t/t1511-rev-parse-caret.sh: use the $( ... ) construct for command substitution + t/t1512-rev-parse-disambiguation.sh: use the $( ... ) construct for command substitution + t/t1700-split-index.sh: use the $( ... ) construct for command substitution + t/t2025-worktree-add.sh: use the $( ... ) construct for command substitution + t/t2102-update-index-symlinks.sh: use the $( ... ) construct for command substitution + t/t3030-merge-recursive.sh: use the $( ... ) construct for command substitution + t/t3100-ls-tree-restrict.sh: use the $( ... ) construct for command substitution + t/t3101-ls-tree-dirname.sh: use the $( ... ) construct for command substitution + t/t3210-pack-refs.sh: use the $( ... ) construct for command substitution + t/t3403-rebase-skip.sh: use the $( ... ) construct for command substitution + t/t3511-cherry-pick-x.sh: use the $( ... ) construct for command substitution + t/t3600-rm.sh: use the $( ... ) construct for command substitution + t/t3700-add.sh: use the $( ... ) construct for command substitution + t/t5100-mailinfo.sh: use the $( ... ) construct for command substitution + t/t5300-pack-object.sh: use the $( ... ) construct for command substitution + t/t5301-sliding-window.sh: use the $( ... ) construct for command substitution + t/t5302-pack-index.sh: use the $( ... ) construct for command substitution + t/t5303-pack-corruption-resilience.sh: use the $( ... ) construct for command substitution + t/t5304-prune.sh: use the $( ... ) construct for command substitution + t/t5305-include-tag.sh: use the $( ... ) construct for command substitution + t/t5500-fetch-pack.sh: use the $( ... ) construct for command substitution + t/t5505-remote.sh: use the $( ... ) construct for command substitution + t/t5506-remote-groups.sh: use the $( ... ) construct for command substitution + t/t5510-fetch.sh: use the $( ... ) construct for command substitution + t/t5515-fetch-merge-logic.sh: use the $( ... ) construct for command substitution + t/t5516-fetch-push.sh: use the $( ... ) construct for command substitution + t/t5517-push-mirror.sh: use the $( ... ) construct for command substitution + t/t5522-pull-symlink.sh: use the $( ... ) construct for command substitution + t/t5530-upload-pack-error.sh: use the $( ... ) construct for command substitution + t/t5532-fetch-proxy.sh: use the $( ... ) construct for command substitution + t/t5537-fetch-shallow.sh: use the $( ... ) construct for command substitution + t/t5538-push-shallow.sh: use the $( ... ) construct for command substitution + t/t5550-http-fetch-dumb.sh: use the $( ... ) construct for command substitution + t/t5570-git-daemon.sh: use the $( ... ) construct for command substitution + t/t5601-clone.sh: use the $( ... ) construct for command substitution + t/t5700-clone-reference.sh: use the $( ... ) construct for command substitution + t/t5710-info-alternate.sh: use the $( ... ) construct for command substitution + t/t5900-repo-selection.sh: use the $( ... ) construct for command substitution + t/t6001-rev-list-graft.sh: use the $( ... ) construct for command substitution + t/t6002-rev-list-bisect.sh: use the $( ... ) construct for command substitution + t/t6015-rev-list-show-all-parents.sh: use the $( ... ) construct for command substitution + t/t6032-merge-large-rename.sh: use the $( ... ) construct for command substitution + t/t6132-pathspec-exclude.sh: use the $( ... ) construct for command substitution + t/t7001-mv.sh: use the $( ... ) construct for command substitution + t/t7003-filter-branch.sh: use the $( ... ) construct for command substitution + t/t7004-tag.sh: use the $( ... ) construct for command substitution + t/t7006-pager.sh: use the $( ... ) construct for command substitution + t/t7103-reset-bare.sh: use the $( ... ) construct for command substitution + t/t7406-submodule-update.sh: use the $( ... ) construct for command substitution + t/t7408-submodule-reference.sh: use the $( ... ) construct for command substitution + t/t7504-commit-msg-hook.sh: use the $( ... ) construct for command substitution + t/t7505-prepare-commit-msg-hook.sh: use the $( ... ) construct for command substitution + t/t7602-merge-octopus-many.sh: use the $( ... ) construct for command substitution + t/t7700-repack.sh: use the $( ... ) construct for command substitution + t/t8003-blame-corner-cases.sh: use the $( ... ) construct for command substitution + t/t9001-send-email.sh: use the $( ... ) construct for command substitution + t9100-git-svn-basic.sh: use the $( ... ) construct for command substitution + t9101-git-svn-props.sh: use the $( ... ) construct for command substitution + t9104-git-svn-follow-parent.sh: use the $( ... ) construct for command substitution + t9105-git-svn-commit-diff.sh: use the $( ... ) construct for command substitution + t9107-git-svn-migrate.sh: use the $( ... ) construct for command substitution + t9108-git-svn-glob.sh: use the $( ... ) construct for command substitution + t9109-git-svn-multi-glob.sh: use the $( ... ) construct for command substitution + t9110-git-svn-use-svm-props.sh: use the $( ... ) construct for command substitution + t9114-git-svn-dcommit-merge.sh: use the $( ... ) construct for command substitution + t9118-git-svn-funky-branch-names.sh: use the $( ... ) construct for command substitution + t9119-git-svn-info.sh: use the $( ... ) construct for command substitution + t9129-git-svn-i18n-commitencoding.sh: use the $( ... ) construct for command substitution + t9130-git-svn-authors-file.sh: use the $( ... ) construct for command substitution + t9132-git-svn-broken-symlink.sh: use the $( ... ) construct for command substitution + t9137-git-svn-dcommit-clobber-series.sh: use the $( ... ) construct for command substitution + t9138-git-svn-authors-prog.sh: use the $( ... ) construct for command substitution + t9145-git-svn-master-branch.sh: use the $( ... ) construct for command substitution + t9150-svk-mergetickets.sh: use the $( ... ) construct for command substitution + t9300-fast-import.sh: use the $( ... ) construct for command substitution + t9350-fast-export.sh: use the $( ... ) construct for command substitution + t9501-gitweb-standalone-http-status.sh: use the $( ... ) construct for command substitution + t9901-git-web--browse.sh: use the $( ... ) construct for command substitution + +Eric Wong (5): + pass transport verbosity down to git_connect + connect & http: support -4 and -6 switches for remote operations + t5570: add tests for "git {clone,fetch,pull} -v" + git-svn: hoist out utf8 prep from t9129 to lib-git-svn + tests: remove no-op full-svn-test target + +Felipe Gonçalves Assis (7): + merge-recursive: option to disable renames + merge-recursive: more consistent interface + merge-strategies.txt: fix typo + merge-recursive: find-renames resets threshold + t3034: add rename threshold tests + t3034: test option to disable renames + t3034: test deprecated interface + +Jacob Keller (1): + notes: allow merging from arbitrary references + +Jeff King (33): + pack-revindex: drop hash table + pack-revindex: store entries directly in packed_git + create_symref: modernize variable names + create_symref: use existing ref-lock code + create_symref: write reflog while holding lock + run-command: don't warn on SIGPIPE deaths + checkout,clone: check return value of create_symref + lock_ref_sha1_basic: always fill old_oid while holding lock + lock_ref_sha1_basic: handle REF_NODEREF with invalid refs + shortlog: match both "Author:" and "author" on stdin + shortlog: use strbufs to read from stdin + shortlog: replace hand-parsing of author with pretty-printer + shortlog: optimize "--summary" mode + shortlog: optimize out useless "<none>" normalization + shortlog: optimize out useless string list + shortlog: don't warn on empty author + transport: drop support for git-over-rsync + give "nbuf" strbuf a more meaningful name + checkout-index: simplify "-z" option parsing + checkout-index: handle "--no-prefix" option + checkout-index: handle "--no-index" option + checkout-index: disallow "--no-stage" option + apply, ls-files: simplify "-z" parsing + fmt_ident: refactor strictness checks + test-path-utils: use xsnprintf in favor of strcpy + rerere: replace strcpy with xsnprintf + http-push: stop using name_path + show_object_with_name: simplify by using path_name() + list-objects: convert name_path to a strbuf + list-objects: drop name_path entirely + list-objects: pass full pathname to callbacks + git-config: better document default behavior for `--include` + ref-filter: use string_list_split over strbuf_split + +Johannes Schindelin (31): + config.mak.uname: support MSys2 + config.mak.uname: supporting 64-bit MSys2 + pull: allow interactive rebase with --rebase=interactive + remote: handle the config setting branch.*.rebase=interactive + completion: add missing branch.*.rebase values + nedmalloc: allow compiling with MSys2's compiler + compat/mingw: support MSys2-based MinGW build + compat/winansi: support compiling with MSys2 + mingw: avoid redefining S_* constants + mingw: avoid warnings when casting HANDLEs to int + mingw: squash another warning about a cast + mingw: uglify (a, 0) definitions to shut up warnings + mingw: let's use gettext with MSYS2 + mingw: do not trust MSYS2's MinGW gettext.sh + Git.pm: stop assuming that absolute paths start with a slash + mingw: prepare the TMPDIR environment variable for shell scripts + mingw: let lstat() fail with errno == ENOTDIR when appropriate + mingw: fix t5601-clone.sh + mingw: accomodate t0060-path-utils for MSYS2 + mingw: disable mkfifo-based tests + tests: turn off git-daemon tests if FIFOs are not available + mingw: skip test in t1508 that fails due to path conversion + mingw: fix t9700's assumption about directory separators + mingw: work around pwd issues in the tests + mingw: mark t9100's test cases with appropriate prereqs + mingw: avoid illegal filename in t9118 + mingw: handle the missing POSIXPERM prereq in t9124 + mingw: skip a test in t9130 that cannot pass on Windows + mingw: do not bother to test funny file names + gitignore: ignore generated test-fake-ssh executable + t5505: 'remote add x y' should work when url.y.insteadOf = x + +Johannes Sixt (1): + t/t5100: no need to use 'echo' command substitutions for globbing + +Jon Griffiths (3): + credential-cache--daemon: refactor check_socket_directory + credential-cache--daemon: disallow relative socket path + credential-cache--daemon: change to the socket dir on startup + +Jonathan Nieder (1): + submodule.c: write "Fetching submodule <foo>" to stderr + +Junio C Hamano (35): + First batch for post 2.7 cycle + strbuf: miniscule style fix + strbuf: make strbuf_getline_crlf() global + strbuf: introduce strbuf_getline_{lf,nul}() + mktree: there are only two possible line terminations + check-attr: there are only two possible line terminations + check-ignore: there are only two possible line terminations + update-index: there are only two possible line terminations + checkout-index: there are only two possible line terminations + strbuf: give strbuf_getline() to the "most text friendly" variant + hash-object: read --stdin-paths with strbuf_getline() + revision: read --stdin with strbuf_getline() + rev-parse: read parseopt spec with strbuf_getline() + ident.c: read /etc/mailname with strbuf_getline() + remote.c: read $GIT_DIR/remotes/* with strbuf_getline() + clone/sha1_file: read info/alternates with strbuf_getline() + transport-helper: read helper response with strbuf_getline() + cat-file: read batch stream with strbuf_getline() + column: read lines with strbuf_getline() + send-pack: read list of refs with strbuf_getline() + grep: read -f file with strbuf_getline() + test-sha1-array: read command stream with strbuf_getline() + Second batch for 2.8 cycle + Third batch for 2.8 cycle + git: remove an early return from save_env_before_alias() + git: protect against unbalanced calls to {save,restore}_env() + git: simplify environment save/restore logic + Fourth batch for 2.8.cycle + Getting closer to 2.7.1 + restore_env(): free the saved environment variable once we are done + Fifth batch for 2.8 cycle + Sixth batch for the 2.8 cycle + Seventh batch for the 2.8 cycle + Eighth batch for 2.8 + Git 2.8-rc0 + +Karsten Blees (1): + mingw: factor out Windows specific environment setup + +Karthik Nayak (10): + ref-filter: bump 'used_atom' and related code to the top + ref-filter: introduce struct used_atom + ref-filter: introduce parsing functions for each valid atom + ref-filter: introduce color_atom_parser() + ref-filter: introduce parse_align_position() + ref-filter: introduce align_atom_parser() + ref-filter: align: introduce long-form syntax + ref-filter: introduce remote_ref_atom_parser() + ref-filter: introduce contents_atom_parser() + ref-filter: introduce objectname_atom_parser() + +Kazutoshi Satoda (2): + git-svn: enable "svn.pathnameencoding" on dcommit + git-svn: apply "svn.pathnameencoding" before URL encoding + +Knut Franke (2): + http: allow selection of proxy authentication method + http: use credential API to handle proxy authentication + +Lars Schneider (8): + travis-ci: run previously failed tests first, then slowest to fastest + travis-ci: explicity use container-based infrastructure + convert: treat an empty string for clean/smudge filters as "cat" + t: do not hide Git's exit code in tests using 'nul_to_q' + rename git_config_from_buf to git_config_from_mem + config: add 'origin_type' to config_source struct + config: add '--show-origin' option to print the origin of a config value + add DEVELOPER makefile knob to check for acknowledged warnings + +Matthew Kraai (1): + Documentation: remove unnecessary backslashes + +Matthieu Moy (6): + README: use markdown syntax + README.md: add hyperlinks on filenames + README.md: move the link to git-scm.com up + README.md: don't call git stupid in the title + README.md: move down historical explanation about the name + push: remove "push.default is unset" warning message + +Michael J Gruber (1): + t9100: fix breakage when SHELL_PATH is not /bin/sh + +Mike Hommey (1): + notes: allow treeish expressions as notes ref + +Nguyễn Thái Ngọc Duy (9): + git.c: make it clear save_env() is for alias handling only + setup.c: re-fix d95138e (setup: set env $GIT_WORK_TREE when .. + git.c: make sure we do not leak GIT_* to alias scripts + dir.c: fix match_pathname() + dir.c: support tracing exclude + dir.c: support marking some patterns already matched + dir.c: don't exclude whole dir prematurely + worktree: fix "add -B" + worktree add -B: do the checkout test before update branch + +Pat Thoyts (1): + t0008: avoid absolute path + +Patrick Steinhardt (2): + push: add '--delete' flag to synopsis + push: add '-d' as shorthand for '--delete' + +Rob Mayoff (1): + contrib/subtree: unwrap tag refs + +Romain Picard (1): + git-p4.py: add support for filetype change + +Stefan Beller (7): + xread: poll on non blocking fds + strbuf: add strbuf_read_once to read without blocking + sigchain: add command to pop all common signals + run-command: add an asynchronous parallel child processor + fetch_populated_submodules: use new parallel job processing + submodules: allow parallel fetching, add tests and documentation + submodule: try harder to fetch needed sha1 by direct fetching sha1 + +Thomas Gummerer (11): + t7810: correct --no-index test + builtin/grep: add grep.fallbackToNoIndex config + ls-remote: document --quiet option + ls-remote: document --refs option + ls-remote: fix synopsis + ls-remote: use parse-options api + ls-remote: add support for showing symrefs + remote: use parse_config_key + remote: simplify remote_is_configured() + remote: actually check if remote exits + remote: use remote_is_configured() for add and rename + +Tobias Klauser (2): + trailer: allow to write to files other than stdout + interpret-trailers: add option for in-place editing + +Torsten Bögershausen (8): + ls-files: add eol diagnostics + t0027: add tests for get_stream_filter() + convert.c: remove unused parameter 'path' + convert.c: remove input_crlf_action() + convert.c: use text_eol_is_crlf() + convert.c: refactor crlf_action + convert.c: simplify text_stat + convert.c: correct attr_action() + +Victor Leschuk (3): + grep: allow threading even on a single-core machine + grep: slight refactoring to the code that disables threading + grep: add --threads=<num> option and grep.threads configuration + +Will Palmer (2): + test for '!' handling in rev-parse's named commits + object name: introduce '^{/!-<negative pattern>}' notation + +brian m. carlson (1): + http: add option to try authentication without username + +마누엘 (1): + mingw: try to delete target directory before renaming + + +Version v2.7.6; changes since v2.7.5: +------------------------------------- + +Jeff King (4): + t5813: add test for hostname starting with dash + connect: factor out "looks like command line option" check + connect: reject dashed arguments for proxy commands + connect: reject paths that look like command line options + +Junio C Hamano (2): + connect: reject ssh hostname that begins with a dash + Git 2.7.6 + + +Version v2.7.5; changes since v2.7.4: +------------------------------------- + +Eric Sunshine (1): + git-compat-util: st_add4: work around gcc 4.2.x compiler crash + +Jeff King (2): + archive-tar: convert snprintf to xsnprintf + shell: disallow repo names beginning with dash + +Junio C Hamano (4): + Git 2.4.12 + Git 2.5.6 + Git 2.6.7 + Git 2.7.5 + +Matthieu Moy (1): + Documentation: fix broken linkgit to git-config + + +Version v2.7.4; changes since v2.7.3: +------------------------------------- + +Jeff King (7): + add helpers for detecting size_t overflow + tree-diff: catch integer overflow in combine_diff_path allocation + http-push: stop using name_path + show_object_with_name: simplify by using path_name() + list-objects: convert name_path to a strbuf + list-objects: drop name_path entirely + list-objects: pass full pathname to callbacks + +Junio C Hamano (4): + Git 2.4.11 + Git 2.5.5 + Git 2.6.6 + Git 2.7.4 + + +Version v2.7.3; changes since v2.7.2: +------------------------------------- + +Alexander Kuleshov (2): + exec_cmd.c: use find_last_dir_sep() for code simplification + git.c: simplify stripping extension of a file in handle_builtin() + +David Turner (1): + refs: document transaction semantics + +Jeff King (37): + checkout: reorder check_filename conditional + check_filename: tighten dwim-wildcard ambiguity + get_sha1: don't die() on bogus search strings + reflog_expire_cfg: NUL-terminate pattern field + add helpers for detecting size_t overflow + tree-diff: catch integer overflow in combine_diff_path allocation + diff: clarify textconv interface + harden REALLOC_ARRAY and xcalloc against size_t overflow + add helpers for allocating flex-array structs + argv-array: add detach function + convert manual allocations to argv_array + convert trivial cases to ALLOC_ARRAY + use xmallocz to avoid size arithmetic + convert trivial cases to FLEX_ARRAY macros + use st_add and st_mult for allocation size computation + prepare_{git,shell}_cmd: use argv_array + write_untracked_extension: use FLEX_ALLOC helper + fast-import: simplify allocation in start_packfile + fetch-pack: simplify add_sought_entry + test-path-utils: fix normalize_path_copy output buffer size + sequencer: simplify memory allocation of get_message + git-compat-util: drop mempcpy compat code + transport_anonymize_url: use xstrfmt + diff_populate_gitlink: use a strbuf + convert ewah/bitmap code to use xmalloc + ewah: convert to REALLOC_ARRAY, etc + merge-one-file: use empty blob for add/add base + merge-tree: drop generate_common strategy + xdiff: drop XDL_EMIT_COMMON + t5313: test bounds-checks of corrupted/malicious pack/idx files + nth_packed_object_offset: bounds-check extended offset + use_pack: handle signed off_t overflow + write_or_die: handle EPIPE in async threads + fetch-pack: ignore SIGPIPE in sideband demuxer + test_must_fail: report number of unexpected signal + t5504: handle expected output from SIGPIPE death + compat/mingw: brown paper bag fix for 50a6c8e + +Johannes Schindelin (1): + git config: report when trying to modify a non-existing repo config + +John Keeping (2): + t8005: avoid grep on non-ASCII data + t9200: avoid grep on non-ASCII data + +Junio C Hamano (4): + pager: lose a separate argv[] + pager: factor out a helper to prepare a child process to run the pager + am -i: fix "v"iew + Git 2.7.3 + +Martin Amdisen (1): + templates/hooks: fix minor typo in the sample update-hook + +Matthieu Moy (1): + Documentation/git-push: document that 'simple' is the default + +Michael J Gruber (1): + tests: rename work-tree tests to *work-tree* + +Nguyễn Thái Ngọc Duy (2): + rev-parse: take prefix into account in --git-common-dir + sha1_file.c: mark strings for translation + +Patrick Steinhardt (16): + config: introduce set_or_die wrappers + branch: report errors in tracking branch setup + branch: die on config error when unsetting upstream + branch: die on config error when editing branch description + submodule: die on config error when linking modules + submodule--helper: die on config error when cloning module + remote: die on config error when setting URL + remote: die on config error when setting/adding branches + remote: die on config error when manipulating remotes + clone: die on config error in cmd_clone + init-db: die on config errors when initializing empty repo + sequencer: die on config error when saving replay opts + compat: die when unable to set core.precomposeunicode + config: rename git_config_set to git_config_set_gently + config: rename git_config_set_or_die to git_config_set + xdiff/xmerge: fix memory leak in xdl_merge + +Shawn O. Pearce (1): + remote-curl: include curl_errorstr on SSL setup failures + +Stefan Beller (1): + submodule helper list: respect correct path prefix + + +Version v2.7.2; changes since v2.7.1: +------------------------------------- + +Alex Henrie (1): + stripspace: call U+0020 a "space" instead of a "blank" + +Andrew Wheeler (1): + push: fix ref status reporting for --force-with-lease + +Dickson Wong (1): + mergetool: reorder vim/gvim buffers in three-way diffs + +GyuYong Jung (1): + git-cvsserver.perl: fix typo + +Johannes Schindelin (3): + merge-file: let conflict markers match end-of-line style of the context + merge-file: ensure that conflict sections match eol style + test-lib: limit the output of the yes utility + +Junio C Hamano (2): + Start preparing for 2.7.2 + Git 2.7.2 + +Matt McCutchen (1): + Documentation/git-clean.txt: don't mention deletion of .git/modules/* + +Nguyễn Thái Ngọc Duy (5): + blame: remove obsolete comment + add and use a convenience macro ce_intent_to_add() + grep: make it clear i-t-a entries are ignored + worktree.c: fix indentation + worktree: stop supporting moving worktrees manually + +SZEDER Gábor (1): + completion: fix mis-indentation in _git_stash() + + +Version v2.7.1; changes since v2.7.0: +------------------------------------- + +Changwoo Ryu (1): + l10n: ko.po: Add Korean translation + +Dave Ware (1): + contrib/subtree: fix "subtree split" skipped-merge bug + +David A. Wheeler (1): + Expand documentation describing --signoff + +Dennis Kaarsemaker (1): + reflog-walk: don't segfault on non-commit sha1's in the reflog + +Eric Wong (3): + git-send-email: do not double-escape quotes from mutt + for-each-ref: document `creatordate` and `creator` fields + git-svn: fix auth parameter handling on SVN 1.9.0+ + +Jeff King (8): + avoid shifting signed integers 31 bits + bswap: add NO_UNALIGNED_LOADS define + rebase: ignore failures from "gc --auto" + filter-branch: resolve $commit^{tree} in no-index case + clean: make is_git_repository a public function + resolve_gitlink_ref: ignore non-repository paths + t6300: use test_atom for some un-modern tests + tag: do not show ambiguous tag names as "tags/foo" + +Johannes Schindelin (11): + commit: allow editing the commit message even in shared repos + Handle more file writes correctly in shared repos + Refactor skipping DOS drive prefixes + compat/basename: make basename() conform to POSIX + compat/basename.c: provide a dirname() compatibility function + t0060: verify that basename() and dirname() work as expected + fetch: release pack files before garbage-collecting + am: release pack files before garbage-collecting + merge: release pack files before garbage-collecting + receive-pack: release pack files before garbage-collecting + t0060: loosen overly strict expectations + +Johannes Sixt (1): + mingw: avoid linking to the C library's isalpha() + +John Keeping (1): + completion: add missing git-rebase options + +Junio C Hamano (2): + test-lib: clarify and tighten SANITY + Git 2.7.1 + +Lars Vogel (1): + git-add doc: do not say working directory when you mean working tree + +Nguyễn Thái Ngọc Duy (5): + Revert "setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR" + dir.c: clean the entire struct in clear_exclude_list() + Revert "dir.c: don't exclude whole dir prematurely if neg pattern may match" + diff-no-index: do not take a redundant prefix argument + diff: make -O and --output work in subdirectory + +Paul Wagland (2): + completion: complete show-branch "--date-order" + completion: update completion arguments for stash + +SZEDER Gábor (1): + t6050-replace: make failing editor test more robust + +Sebastian Schuberth (3): + docs: clarify that passing --depth to git-clone implies --single-branch + docs: say "commits" in the --depth option wording for git-clone + docs: clarify that --depth for git-fetch works with newly initialized repos + +Stephen P. Smith (4): + user-manual: remove temporary branch entry from todo list + glossary: define the term shallow clone + user-manual: add section documenting shallow clones + user-manual: add addition gitweb information + +Thomas Braun (1): + completion: complete "diff --word-diff-regex=" + +Øyvind A. Holm (1): + gitweb: squelch "uninitialized value" warning + + +Version v2.7.0; changes since v2.7.0-rc3: +----------------------------------------- + +Junio C Hamano (2): + Git 2.6.5 + Git 2.7 + +Ralf Thielow (2): + l10n: de.po: improve some translations + l10n: de.po: translate 68 new messages + + +Version v2.7.0-rc3; changes since v2.7.0-rc2: +--------------------------------------------- + +Alex Henrie (2): + l10n: ca.po: update translation + l10n: ca.po: update translation + +Alexander Shopov (2): + l10n: Updated Bulgarian translation of git (2477t,0f,0u) + l10n: Updated Bulgarian translation of git (2477t,0f,0u) + +Audric Schiltknecht (1): + l10n: fr.po: Fix typo + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Jean-Noël Avila (2): + l10n: fr v2.7.0 round 1 (2477t) + l10n: fr.po v2.7.0 round 2 (2477t) + +Jeff King (3): + revision.c: propagate tag names from pending array + symbolic-ref: propagate error code from create_symref() + t1401: test reflog creation for git-symbolic-ref + +Jiang Xin (4): + l10n: git.pot: v2.7.0 round 1 (66 new, 29 removed) + l10n: zh_CN: for git v2.7.0 l10n round 1 + l10n: git.pot: v2.7.0 round 2 (2 new, 2 removed) + l10n: zh_CN: for git v2.7.0 l10n round 2 + +Junio C Hamano (1): + Git 2.7-rc3 + +Luke Diamand (1): + git-p4: failing test case for skipping changes with multiple depots + +Peter Krefting (3): + l10n: sv.po: Update Swedish translation (2477t0f0u) + l10n: sv: Fix bad translation + l10n: sv.po: Update Swedish translation (2477t0f0u) + +Sam Hocevar (2): + git-p4: support multiple depot paths in p4 submit + git-p4: reduce number of server queries for fetches + +Trần Ngọc Quân (1): + l10n: vi.po: Updated translation (2477t) + +Élie Bouttier (1): + l10n: fr.po: Fix typo + + +Version v2.7.0-rc2; changes since v2.7.0-rc1: +--------------------------------------------- + +Fabian Ruch (1): + rebase -i: remember merge options beyond continue actions + +Giuseppe Bilotta (2): + gitk: Match ttk fonts to gitk fonts + gitk: Let .bleft.mid widgets 'breathe' + +Jeff King (3): + ident: make xgetpwuid_self() a static local helper + ident: keep a flag for bogus default_email + ident: loosen getpwuid error in non-strict mode + +Johannes Schindelin (1): + mingw: emulate write(2) that fails with a EPIPE + +John Keeping (1): + send-email: enable SSL level 1 debug output + +Junio C Hamano (2): + Update release notes to 2.7 + Git 2.7-rc2 + +Mike Crowe (3): + push: add recurseSubmodules config option + push: test that --recurse-submodules on command line overrides config + push: follow the "last one wins" convention for --recurse-submodules + +Peter Krefting (1): + gitk: sv.po: Update Swedish translation (311t) + +Ralf Thielow (1): + push: don't mark options of recurse-submodules for translation + +SZEDER Gábor (2): + completion: remove 'git column' from porcelain commands + credential-store: don't pass strerror to die_errno() + +YOKOTA Hiroshi (16): + gitk: Color name update + gitk: Re-sync line number in Japanese message catalogue + gitk: Update Japanese message catalog + gitk: Translate more to Japanese catalog + gitk: Translate Japanese catalog + gitk: Fix wrong translation + gitk: Update Japanese translation + gitk: Fix translation around copyright sign + gitk: Update Japanese translation + gitk: Update fuzzy messages + gitk: Change last translator line + gitk: Update year + gitk: Remove unused line + gitk: Improve translation message + gitk: Update "Language:" header + gitk: Update revision date in Japanese PO file + +brian m. carlson (3): + sha1_file.c: introduce a null_oid constant + format-patch: add an option to suppress commit hash + format-patch: check that header line has expected format + + +Version v2.7.0-rc1; changes since v2.7.0-rc0: +--------------------------------------------- + +Charles Bailey (1): + t3404: fix quoting of redirect for some versions of bash + +Jeff King (1): + ident: fix undefined variable when NO_IPV6 is set + +Johannes Sixt (1): + prune: close directory earlier during loose-object directory traversal + +Junio C Hamano (4): + Prepare for 2.6.5 + Update release notes to 2.7 + Update draft release notes to 2.6.5 + Git 2.7-rc1 + +Lars Schneider (1): + git-p4: add option to keep empty commits + +SZEDER Gábor (2): + Make error message after failing commit_lock_file() less confusing + completion: fix completing unstuck email alias arguments + +Stefan Beller (1): + document submodule sync --recursive + +Stefan Naewe (1): + revision.c: fix possible null pointer arithmetic + + +Version v2.7.0-rc0; changes since v2.6.7: +----------------------------------------- + +Alex Henrie (1): + gitk: l10n: Update Catalan translation + +Alex Riesen (1): + clone: allow "--dissociate" without reference + +Antoine Delaite (1): + bisect: add the terms old/new + +Beat Bolli (1): + gitk: Add missing accelerators + +Ben Boeckel (1): + remote: add get-url subcommand + +Dair Grant (1): + git-svn: improve rebase/mkdirs performance + +David Turner (8): + refs: clean up common_list + path: optimize common dir checking + refs: make refs/bisect/* per-worktree + http.c: use CURLOPT_RANGE for range requests + copy_msg(): rename to copy_reflog_msg() + initdb: make safe_create_dir public + files_log_ref_write: new function + refs: break out ref conflict checks + +Dennis Kaarsemaker (1): + git-p4: import the ctypes module + +Dimitriy Ryazantcev (1): + gitk: Update Russian translation + +Edmundo Carmona Antoranz (1): + checkout: add --progress option + +Fabio Porcedda (1): + contrib/subtree: remove "push" command from the "todo" file + +Gabor Bernat (1): + filter-branch: add passed/remaining seconds on progress + +Jacob Keller (2): + sendemail: teach git-send-email to dump alias names + completion: add support for completing email aliases + +Jeff King (77): + run-command: provide in_async query function + pkt-line: show packets in async processes as "sideband" + fast-import: switch crash-report date to iso8601 + date: make "local" orthogonal to date format + show-branch: avoid segfault with --reflog of unborn branch + mailsplit: fix FILE* leak in split_maildir + archive-tar: fix minor indentation violation + fsck: don't fsck alternates for connectivity-only check + add xsnprintf helper function + add git_path_buf helper function + strbuf: make strbuf_complete_line more generic + add reentrant variants of sha1_to_hex and find_unique_abbrev + fsck: use strbuf to generate alternate directories + mailsplit: make PATH_MAX buffers dynamic + trace: use strbuf for quote_crnl output + progress: store throughput display in a strbuf + test-dump-cache-tree: avoid overflow of cache-tree name + compat/inet_ntop: fix off-by-one in inet_ntop4 + convert trivial sprintf / strcpy calls to xsnprintf + archive-tar: use xsnprintf for trivial formatting + use xsnprintf for generating git object headers + find_short_object_filename: convert sprintf to xsnprintf + stop_progress_msg: convert sprintf to xsnprintf + compat/hstrerror: convert sprintf to snprintf + grep: use xsnprintf to format failure message + entry.c: convert strcpy to xsnprintf + add_packed_git: convert strcpy into xsnprintf + http-push: replace strcat with xsnprintf + receive-pack: convert strncpy to xsnprintf + replace trivial malloc + sprintf / strcpy calls with xstrfmt + config: use xstrfmt in normalize_value + fetch: replace static buffer with xstrfmt + use strip_suffix and xstrfmt to replace suffix + ref-filter: drop sprintf and strcpy calls + help: drop prepend function in favor of xstrfmt + mailmap: replace strcpy with xstrdup + read_branches_file: simplify string handling + read_remotes_file: simplify string handling + resolve_ref: use strbufs for internal buffers + upload-archive: convert sprintf to strbuf + remote-ext: simplify git pkt-line generation + http-push: use strbuf instead of fwrite_buffer + http-walker: store url in a strbuf + sha1_get_pack_name: use a strbuf + precompose_utf8: drop unused variable + probe_utf8_pathname_composition: use internal strbuf + init: use strbufs to store paths + apply: convert root string to strbuf + transport: use strbufs for status table "quickref" strings + merge-recursive: convert malloc / strcpy to strbuf + enter_repo: convert fixed-size buffers to strbufs + remove_leading_path: use a strbuf for internal storage + write_loose_object: convert to strbuf + diagnose_invalid_index_path: use strbuf to avoid strcpy/strcat + fetch-pack: use argv_array for index-pack / unpack-objects + http-push: use an argv_array for setup_revisions + stat_tracking_info: convert to argv_array + daemon: use cld->env_array when re-spawning + use sha1_to_hex_r() instead of strcpy + drop strcpy in favor of raw sha1_to_hex + color: add overflow checks for parsing colors + use alloc_ref rather than hand-allocating "struct ref" + avoid sprintf and strcpy with flex arrays + receive-pack: simplify keep_arg computation + help: clean up kfmclient munging + prefer memcpy to strcpy + color: add color_set helper for copying raw colors + notes: document length of fanout path with a constant + convert strncpy to memcpy + fsck: drop inode-sorting code + Makefile: drop D_INO_IN_DIRENT build knob + fsck: use for_each_loose_file_in_objdir + use strbuf_complete to conditionally append slash + name-rev: use strip_suffix to avoid magic numbers + http: use off_t to store partial file size + filter-branch: skip index read/write when possible + blame: fix object casting regression + +Johannes Schindelin (1): + test: facilitate debugging Git executables in tests with gdb + +Johannes Sixt (9): + read_branches_file: plug a FILE* leak + compat/mingw.c: remove printf format warning + modernize t9300: single-quote placement and indentation + modernize t9300: use test_must_fail + modernize t9300: use test_must_be_empty + modernize t9300: wrap lines after && + modernize t9300: use test_when_finished for clean-up + modernize t9300: mark here-doc words to ignore tab indentation + modernize t9300: move test preparations into test_expect_success + +John Keeping (11): + Documentation/blame-options: don't list date formats + Documentation/config: don't list date formats + Documentation/git-for-each-ref: don't list date formats + Documentation/rev-list: don't list date formats + t6300: introduce test_date() helper + t6300: add test for "raw" date format + date: check for "local" before anything else + t6300: make UTC and local dates different + t6300: add tests for "-local" date formats + send-email: expand path in sendemail.smtpsslcertpath config + send-email: die if CA path doesn't exist + +Juerg Haefliger (1): + git-quiltimport: add commandline option --series <file> + +Junio C Hamano (71): + rerere: fix an off-by-one non-bug + rerere: handle conflicts with multiple stage #1 entries + rerere: plug conflict ID leaks + rerere: lift PATH_MAX limitation + rerere: write out each record of MERGE_RR in one go + rerere: report autoupdated paths only after actually updating them + rerere: drop want_sp parameter from is_cmarker() + rerere: stop looping unnecessarily + rerere: do not leak mmfile[] for a path with multiple stage #1 entries + rerere: explain the rerere I/O abstraction + rerere: fix benign off-by-one non-bug and clarify code + rerere: explain MERGE_RR management helpers + rerere: explain the primary codepath + rerere: explain "rerere forget" codepath + rerere: explain the remainder + rerere: refactor "replay" part of do_plain_rerere() + rerere: further de-dent do_plain_rerere() + rerere: further clarify do_rerere_one_path() + rerere: call conflict-ids IDs + rerere: use "struct rerere_id" instead of "char *" for conflict ID + rerere: un-nest merge() further + filter-branch: make report-progress more readable + Start cycle toward 2.7 + Second batch for 2.7 + Third batch for 2.7 + Fourth batch for 2.7 + Fifth batch for 2.7 + mailinfo: remove a no-op call convert_to_utf8(it, "") + mailinfo: fold decode_header_bq() into decode_header() + mailinfo: fix an off-by-one error in the boundary stack + mailinfo: explicitly close file handle to the patch output + Sixth batch for 2.7 + mailinfo: plug strbuf leak during continuation line handling + mailinfo: move handle_boundary() lower + mailinfo: move read_one_header_line() closer to its callers + mailinfo: move check_header() after the helpers it uses + mailinfo: move cleanup_space() before its users + mailinfo: move definition of MAX_HDR_PARSED closer to its use + mailinfo: get rid of function-local static states + mailinfo: do not let handle_body() touch global "line" directly + mailinfo: do not let handle_boundary() touch global "line" directly + mailinfo: do not let find_boundary() touch global "line" directly + mailinfo: move global "line" into mailinfo() function + mailinfo: introduce "struct mailinfo" to hold globals + mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo + mailinfo: move global "FILE *fin, *fout" to struct mailinfo + mailinfo: move filter/header stage to struct mailinfo + mailinfo: move patch_lines to struct mailinfo + mailinfo: move add_message_id and message_id to struct mailinfo + mailinfo: move use_scissors and use_inbody_headers to struct mailinfo + mailinfo: move metainfo_charset to struct mailinfo + mailinfo: move check for metainfo_charset to convert_to_utf8() + mailinfo: move transfer_encoding to struct mailinfo + mailinfo: move charset to struct mailinfo + mailinfo: move cmitmsg and patchfile to struct mailinfo + mailinfo: move [ps]_hdr_data to struct mailinfo + mailinfo: move content/content_top to struct mailinfo + mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak + mailinfo: keep the parsed log message in a strbuf + mailinfo: libify + mailinfo: handle charset conversion errors in the caller + am: make direct call to mailinfo + mailinfo: remove calls to exit() and die() deep in the callchain + Seventh batch for 2.7 + Eighth batch for 2.7 + Ninth batch for 2.7 + Tenth batch for 2.7 + Eleventh batch for 2.7 + RelNotes update for 2.7 + Update release notes to 2.7 + Git 2.7-rc0 + +Karthik Nayak (35): + t6302: for-each-ref tests for ref-filter APIs + tag: libify parse_opt_points_at() + ref-filter: implement '--points-at' option + for-each-ref: add '--points-at' option + ref-filter: add parse_opt_merge_filter() + ref-filter: implement '--merged' and '--no-merged' options + for-each-ref: add '--merged' and '--no-merged' options + parse-option: rename parse_opt_with_commit() + parse-options.h: add macros for '--contains' option + ref-filter: implement '--contains' option + for-each-ref: add '--contains' option + ref-filter: move `struct atom_value` to ref-filter.c + ref-filter: introduce ref_formatting_state and ref_formatting_stack + utf8: add function to align a string into given strbuf + ref-filter: introduce handler function for each atom + ref-filter: introduce match_atom_name() + ref-filter: implement an `align` atom + ref-filter: add option to filter out tags, branches and remotes + ref-filter: add support for %(contents:lines=X) + ref-filter: add support to sort by version + ref-filter: add option to match literal pattern + tag.c: use 'ref-filter' data structures + tag.c: use 'ref-filter' APIs + tag.c: implement '--format' option + tag.c: implement '--merged' and '--no-merged' options + branch: refactor width computation + branch: bump get_head_description() to the top + branch: roll show_detached HEAD into regular ref_list + branch: move 'current' check down to the presentation layer + branch: drop non-commit error reporting + branch.c: use 'ref-filter' data structures + branch.c: use 'ref-filter' APIs + branch: add '--points-at' option + tag.c: use the correct algorithm for the '--contains' option + ref-filter: fallback on alphabetical comparison + +Lars Schneider (18): + git-p4: add config git-p4.pathEncoding + git-p4: improve path encoding verbose output + git-p4: use replacement character for non UTF-8 characters in paths + git-p4: add optional type specifier to gitConfig reader + git-p4: add gitConfigInt reader + git-p4: return an empty list if a list config has no values + git-p4: add file streaming progress in verbose mode + git-p4: check free space during streaming + git-p4: add support for large file systems + git-p4: add Git LFS backend for large file system + git-p4: avoid "stat" command in t9815 git-p4-submit-fail + git-p4: skip t9819 test case on case insensitive file systems + git-p4: retry kill/cleanup operations in tests with timeout + git-p4: add p4d timeout in tests + git-p4: add trap to kill p4d on test exit + implement test_might_fail using a refactored test_must_fail + add "ok=sigpipe" to test_must_fail and use it to fix flaky tests + Add Travis CI support + +Lukas Fleischer (4): + config.txt: document the semantics of hideRefs with namespaces + upload-pack: strip refs before calling ref_is_hidden() + hideRefs: add support for matching full refs + t5509: add basic tests for hideRefs + +Matthieu Moy (5): + bisect: sanity check on terms + bisect: add 'git bisect terms' to view the current terms + bisect: allow setting any user-specified in 'git bisect start' + strtoul_ui: reject negative values + git-multimail: update to release 1.2.0 + +Max Kirillov (3): + blame: test to describe use of blame --reverse --first-parent + blame: extract find_single_final + blame: allow blame --reverse --first-parent when it makes sense + +Michael Haggerty (4): + pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref() + refname_is_safe(): improve docstring + refs/refs-internal.h: new header file + refs: split filesystem-based refs code into a new file + +Michael Rappazzo (5): + worktree: add top-level worktree.c + worktree: refactor find_linked_symref function + worktree: add a function to get worktree details + worktree: add details to the worktree struct + worktree: add 'list' command + +Namhyung Kim (1): + stash: allow "stash show" diff output configurable + +Nguyễn Thái Ngọc Duy (3): + dir.c: make last_exclude_matching_from_list() run til the end + dir.c: don't exclude whole dir prematurely if neg pattern may match + mailinfo: fix passing wrong address to git_mailinfo_config + +Noam Postavsky (1): + credential-cache: new option to ignore sighup + +Ramsay Jones (1): + http: fix some printf format warnings + +René Scharfe (7): + parse-options: deduplicate parse_options_usage() calls + parse-options: inline parse_options_usage() at its only remaining caller + parse-options: allow -h as a short option + t1450: add tests for NUL in headers of commits and tags + grep: stop using PARSE_OPT_NO_INTERNAL_HELP + fsck: treat a NUL in a tag header as an error + show-ref: stop using PARSE_OPT_NO_INTERNAL_HELP + +Ronnie Sahlberg (2): + verify_refname_available(): rename function + verify_refname_available(): new function + +Stefan Beller (4): + submodule: rewrite `module_list` shell function in C + submodule: rewrite `module_name` shell function in C + submodule: rewrite `module_clone` shell function in C + submodule-config: "goto" removal in parse_config() + +Takashi Iwai (3): + gitk: Update msgid's for menu items with accelerator + gitk: Add accelerators to Japanese locale + gitk: Add accelerator to German locale + +Techlive Zheng (7): + contrib/subtree: Clean and refactor test code + contrib/subtree: Add test for missing subtree + contrib/subtree: Add tests for subtree add + contrib/subtree: Add merge tests + contrib/subtree: Add split tests + contrib/subtree: Make each test self-contained + contrib/subtree: Handle '--prefix' argument with a slash appended + +Tobias Klauser (4): + credential-cache--daemon: remove unused #include "sigchain.h" + diff: remove unused #include "sigchain.h" + read-cache: remove unused #include "sigchain.h" + shallow: remove unused #include "sigchain.h" + +Torsten Bögershausen (1): + t0027: improve test for not-normalized files + +Trần Ngọc Quân (1): + Updated Vietnamese translation + +brian m. carlson (12): + sha1_file: introduce has_object_file helper. + Convert struct ref to use object_id. + add_sought_entry_mem: convert to struct object_id + parse_fetch: convert to use struct object_id + get_remote_heads: convert to struct object_id + push_refs_with_export: convert to struct object_id + ref_newer: convert to use struct object_id + object: introduce get_object_hash macro. + Add several uses of get_object_hash. + Convert struct object to object_id + Remove get_object_hash. + remote: convert functions to struct object_id + + +Version v2.6.7; changes since v2.6.6: +------------------------------------- + +Jeff King (1): + shell: disallow repo names beginning with dash + +Junio C Hamano (3): + Git 2.4.12 + Git 2.5.6 + Git 2.6.7 + + +Version v2.6.6; changes since v2.6.5: +------------------------------------- + +Jeff King (7): + add helpers for detecting size_t overflow + tree-diff: catch integer overflow in combine_diff_path allocation + http-push: stop using name_path + show_object_with_name: simplify by using path_name() + list-objects: convert name_path to a strbuf + list-objects: drop name_path entirely + list-objects: pass full pathname to callbacks + +Junio C Hamano (3): + Git 2.4.11 + Git 2.5.5 + Git 2.6.6 + + +Version v2.6.5; changes since v2.6.4: +------------------------------------- + +Alexey Shumkin (2): + t7900-subtree: test the "space in a subdirectory name" case + contrib/subtree: respect spaces in a repository path + +Charles Bailey (1): + t3404: fix quoting of redirect for some versions of bash + +Christian Couder (1): + Documentation/git-update-index: add missing opts to synopsis + +David Turner (1): + verify_pack: do not ignore return value of verification function + +Elia Pinto (1): + ident.c: add support for IPv6 + +Jeff King (7): + ident: make xgetpwuid_self() a static local helper + ident: keep a flag for bogus default_email + ident: loosen getpwuid error in non-strict mode + ident: fix undefined variable when NO_IPV6 is set + revision.c: propagate tag names from pending array + symbolic-ref: propagate error code from create_symref() + t1401: test reflog creation for git-symbolic-ref + +Johannes Sixt (1): + prune: close directory earlier during loose-object directory traversal + +John Keeping (6): + t7610: don't use test_config in a subshell + t5801: don't use test_when_finished in a subshell + test-lib-functions: support "test_config -C <dir> ..." + t7800: don't use test_config in a subshell + test-lib-functions: detect test_when_finished in subshell + send-email: enable SSL level 1 debug output + +Junio C Hamano (3): + Prepare for 2.6.5 + Update draft release notes to 2.6.5 + Git 2.6.5 + +Lars Schneider (1): + git-p4: add option to keep empty commits + +Nguyễn Thái Ngọc Duy (1): + git-check-ref-format.txt: typo, s/avoids/avoid/ + +René Scharfe (2): + use pop_commit() for consuming the first entry of a struct commit_list + show-branch: use argv_array for default arguments + +SZEDER Gábor (3): + Make error message after failing commit_lock_file() less confusing + completion: remove 'git column' from porcelain commands + credential-store: don't pass strerror to die_errno() + +Stefan Beller (1): + document submodule sync --recursive + +Stefan Naewe (1): + revision.c: fix possible null pointer arithmetic + + +Version v2.6.4; changes since v2.6.3: +------------------------------------- + +Atousa Pahlevan Duprat (2): + sha1: provide another level of indirection for the SHA-1 functions + sha1: allow limiting the size of the data passed to SHA1_Update() + +Charles Bailey (1): + http: treat config options sslCAPath and sslCAInfo as paths + +Christian Couder (1): + Documentation/git-update-index: add missing opts to synopsys + +Clemens Buchacher (1): + allow hooks to ignore their standard input stream + +Daniel Knittl-Frank (1): + Escape Git's exec path in contrib/rerere-train.sh script + +David Aguilar (1): + difftool: ignore symbolic links in use_wt_file + +Dennis Kaarsemaker (2): + t5813: avoid creating urls that break on cygwin + check-ignore: correct documentation about output + +Doug Kelly (2): + t5304: test cleaning pack garbage + gc: remove garbage .idx files from pack dir + +Fredrik Medley (1): + rebase-i-exec: Allow space in SHELL_PATH + +GIRARD Etienne (1): + git-p4: clean up after p4 submit failure + +John Keeping (3): + interpret-trailers: allow running outside a repository + rebase: support --no-autostash + Documentation/git-rebase: fix --no-autostash formatting + +Junio C Hamano (3): + prepare_packed_git(): refactor garbage reporting in pack directory + Prepare for 2.6.4 + Git 2.6.4 + +Luke Diamand (3): + git-p4: add failing test for submit from detached head + git-p4: add option to system() to return subshell status + git-p4: work with a detached head + +Michael J Gruber (1): + Documentation/diff: give --word-diff-regex=. example + +Pat Thoyts (1): + remote-http(s): support SOCKS proxies + +Rainer M. Canavan (1): + configure.ac: use $LIBS not $CFLAGS when testing -lpthread + +René Scharfe (1): + wt-status: correct and simplify check for detached HEAD + +SZEDER Gábor (4): + bash prompt: test dirty index and worktree while on an orphan branch + bash prompt: remove a redundant 'git diff' option + bash prompt: indicate dirty index even on orphan branches + filter-branch: deal with object name vs. pathname ambiguity in tree-filter + +Андрей Рыбак (1): + Documentation: make environment variable formatting more consistent + + +Version v2.6.3; changes since v2.6.2: +------------------------------------- + +David Turner (2): + t7063: fix flaky untracked-cache test + name-hash: don't reuse cache_entry in dir_entry + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +James McCoy (1): + filter-branch: remove multi-line headers in msg filter + +Jeff King (7): + introduce "extensions" form of core.repositoryformatversion + introduce "preciousObjects" repository extension + t6031: move triple-rename test to t3030 + t6031: generalize for recursive and resolve strategies + merge: detect delete/modechange conflict + add_submodule_odb: initialize alt_odb list earlier + merge-file: clamp exit code to maximum 127 + +Johannes Schindelin (10): + t5700: demonstrate a Windows file locking issue with `git clone --dissociate` + sha1_file: consolidate code to close a pack's file descriptor + gc: demonstrate failure with stale remote HEAD + sha1_file.c: add a function to release all packs + clone --dissociate: avoid locking pack files + pack-objects: do not get distracted by broken symrefs + imap-send: only use CURLOPT_LOGIN_OPTIONS if it is actually available + Squelch warning about an integer overflow + Silence GCC's "cast of pointer to integer of a different size" warning + t3404: "rebase -i" gets broken when insn sheet uses CR/LF line endings + +Junio C Hamano (10): + am -3: do not let failed merge from completing the error codepath + Documentation/gc: warn against --prune=<now> + usage: do not insist that standard input must come from a file + Documentation/everyday: match undefline with the text + Documentation: match underline with the text + Documentation: match undefline with the text in old release notes + Documentation: AsciiDoc spells em-dash as double-dashes, not triple + add: simplify -u/-A without pathspec + rebase-i: work around Windows CRLF line endings + Git 2.6.3 + +Lars Schneider (2): + git-p4: add test case for "Translation of file content failed" error + git-p4: handle "Translation of file content failed" + +Luke Diamand (3): + git-p4: failing test for ignoring invalid p4 labels + git-p4: do not terminate creating tag for unknown commit + git-p4: fix P4 label import for unprocessed commits + +Max Kirillov (3): + submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb() + path: implement common_dir handling in git_pathdup_submodule() + blame: fix option name in error message + +Nguyễn Thái Ngọc Duy (7): + path.c: delete an extra space + gc: save log from daemonized gc --auto and print it next time + t0002: add test for enter_repo(), non-strict mode + enter_repo: avoid duplicating logic, use is_git_directory() instead + enter_repo: allow .git files in strict mode + clone: allow --local from a linked checkout + clone: better error when --reference is a linked checkout + +Ralf Thielow (1): + am, credential-cache: add angle brackets to usage string + +Ray Donnelly (1): + test-path-utils.c: remove incorrect assumption + +Remi Pommarel (3): + Makefile: link libcurl before zlib + Makefile: make curl-config path configurable + configure.ac: detect ssl need with libcurl + +René Scharfe (7): + t7060: add test for status --branch on a detached HEAD + wt-status: exit early using goto in wt_shortstatus_print_tracking() + wt-status: avoid building bogus branch name with detached HEAD + wt-status: don't skip a magical number of characters blindly + wt-status: use skip_prefix() to get rid of magic string length constants + run-command: factor out child_process_clear() + daemon: plug memory leak + +Sidhant Sharma (1): + worktree: usage: denote <branch> as optional with 'add' + +Stefan Agner (1): + git-send-email.perl: Fixed sending of many/huge changes/patches + +Tobias Klauser (2): + strbuf: make stripspace() part of strbuf + stripspace: use parse-options for command-line parsing + +Waldek Maleska (1): + Correct fscanf formatting string for I64u values + +Xue Fuqiao (2): + Documentation: fix header markup + user-manual: fix the description of fast-forward + + +Version v2.6.2; changes since v2.6.1: +------------------------------------- + +Alex Henrie (2): + merge: grammofix in please-commit-before-merge message + pull: enclose <options> in brackets in the usage string + +Christian Couder (2): + quote: fix broken sq_quote_buf() related comment + quote: move comment before sq_quote_buf() + +Eric N. Vander Weele (1): + log: Update log.follow doc and add to config.txt + +Jacob Keller (1): + notes: correct documentation of DWIMery for notes references + +Jeff King (3): + git_connect: clear GIT_* environment for ssh + git_connect: clarify conn->use_shell flag + blame: handle --first-parent + +Johannes Schindelin (1): + setup: fix "inside work tree" detection on case-insensitive filesystems + +John Keeping (2): + Makefile: fix MAKEFLAGS tests with multiple flags + Documentation: fix section header mark-up + +Junio C Hamano (3): + Makefile: allow $(ARFLAGS) specified from the command line + fsck: exit with non-zero when problems are found + Git 2.6.2 + +Matthieu Moy (7): + Documentation: use 'keyid' consistently, not 'key-id' + Documentation/grep: fix documentation of -O + Documentation: explain optional arguments better + t3203: test 'detached at' after checkout --detach + status: don't say 'HEAD detached at HEAD' + rebase-i: explicitly accept tab as separator in commands + rebase-i: loosen over-eager check_bad_cmd check + +Michael J Gruber (1): + t2026: rename worktree prune test + +Nguyễn Thái Ngọc Duy (1): + ls-remote.txt: delete unsupported option + +Renee Margaret McConahy (1): + am: configure gpg at startup + +Stephan Beyer (2): + t5561: get rid of racy appending to logfile + t/perf: make runner work even if Git is not installed + +Takashi Iwai (1): + pager: don't use unsafe functions in signal handlers + +Tobias Klauser (2): + connect: fix typo in result string of prot_name() + Documentation/interpret-trailers: Grammar fix + + +Version v2.6.1; changes since v2.6.0: +------------------------------------- + +Blake Burkhart (2): + http: limit redirection to protocol-whitelist + http: limit redirection depth + +Jeff King (6): + transport: add a protocol-whitelist environment variable + submodule: allow only certain protocols for submodule fetches + transport: refactor protocol whitelist code + react to errors in xdi_diff + xdiff: reject files larger than ~1GB + merge-file: enforce MAX_XDIFF_SIZE on incoming files + +Junio C Hamano (4): + Git 2.3.10 + Git 2.4.10 + Git 2.5.4 + Git 2.6.1 + + +Version v2.6.0; changes since v2.6.0-rc3: +----------------------------------------- + +Junio C Hamano (1): + Git 2.6 + + +Version v2.6.0-rc3; changes since v2.6.0-rc2: +--------------------------------------------- + +Alejandro R. Sedeño (1): + Makefile: use SHELL_PATH when running generate-cmdlist.sh + +Alex Henrie (2): + show-ref: place angle brackets around variables in usage string + l10n: ca.po: update translation + +Andreas Schwab (1): + Documentation/config: fix formatting for branch.*.rebase and pull.rebase + +Brian Norris (1): + send-email: fix uninitialized var warning for $smtp_auth + +Edward Thomson (1): + poll: honor the timeout on Win32 + +Jean-Noël Avila (2): + l10n: fr.po v2.6.0 round 1 (2441t) + l10n: fr.po v2.6.0 round 2 (2440t) + +Jiang Xin (6): + l10n: TEAMS: stash inactive zh_CN team members + l10n: zh_CN: Add translations for Git glossary + l10n: git.pot: v2.6.0 round 1 (123 new, 41 removed) + l10n: zh_CN: for git v2.6.0 l10n round 1 + l10n: git.pot: v2.6.0 round 2 (3 improvements) + l10n: zh_CN: for git v2.6.0 l10n round 2 + +Johannes Schindelin (1): + am --skip/--abort: merge HEAD/ORIG_HEAD tree into index + +Junio C Hamano (4): + Update RelNotes to 2.6 to describe leftover bits since -rc2 + Git 2.5.3 + Update RelNotes to 2.6 + Git 2.6-rc3 + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (2441t0f0u) + +Philip Oakley (1): + doc: show usage of branch description + +Phillip Sz (1): + l10n: de.po: better language for one string + +Ralf Thielow (4): + pull: don't mark values for option "rebase" for translation + tag, update-ref: improve description of option "create-reflog" + l10n: de.po: translate 123 new messages + l10n: de.po: translate 2 messages + +Ramsay Jones (1): + mailmap: update my entry with new email address + +Ray Chen (10): + l10n: zh_CN: Update Translation: "tag object" + l10n: zh_CN: Unify Translation of "packfile" + l10n: zh_CN: Update Translation of "tag" + l10n: zh_CN: Add Surrounding Spaces + l10n: zh_CN: Update Git Glossary: SHA-1 + l10n: zh_CN: Update Git Glossary: "dumb", "smart" + l10n: zh_CN: Update Git Glossary: tag + l10n: zh_CN: Update Git Glossary: fork + l10n: zh_CN: Update Git Glossary: pickaxe + l10n: zh_CN: Update Git Glossary: "commit message" + +Trần Ngọc Quân (2): + l10n: Updated Vietnamese translation (2441t) + l10n: Update and review Vietnamese translation (2440t) + + +Version v2.6.0-rc2; changes since v2.6.0-rc1: +--------------------------------------------- + +Alex Henrie (2): + gitk: Fix bad English grammar "Matches none Commit Info" + gitk: Remove mc parameter from proc show_error + +Alexander Shopov (2): + gitk: Update Bulgarian translation (304t) + gitk: Update Bulgarian translation (307t) + +Beat Bolli (2): + gitk: Add a "Copy commit summary" command + gitk: Adjust the menu line numbers to compensate for the new entry + +Giuseppe Bilotta (2): + apply: comment grammar fix + gitk: Accelerators for the main menu + +Ismael Luceno (1): + gitk: Make it easier to go quickly to a specific commit + +Jeff King (5): + pack-protocol: clarify LF-handling in PKT-LINE() + verify_absent: allow filenames longer than PATH_MAX + notes: use a strbuf in add_non_note + read_info_alternates: handle paths larger than PATH_MAX + show-branch: use a strbuf for reflog descriptions + +Junio C Hamano (6): + Git 2.2.3 + Git 2.3.9 + Git 2.4.9 + Git 2.5.2 + Release Notes: typofix + Git 2.6-rc2 + +Marc Branchaud (3): + gitk: Rearrange window title to be more conventional + gitk: Show the current view's name in the window title + gitk: Use translated version of "Command line" in getcommitlines + +Matthieu Prat (1): + t7060: actually test "git diff-index --cached -M" + +Michael J Gruber (1): + git-svn: parse authors file more leniently + +Michael Rappazzo (1): + gitk: Add mouse right-click options to copy path and branch name + +Paul Mackerras (3): + gitk: Replace catch {unset foo} with unset -nocomplain foo + gitk: Fix error when changing colors after closing "List references" window + gitk: Update .po files + +Peter Krefting (1): + gitk: sv.po: Update Swedish translation (305t0f0u) + + +Version v2.6.0-rc1; changes since v2.6.0-rc0: +--------------------------------------------- + +Jeff King (1): + rerere: release lockfile in non-writing functions + +Junio C Hamano (2): + am: match --signoff to the original scripted version + Git 2.6-rc1 + + +Version v2.6.0-rc0; changes since v2.5.6: +----------------------------------------- + +Alex Henrie (3): + reflog: add missing single quote to error message + pack-objects: place angle brackets around placeholders in usage strings + read-tree: replace bracket set with parentheses to clarify usage + +Antoine Delaite (3): + bisect: correction of typo + bisect: replace hardcoded "bad|good" by variables + bisect: simplify the addition of new bisect terms + +Brian Degenhardt (1): + unpack-trees: populate cache-tree on successful merge + +Charles Bailey (2): + test-parse-options: update to handle negative ints + parse-options: move unsigned long option parsing out of pack-objects.c + +Dave Borowitz (9): + Documentation/git-push.txt: document when --signed may fail + Documentation/git-send-pack.txt: wrap long synopsis line + Documentation/git-send-pack.txt: document --signed + gitremote-helpers.txt: document pushcert option + transport: remove git_transport_options.push_cert + config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool + builtin/send-pack.c: use parse_options API + push: support signing pushes iff the server supports it + push: add a config option push.gpgSign for default signed pushes + +David Turner (18): + log: add "log.follow" configuration variable + refs.c: add err arguments to reflog functions + refs: break out check for reflog autocreation + refs: new public ref function: safe_create_reflog + git-reflog: add exists command + refs: add REF_FORCE_CREATE_REFLOG flag + update-ref and tag: add --create-reflog arg + git-stash: use update-ref --create-reflog instead of creating files + t/t7509: remove unnecessary manipulation of reflog + tests: remove some direct access to .git/logs + refs: introduce pseudoref and per-worktree ref concepts + refs: add ref_type function + pseudorefs: create and use pseudoref update and delete functions + bisect: use update_ref + sequencer: replace write_cherry_pick_head with update_ref + worktrees: add find_shared_symref + notes: handle multiple worktrees + pseudoref: check return values from read_ref() + +Elia Pinto (1): + http: add support for specifying the SSL version + +Eric Sunshine (25): + config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire" + checkout: avoid resolving HEAD unnecessarily + checkout: name check_linked_checkouts() more meaningfully + checkout: improve die_if_checked_out() robustness + checkout: die_if_checked_out: simplify strbuf management + checkout: generalize die_if_checked_out() branch name argument + checkout: check_linked_checkout: improve "already checked out" aesthetic + checkout: check_linked_checkout: simplify symref parsing + checkout: teach check_linked_checkout() about symbolic link HEAD + branch: publish die_if_checked_out() + worktree: improve worktree setup message + worktree: simplify new branch (-b/-B) option checking + worktree: introduce options container + worktree: make --detach mutually exclusive with -b/-B + worktree: add: suppress auto-vivication with --detach and no <branch> + worktree: make branch creation distinct from worktree population + worktree: elucidate environment variables intended for child processes + worktree: add_worktree: construct worktree-population command locally + worktree: detect branch-name/detached and error conditions locally + worktree: make setup of new HEAD distinct from worktree population + worktree: avoid resolving HEAD unnecessarily + worktree: populate via "git reset --hard" rather than "git checkout" + checkout: drop intimate knowledge of newly created worktree + Documentation/git-worktree: fix broken 'linkgit' invocation + Documentation/config: mention "now" and "never" for 'expire' settings + +Erik Elfström (5): + setup: add gentle version of read_gitfile + setup: sanity check file size in read_gitfile_gently + t7300: add tests to document behavior of clean and nested git + p7300: add performance tests for clean + clean: improve performance when removing lots of directories + +Galan Rémi (3): + git-rebase -i: add command "drop" to remove a commit + git rebase -i: warn about removed commits + git rebase -i: add static check for commands and SHA-1 + +Guillaume Pagès (4): + status: factor two rebase-related messages together + status: differentiate interactive from non-interactive rebases + status: give more information during rebase -i + status: add new tests for status during rebase -i + +Heiko Voigt (4): + submodule: implement a config API for lookup of .gitmodules values + submodule: extract functions for config set and lookup + submodule: use new config API for worktree configurations + submodule: allow erroneous values for the fetchRecurseSubmodules option + +Jacob Keller (8): + refs: cleanup comments regarding check_refname_component() + refs: loosen restriction on wildcard "*" refspecs + notes: document cat_sort_uniq rewriteMode + notes: extract enum notes_merge_strategy to notes-utils.h + notes: extract parse_notes_merge_strategy to notes-utils + notes: add tests for --commit/--abort/--strategy exclusivity + notes: add notes.mergeStrategy option to select default strategy + notes: teach git-notes about notes.<name>.mergeStrategy option + +Jan Viktorin (1): + send-email: provide whitelist of SMTP AUTH mechanisms + +Jeff King (36): + pkt-line: simplify starts_with checks in packet tracing + pkt-line: tighten sideband PACK check when tracing + pkt-line: support tracing verbatim pack contents + cat-file: minor style fix in options list + cat-file: move batch_options definition to top of file + cat-file: add --buffer option + cat-file: stop returning value from batch_one_object + cat-file: split batch_one_object into two stages + cat-file: add --batch-all-objects option + read_gitfile_gently: fix use-after-free + cat-file: sort and de-dup output of --batch-all-objects + show-branch: use DATE_RELATIVE instead of magic number + convert "enum date_mode" into a struct + introduce "format" date-mode + strbuf: make strbuf_addftime more robust + docs/config.txt: reorder hideRefs config + refs: support negative transfer.hideRefs + cache.h: clarify documentation for git_path, et al + cache.h: complete set of git_path_submodule helpers + t5700: modernize style + add_to_alternates_file: don't add duplicate entries + prefer git_pathdup to git_path in some possibly-dangerous cases + prefer mkpathdup to mkpath in assignments + remote.c: drop extraneous local variable from migrate_file + refs.c: remove extra git_path calls from read_loose_refs + path.c: drop git_path_submodule + refs.c: simplify strbufs in reflog setup and writing + refs.c: avoid repeated git_path calls in rename_tmp_log + refs.c: avoid git_path assignment in lock_ref_sha1_basic + refs.c: remove_empty_directories can take a strbuf + find_hook: keep our own static buffer + get_repo_path: refactor path-allocation + memoize common git-path "constant" files + format_config: don't init strbuf + format_config: simplify buffer handling + get_urlmatch: avoid useless strbuf write + +Jiang Xin (1): + i18n: am: fix typo in description of -b option + +Johannes Schindelin (19): + fsck: introduce fsck options + fsck: introduce identifiers for fsck messages + fsck: provide a function to parse fsck message IDs + fsck: offer a function to demote fsck errors to warnings + fsck (receive-pack): allow demoting errors to warnings + fsck: report the ID of the error/warning + fsck: make fsck_ident() warn-friendly + fsck: make fsck_commit() warn-friendly + fsck: handle multiple authors in commits specially + fsck: make fsck_tag() warn-friendly + fsck: add a simple test for receive.fsck.<msg-id> + fsck: disallow demoting grave fsck errors to warnings + fsck: optionally ignore specific fsck issues completely + fsck: allow upgrading fsck warnings to errors + fsck: document the new receive.fsck.<msg-id> options + fsck: support demoting errors to warnings + fsck: introduce `git fsck --connectivity-only` + fsck: git receive-pack: support excluding objects from fsck'ing + fsck: support ignoring objects in `git fsck` via fsck.skiplist + +Johannes Sixt (1): + t7300-clean: require POSIXPERM for chmod 0 test + +Junio C Hamano (21): + commit-slab: introduce slabname##_peek() function + First batch for 2.6 + sha1_file.c: rename move_temp_to_file() to finalize_object_file() + Second batch for 2.6 + Third batch for 2.6 + Fourth batch for 2.6 + log: rename "tweak" helpers + log: when --cc is given, default to -p unless told otherwise + log: show merge commit when --cc is given + builtin/am: introduce write_state_*() helper functions + builtin/am: make sure state files are text + write_file(): drop "fatal" parameter + write_file_v(): do not leave incomplete line at the end + write_file(): drop caller-supplied LF from calls to create a one-liner file + builtin/log.c: minor reformat + Fifth batch for 2.6 + Sixth batch for 2.6 + Seventh batch for 2.6 + Eighth batch for 2.6 + Ninth batch for 2.6 + Git 2.6-rc0 + +Karsten Blees (1): + Documentation/i18n.txt: clarify character encoding support + +Karthik Nayak (11): + for-each-ref: extract helper functions out of grab_single_ref() + for-each-ref: clean up code + for-each-ref: rename 'refinfo' to 'ref_array_item' + for-each-ref: introduce new structures for better organisation + for-each-ref: introduce 'ref_array_clear()' + for-each-ref: rename some functions and make them public + for-each-ref: rename variables called sort to sorting + ref-filter: add 'ref-filter.h' + ref-filter: move code from 'for-each-ref' + for-each-ref: introduce filter_refs() + ref-filter: make 'ref_array_item' use a FLEX_ARRAY for refname + +Kevin Daudt (1): + pull: allow dirty tree when rebase.autostash enabled + +Lars Schneider (1): + git-p4: honor core.ignorecase when using P4 client specs + +Matthieu Moy (2): + Documentation/bisect: move getting help section to the end + bisect: don't mix option parsing and non-trivial code + +Michael Haggerty (41): + delete_ref(): move declaration to refs.h + remove_branches(): remove temporary + delete_ref(): handle special case more explicitly + delete_refs(): new function for the refs API + delete_refs(): make error message more generic + delete_refs(): bail early if the packed-refs file cannot be rewritten + prune_remote(): use delete_refs() + prune_refs(): use delete_refs() + repack_without_refs(): make function private + initial_ref_transaction_commit(): function for initial ref creation + refs: remove some functions from the module's public interface + initial_ref_transaction_commit(): check for duplicate refs + initial_ref_transaction_commit(): check for ref D/F conflicts + refs: move the remaining ref module declarations to refs.h + refs.h: add some parameter names to function declarations + check_branch_commit(): make first parameter const + update_ref(): don't read old reference value before delete + cmd_update_ref(): make logic more straightforward + delete_ref(): use the usual convention for old_sha1 + Documentation/bisect: revise overall content + fast-import: add a get-mark command + Documentation/git-worktree: consistently use term "linked working tree" + Documentation/git-worktree: fix incorrect reference to file "locked" + Documentation/config: fix stale "git prune --worktree" reference + Documentation/git-worktree: wordsmith worktree-related manpages + lockfile: move documentation to lockfile.h and lockfile.c + create_bundle(): duplicate file descriptor to avoid closing it twice + lockfile: add accessors get_lock_file_fd() and get_lock_file_fp() + lockfile: add accessor get_lock_file_path() + commit_lock_file(): use get_locked_file_path() + tempfile: a new module for handling temporary files + prepare_tempfile_object(): new function, extracted from create_tempfile() + tempfile: add several functions for creating temporary files + register_tempfile(): new function to handle an existing temporary file + write_shared_index(): use tempfile module + setup_temporary_shallow(): use tempfile module + diff: use tempfile module + lock_repo_for_gc(): compute the path to "gc.pid" only once + gc: use tempfile module to handle gc.pid file + credential-cache--daemon: delete socket from main() + credential-cache--daemon: use tempfile module + +Michael Rappazzo (1): + git-rebase--interactive.sh: add config option for custom instruction format + +Mike Hommey (1): + Allow to control where the replace refs are looked for + +Patrick Steinhardt (4): + Documentation/git-worktree: fix duplicated 'from' + clone: do not include authentication data in guessed dir + clone: do not use port number as dir name + clone: abort if no dir name could be guessed + +Paul Tan (85): + t4150: test applying StGit patch + am: teach StGit patch parser how to read from stdin + t4150: test applying StGit series + am: use gmtime() to parse mercurial patch date + am: teach mercurial patch parser how to read from stdin + parse-options-cb: implement parse_opt_passthru() + parse-options-cb: implement parse_opt_passthru_argv() + argv-array: implement argv_array_pushv() + pull: implement skeletal builtin pull + pull: implement fetch + merge + pull: pass verbosity, --progress flags to fetch and merge + pull: pass git-merge's options to git-merge + pull: pass git-fetch's options to git-fetch + pull: error on no merge candidates + pull: support pull.ff config + pull: check if in unresolved merge state + pull: fast-forward working tree if head is updated + pull: implement pulling into an unborn branch + pull: set reflog message + pull: teach git pull about --rebase + pull: configure --rebase via branch.<name>.rebase or pull.rebase + pull --rebase: exit early when the working directory is dirty + pull --rebase: error on no merge candidate cases + pull: remove redirection to git-pull.sh + t4150: am.messageid really adds the message id + t4150: am fails if index is dirty + t4151: am --abort will keep dirty index intact + t4150: am refuses patches when paused + t4150: am --resolved fails if index has no changes + t4150: am --resolved fails if index has unmerged entries + t4150: am with applypatch-msg hook + t4150: am with pre-applypatch hook + t4150: am with post-applypatch hook + t4150: tests for am --[no-]scissors + t3418: non-interactive rebase --continue with rerere enabled + t3901: test git-am encoding conversion + wrapper: implement xopen() + wrapper: implement xfopen() + builtin-am: implement skeletal builtin am + builtin-am: implement patch queue mechanism + builtin-am: split out mbox/maildir patches with git-mailsplit + builtin-am: auto-detect mbox patches + builtin-am: extract patch and commit info with git-mailinfo + builtin-am: apply patch with git-apply + builtin-am: implement committing applied patch + builtin-am: refuse to apply patches if index is dirty + builtin-am: implement --resolved/--continue + builtin-am: don't parse mail when resuming + builtin-am: implement --skip + builtin-am: implement --abort + builtin-am: reject patches when there's a session in progress + builtin-am: implement -q/--quiet + builtin-am: exit with user friendly message on failure + builtin-am: implement -s/--signoff + cache-tree: introduce write_index_as_tree() + builtin-am: implement --3way + builtin-am: implement --rebasing mode + builtin-am: bypass git-mailinfo when --rebasing + builtin-am: handle stray state directory + builtin-am: implement -u/--utf8 + builtin-am: implement -k/--keep, --keep-non-patch + builtin-am: implement --[no-]message-id, am.messageid + builtin-am: support --keep-cr, am.keepcr + builtin-am: implement --[no-]scissors + builtin-am: pass git-apply's options to git-apply + builtin-am: implement --ignore-date + builtin-am: implement --committer-date-is-author-date + builtin-am: implement -S/--gpg-sign, commit.gpgsign + builtin-am: invoke post-rewrite hook + builtin-am: support automatic notes copying + builtin-am: invoke applypatch-msg hook + builtin-am: invoke pre-applypatch hook + builtin-am: invoke post-applypatch hook + builtin-am: rerere support + builtin-am: support and auto-detect StGit patches + builtin-am: support and auto-detect StGit series files + builtin-am: support and auto-detect mercurial patches + builtin-am: implement -i/--interactive + builtin-am: implement legacy -b/--binary option + builtin-am: check for valid committer ident + builtin-am: remove redirection to git-am.sh + test_terminal: redirect child process' stdin to a pty + am: let command-line options override saved options + am: let --signoff override --no-signoff + am --skip/--abort: merge HEAD/ORIG_HEAD tree into index + +Ralf Thielow (1): + lockfile: remove function "hold_lock_file_for_append" + +Remi Lespinet (11): + t9001-send-email: move script creation in a setup test + send-email: allow aliases in patch header and command script outputs + t9001-send-email: refactor header variable fields replacement + send-email: refactor address list process + send-email: allow use of aliases in the From field of --compose mode + send-email: minor code refactoring + send-email: reduce dependencies impact on parse_address_line + send-email: consider quote as delimiter instead of character + send-email: allow multiple emails using --cc, --to and --bcc + send-email: suppress meaningless whitespaces in from field + git-am: add am.threeWay config variable + +SZEDER Gábor (6): + bash prompt: test untracked files status indicator with untracked dirs + bash prompt: faster untracked status indicator with untracked directories + config: add '--name-only' option to list only variable names + completion: list variable names reliably with 'git config --name-only' + config: restructure format_config() for better control flow + describe --contains: default to HEAD when no commit-ish is given + +Stefan Beller (1): + read-cache: fix indentation in read_index_from + +Thomas Braun (1): + completion: offer '--edit-todo' during interactive rebase + +Zoë Blade (1): + userdiff: add support for Fountain documents + +brian m. carlson (7): + verify-tag: add tests + verify-tag: share code with verify-commit + verify-commit: add test for exit status on untrusted signature + gpg: centralize signature check + gpg: centralize printing signature buffers + verify-commit: add option to print raw gpg status information + verify-tag: add option to print raw gpg status information + + +Version v2.5.6; changes since v2.5.5: +------------------------------------- + +Jeff King (1): + shell: disallow repo names beginning with dash + +Junio C Hamano (2): + Git 2.4.12 + Git 2.5.6 + + +Version v2.5.5; changes since v2.5.4: +------------------------------------- + +Jeff King (7): + add helpers for detecting size_t overflow + tree-diff: catch integer overflow in combine_diff_path allocation + http-push: stop using name_path + show_object_with_name: simplify by using path_name() + list-objects: convert name_path to a strbuf + list-objects: drop name_path entirely + list-objects: pass full pathname to callbacks + +Junio C Hamano (2): + Git 2.4.11 + Git 2.5.5 + + +Version v2.5.4; changes since v2.5.3: +------------------------------------- + +Blake Burkhart (2): + http: limit redirection to protocol-whitelist + http: limit redirection depth + +Jeff King (6): + transport: add a protocol-whitelist environment variable + submodule: allow only certain protocols for submodule fetches + transport: refactor protocol whitelist code + react to errors in xdi_diff + xdiff: reject files larger than ~1GB + merge-file: enforce MAX_XDIFF_SIZE on incoming files + +Junio C Hamano (3): + Git 2.3.10 + Git 2.4.10 + Git 2.5.4 + + +Version v2.5.3; changes since v2.5.2: +------------------------------------- + +Alex Henrie (1): + git-submodule: remove extraneous space from error message + +Brett Randall (1): + git-svn doc: mention "svn-remote.<name>.include-paths" + +David Turner (2): + untracked-cache: support sparse checkout + untracked-cache: fix subdirectory handling + +Johannes Schindelin (1): + am --skip/--abort: merge HEAD/ORIG_HEAD tree into index + +Junio C Hamano (1): + Git 2.5.3 + +Nguyễn Thái Ngọc Duy (2): + t7063: use --force-untracked-cache to speed up a bit + untracked cache: fix entry invalidation + + +Version v2.5.2; changes since v2.5.1: +------------------------------------- + +Andreas Schwab (1): + Documentation/config: fix inconsistent label on gc.*.reflogExpireUnreachable + +Christian Couder (3): + trailer: ignore first line of message + trailer: retitle a test and correct an in-comment message + trailer: support multiline title + +Clemens Buchacher (1): + git_open_noatime: return with errno=0 on success + +David Turner (1): + commit: don't rewrite shared index unnecessarily + +Eric Sunshine (1): + generate-cmdlist: re-implement as shell script + +Erik Elfström (1): + t7300: fix broken && chains + +Jeff King (9): + vreportf: report to arbitrary filehandles + vreportf: avoid intermediate buffer + config: silence warnings for command names with invalid keys + rev-list: make it obvious that we do not support notes + log: diagnose empty HEAD more clearly + verify_absent: allow filenames longer than PATH_MAX + notes: use a strbuf in add_non_note + read_info_alternates: handle paths larger than PATH_MAX + show-branch: use a strbuf for reflog descriptions + +Jim Hill (1): + strbuf_read(): skip unnecessary strbuf_grow() at eof + +Johannes Sixt (1): + t2019: skip test requiring '*' in a file name non Windows + +Junio C Hamano (5): + ps_matched: xcalloc() takes nmemb and then element size + Git 2.2.3 + Git 2.3.9 + Git 2.4.9 + Git 2.5.2 + +Michael Haggerty (4): + get_remote_group(): handle remotes with single-character names + get_remote_group(): rename local variable "space" to "wordlen" + get_remote_group(): eliminate superfluous call to strcspn() + get_remote_group(): use skip_prefix() + +Nguyễn Thái Ngọc Duy (1): + setup: update the right file in multiple checkouts + +Patrick Steinhardt (2): + tests: fix broken && chains in t1509-root-worktree + tests: fix cleanup after tests in t1509-root-worktree + +Philip Oakley (1): + po/README: Update directions for l10n contributors + +René Scharfe (3): + t5004: test ZIP archives with many entries + archive-zip: use a local variable to store the creator version + archive-zip: support more than 65535 entries + +SZEDER Gábor (2): + t3020: fix typo in test description + wt-status: move #include "pathspec.h" to the header + +Sven Strickroth (1): + config: close config file handle in case of error + + +Version v2.5.1; changes since v2.5.0: +------------------------------------- + +Charles Bailey (1): + untracked: fix detection of uname(2) failure + +David Aguilar (1): + contrib/subtree: ignore log.date configuration + +David Turner (1): + unpack-trees: don't update files with CE_WT_REMOVE set + +Eric Sunshine (5): + Documentation/git: drop outdated Cogito reference + Documentation/git-tools: improve discoverability of Git wiki + Documentation/git-tools: fix item text formatting + Documentation/git-tools: drop references to defunct tools + Documentation/git-tools: retire manually-maintained list + +Ilya Bobyr (1): + rev-parse --parseopt: allow [*=?!] in argument hints + +Jeff King (4): + test-lib: turn off "-x" tracing during chain-lint check + test-lib: disable trace when test is not verbose + clone: add tests for output directory + clone: use computed length in guess_dir_name + +Jiang Xin (1): + receive-pack: crash when checking with non-exist HEAD + +Jose F. Morales (1): + Mingw: verify both ends of the pipe () call + +Junio C Hamano (5): + builtin/send-pack.c: respect user.signingkey + Git 2.4.8 + Start preparing for 2.5.1 + pull: pass upload_pack only when it was given + Git 2.5.1 + +Karthik Nayak (1): + Documentation/tag: remove double occurance of "<pattern>" + +Matthieu Moy (1): + pull.sh: quote $upload_pack when passing it to git-fetch + +Mike Hommey (1): + fast-import: do less work when given "from" matches current branch head + +Nguyễn Thái Ngọc Duy (1): + setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR + +Simon A. Eugster (1): + checkout: document subtlety around --ours/--theirs + +Stefan Beller (3): + parse-options: align curly braces for all options + add: remove dead code + transport-helper: die on errors reading refs. + +Thomas Ackermann (1): + typofix for index-format.txt + + +Version v2.5.0; changes since v2.5.0-rc3: +----------------------------------------- + +Junio C Hamano (4): + Revert "git-am: add am.threeWay config variable" + RelNotes: am.threeWay does not exist (yet) + Git 2.4.7 + Git 2.5 + + +Version v2.5.0-rc3; changes since v2.5.0-rc2: +--------------------------------------------- + +Alex Henrie (2): + l10n: ca.po: update translation + l10n: ca.po: update translation + +Alexander Shopov (2): + l10n: Updated Bulgarian translation of git (2355t,0f,0u) + l10n: Updated Bulgarian translation of git (2359t,0f,0u) + +Dimitriy Ryazantcev (1): + l10n: ru.po: update Russian translation + +Eric Sunshine (2): + Documentation/git-worktree: fix stale "git checkout --to" references + Documentation/git: fix stale "MULTIPLE CHECKOUT MODE" reference + +Jean-Noël Avila (2): + l10n: fr.po v2.5.0-rc0 (2355t) + l10n: fr v2.5.0 round 2 (2359t) + +Jiang Xin (4): + l10n: git.pot: v2.5.0 round 1 (65 new, 15 removed) + l10n: zh_CN: for git v2.5.0 l10n round 1 + l10n: git.pot: v2.5.0 round 2 (9 new, 5 removed) + l10n: zh_CN: for git v2.5.0 l10n round 2 + +Junio C Hamano (3): + Git 2.4.6 + worktree: caution that this is still experimental + Git 2.5.0-rc3 + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (2355t0f0u) + l10n: sv.po: Update Swedish translation (2359t0f0u) + +Ralf Thielow (4): + l10n: de.po: fix translation of "head nodes" + l10n: de.po: translate "index" as "Index" + l10n: de.po: translate 65 new messages + l10n: de.po: translate 9 new messages + +René Scharfe (1): + diff: parse ws-error-highlight option more strictly + +Stefan Beller (1): + revision.c: remove unneeded check for NULL + +Tony Finch (1): + gitweb: fix typo in man page + +Trần Ngọc Quân (2): + l10n: Updated Vietnamese translation (2355t) + l10n: Updated Vietnamese translation (2359t) + + +Version v2.5.0-rc2; changes since v2.5.0-rc1: +--------------------------------------------- + +Charles Bailey (3): + contrib/subtree: use tabs consitently for indentation in tests + contrib/subtree: fix broken &&-chains and revealed test error + contrib/subtree: small tidy-up to test + +Clemens Buchacher (1): + rebase: return non-zero error code if format-patch fails + +Enrique Tobis (1): + http: always use any proxy auth method available + +Eric Sunshine (23): + Documentation/git-checkout: fix incorrect worktree prune command + Documentation/git-worktree: associate options with commands + Documentation: move linked worktree description from checkout to worktree + Documentation/git-worktree: add BUGS section + Documentation/git-worktree: split technical info from general description + Documentation/git-worktree: add high-level 'lock' overview + Documentation/git-worktree: add EXAMPLES section + checkout: fix bug with --to and relative HEAD + checkout: relocate --to's "no branch specified" check + checkout: prepare_linked_checkout: drop now-unused 'new' argument + checkout: make --to unconditionally verbose + checkout: drop 'checkout_opts' dependency from prepare_linked_checkout + worktree: introduce "add" command + worktree: add --force option + worktree: add --detach option + worktree: add -b/-B options + tests: worktree: retrofit "checkout --to" tests for "worktree add" + checkout: retire --to option + checkout: require worktree unconditionally + worktree: extract basename computation to new function + worktree: add: make -b/-B default to HEAD when <branch> is omitted + worktree: add: auto-vivify new branch when <branch> is omitted + checkout: retire --ignore-other-worktrees in favor of --force + +Jeff King (4): + docs: clarify that --encoding can produce invalid sequences + for_each_packed_object: automatically open pack index + rev-list: disable --use-bitmap-index when pruning commits + check_and_freshen_file: fix reversed success-check + +Johannes Schindelin (2): + t3404: demonstrate CHERRY_PICK_HEAD bug + rebase -i: do not leave a CHERRY_PICK_HEAD file behind + +Junio C Hamano (6): + fsck: it is OK for a tag and a commit to lack the body + pager: do not leak "GIT_PAGER_IN_USE" to the pager + index-pack: fix allocation of sorted_by_pos array + The last minute bits of fixes + Revert "checkout: retire --ignore-other-worktrees in favor of --force" + Git 2.5.0-rc2 + +Karsten Blees (2): + config.c: fix writing config files on Windows network shares + Makefile / racy-git.txt: clarify USE_NSEC prerequisites + +Lawrence Siebert (1): + rev-list: add --count to usage guide + +Matthieu Moy (3): + git-multimail: update to release 1.1.1 + Documentation/branch: document -d --force and -m --force + Documentation/branch: document -M and -D in terms of --force + +Michael Haggerty (1): + strbuf: strbuf_read_file() should return ssize_t + +Nguyễn Thái Ngọc Duy (3): + checkout: don't check worktrees when not necessary + worktree: new place for "git prune --worktrees" + Add tests for wildcard "path vs ref" disambiguation + +Richard Hansen (2): + Revert "test-lib.sh: do tests for color support after changing HOME" + test-lib.sh: fix color support when tput needs ~/.terminfo + +Sebastian Schuberth (1): + clone: simplify string handling in guess_dir_name() + +Stefan Beller (1): + p5310: Fix broken && chain in performance test + +Torsten Bögershausen (1): + git-checkout.txt: document "git checkout <pathspec>" better + + +Version v2.5.0-rc1; changes since v2.5.0-rc0: +--------------------------------------------- + +Joe Cridge (1): + git-prompt.sh: document GIT_PS1_STATESEPARATOR + +Junio C Hamano (1): + Git 2.5.0-rc1 + +Matthieu Moy (1): + Documentation/describe: improve one-line summary + +Michael J Gruber (1): + mergetool-lib: fix default tool selection + +Mike Edgar (1): + fetch-pack: check for shallow if depth given + + +Version v2.5.0-rc0; changes since v2.4.12: +------------------------------------------ + +Allen Hubbe (1): + send-email: add sendmail email aliases format + +Blair Holloway (1): + git-p4: fix filetype detection on files opened exclusively + +Christian Neukirchen (1): + cvsimport: silence regex warning appearing in Perl 5.22. + +Danny Lin (2): + contrib/subtree: there's no push --squash + contrib/subtree: portability fix for string printing + +David Aguilar (2): + mergetool--lib: set IFS for difftool and mergetool + mergetools: add winmerge as a builtin tool + +David Turner (3): + tree-walk: learn get_tree_entry_follow_symlinks + sha1_name: get_sha1_with_context learns to follow symlinks + cat-file: add --follow-symlinks to --batch + +Dennis Kaarsemaker (1): + checkout: don't require a work tree when checking out into a new one + +Eric Sunshine (14): + command-list: prepare machinery for upcoming "common groups" section + generate-cmdlist: parse common group commands + send-email: further document missing sendmail aliases functionality + send-email: visually distinguish sendmail aliases parser warnings + send-email: drop noise comments which merely repeat what code says + send-email: fix style: cuddle 'elsif' and 'else' with closing brace + send-email: refactor sendmail aliases parser + send-email: simplify sendmail aliases comment and blank line recognizer + send-email: implement sendmail aliases line continuation support + t9001: refactor sendmail aliases test infrastructure + t9001: add sendmail aliases line continuation tests + send-email: further warn about unsupported sendmail aliases features + config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases + configure: add getdelim() check + +Fredrik Medley (3): + config.txt: clarify allowTipSHA1InWant with camelCase + upload-pack: prepare to extend allow-tip-sha1-in-want + upload-pack: optionally allow fetching reachable sha1 + +Jeff King (29): + strbuf_getwholeline: use getc macro + git-compat-util: add fallbacks for unlocked stdio + strbuf_getwholeline: use getc_unlocked + config: use getc_unlocked when reading from file + strbuf_addch: avoid calling strbuf_grow + strbuf_getwholeline: avoid calling strbuf_grow + strbuf_getwholeline: use getdelim if it is available + read_packed_refs: avoid double-checking sane refs + t1430: add another refs-escape test + test-lib: turn on GIT_TEST_CHAIN_LINT by default + remote.c: drop default_remote_name variable + progress: treat "no terminal" as being in the foreground + remote.c: refactor setup of branch->merge list + remote.c: drop "remote" pointer from "struct branch" + remote.c: hoist branch.*.remote lookup out of remote_get_1 + remote.c: provide per-branch pushremote name + remote.c: hoist read_config into remote_get_1 + remote.c: introduce branch_get_upstream helper + remote.c: report specific errors from branch_get_upstream + remote.c: untangle error logic in branch_get_upstream + remote.c: return upstream name from stat_tracking_info + remote.c: add branch_get_push + sha1_name: refactor upstream_mark + sha1_name: refactor interpret_upstream_mark + sha1_name: implement @{push} shorthand + for-each-ref: use skip_prefix instead of starts_with + for-each-ref: accept "%(push)" format + t7063: hide stderr from setup inside prereq + index-pack: fix truncation of off_t in comparison + +Johannes Sixt (5): + compat/mingw: stubs for getpgid() and tcgetpgrp() + lockfile: replace random() by rand() + help.c: wrap wait-only poll() invocation in sleep_millisec() + lockfile: convert retry timeout computations to millisecond + lockfile: wait using sleep_millisec() instead of select() + +Jonathan Nieder (1): + config: use error() instead of fprintf(stderr, ...) + +Junio C Hamano (38): + t2026: fix broken &&-chain + test: validate prerequistes syntax + merge: test the top-level merge driver + merge: simplify code flow + t5520: style fixes + t5520: test pulling an octopus into an unborn branch + merge: clarify "pulling into void" special case + merge: do not check argc to determine number of remote heads + merge: small leakfix and code simplification + merge: clarify collect_parents() logic + merge: split reduce_parents() out of collect_parents() + merge: narrow scope of merge_names + merge: extract prepare_merge_message() logic out + merge: make collect_parents() auto-generate the merge message + merge: decide if we auto-generate the message early in collect_parents() + merge: handle FETCH_HEAD internally + merge: deprecate 'git merge <message> HEAD <commit>' syntax + First batch for 2.5 cycle + Second batch for 2.5 cycle + Third batch for 2.5 cycle + copy.c: make copy_fd() report its status silently + filter_buffer_or_fd(): ignore EPIPE + Fourth batch for 2.5 cycle + t4015: modernise style + t4015: separate common setup and per-test expectation + Fifth batch for 2.5 cycle + diff.c: add emit_del_line() and emit_context_line() + diff.c: --ws-error-highlight=<kind> option + t9001: write $HOME/, not ~/, to help shells without tilde expansion + apply: reject a hunk that does not do anything + Sixth batch for 2.5 cycle + ll-merge: pass the original path to external drivers + The first half of the seventh batch for 2.5 + Second half of seventh batch + Eighth batch for 2.5 + Revert "diff-lib.c: adjust position of i-t-a entries in diff" + Ninth batch for 2.5 + Git 2.5.0-rc0 + +Karthik Nayak (4): + sha1_file: support reading from a loose object of unknown type + cat-file: make the options mutually exclusive + cat-file: teach cat-file a '--allow-unknown-type' option + t1006: add tests for git cat-file --allow-unknown-type + +Lars Kellogg-Stedman (1): + http: add support for specifying an SSL cipher list + +Lex Spoon (1): + git-p4: use -m when running p4 changes + +Luke Diamand (11): + git-p4: fix small bug in locked test scripts + git-p4: small fix for locked-file-move-test + git-p4: t9814: prevent --chain-lint failure + git-p4: add failing tests for case-folding p4d + git-p4: add failing test for P4EDITOR handling + git-p4: fix handling of multi-word P4EDITOR + git-p4: tests: use test-chmtime in place of touch + git-p4: additional testing of --changes-block-size + git-p4: test with limited p4 server results + git-p4: add tests for non-numeric revision range + git-p4: fixing --changes-block-size handling + +Luke Mewburn (1): + progress: no progress in background + +Matthieu Moy (6): + t3701-add-interactive: simplify code + add -p: demonstrate failure when running 'edit' after a split + t3904-stash-patch: fix test description + t3904-stash-patch: factor PERL prereq at the top of the file + stash -p: demonstrate failure of split with mixed y/n + git-multimail: update to release 1.1.0 + +Max Kirillov (3): + checkout: do not fail if target is an empty directory + git-common-dir: make "modules/" per-working-directory directory + prune --worktrees: fix expire vs worktree existence condition + +Michael Haggerty (62): + lockfile: allow file locking to be retried with a timeout + lock_packed_refs(): allow retries when acquiring the packed-refs lock + each_ref_fn: change to take an object_id parameter + builtin/rev-parse: rewrite to take an object_id argument + handle_one_ref(): rewrite to take an object_id argument + register_ref(): rewrite to take an object_id argument + append_ref(): rewrite to take an object_id argument + add_pending_uninteresting_ref(): rewrite to take an object_id argument + get_name(): rewrite to take an object_id argument + builtin/fetch: rewrite to take an object_id argument + grab_single_ref(): rewrite to take an object_id argument + name_ref(): rewrite to take an object_id argument + builtin/pack-objects: rewrite to take an object_id argument + show_ref_cb(): rewrite to take an object_id argument + builtin/reflog: rewrite ref functions to take an object_id argument + add_branch_for_removal(): rewrite to take an object_id argument + add_branch_for_removal(): don't set "util" field of string_list entries + builtin/remote: rewrite functions to take object_id arguments + show_reference(): rewrite to take an object_id argument + append_matching_ref(): rewrite to take an object_id argument + builtin/show-branch: rewrite functions to take object_id arguments + append_one_rev(): rewrite to work with object_id + builtin/show-branch: rewrite functions to work with object_id + cmd_show_branch(): fix error message + fsck: change functions to use object_id + builtin/show-ref: rewrite to use object_id + show_ref(): convert local variable peeled to object_id + builtin/show-ref: rewrite to take an object_id argument + append_similar_ref(): rewrite to take an object_id argument + http-backend: rewrite to take an object_id argument + show_head_ref(): convert local variable "unused" to object_id + add_ref_decoration(): rewrite to take an object_id argument + add_ref_decoration(): convert local variable original_sha1 to object_id + string_list_add_one_ref(): rewrite to take an object_id argument + add_one_ref(): rewrite to take an object_id argument + remote: rewrite functions to take object_id arguments + register_replace_ref(): rewrite to take an object_id argument + handle_one_reflog(): rewrite to take an object_id argument + add_info_ref(): rewrite to take an object_id argument + handle_one_ref(): rewrite to take an object_id argument + shallow: rewrite functions to take object_id arguments + submodule: rewrite to take an object_id argument + write_refs_to_temp_dir(): convert local variable sha1 to object_id + write_one_ref(): rewrite to take an object_id argument + find_symref(): rewrite to take an object_id argument + find_symref(): convert local variable "unused" to object_id + upload-pack: rewrite functions to take object_id arguments + send_ref(): convert local variable "peeled" to object_id + mark_complete(): rewrite to take an object_id argument + clear_marks(): rewrite to take an object_id argument + mark_complete_oid(): new function, taking an object_oid + mark_complete(): remove unneeded arguments + rev_list_insert_ref_oid(): new function, taking an object_oid + rev_list_insert_ref(): remove unneeded arguments + each_ref_fn_adapter(): remove adapter + warn_if_dangling_symref(): convert local variable "junk" to object_id + struct ref_lock: convert old_sha1 member to object_id + verify_lock(): return 0/-1 rather than struct ref_lock * + verify_lock(): on errors, let the caller unlock the lock + verify_lock(): report errors via a strbuf + verify_lock(): do not capitalize error messages + ref_transaction_commit(): do not capitalize error messages + +Miguel Torroja (1): + p4: retrieve the right revision of the file in UTF-16 codepath + +Mike Hommey (1): + show-branch: show all local heads when only giving one rev along --topics + +Nguyễn Thái Ngọc Duy (63): + path.c: make get_pathname() return strbuf instead of static buffer + path.c: make get_pathname() call sites return const char * + git_snpath(): retire and replace with strbuf_git_path() + path.c: rename vsnpath() to do_git_path() + path.c: group git_path(), git_pathdup() and strbuf_git_path() together + git_path(): be aware of file relocation in $GIT_DIR + *.sh: respect $GIT_INDEX_FILE + reflog: avoid constructing .lock path with git_path + fast-import: use git_path() for accessing .git dir instead of get_git_dir() + commit: use SEQ_DIR instead of hardcoding "sequencer" + $GIT_COMMON_DIR: a new environment variable + git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects + *.sh: avoid hardcoding $GIT_DIR/hooks/... + git-stash: avoid hardcoding $GIT_DIR/logs/.... + setup.c: convert is_git_directory() to use strbuf + setup.c: detect $GIT_COMMON_DIR in is_git_directory() + setup.c: convert check_repository_format_gently to use strbuf + setup.c: detect $GIT_COMMON_DIR check_repository_format_gently() + setup.c: support multi-checkout repo setup + wrapper.c: wrapper to open a file, fprintf then close + use new wrapper write_file() for simple file writing + checkout: support checking out into a new working directory + prune: strategies for linked checkouts + checkout: reject if the branch is already checked out elsewhere + checkout: clean up half-prepared directories in --to mode + gc: style change -- no SP before closing parenthesis + gc: factor out gc.pruneexpire parsing code + gc: support prune --worktrees + count-objects: report unused files in $GIT_DIR/worktrees/... + git_path(): keep "info/sparse-checkout" per work-tree + t2025: add a test to make sure grafts is working from a linked checkout + checkout: pass whole struct to parse_branchname_arg instead of individual flags + checkout: add --ignore-other-wortrees + git-checkout.txt: a note about multiple checkout support for submodules + index-pack: reduce object_entry size to save memory + dir.c: optionally compute sha-1 of a .gitignore file + untracked cache: record .gitignore information and dir hierarchy + untracked cache: initial untracked cache validation + untracked cache: invalidate dirs recursively if .gitignore changes + untracked cache: make a wrapper around {open,read,close}dir() + untracked cache: record/validate dir mtime and reuse cached output + untracked cache: mark what dirs should be recursed/saved + untracked cache: don't open non-existent .gitignore + ewah: add convenient wrapper ewah_serialize_strbuf() + untracked cache: save to an index extension + untracked cache: load from UNTR index extension + untracked cache: invalidate at index addition or removal + read-cache.c: split racy stat test to a separate function + untracked cache: avoid racy timestamps + untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS + untracked cache: mark index dirty if untracked cache is updated + untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE + status: enable untracked cache + update-index: manually enable or disable untracked cache + update-index: test the system before enabling untracked cache + t7063: tests for untracked cache + mingw32: add uname() + untracked cache: guard and disable on system changes + git-status.txt: advertisement for untracked cache + diff-lib.c: adjust position of i-t-a entries in diff + index-pack: kill union delta_base to save memory + pathspec: avoid the need of "--" when wildcard is used + read-cache: fix untracked cache invalidation when split-index is used + +Paul Tan (10): + t5520: prevent field splitting in content comparisons + t5520: test no merge candidates cases + t5520: test for failure if index has unresolved entries + t5520: test work tree fast-forward when fetch updates head + t5520: test --rebase with multiple branches + t5520: test --rebase failure on unborn branch with index + t5521: test --dry-run does not make any changes + t5520: check reflog action in fast-forward merge + pull: handle git-fetch's options as well + pull: use git-rev-parse --parseopt for option parsing + +Quentin Neill (1): + blame: add blame.showEmail configuration + +Ramsay Jones (1): + t7502-commit.sh: fix a broken and-chain + +Remi Lespinet (3): + git-am.sh: fix initialization of the threeway variable + t4150-am: refactor am -3 tests + git-am: add am.threeWay config variable + +SZEDER Gábor (4): + completion: remove redundant __git_compute_all_commands() call + completion: remove credential helpers from porcelain commands + completion: add a helper function to get config variables + completion: simplify query for config variables + +Stefan Beller (2): + prefix_path(): unconditionally free results in the callers + refs.c: remove lock_fd from struct ref_lock + +Sébastien Guimmara (4): + command-list.txt: fix whitespace inconsistency + command-list.txt: add the common groups block + command-list.txt: drop the "common" tag + help: respect new common command grouping + +Thomas Braun (1): + completion: suggest sequencer commands for revert + +Thomas Gummerer (1): + t1501: fix test with split index + +Thomas Schneider (1): + checkout: call a single commit "it" intead of "them" + +Torsten Bögershausen (4): + t2026 needs procondition SANITY + t0027: cleanup: rename functions; avoid non-leading TABs + t0027: support NATIVE_CRLF platforms + t0027: Add repoMIX and LF_nul + +Vitor Antunes (2): + t9801: check git-p4's branch detection with client spec enabled + git-p4: improve client path detection when branches are used + +brian m. carlson (11): + define a structure for object IDs + define utility functions for object IDs + bisect.c: convert leaf functions to use struct object_id + archive.c: convert to use struct object_id + zip: use GIT_SHA1_HEXSZ for trailers + bulk-checkin.c: convert to use struct object_id + diff: convert struct combine_diff_path to object_id + commit: convert parts to struct object_id + patch-id: convert to use struct object_id + apply: convert threeway_stage to object_id + refs: convert struct ref_entry to use struct object_id + + +Version v2.4.12; changes since v2.4.11: +--------------------------------------- + +Jeff King (1): + shell: disallow repo names beginning with dash + +Junio C Hamano (1): + Git 2.4.12 + + +Version v2.4.11; changes since v2.4.10: +--------------------------------------- + +Jeff King (7): + add helpers for detecting size_t overflow + tree-diff: catch integer overflow in combine_diff_path allocation + http-push: stop using name_path + show_object_with_name: simplify by using path_name() + list-objects: convert name_path to a strbuf + list-objects: drop name_path entirely + list-objects: pass full pathname to callbacks + +Junio C Hamano (1): + Git 2.4.11 + + +Version v2.4.10; changes since v2.4.9: +-------------------------------------- + +Blake Burkhart (2): + http: limit redirection to protocol-whitelist + http: limit redirection depth + +Jeff King (6): + transport: add a protocol-whitelist environment variable + submodule: allow only certain protocols for submodule fetches + transport: refactor protocol whitelist code + react to errors in xdi_diff + xdiff: reject files larger than ~1GB + merge-file: enforce MAX_XDIFF_SIZE on incoming files + +Junio C Hamano (2): + Git 2.3.10 + Git 2.4.10 + + +Version v2.4.9; changes since v2.4.8: +------------------------------------- + +Jeff King (4): + verify_absent: allow filenames longer than PATH_MAX + notes: use a strbuf in add_non_note + read_info_alternates: handle paths larger than PATH_MAX + show-branch: use a strbuf for reflog descriptions + +Junio C Hamano (3): + Git 2.2.3 + Git 2.3.9 + Git 2.4.9 + + +Version v2.4.8; changes since v2.4.7: +------------------------------------- + +Johannes Schindelin (2): + t3404: demonstrate CHERRY_PICK_HEAD bug + rebase -i: do not leave a CHERRY_PICK_HEAD file behind + +Junio C Hamano (1): + Git 2.4.8 + +Michael Haggerty (4): + t6301: new tests of for-each-ref error handling + for-each-ref: report broken references correctly + read_loose_refs(): simplify function logic + read_loose_refs(): treat NULL_SHA1 loose references as broken + +Paul Tan (6): + am --skip: revert changes introduced by failed 3way merge + am -3: support 3way merge on unborn branch + am --skip: support skipping while on unborn branch + am --abort: revert changes introduced by failed 3way merge + am --abort: support aborting to unborn branch + am --abort: keep unrelated commits on unborn branch + +SZEDER Gábor (2): + completion: teach 'scissors' mode to 'git commit --cleanup=' + commit: cope with scissors lines in commit message + +Sebastian Schuberth (1): + clone: simplify string handling in guess_dir_name() + + +Version v2.4.7; changes since v2.4.6: +------------------------------------- + +Clemens Buchacher (1): + rebase: return non-zero error code if format-patch fails + +Enrique Tobis (1): + http: always use any proxy auth method available + +Jeff King (4): + index-pack: avoid excessive re-reading of pack directory + docs: clarify that --encoding can produce invalid sequences + rev-list: disable --use-bitmap-index when pruning commits + check_and_freshen_file: fix reversed success-check + +Junio C Hamano (3): + fsck: it is OK for a tag and a commit to lack the body + pager: do not leak "GIT_PAGER_IN_USE" to the pager + Git 2.4.7 + +Karsten Blees (1): + config.c: fix writing config files on Windows network shares + +Lawrence Siebert (1): + rev-list: add --count to usage guide + +Matthieu Moy (2): + Documentation/branch: document -d --force and -m --force + Documentation/branch: document -M and -D in terms of --force + +Michael Haggerty (1): + strbuf: strbuf_read_file() should return ssize_t + +Richard Hansen (2): + Revert "test-lib.sh: do tests for color support after changing HOME" + test-lib.sh: fix color support when tput needs ~/.terminfo + +Torsten Bögershausen (1): + git-checkout.txt: document "git checkout <pathspec>" better + + +Version v2.4.6; changes since v2.4.5: +------------------------------------- + +Ariel Faigon (1): + git-completion.tcsh: fix redirect with noclobber + +Charles Bailey (1): + Fix definition of ARRAY_SIZE for non-gcc builds + +Eric Sunshine (2): + ewah/bitmap: silence warning about MASK macro redefinition + utf8: NO_ICONV: silence uninitialized variable warning + +Frans Klaver (1): + doc: format-patch: fix typo + +Jeff King (2): + ewah: use less generic macro name + Revert "stash: require a clean index to apply" + +Joe Cridge (1): + git-prompt.sh: document GIT_PS1_STATESEPARATOR + +Junio C Hamano (2): + format-patch: do not feed tags to clear_commit_marks() + Git 2.4.6 + +Matthieu Moy (1): + Documentation/describe: improve one-line summary + +Michael Haggerty (2): + fsck_handle_reflog_sha1(): new function + fsck: report errors if reflog entries point at invalid objects + +Mike Edgar (1): + fetch-pack: check for shallow if depth given + +Panagiotis Astithas (1): + hooks/pre-auto-gc: adjust power checking for newer OS X + +Paul Tan (1): + t0302: "unreadable" test needs SANITY prereq + + +Version v2.4.5; changes since v2.4.4: +------------------------------------- + +Jeff King (13): + diff: accept color.diff.context as a synonym for "plain" + diff.h: rename DIFF_PLAIN color slot to DIFF_CONTEXT + read-cache.c: drop PROT_WRITE from mmap of index + config.c: fix mmap leak when writing config + config.c: avoid xmmap error messages + config.c: rewrite ENODEV into EISDIR when mmap fails + Makefile: drop dependency between git-instaweb and gitweb + Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS + Makefile: silence perl/PM.stamp recipe + setup_git_directory: delay core.bare/core.worktree errors + add quieter versions of parse_{tree,commit} + silence broken link warnings with revs->ignore_missing_links + suppress errors on missing UNINTERESTING links + +Junio C Hamano (3): + t5407: use <<- to align the expected output + xmmap(): drop "Out of memory?" + Git 2.4.5 + +Matthieu Moy (2): + rebase -i: demonstrate incorrect behavior of post-rewrite + rebase -i: fix post-rewrite hook with failed exec command + +Paul Tan (1): + pull: remove --tags error in no merge candidates case + +SZEDER Gábor (1): + Documentation: include 'merge.branchdesc' for merge and config as well + +Stefan Beller (1): + Documentation/technical/pack-protocol: mention http as possible protocol + + +Version v2.4.4; changes since v2.4.3: +------------------------------------- + +Alex Henrie (1): + blame, log: format usage strings similarly to those in documentation + +David Turner (1): + clean: only lstat files in pathspec + +Elia Pinto (1): + git-compat-util.h: implement a different ARRAY_SIZE macro for for safely deriving the size of array + +Jeff King (8): + http-backend: fix die recursion with custom handler + t5551: factor out tag creation + stash: complain about unknown flags + stash: recognize "--help" for subcommands + test_bitmap_walk: free bitmap with bitmap_free + http-backend: spool ref negotiation requests to buffer + clone: use OPT_STRING_LIST for --reference + clone: reorder --dissociate and --reference options + +Jim Hill (1): + sha1_file: pass empty buffer to index empty file + +Junio C Hamano (1): + Git 2.4.4 + +Matthieu Moy (2): + Documentation/log: clarify what --raw means + Documentation/log: clarify sha1 non-abbreviation in log --raw + +Michael Coleman (1): + Documentation/git-commit: grammofix + +Michael J Gruber (3): + l10n: de.po: grammar fix + l10n: de.po: punctuation fixes + l10n: de.po: translation fix for fall-back to 3way merge + +Phillip Sz (1): + l10n: de.po: change error message from "sagen" to "Meinten Sie" + +René Scharfe (3): + use file_exists() to check if a file exists in the worktree + clean: remove unused variable buf + dir: remove unused variable sb + +Stefan Beller (2): + submodule doc: reorder introductory paragraphs + glossary: add "remote", "submodule", "superproject" + + +Version v2.4.3; changes since v2.4.2: +------------------------------------- + +Danny Lin (1): + branch: do not call a "remote-tracking branch" a "remote branch" + +Fredrik Gustafsson (1): + Documentation: clarify how "git commit" cleans up the edited log message + +Jean-Noël Avila (1): + doc: fix unmatched code fences + +Jeff King (14): + sha1_file: squelch "packfile cannot be accessed" warnings + t/lib-httpd.sh: skip tests if NO_CURL is defined + add: check return value of launch_editor + doc: fix unmatched code fences in git-stripspace + doc: fix misrendering due to `single quote' + doc: fix unquoted use of "{type}" + doc: fix hanging "+"-continuation + doc: fix length of underlined section-title + doc/add: reformat `--edit` option + doc: convert \--option to --option + doc: drop backslash quoting of some curly braces + doc: put example URLs and emails inside literal backticks + doc: convert AsciiDoc {?foo} to ifdef::foo[] + rerere: exit silently on "forget" when rerere is disabled + +Junio C Hamano (7): + t0302: "unreadable" test needs POSIXPERM + fmt-merge-msg: plug small leak of commit buffer + ignore: info/exclude should trump core.excludesfile + tests: skip dav http-push tests under NO_EXPAT=NoThanks + log: decorate HEAD with branch name under --decorate=full, too + log: do not shorten decoration names too early + Git 2.4.3 + +Michael Haggerty (30): + t1404: new tests of ref D/F conflicts within transactions + is_refname_available(): revamp the comments + is_refname_available(): avoid shadowing "dir" variable + is_refname_available(): convert local variable "dirname" to strbuf + entry_matches(): inline function + report_refname_conflict(): inline function + struct nonmatching_ref_data: store a refname instead of a ref_entry + is_refname_available(): use dirname in first loop + ref_transaction_commit(): use a string_list for detecting duplicates + refs: check for D/F conflicts among refs created in a transaction + verify_refname_available(): rename function + verify_refname_available(): report errors via a "struct strbuf *err" + lock_ref_sha1_basic(): report errors via a "struct strbuf *err" + lock_ref_sha1_basic(): improve diagnostics for ref D/F conflicts + rename_ref(): integrate lock_ref_sha1_basic() errors into ours + ref_transaction_commit(): provide better error messages + ref_transaction_commit(): delete extra "the" from error message + reflog_expire(): integrate lock_ref_sha1_basic() errors into ours + write_ref_to_lockfile(): new function, extracted from write_ref_sha1() + commit_ref_update(): new function, extracted from write_ref_sha1() + rename_ref(): inline calls to write_ref_sha1() from this function + ref_transaction_commit(): inline call to write_ref_sha1() + ref_transaction_commit(): remove the local flags variable + ref_transaction_commit(): fix atomicity and avoid fd exhaustion + write_ref_to_lockfile(): new function, extracted from write_ref_sha1() + commit_ref_update(): new function, extracted from write_ref_sha1() + rename_ref(): inline calls to write_ref_sha1() from this function + ref_transaction_commit(): inline call to write_ref_sha1() + ref_transaction_commit(): remove the local flags variable + ref_transaction_commit(): fix atomicity and avoid fd exhaustion + +Mike Hommey (1): + clone: call transport_set_verbosity before anything else on the newly created transport + +Patrick Steinhardt (5): + bundle: verify arguments more strictly + git-verify-pack.txt: fix inconsistent spelling of "packfile" + git-unpack-objects.txt: fix inconsistent spelling of "packfile" + pack-protocol.txt: fix insconsistent spelling of "packfile" + doc: fix inconsistent spelling of "packfile" + +Paul Tan (13): + git-credential-store: support multiple credential files + git-credential-store: support XDG_CONFIG_HOME + t0302: test credential-store support for XDG_CONFIG_HOME + path.c: implement xdg_config_home() + attr.c: replace home_config_paths() with xdg_config_home() + dir.c: replace home_config_paths() with xdg_config_home() + credential-store.c: replace home_config_paths() with xdg_config_home() + git-commit: replace use of home_config_paths() + git-config: replace use of home_config_paths() + path.c: remove home_config_paths() + pull: handle --log=<n> + pull: make pull.ff=true override merge.ff + pull: parse pull.ff as a bool or string + +Phil Hord (1): + rebase -i: redo tasks that die during cherry-pick + +René Scharfe (1): + pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps + +Stefan Beller (5): + update-ref: test handling large transactions properly + t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE + update-ref: test handling large transactions properly + t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE + subdirectory tests: code cleanup, uncomment test + +Torsten Bögershausen (1): + blame: CRLF in the working tree and LF in the repo + +brian m. carlson (3): + connect: simplify SSH connection code path + t5601: fix quotation error leading to skipped tests + connect: improve check for plink to reduce false positives + + +Version v2.4.2; changes since v2.4.1: +------------------------------------- + +Eric Sunshine (3): + git-hash-object.txt: document --literally option + hash-object --literally: fix buffer overrun with extra-long object type + t1007: add hash-object --literally tests + +Jeff King (7): + limit_list: avoid quadratic behavior from still_interesting + t3903: stop hard-coding commit sha1s + t3903: avoid applying onto dirty index + stash: require a clean index to apply + stop putting argv[0] dirname at front of PATH + rebase: silence "git checkout" for noop rebase + filter-branch: avoid passing commit message through sed + +Junio C Hamano (3): + write_sha1_file(): do not use a separate sha1[] array + daemon: unbreak NO_IPV6 build regression + Git 2.4.2 + +SZEDER Gábor (1): + completion: fix and update 'git log --decorate=' options + + +Version v2.4.1; changes since v2.4.0: +------------------------------------- + +Carlos Martín Nieto (1): + dir: allow a BOM at the beginning of exclude files + +Elia Pinto (1): + test-lib-functions.sh: fix the second argument to some helper functions + +Jeff King (5): + init: don't set core.worktree when initializing /.git + type_from_string_gently: make sure length matches + reachable: only mark local objects as recent + sha1_file: freshen pack objects before loose + sha1_file: only freshen packs once per run + +Junio C Hamano (10): + diff-no-index: DWIM "diff D F" into "diff D/F F" + diff-no-index: align D/F handling with that of normal Git + parse_date_basic(): return early when given a bogus timestamp + parse_date_basic(): let the system handle DST conversion + add_excludes_from_file: clarify the bom skipping logic + utf8-bom: introduce skip_utf8_bom() helper + config: use utf8_bom[] from utf.[ch] in git_parse_source() + attr: skip UTF8 BOM at the beginning of the input file + Git 2.3.8 + Git 2.4.1 + +Matthieu Moy (2): + Documentation: change -L:<regex> to -L:<funcname> + log -L: improve error message on malformed argument + +Nguyễn Thái Ngọc Duy (1): + t1509: update prepare script to be able to run t1509 in chroot again + +Ossi Herrala (1): + config: fix settings in default_user_config template + +Stefan Beller (2): + line-log.c: fix a memleak + pack-bitmap.c: fix a memleak + + +Version v2.4.0; changes since v2.4.0-rc3: +----------------------------------------- + +Junio C Hamano (2): + Git 2.3.7 + Git 2.4 + +Michael Haggerty (6): + git tag: mention versionsort.prereleaseSuffix in manpage + RelNotes: correct name of versionsort.prereleaseSuffix + RelNotes: refer to the rebase -i "todo list", not "insn sheet" + RelNotes: wordsmithing + status: document the -v/--verbose option + Update git-multimail to version 1.0.2 + +Michael J Gruber (1): + rev-list-options.txt: complete sentence about notes matching + + +Version v2.4.0-rc3; changes since v2.4.0-rc2: +--------------------------------------------- + +Alexander Shopov (2): + git-gui i18n: Updated Bulgarian translation (520t,0f,0u) + git-gui i18n: Updated Bulgarian translation (547t,0f,0u) + +Csaba Kiraly (1): + git-gui: fix problem with gui.maxfilesdisplayed + +David Turner (1): + git-gui: Make git-gui lib dir configurable at runime + +Henri GEIST (1): + git-gui: Add a 'recursive' checkbox in the clone menu. + +Junio C Hamano (6): + push --signed: tighten what the receiving end can ask to sign + Revert "merge: pass verbosity flag down to merge-recursive" + Hopefully the last batch for 2.4 + RelNotes: "merge --quiet" change has been reverted + Git 2.3.6 + Git 2.4.0-rc3 + +Kyle J. McKay (1): + git-gui: reinstate support for Tcl 8.4 + +Michael Lutz (1): + git-gui: add configurable tab size to the diff view + +Márcio Almada (1): + completion: fix global bash variable leak on __gitcompappend + +Pat Thoyts (3): + git-gui: align the new recursive checkbox with the radiobuttons. + git-gui: fix verbose loading when git path contains spaces. + git-gui: set version 0.20 + +Patrick Steinhardt (1): + grep: correctly initialize help-all option + +Peter Krefting (1): + git-gui: sv.po: Update Swedish translation (547t0f0u) + +Remi Rampin (2): + git-gui: Fixes chooser not accepting gitfiles + git-gui: Makes chooser set 'gitdir' to the resolved path + +Sebastian Schuberth (1): + git-gui/gitk: Do not depend on Cygwin's "kill" command on Windows + +Torsten Bögershausen (1): + connect.c: ignore extra colon after hostname + +Trần Ngọc Quân (1): + L10n: vi.po (543t): Init translation for Vietnamese + +Vitor Antunes (3): + t9814: fix broken shell syntax in git-p4 rename test + git-p4: fix copy detection test + t9814: guarantee only one source exists in git-p4 copy tests + + +Version v2.4.0-rc2; changes since v2.4.0-rc1: +--------------------------------------------- + +Alex Henrie (2): + l10n: ca.po: update translation + l10n: ca.po: update translation + +Alexander Shopov (1): + l10n: Updated Bulgarian translation of git (2305t,0f,0u) + +Dimitriy Ryazantcev (3): + l10n: ru: added Russian translation + l10n: ru: updated Russian translation + l10n: ru: updated Russian translation + +Ivan Ukhov (1): + parse-options.h: OPTION_{BIT,SET_INT} do not store pointer to defval + +Jean-Noël Avila (2): + l10n: fr.po v2.4.0-rc0 round 1 + l10n: fr.po v2.4.0 round 2 + +Jeff King (3): + cherry-pick: fix docs describing handling of empty commits + howto: document more tools for recovery corruption + merge: pass verbosity flag down to merge-recursive + +Jiang Xin (5): + l10n: git.pot: v2.4.0 round 1 (99 new, 92 removed) + l10n: zh_CN: translations for git v2.4.0-rc0 + l10n: git.pot: v2.4.0 round 2 (1 update) + l10n: zh_CN: for git v2.4.0 l10n round 2 + l10n: TEAMS: Change repository URL of zh_CN + +John Keeping (1): + streaming.c: fix a memleak + +Jonathan Nieder (1): + fast-import doc: remove suggested 16-parent limit + +Julian Gindi (1): + CodingGuidelines: update 'rough' rule count + +Junio C Hamano (2): + push-to-deploy: allow pushing into an unborn branch and updating it + Git 2.4.0-rc2 + +Jérôme Zago (1): + gitweb.conf.txt: say "build-time", not "built-time" + +Kyle J. McKay (1): + diff-highlight: do not split multibyte characters + +Matthias Rüster (1): + l10n: de.po: translate 'symbolic link' as 'symbolische Verknüpfung' + +Michael J Gruber (1): + l10n: de.po: fix negation for commit -a with paths + +Paul Tan (1): + enter_repo(): fix docs to match code + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (2305t0f0u) + l10n: sv.po: Update Swedish translation (2305t0f0u) + +Phillip Sz (1): + l10n: de.po: add space before ellipsis + +Ralf Thielow (3): + l10n: de.po: fix messages with abbreviated hashs + l10n: de.po: translate 99 new messages + l10n: de.po: translate one message + +Stefan Beller (1): + wt-status.c: fix a memleak + +Trần Ngọc Quân (2): + l10n: vi.po: Updated Vietnamese translation + l10n: vi.po(2305t): Updated 1 new string + + +Version v2.4.0-rc1; changes since v2.4.0-rc0: +--------------------------------------------- + +Junio C Hamano (6): + add_to_index(): free unused cache-entry + Update mailmap to spell out "Alexander Kuleshov" + Prepare for 2.3.5 + RelNotes: minor doc updates + Git 2.3.5 + Git 2.4.0-rc1 + +Phil Hord (1): + git-push.txt: clean up force-with-lease wording + +Ralf Thielow (1): + send-pack: unify error messages for unsupported capabilities + +Sebastian Schuberth (2): + docs: clarify "preserve" option wording for git-pull + docs: clarify what git-rebase's "-p" / "--preserve-merges" does + +Stefan Beller (9): + read-cache: free cache entry in add_to_index in case of early return + update-index: fix a memleak + builtin/apply.c: fix a memleak + merge-blobs.c: fix a memleak + merge-recursive: fix memleaks + http-push: remove unneeded cleanup + commit.c: fix a memory leak + read-cache: fix memleak + http: release the memory of a http pack request as well + +Thomas Ackermann (2): + api-error-handling doc: typofix + 2.3.2 release notes: typofix + + +Version v2.4.0-rc0; changes since v2.3.10: +------------------------------------------ + +Alex Henrie (3): + standardize usage info string format + gitk: Remove tcl-format flag from a message that shouldn't have it + gitk: l10n: Add Catalan translation + +Alexander Kuleshov (3): + pack-bitmap: fix typo + t/lib-terminal.sh: fix typo + gitk: Fix typo in Russian translation + +Chris Packham (1): + gitk: Default wrcomcmd to use --pretty=email + +Christoph Junghans (2): + log: teach --invert-grep option + gitk: Pass --invert-grep option down to "git log" + +Dave Olszewski (1): + push: allow --follow-tags to be set by config push.followTags + +Dongcan Jiang (1): + revision: forbid combining --graph and --no-walk + +Eric Wong (1): + git-svn: lazy load some modules + +Gabriele Mazzotta (1): + gitk: Enable mouse horizontal scrolling in diff pane + +Jean-Noël Avila (1): + Add hint interactive cleaning + +Jeff King (50): + strbuf.h: integrate api-strbuf.txt documentation + strbuf.h: drop asciidoc list formatting from API docs + strbuf.h: format asciidoc code blocks as 4-space indent + strbuf.h: reorganize api function grouping headers + strbuf.h: drop boilerplate descriptions of strbuf_split_* + strbuf.h: group documentation for trim functions + git_push_config: drop cargo-culted wt_status pointer + cmd_push: set "atomic" bit directly + cmd_push: pass "flags" pointer to config callback + gettext.c: move get_preferred_languages() from http.c + t/test-lib: introduce --chain-lint option + t: fix severe &&-chain breakage + t: fix moderate &&-chain breakage + t: fix trivial &&-chain breakage + t: assume test_cmp produces verbose output + t: use verbose instead of hand-rolled errors + t: use test_must_fail instead of hand-rolled blocks + t: fix &&-chaining issues around setup which might fail + t: use test_might_fail for diff and grep + t: use test_expect_code instead of hand-rolled comparison + t: wrap complicated expect_code users in a block + t: avoid using ":" for comments + t3600: fix &&-chain breakage for setup commands + t7201: fix &&-chain breakage + t9502: fix &&-chain breakage + t6030: use modern test_* helpers + t0020: use modern test_* helpers + t1301: use modern test_* helpers + t6034: use modern test_* helpers + t4117: use modern test_* helpers + t9001: use test_when_finished + t0050: appease --chain-lint + t7004: fix embedded single-quotes + t0005: fix broken &&-chains + t4104: drop hand-rolled error reporting + wt-status: don't flush before running "submodule status" + wt_status: fix signedness mismatch in strbuf_read call + run-command: introduce capture_command helper + wt-status: use capture_command + submodule: use capture_command + trailer: use capture_command + run-command: forbid using run_command with piped output + perf-lib: fix ignored exit code inside loop + t0020: fix ignored exit code inside loops + t3305: fix ignored exit code inside loop + t7701: fix ignored exit code inside loop + t: fix some trivial cases of ignored exit codes in loops + t: simplify loop exit-code status variables + t0020: use test_* helpers instead of hand-rolled messages + t9001: drop save_confirm helper + +Jonathan Nieder (1): + doc: document error handling functions and conventions + +Junio C Hamano (33): + receive-pack: refactor updateInstead codepath + receive-pack: support push-to-checkout hook + http.c: make finish_active_slot() and handle_curl_result() static + prompt.c: remove git_getpass() nobody uses + pack-bitmap.c: make pack_bitmap_filename() static + line-log.c: make line_log_data_init() static + revision.c: make save_parents() and free_saved_parents() static + urlmatch.c: make match_urls() static + remote.c: make clear_cas_option() static + shallow.c: make check_shallow_file_for_update() static + CodingGuidelines: clarify C #include rules + "log --pretty" documentation: do not forget "tformat:" + apply: detect and mark whitespace errors in context lines when fixing + t4122: use test_write_lines from test-lib-functions + run_diff_files(): clarify computation of sha1 validity + Post 2.3 cycle (batch #1) + xread/xwrite: clip MAX_IO_SIZE to SSIZE_MAX + send-email: ask confirmation if given encoding name is very short + Post 2.3 cycle (batch #2) + Post 2.3 cycle (batch #3) + Post 2.3 cycle (batch #4) + Post 2.3 cyle (batch #5) + Post 2.3 cycle (batch #6) + Post 2.3 cycle (batch #7) + t7508: .gitignore 'expect' and 'output' files + Post 2.3 cycle (batch #8) + Post 2.3 cycle (batch #9) + log: decorate HEAD with branch name + Post 2.3 cyce (batch #10) + Post 2.3 cycle (batch #11) + Post 2.3 cycle (batch #12) + Getting ready for -rc0 + Git 2.4.0-rc0 + +Kevin Daudt (1): + rev-list: refuse --first-parent combined with --bisect + +Kyle J. McKay (8): + gettext.h: add parentheses around N_ expansion if supported + git-instaweb: allow running in a working tree subdirectory + git-instaweb: use @SHELL_PATH@ instead of /bin/sh + git-compat-util.h: move SHELL_PATH default into header + help.c: use SHELL_PATH instead of hard-coded "/bin/sh" + configure: support HAVE_BSD_SYSCTL option + thread-utils.c: detect CPU count on older BSD-like systems + t5528: do not fail with FreeBSD shell + +Luke Diamand (2): + git-p4: correct --prepare-p4-only instructions + git-p4: support excluding paths on sync + +Max Kirillov (3): + gitk: Only write changed configuration variables + gitk: Report errors in saving config file + gitk: Synchronize config file writes + +Michael Haggerty (37): + expire_reflog(): it's not an each_ref_fn anymore + expire_reflog(): rename "ref" parameter to "refname" + expire_reflog(): return early if the reference has no reflog + expire_reflog(): use a lock_file for rewriting the reflog file + Extract function should_expire_reflog_ent() + expire_reflog(): extract two policy-related functions + expire_reflog(): add a "flags" argument + expire_reflog(): move dry_run to flags argument + expire_reflog(): move updateref to flags argument + Rename expire_reflog_cb to expire_reflog_policy_cb + struct expire_reflog_cb: a new callback data type + expire_reflog(): pass flags through to expire_reflog_ent() + expire_reflog(): move verbose to flags argument + expire_reflog(): move rewrite to flags argument + Move newlog and last_kept_sha1 to "struct expire_reflog_cb" + expire_reflog(): treat the policy callback data as opaque + reflog_expire(): new function in the reference API + lock_any_ref_for_update(): inline function + refs: move REF_DELETING to refs.c + refs: remove the gap in the REF_* constant values + refs.c: change some "flags" to "unsigned int" + struct ref_update: move "have_old" into "flags" + ref_transaction_update(): remove "have_old" parameter + ref_transaction_delete(): remove "have_old" parameter + commit: add tests of commit races + commit: avoid race when creating orphan commits + ref_transaction_create(): check that new_sha1 is valid + ref_transaction_delete(): check that old_sha1 is not null_sha1 + ref_transaction_verify(): new function to check a reference's value + update_ref(): improve documentation + refs.h: remove duplication in function docstrings + write_ref_sha1(): remove check for lock == NULL + write_ref_sha1(): move write elision test to callers + lock_ref_sha1_basic(): do not set force_write for missing references + reflog: improve and update documentation + reflog_expire(): ignore --updateref for symbolic references + reflog_expire(): never update a reference to null_sha1 + +Michael J Gruber (7): + t7508: test git status -v + commit/status: show the index-worktree diff with -v -v + sequencer: preserve commit messages + wt-status: refactor detached HEAD analysis + branch: name detached HEAD analogous to status + t9104: fix test for following larger parents + t9158, t9161: fix broken &&-chain in git-svn tests + +Mike Hommey (2): + transport-helper: ask the helper to set progress and verbosity options after asking for its capabilities + transport-helper: ask the helper to set the same options for import as for fetch + +Nguyễn Thái Ngọc Duy (6): + attr.c: rename arg name attr_nr to avoid shadowing the global one + attr: do not attempt to expand when we know it's not a macro + attr: avoid heavy work when we know the specified attr is not defined + versionsort: support reorder prerelease suffixes + config.txt: update versioncmp.prereleaseSuffix + *config.txt: stick to camelCase naming convention + +Paul Mackerras (1): + gitk: Update .po files + +René Scharfe (3): + archive-zip: mark text files in archives + daemon: use strbuf for hostname info + daemon: deglobalize hostname information + +Ronnie Sahlberg (7): + refs.c: make ref_transaction_create a wrapper for ref_transaction_update + refs.c: make ref_transaction_delete a wrapper for ref_transaction_update + refs.c: add a function to append a reflog entry to a fd + refs.c: remove unlock_ref/close_ref/commit_ref from the refs api + receive-pack.c: negotiate atomic push support + send-pack.c: add --atomic command line argument + push.c: add an --atomic argument + +Sebastian Schuberth (1): + check-builtins: strip executable suffix $X when enumerating builtins + +Stefan Beller (15): + refs.c: don't expose the internal struct ref_lock in the header file + refs.c: let fprintf handle the formatting + receive-pack.c: shorten the execute_commands loop over all commands + receive-pack.c: die instead of error in case of possible future bug + receive-pack.c: move iterating over all commands outside execute_commands + receive-pack.c: move transaction handling in a central place + receive-pack.c: add execute_commands_atomic function + send-pack: rename ref_update_to_be_sent to check_to_send_update + t5543-atomic-push.sh: add basic tests for atomic pushes + Document receive.advertiseatomic + strbuf.h: unify documentation comments beginnings + struct ref_lock: delete the force_write member + connect.c: do not leak "conn" after showing diagnosis + bundle.c: fix memory leak + builtin/help.c: fix memory leak + +Tom G. Christensen (1): + http: support curl < 7.10.7 + +Torsten Bögershausen (1): + t6039: fix broken && chain + +Yi EungJun (1): + http: add Accept-Language header if possible + + +Version v2.3.10; changes since v2.3.9: +-------------------------------------- + +Blake Burkhart (2): + http: limit redirection to protocol-whitelist + http: limit redirection depth + +Jeff King (6): + transport: add a protocol-whitelist environment variable + submodule: allow only certain protocols for submodule fetches + transport: refactor protocol whitelist code + react to errors in xdi_diff + xdiff: reject files larger than ~1GB + merge-file: enforce MAX_XDIFF_SIZE on incoming files + +Junio C Hamano (1): + Git 2.3.10 + + +Version v2.3.9; changes since v2.3.8: +------------------------------------- + +Jeff King (4): + verify_absent: allow filenames longer than PATH_MAX + notes: use a strbuf in add_non_note + read_info_alternates: handle paths larger than PATH_MAX + show-branch: use a strbuf for reflog descriptions + +Junio C Hamano (2): + Git 2.2.3 + Git 2.3.9 + + +Version v2.3.8; changes since v2.3.7: +------------------------------------- + +Junio C Hamano (5): + diff-no-index: DWIM "diff D F" into "diff D/F F" + diff-no-index: align D/F handling with that of normal Git + parse_date_basic(): return early when given a bogus timestamp + parse_date_basic(): let the system handle DST conversion + Git 2.3.8 + +Matthieu Moy (2): + Documentation: change -L:<regex> to -L:<funcname> + log -L: improve error message on malformed argument + +Ossi Herrala (1): + config: fix settings in default_user_config template + + +Version v2.3.7; changes since v2.3.6: +------------------------------------- + +Junio C Hamano (2): + push --signed: tighten what the receiving end can ask to sign + Git 2.3.7 + +Márcio Almada (1): + completion: fix global bash variable leak on __gitcompappend + +Torsten Bögershausen (1): + connect.c: ignore extra colon after hostname + + +Version v2.3.6; changes since v2.3.5: +------------------------------------- + +Ivan Ukhov (1): + parse-options.h: OPTION_{BIT,SET_INT} do not store pointer to defval + +Jeff King (7): + t: translate SIGINT to an exit + t: redirect stderr GIT_TRACE to descriptor 4 + t: pass GIT_TRACE through Apache + t5541: move run_with_cmdline_limit to test-lib.sh + t5551: make EXPENSIVE test cheaper + cherry-pick: fix docs describing handling of empty commits + howto: document more tools for recovery corruption + +Jonathan Nieder (1): + fast-import doc: remove suggested 16-parent limit + +Julian Gindi (1): + CodingGuidelines: update 'rough' rule count + +Junio C Hamano (1): + Git 2.3.6 + +Jérôme Zago (1): + gitweb.conf.txt: say "build-time", not "built-time" + +Kyle J. McKay (1): + diff-highlight: do not split multibyte characters + +Paul Tan (1): + enter_repo(): fix docs to match code + + +Version v2.3.5; changes since v2.3.4: +------------------------------------- + +Cody A Taylor (1): + git prompt: use toplevel to find untracked files + +Jeff King (15): + tag: fix some mis-organized options in "-h" listing + upload-pack: fix transfer.hiderefs over smart-http + upload-pack: do not check NULL return of lookup_unknown_object + sha1fd_check: die when we cannot open the file + clone: initialize atexit cleanup handler earlier + clone: drop period from end of die_errno message + filter_ref: avoid overwriting ref->old_sha1 with garbage + filter_ref: make a copy of extra "sought" entries + fetch_refs_via_pack: free extra copy of refs + fetch-pack: remove dead assignment to ref->new_sha1 + t5312: test object deletion code paths in a corrupted repository + refs: introduce a "ref paranoia" flag + prune: turn on ref_paranoia flag + repack: turn on "ref paranoia" when doing a destructive repack + refs.c: drop curate_packed_refs + +John Szakmeister (1): + contrib/completion: escape the forward slash in __git_match_ctag + +Junio C Hamano (5): + SubmittingPatches: encourage users to use format-patch and send-email + report_path_error(): move to dir.c + Update mailmap to spell out "Alexander Kuleshov" + Prepare for 2.3.5 + Git 2.3.5 + +Nguyễn Thái Ngọc Duy (1): + git.txt: list index versions in plain English + +Phil Hord (1): + git-push.txt: clean up force-with-lease wording + +SZEDER Gábor (1): + completion: use __gitcomp_nl() for completing refs + +Sebastian Schuberth (2): + docs: clarify "preserve" option wording for git-pull + docs: clarify what git-rebase's "-p" / "--preserve-merges" does + +Thomas Ackermann (1): + 2.3.2 release notes: typofix + +Thomas Gummerer (2): + t1700: make test pass with index-v4 + read-cache: fix reading of split index + +Wilhelm Schuermann (1): + grep: fix "--quiet" overwriting current output + + +Version v2.3.4; changes since v2.3.3: +------------------------------------- + +Alexander Kuleshov (1): + git: make was_alias and done_help non-static + +Eric Sunshine (2): + rebase-interactive: suppress whitespace preceding item count + rebase-interactive: re-word "item count" comment + +Junio C Hamano (8): + Documentation/config.txt: avoid unnecessary negation + Documentation/config.txt: explain multi-valued variables once + Documentation/config.txt: describe the structure first and then meaning + Documentation/config.txt: have a separate "Values" section + Documentation/config.txt: describe 'color' value type in the "Values" section + Documentation/config.txt: simplify boolean description in the syntax section + log --decorate: do not leak "commit" color into the next item + Git 2.3.4 + +Karthik Nayak (1): + git: treat "git -C '<path>'" as a no-op when <path> is empty + +Kyle J. McKay (2): + imap-send: use cURL automatically when NO_OPENSSL defined + t7510: do not fail when gpg warns about insecure memory + +Michael J Gruber (1): + config,completion: add color.status.unmerged + +René Scharfe (2): + zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw} + use isxdigit() for checking if a character is a hexadecimal digit + +SZEDER Gábor (2): + completion: add a test for __git_remotes() helper function + completion: simplify __git_remotes() + +Torsten Bögershausen (3): + connect.c: allow ssh://user@[2001:db8::1]/repo.git + t5601: add more test cases for IPV6 + t5500: show user name and host in diag-url + + +Version v2.3.3; changes since v2.3.2: +------------------------------------- + +Anders Kaseorg (1): + t5516: correct misspelled pushInsteadOf + +Ben Walton (1): + kwset: use unsigned char to store values with high-bit set + +Jeff King (5): + git_connect: let user override virtual-host we send to daemon + t5570: test git-daemon's --interpolated-path option + daemon: sanitize incoming virtual hostname + diffcore-rename: split locate_rename_dst into two functions + diffcore-rename: avoid processing duplicate destinations + +Johannes Sixt (1): + test_ln_s_add: refresh stat info of fake symbolic links + +Junio C Hamano (11): + apply: reject input that touches outside the working area + apply: do not read from the filesystem under --index + apply: do not read from beyond a symbolic link + apply: do not touch a file beyond a symbolic link + t4008: correct stale comments + t9300: correct expected object names + t4010: correct expected object names + tests: do not borrow from COPYING and README from the real source + t/diff-lib: check exact object names in compare_diff_raw + t4008: modernise style + Git 2.3.3 + +Michael J Gruber (1): + git-remote.txt: describe behavior without --tags and --no-tags + +Michal Sojka (1): + submodule: improve documentation of update subcommand + +Mikko Rapeli (1): + Documentation/git-clean.txt: document that -f may need to be given twice + +Mårten Kongstad (1): + diff --shortstat --dirstat: remove duplicate output + +Nguyễn Thái Ngọc Duy (1): + grep: correct help string for --exclude-standard + +René Scharfe (2): + daemon: look up client-supplied hostname lazily + daemon: use callback to build interpolated path + + +Version v2.3.2; changes since v2.3.1: +------------------------------------- + +Aleksander Boruch-Gruszecki (1): + merge-file: correctly open files when in a subdir + +Aleksey Vasenev (1): + wincred: fix get credential if username has "@" + +Alexander Kuleshov (1): + Git.pm: two minor typo fixes + +Eric Sunshine (1): + builtin/blame: destroy initialized commit_info only + +Jeff King (8): + t/lib-httpd: switch SANITY check for NOT_ROOT + t/lib-gpg: include separate public keys in keyring.gpg + t/lib-gpg: sanity-check that we can actually sign + config: do not ungetc EOF + decimal_width: avoid integer overflow + config_buf_ungetc: warn when pushing back a random character + for_each_loose_file_in_objdir: take an optional strbuf path + fast-import: avoid running end_packfile recursively + +Jonathon Mah (1): + sha1_file: fix iterating loose alternate objects + +Junio C Hamano (7): + tests: correct misuses of POSIXPERM + config.txt: clarify that add.ignore-errors is deprecated + config.txt: mark deprecated variables more prominently + Documentation/git-remote.txt: stress that set-url is not for triangular + CodingGuidelines: describe naming rules for configuration variables + Prepare for 2.3.2 + Git 2.3.2 + +Kirill A. Shutemov (1): + rebase -i: use full object name internally throughout the script + +Kyle J. McKay (3): + git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED + git-send-email.perl: support no- prefix with older GetOptions + Git::SVN::*: avoid premature FileHandle closure + +Matthieu Moy (2): + Documentation/config.txt: document mailinfo.scissors + Documentation/git-am.txt: mention mailinfo.scissors config variable + +Mike Hommey (2): + transport-helper: do not request symbolic refs to remote helpers + transport-helper: fix typo in error message when --signed is not supported + +Patrick Steinhardt (1): + git-submodule.sh: fix '/././' path normalization + +Ramsay Jones (1): + git-compat-util.h: remove redundant code + +René Scharfe (4): + connect: use strcmp() for string comparison + for-each-ref: use skip_prefix() to avoid duplicate string comparison + pretty: use starts_with() to check for a prefix + sha1_name: use strlcpy() to copy strings + +Ryuichi Kokubo (1): + git-svn: fix localtime=true on non-glibc environments + +Stefan Beller (2): + hex.c: reduce memory footprint of sha1_to_hex static buffers + read-cache.c: free cache entry when refreshing fails + +Tom G. Christensen (2): + Makefile: handle broken curl version number in version check + ewah: fix building with gcc < 3.4.0 + +Torsten Bögershausen (1): + test-lib.sh: set prerequisite SANITY by testing what we really need + +Дилян Палаузов (1): + do not include the same header twice + + +Version v2.3.1; changes since v2.3.0: +------------------------------------- + +Alexander Kuleshov (1): + add -i: return from list_and_choose if there is no candidate + +Doug Kelly (2): + t4255: test am submodule with diff.submodule + format-patch: ignore diff.submodule setting + +Jeff King (7): + git-compat-util: add xstrdup_or_null helper + builtin/apply.c: use xstrdup_or_null instead of null_strdup + builtin/commit.c: use xstrdup_or_null instead of envdup + use xstrdup_or_null to replace ternary conditionals + dumb-http: do not pass NULL path to parse_pack_index + read_and_strip_branch: fix typo'd address-of operator + do not check truth value of flex arrays + +Jonathan Nieder (1): + rerere: error out on autoupdate failure + +Junio C Hamano (6): + apply.c: typofix + apply: make update_pre_post_images() sanity check the given postlen + apply: count the size of postimage correctly + Documentation: what does "git log --indexed-objects" even mean? + diff-format doc: a score can follow M for rewrite + Git 2.3.1 + +Lukas Fleischer (1): + blame.c: fix garbled error message + +Michael J Gruber (2): + commit: reword --author error message + git-push.txt: document the behavior of --repo + +brian m. carlson (1): + remote-curl: fall back to Basic auth if Negotiate fails + + +Version v2.3.0; changes since v2.3.0-rc2: +----------------------------------------- + +Alex Henrie (1): + l10n: ca.po: Fix trailing whitespace + +Junio C Hamano (1): + Git 2.3 + + +Version v2.3.0-rc2; changes since v2.3.0-rc1: +--------------------------------------------- + +Alex Henrie (1): + l10n: ca.po: update translation + +Alexander Kuleshov (1): + cat-file: use "type" and "size" from outer scope + +Benedikt Heine (1): + l10n: de.po: fix typo + +Jean-Noël Avila (2): + l10n: fr.po v2.3.0 round 1 + l10n: fr.po v2.3.0 round 2 + +Jiang Xin (5): + l10n: git.pot: v2.3.0 round 1 (13 new, 11 removed) + l10n: zh_CN: translations for git v2.3.0-rc0 + l10n: git.pot: v2.3.0 round 2 (3 updated) + l10n: zh_CN: various fixes on command arguments + l10n: correct indentation of show-branch usage + +Joan Perals (1): + l10n: ca.po: various fixes + +Johannes Sixt (1): + t1050-large: generate large files without dd + +Junio C Hamano (1): + Git 2.3.0-rc2 + +Kacper Kornet (1): + Fix unclosed here document in t3301.sh + +Michael J Gruber (2): + l10n: de.po: translate "leave behind" correctly + l10n: de.po: correct singular form + +Peter Krefting (2): + l10n: sv.po: Update Swedish translation (2298t0f0u) + l10n: sv.po: Update Swedish translation (2298t0f0u) + +Ralf Thielow (4): + l10n: de.po: translate "track" as "versionieren" + l10n: de.po: fix typo + l10n: de.po: translate 13 new messages + l10n: de.po: translate 3 messages + +Sven van Haastregt (1): + Documentation: fix version numbering + +Trần Ngọc Quân (2): + l10n: vi.po(2298t): Updated and change Plural-Forms + l10n: vi.po(2298t): Updated 3 new strings + + +Version v2.3.0-rc1; changes since v2.3.0-rc0: +--------------------------------------------- + +Adam Williamson (1): + correct smtp-ssl-cert-path description + +Alexander Kuleshov (4): + show-branch: line-wrap show-branch usage + git.c: remove unnecessary #includes + cat-file: remove unused includes + Documentation: list long options for -v and -n + +Jeff King (4): + t1301: set umask in reflog sharedrepository=group test + update-server-info: create info/* with mode 0666 + http-push: trim trailing newline from remote symref + parse_color: fix return value for numeric color values 0-8 + +Jess Austin (1): + git-prompt.sh: allow to hide prompt for ignored pwd + +Johannes Schindelin (2): + git remote: allow adding remotes agreeing with url.<...>.insteadOf + Add a regression test for 'git remote add <existing> <same-url>' + +Junio C Hamano (2): + Fifth batch for 2.3 cycle + Git 2.3.0-rc1 + +Kyle J. McKay (3): + log.c: fix translation markings + imap-send.c: support GIT_CURL_VERBOSE + imap-send.c: set CURLOPT_USE_SSL to CURLUSESSL_TRY + +Matthieu Moy (1): + git-completion: add --autostash for 'git rebase' + +Philip Oakley (2): + doc: core.ignoreStat clarify the --assume-unchanged effect + doc: core.ignoreStat update, and clarify the --assume-unchanged effect + +Ralf Thielow (1): + show-branch: fix indentation of usage string + +Ramkumar Ramachandra (2): + Git::SVN: handle missing ref_id case correctly + git-svn: make it play nicely with submodules + +Raphael Kubo da Costa (1): + for-each-ref: always check stat_tracking_info()'s return value + +Reuben Hawkins (3): + configure.ac: check 'tv_nsec' field in 'struct stat' + configure.ac: check for clock_gettime and CLOCK_MONOTONIC + configure.ac: check for HMAC_CTX_cleanup + +Richard Hansen (3): + git-prompt.sh: if pc mode, immediately set PS1 to a plain prompt + test-lib: use 'test ...' instead of '[ ... ]' + test-lib.sh: do tests for color support after changing HOME + +Steffen Prohaska (1): + subtree: fix AsciiDoc list item continuation + +Tony Finch (1): + git-prompt: preserve value of $? in all cases + + +Version v2.3.0-rc0; changes since v2.2.3: +----------------------------------------- + +Alfred Perlstein (1): + git-svn: support for git-svn propset + +Beat Bolli (5): + update_unicode.sh: simplify output capture + update_unicode.sh: set UNICODE_DIR only once + update_unicode.sh: shorten uniset invocation path + update_unicode.sh: make the output structure visible + update_unicode.sh: delete the command group + +Ben Walton (1): + t0090: tweak awk statement for Solaris /usr/xpg4/bin/awk + +Bernhard Reiter (2): + imap-send: use parse options API to determine verbosity + git-imap-send: use libcurl for implementation + +Christian Couder (5): + commit: make ignore_non_trailer() non static + trailer: reuse ignore_non_trailer() to ignore conflict lines + trailer: add test with an old style conflict block + bisect: parse revs before passing them to check_expected_revs() + bisect: add test to check that revs are properly parsed + +Christian Hesse (4): + tests: create gpg homedir on the fly + tests: skip RFC1991 tests for gnupg 2.1 + tests: replace binary GPG keyrings with ASCII-armored keys + tests: make comment on GPG keyring match the code + +Dan Wyand (1): + git-sh-setup.sh: use dashdash with basename call + +David Aguilar (4): + mergetool--lib: remove use of $status global + difftool--helper: add explicit exit statement + mergetool: simplify conditionals + mergetools: stop setting $status in merge_cmd() + +David Michael (1): + compat: convert modes to use portable file type values + +Eric Sunshine (7): + git-compat-util: suppress unavoidable Apple-specific deprecation warnings + t2004: modernize style + t2004: drop unnecessary write-tree/read-tree + t2004: standardize file naming in symlink test + t2004: demonstrate broken relative path printing + checkout-index: fix --temp relative path mangling + SubmittingPatches: explain rationale for using --notes with format-patch + +Jeff King (13): + parse_color: refactor color storage + parse_color: support 24-bit RGB values + parse_color: recognize "no$foo" to clear the $foo attribute + diff-highlight: allow configurable colors + credential: let helpers tell us to quit + prompt: respect GIT_TERMINAL_PROMPT to disable terminal prompts + fsck: properly bound "invalid tag name" error message + parse_color: drop COLOR_BACKGROUND macro + pkt-line: allow writing of LARGE_PACKET_MAX buffers + t: support clang/gcc AddressSanitizer + commit: loosen ident checks when generating template + commit: always populate GIT_AUTHOR_* variables + add--interactive: leave main loop on read error + +Jim Hill (1): + pre-push.sample: remove unnecessary and misleading IFS=' ' + +Johan Herland (9): + builtin/notes: fix premature failure when trying to add the empty blob + t3301: verify that 'git notes' removes empty notes by default + builtin/notes: improve naming + builtin/notes: refactor note file path into struct note_data + builtin/notes: simplify early exit code in add() + builtin/notes: split create_note() to clarify add vs. remove logic + builtin/notes: add --allow-empty, to allow storing empty notes + notes: empty notes should be shown by 'git log' + t3301: modernize style + +Johannes Schindelin (2): + receive-pack: add another option for receive.denyCurrentBranch + test-hashmap: squelch gcc compiler warning + +Johannes Sixt (1): + t5000 on Windows: do not mistake "sh.exe" as "sh" + +Junio C Hamano (30): + checkout: report upstream correctly even with loosely defined branch.*.merge + clone: --dissociate option to mark that reference is only temporary + diff -B -M: fix output for "copy and then rewrite" case + builtin/merge.c: drop a parameter that is never used + merge & sequencer: unify codepaths that write "Conflicts:" hint + strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines + builtin/commit.c: extract ignore_non_trailer() helper function + merge & sequencer: turn "Conflicts:" hint into a comment + bisect: clean flags after checking merge bases + get_merge_bases(): always clean-up object flags + unpack_trees: plug leakage of o->result + mergetool--lib: remove no-op assignment to $status from setup_user_tool + SubmittingPatches: refer to t/README for tests + t/README: justify why "! grep foo" is sufficient + t9001: style modernisation phase #1 + t9001: style modernisation phase #2 + t9001: style modernisation phase #3 + t9001: style modernisation phase #4 + t9001: style modernisation phase #5 + system_path(): always return free'able memory to the caller + t5516: more tests for receive.denyCurrentBranch=updateInstead + run-command.c: retire unused run_hook_with_custom_index() + t3102: document that ls-tree does not yet support negated pathspec + t3102: style modernization + First batch for 2.3 cycle + tests: squelch noise from GPG machinery set-up + Second batch for 2.3 cycle + Third batch for 2.3 cycle + Fourth batch for 2.3 cycle + Git 2.3.0-rc0 + +Justin Guenther (1): + git-prompt.sh: make $f local to __git_eread() + +Karsten Blees (1): + pack-bitmap: do not use gcc packed attribute + +Luis Henriques (2): + send-email: add --[no-]xmailer option + test/send-email: --[no-]xmailer tests + +Michael Haggerty (10): + cmd_config(): make a copy of path obtained from git_path() + prune_remote(): exit early if there are no stale references + prune_remote(): initialize both delete_refs lists in a single loop + prune_remote(): sort delete_refs_list references en masse + repack_without_refs(): make the refnames argument a string_list + prune_remote(): rename local variable + prune_remote(): iterate using for_each_string_list_item() + sort_string_list(): rename to string_list_sort() + t1400: add some more tests of "update-ref --stdin"'s verify command + update-ref: fix "verify" command with missing <oldvalue> + +Michael J Gruber (4): + t3200-branch: test -M + check-ignore: clarify treatment of tracked files + gitignore.txt: do not suggest assume-unchanged + branch: allow -f with -m and -d + +Nguyễn Thái Ngọc Duy (6): + lockfile.c: store absolute path + tree.c: update read_tree_recursive callback to pass strbuf as base + ls-tree: remove path filtering logic in show_tree + ls-tree: disable negative pathspec because it's not supported + index-pack: terminate object buffers with NUL + index-format.txt: add a missing closing quote + +Onno Kortmann (1): + Show number of TODO items for interactive rebase + +Paolo Bonzini (4): + git-send-email: delay creation of MIME headers + git-send-email: add --transfer-encoding option + git-mailinfo: add --message-id + git-am: add --message-id/--no-message-id + +Paul Smith (1): + git-new-workdir: don't fail if the target directory is empty + +Peter van der Does (1): + Update documentation occurrences of filename .sh + +Philip Oakley (1): + doc: make clear --assume-unchanged's user contract + +Ralf Thielow (3): + builtin/push.c: fix description of --recurse-submodules option + for-each-ref: correct spelling of Tcl in option description + completion: add git-tag options + +Ramsay Jones (2): + git-compat-util.h: don't define _XOPEN_SOURCE on cygwin + t0050-*.sh: mark the rename (case change) test as passing + +René Scharfe (6): + use args member of struct child_process + use strbuf_complete_line() for adding a newline if needed + commit-tree: simplify parsing of option -S using skip_prefix() + merge: release strbuf after use in suggest_conflicts() + transport: simplify duplicating a substring in transport_get() using xmemdupz() + refs: plug strbuf leak in lock_ref_sha1_basic() + +Ronnie Sahlberg (1): + lock_ref_sha1_basic: do not die on locking errors + +Slavomir Vlcek (3): + builtin: move builtin retrieval to get_builtin() + apply: fix typo in an error message + Documentation/git-stripspace: add synopsis for --comment-lines + +Stefan Beller (5): + string_list: document string_list_(insert,lookup) + mailmap: use higher level string list functions + string_list: remove string_list_insert_at_index() from its API + t5400: remove dead code + Documentation/SubmittingPatches: unify whitespace/tabs for the DCO + +Thomas Quinot (1): + git_connect: set ssh shell command in GIT_SSH_COMMAND + +Tony Finch (1): + git-prompt: preserve value of $? inside shell prompt + +Torsten Bögershausen (2): + init-db: improve the filemode trustability check + t0027: check the eol conversion warnings + +brian m. carlson (3): + Documentation: add missing article in rev-list-options.txt + rev-list: add an option to mark fewer edges as uninteresting + pack-objects: use --objects-edge-aggressive for shallow repos + +Роман Донченко (2): + send-email: align RFC 2047 decoding more closely with the spec + send-email: handle adjacent RFC 2047-encoded words properly + + +Version v2.2.3; changes since v2.2.2: +------------------------------------- + +Jeff King (4): + verify_absent: allow filenames longer than PATH_MAX + notes: use a strbuf in add_non_note + read_info_alternates: handle paths larger than PATH_MAX + show-branch: use a strbuf for reflog descriptions + +Junio C Hamano (1): + Git 2.2.3 + + +Version v2.2.2; changes since v2.2.1: +------------------------------------- + +Alexander Kuleshov (1): + clean: typofix + +Jeff King (17): + pass TIME_DATE_NOW to approxidate future-check + checkout $tree: do not throw away unchanged index entries + approxidate: allow ISO-like dates far in the future + Makefile: have perl scripts depend on NO_PERL setting + t0090: mark add-interactive test with PERL prerequisite + t960[34]: mark cvsimport tests as requiring perl + gitweb: hack around CGI's list-context param() handling + docs: describe ANSI 256-color mode + config: fix parsing of "git config --get-color some.key -1" + t4026: test "normal" color + push: truly use "simple" as default, not "upstream" + for_each_reflog_ent_reverse: fix newlines on block boundaries + for_each_reflog_ent_reverse: turn leftover check into assertion + read_packed_refs: use a strbuf for reading lines + read_packed_refs: pass strbuf to parse_ref_line + read_packed_refs: use skip_prefix instead of static array + is_hfs_dotgit: loosen over-eager match of \u{..47} + +Johannes Sixt (1): + Windows: correct detection of EISDIR in mingw_open() + +Jonathan Nieder (2): + Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros + Makefile: have python scripts depend on NO_PYTHON setting + +Junio C Hamano (2): + Prepare for 2.2.2 + Git 2.2.2 + +Michael Haggerty (1): + create_default_files(): don't set u+x bit on $GIT_DIR/config + +Michael J Gruber (1): + add: ignore only ignored files + +Mike Hommey (1): + sha1_name: avoid unnecessary sha1 lookup in find_unique_abbrev + +René Scharfe (2): + use labs() for variables of type long instead of abs() + use labs() for variables of type long instead of abs() + +Ronald Wampler (1): + git-am.txt: --ignore-date flag is not passed to git-apply + +brian m. carlson (1): + Documentation: change "gitlink" typo in git-push + + +Version v2.2.1; changes since v2.2.0: +------------------------------------- + +Hartmut Henkel (1): + l10n: de.po: fix typos + +Jeff King (8): + unpack-trees: propagate errors adding entries to the index + read-tree: add tests for confusing paths like ".." and ".git" + verify_dotfile(): reject .git case-insensitively + t1450: refactor ".", "..", and ".git" fsck tests + fsck: notice .git case-insensitively + utf8: add is_hfs_dotgit() helper + read-cache: optionally disallow HFS+ .git variants + fsck: complain about HFS+ ".git" aliases in trees + +Johannes Schindelin (3): + path: add is_ntfs_dotgit() helper + read-cache: optionally disallow NTFS .git variants + fsck: complain about NTFS ".git" aliases in trees + +Junio C Hamano (6): + Start post 2.2 cycle + Git 1.8.5.6 + Git 1.9.5 + Git 2.0.5 + Git 2.1.4 + Git 2.2.1 + + +Version v2.2.0; changes since v2.2.0-rc3: +----------------------------------------- + +Junio C Hamano (1): + Git 2.2 + +Marc Branchaud (1): + RelNotes: spelling & grammar tweaks + + +Version v2.2.0-rc3; changes since v2.2.0-rc2: +--------------------------------------------- + +Alex Henrie (1): + l10n: Update Catalan translation + +Christian Couder (2): + trailer: ignore comment lines inside the trailers + trailer: display a trailer without its trailing newline + +David Aguilar (1): + difftool: honor --trust-exit-code for builtin tools + +Jiang Xin (3): + l10n: git.pot: v2.2.0 round 2 (1 updated) + l10n: batch updates for one trivial change + l10n: remove a superfluous translation for push.c + +Junio C Hamano (2): + Documentation/git-commit: clarify that --only/--include records the working tree contents + Git 2.2.0-rc3 + +Max Horn (1): + doc: add some crossrefs between manual pages + +Ralf Thielow (4): + l10n: de.po: use imperative form for command options + l10n: de.po: translate 62 new messages + l10n: de.po: translate 2 new messages + l10n: de.po: translate 2 messages + +Slavomir Vlcek (1): + SubmittingPatches: final submission is To: maintainer and CC: list + +Stefan Beller (1): + l10n: de.po: Fixup one translation + +Stefan Naewe (1): + gittutorial: fix output of 'git status' + +Thomas Ackermann (1): + gittutorial.txt: remove reference to ancient Git version + +Torsten Bögershausen (1): + t5705: the file:// URL should be absolute + + +Version v2.2.0-rc2; changes since v2.2.0-rc1: +--------------------------------------------- + +Alexander Shopov (1): + l10n: Updated Bulgarian translation of git (2296t,0f,0u) + +Jean-Noël Avila (1): + l10n: fr.po (2296t) update for version 2.2.0 + +Jeff King (1): + t1410: fix breakage on case-insensitive filesystems + +Jiang Xin (2): + l10n: git.pot: v2.2.0 round 1 (62 new, 23 removed) + l10n: zh_CN: translations for git v2.2.0-rc0 + +John Szakmeister (1): + diff-highlight: exit when a pipe is broken + +Junio C Hamano (2): + Update draft release notes to 2.2 + Git 2.2.0-rc2 + +Nicolas Dermine (1): + config.txt: fix typo + +Peter Krefting (1): + l10n: sv.po: Update Swedish translation (2296t0f0u) + +René Scharfe (2): + trailer: use CHILD_PROCESS_INIT in apply_command() + run-command: use void to declare that functions take no parameters + +Thomas Quinot (1): + Documentation/config.txt: fix minor typo + +Trần Ngọc Quân (1): + l10n: vi.po: Update new message strings + + +Version v2.2.0-rc1; changes since v2.2.0-rc0: +--------------------------------------------- + +Ben North (1): + gitignore.txt: fix spelling of "backslash" + +Jeff King (5): + cache-tree: avoid infinite loop on zero-entry tree + bundle: split out ref writing from bundle_create + fetch: load all default config at startup + ignore stale directories when checking reflog existence + docs/credential-store: s/--store/--file/ + +Junio C Hamano (3): + bundle: split out a helper function to create pack data + bundle: split out a helper function to compute and write prerequisites + Git 2.2.0-rc1 + +Matthieu Moy (1): + RelNotes/2.2.0.txt: fix minor typos + +René Scharfe (1): + use child_process_init() to initialize struct child_process variables + +Thomas Ackermann (1): + Documentation: typofixes + +Tzvetan Mikov (1): + line-log: fix crash when --first-parent is used + + +Version v2.2.0-rc0; changes since v2.1.4: +----------------------------------------- + +Alex Henrie (1): + grammofix in user-facing messages + +Arjun Sreedharan (1): + calloc() and xcalloc() takes nmemb and then size + +Beat Bolli (1): + pretty: provide a strict ISO 8601 date format + +Ben Walton (2): + t/lib-credential: use write_script + trace.c: do not mark getnanotime() as "inline" + +Bernhard Reiter (3): + http.c: die if curl_*_init fails + git-imap-send: simplify tunnel construction + imap-send.c: imap_folder -> imap_server_conf.folder + +Brian Gernhardt (1): + receive-pack::hmac_sha1(): copy the entire SHA-1 hash out + +Brice Lambson (1): + MinGW: update tests to handle a native eol of crlf + +Charles Bailey (2): + mergetool: don't require a work tree for --tool-help + difftool: don't assume that default sh is sane + +Christian Couder (11): + trailer: add data structures and basic functions + trailer: process trailers from input message and arguments + trailer: read and process config information + trailer: process command line trailer arguments + trailer: parse trailers from file or stdin + trailer: put all the processing together and print + trailer: add interpret-trailers command + trailer: add tests for "git interpret-trailers" + trailer: execute command from 'trailer.<name>.command' + trailer: add tests for commands in config file + Documentation: add documentation for 'git interpret-trailers' + +David Aguilar (19): + stylefix: asterisks stick to the variable, not the type + cleanups: ensure that git-compat-util.h is included first + Documentation: a note about stdout for git rev-parse --verify --quiet + t1503: use test_must_be_empty + refs: make rev-parse --quiet actually quiet + stash: prefer --quiet over shell redirection of the standard error stream + completion: add --show-signature for log and show + t7610-mergetool: use tabs instead of a mix of tabs and spaces + t7610-mergetool: add missing && and remove commented-out code + t7610-mergetool: prefer test_config over git config + test-lib-functions: adjust style to match CodingGuidelines + mergetool: use more conservative temporary filenames + git-sh-setup: move GIT_DIR initialization into a function + t7610-mergetool: use test_config to isolate tests + test-lib-functions: adjust style to match CodingGuidelines + mergetool: use more conservative temporary filenames + mergetool: add an option for writing to a temporary directory + t7610-mergetool: add test cases for mergetool.writeToTemp + difftool: add support for --trust-exit-code + +David Michael (3): + git-compat-util.h: support variadic macros with the XL C compiler + Makefile: reorder linker flags in the git executable rule + compat/bswap.h: detect endianness from XL C compiler macros + +David Turner (4): + cache-tree: create/update cache-tree on checkout + test-dump-cache-tree: invalid trees are not errors + cache-tree: subdirectory tests + cache-tree: Write updated cache-tree after commit + +Eric Wong (15): + git svn: info: correctly handle absolute path args + git svn: find-rev allows short switches for near matches + git-svn: delay term initialization + git-svn: reduce check_cherry_pick cache overhead + git-svn: cache only mergeinfo revisions + git-svn: remove mergeinfo rev caching + git-svn: reload RA every log-window-size + git-svn: remove unnecessary DESTROY override + git-svn: save a little memory as fetch progresses + git-svn: disable _rev_list memoization + Git.pm: add specified name to tempfile template + git-svn: prepare SVN::Ra config pieces once + git-svn: (cleanup) remove editor param passing + git-svn: add space after "W:" prefix in warning + git-svn: use SVN::Ra::get_dir2 when possible + +Etienne Buira (2): + index-pack: fix compilation with NO_PTHREADS + Handle atexit list internaly for unthreaded builds + +Harry Jeffery (1): + pretty: add %D format specifier + +Ian Liu Rodrigues (1): + Makefile: fix some typos in the preamble + +Jaime Soriano Pastor (2): + read_index_from(): catch out of order entries when reading an index file + read_index_unmerged(): remove unnecessary loop index adjustment + +Jakob Stoklund Olesen (2): + git-svn: only look at the new parts of svn:mergeinfo + git-svn: only look at the root path for svn:mergeinfo + +Jeff King (54): + stash: default listing to working-tree diff + subtree: make "all" default target of Makefile + http: style fixes for curl_multi_init error check + Makefile: use `find` to determine static header dependencies + log-tree: make add_name_decoration a public function + log-tree: make name_decoration hash static + Makefile: drop CHECK_HEADER_DEPENDENCIES code + log-tree: use FLEX_ARRAY in name_decoration + commit: provide a function to find a header in a buffer + record_author_date(): fix memory leak on malformed commit + record_author_date(): use find_commit_header() + date: use strbufs in date-formatting functions + teach fast-export an --anonymize option + docs/fast-export: explain --anonymize more completely + determine_author_info(): reuse parsing functions + determine_author_info(): copy getenv output + refs: write packed_refs file using stdio + refs: speed up is_refname_available + prune-packed: fix minor memory leak + make update-server-info more robust + server-info: clean up after writing info/packs + credential-cache: close stderr in daemon process + branch: clean up commit flags after merge-filter walk + t5304: use test_path_is_* instead of "test -f" + t5304: use helper to report failure of "test foo = bar" + test-lib.sh: support -x option for shell-tracing + color_parse: do not mention variable name in error message + foreach_alt_odb: propagate return value from callback + isxdigit: cast input to unsigned char + object_array: factor out slopbuf-freeing logic + object_array: add a "clear" function + clean up name allocation in prepare_revision_walk + reachable: use traverse_commit_list instead of custom walk + reachable: reuse revision.c "add all reflogs" code + prune: factor out loose-object directory traversal + reachable: mark index blobs as SEEN + prune-packed: use for_each_loose_file_in_objdir + count-objects: do not use xsize_t when counting object size + count-objects: use for_each_loose_file_in_objdir + sha1_file: add for_each iterators for loose and packed objects + prune: keep objects reachable from recent objects + pack-objects: refactor unpack-unreachable expiration check + pack-objects: match prune logic for discarding objects + write_sha1_file: freshen existing objects + make add_object_array_with_context interface more sane + traverse_commit_list: support pending blobs/trees with paths + t5516: test pushing a tag of an otherwise unreferenced blob + rev-list: document --reflog option + rev-list: add --indexed-objects option + reachable: use revision machinery's --indexed-objects code + pack-objects: use argv_array + repack: pack objects mentioned by the index + pack-objects: double-check options before discarding objects + drop add_object_array_with_mode + +Johannes Schindelin (6): + Refactor type_from_string() to allow continuing after detecting an error + fsck_object(): allow passing object data separately from the object itself + Make sure fsck_commit_buffer() does not run out of the buffer + fsck: check tag objects' headers + Add regression tests for stricter tag fsck'ing + Make sure that index-pack --strict checks tag objects + +Johannes Sixt (3): + t9300: use test_cmp_bin instead of test_cmp to compare binary files + mingw.h: add dummy functions for sigset_t operations + difftool--helper: exit when reading a prompt answer fails + +John Szakmeister (1): + completion: silence "fatal: Not a git repository" error + +Jonas 'Sortie' Termansen (3): + git-compat-util.h: add missing semicolon after struct itimerval + autoconf: check for struct itimerval + autoconf: check for setitimer() + +Jonathan Nieder (10): + i18n: treat "make pot" as an explicitly-invoked target + update-ref --stdin: narrow scope of err strbuf + update-ref --stdin: pass transaction around explicitly + pass config slots as pointers instead of offsets + mv test: recreate mod/ directory instead of relying on stale copy + branch -d: avoid repeated symref resolution + packed-ref cache: forbid dot-components in refnames + refs.c: do not permit err == NULL + lockfile: remove unable_to_lock_error + ref_transaction_commit: bail out on failure to remove a ref + +Junio C Hamano (55): + tests: drop GIT_*_TIMING_TESTS environment variable support + lockfile: allow reopening a closed but still locked file + test prerequisites: eradicate NOT_FOO + test prerequisites: enumerate with commas + config.mak.uname: add hint on uname_R for MacOS X + Start the post-2.1 cycle + cache-tree: do not try to use an invalidated subtree info to build a tree + parse-options: detect attempt to add a duplicate short option name + Update draft release notes to 2.2 + Update draft release notes to 2.2 + hash-object: reduce file-scope statics + hash-object: pass 'write_object' as a flag + hash-object: add --literally option + t1450: make sure fsck detects a malformed tagger line + receive-pack: do not overallocate command structure + receive-pack: parse feature request a bit earlier + receive-pack: do not reuse old_sha1[] for other things + receive-pack: factor out queueing of command + send-pack: move REF_STATUS_REJECT_NODELETE logic a bit higher + send-pack: refactor decision to send update per ref + send-pack: always send capabilities + send-pack: factor out capability string generation + receive-pack: factor out capability string generation + send-pack: rename "new_refs" to "need_pack_data" + send-pack: refactor inspecting and resetting status and sending commands + send-pack: clarify that cmds_sent is a boolean + gpg-interface: move parse_gpg_output() to where it should be + gpg-interface: move parse_signature() to where it should be + pack-protocol doc: typofix for PKT-LINE + push: the beginning of "git push --signed" + receive-pack: GPG-validate push certificates + send-pack: send feature request on push-cert packet + signed push: remove duplicated protocol info + signed push: add "pushee" header to push certificate + receive-pack: allow hooks to ignore its standard input stream + signed push: fortify against replay attacks + signed push: teach smart-HTTP to pass "git push --signed" around + signed push: allow stale nonce in stateless mode + Update draft release notes to 2.2 + t7004: give the test a bit more stack space + Update draft release notes to 2.2 + Update draft release notes to 2.2 + Update draft release notes to 2.2 + completion: use "git -C $there" instead of (cd $there && git ...) + pack-objects: set number of threads before checking and warning + t1308: fix broken here document in test script + Update draft release notes to 2.2 + reflog test: test interaction with detached HEAD + Revert "archive: honor tar.umask even for pax headers" + Update draft release notes to 2.2 + mergetool: rename bc3 to bc + Update draft release notes to 2.2 + Update draft release notes to 2.2 + Update draft release notes to 2.2 + Git 2.2.0-rc0 + +Kyle J. McKay (1): + config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems + +Lawrence Velázquez (1): + git-svn.txt: Remove mentions of repack options + +Linus Arver (7): + Documentation: git-init: typographical fixes + Documentation: git-init: list items facelift + Documentation: git-init: template directory: reword + Documentation: git-init: --separate-git-dir: clarify + Documentation: git-init: reword parenthetical statements + Documentation: git-init: template directory: reword and cross-reference + Documentation: git-init: flesh out example + +Matthias Rüster (2): + rerere.h: mark string for translation + builtin/log.c: mark strings for translation + +Matthieu Moy (7): + config --global --edit: create a template file if needed + home_config_paths(): let the caller ignore xdg path + commit: advertise config --global --edit on guessed identity + config.c: mark error and warnings strings for translation + config.c: fix accuracy of line number in errors + builtin/log.c: fix minor memory leak + merge, pull: stop advising 'commit -a' in case of conflict + +Max Kirillov (2): + gitk: Show detached HEAD if --all is specified + gitk: Remove boilerplate for configuration variables + +Maxim Bublis (1): + contrib/svn-fe: fix Makefile + +Michael Haggerty (41): + unable_to_lock_die(): rename function from unable_to_lock_index_die() + api-lockfile: revise and expand the documentation + close_lock_file(): exit (successfully) if file is already closed + rollback_lock_file(): do not clear filename redundantly + rollback_lock_file(): exit early if lock is not active + rollback_lock_file(): set fd to -1 + lockfile: unlock file if lockfile permissions cannot be adjusted + hold_lock_file_for_append(): release lock on errors + lock_file(): always initialize and register lock_file object + lockfile.c: document the various states of lock_file objects + cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN + delete_ref_loose(): don't muck around in the lock_file's filename + prepare_index(): declare return value to be (const char *) + lock_file(): exit early if lockfile cannot be opened + remove_lock_file(): call rollback_lock_file() + commit_lock_file(): inline temporary variable + commit_lock_file(): die() if called for unlocked lockfile object + close_lock_file(): if close fails, roll back + commit_lock_file(): rollback lock file on failure to rename + api-lockfile: document edge cases + dump_marks(): remove a redundant call to rollback_lock_file() + git_config_set_multivar_in_file(): avoid call to rollback_lock_file() + lockfile: avoid transitory invalid states + struct lock_file: declare some fields volatile + try_merge_strategy(): remove redundant lock_file allocation + try_merge_strategy(): use a statically-allocated lock_file object + commit_lock_file(): use a strbuf to manage temporary space + lockfile: change lock_file::filename into a strbuf + resolve_symlink(): use a strbuf for internal scratch space + resolve_symlink(): take a strbuf parameter + trim_last_path_component(): replace last_path_elm() + commit_lock_file_to(): refactor a helper out of commit_lock_file() + lockfile: rename LOCK_NODEREF to LOCK_NO_DEREF + lockfile.c: rename static functions + get_locked_file_path(): new function + hold_lock_file_for_append(): restore errno before returning + hold_locked_index(): move from lockfile.c to read-cache.c + lockfile.h: extract new header file for the functions in lockfile.c + fdopen_lock_file(): access a lockfile using stdio + dump_marks(): reimplement using fdopen_lock_file() + commit_packed_refs(): reimplement using fdopen_lock_file() + +Michael J Gruber (2): + push: heed user.signingkey for signed pushes + t/lib-gpg: make gpghome files writable + +Monard Vong (1): + git-svn: branch: avoid systematic prompt for cert/pass + +Nguyễn Thái Ngọc Duy (16): + mv: mark strings for translations + mv: flatten error handling code block + utf8.c: fix strbuf_utf8_replace() consuming data beyond input string + wrapper.c: introduce gentle xmallocz that does not die() + sha1_file.c: do not die failing to malloc in unpack_compressed_entry + diff.c: allow to pass more flags to diff_populate_filespec + diff --stat: mark any file larger than core.bigfilethreshold binary + diff: shortcut for diff'ing two binary SHA-1 objects + mv: split submodule move preparation code out + mv: remove an "if" that's always true + mv: move index search code out + mv: unindent one level for directory move code + mv: combine two if(s) + mv: no SP between function name and the first opening parenthese + archive: support filtering paths with glob + dir.c: remove the second declaration of "stk" in prep_exclude() + +Pat Thoyts (1): + Makefile: propagate NATIVE_CRLF to C + +Patrick Reynolds (2): + use a hashmap to make remotes faster + unblock and unignore SIGPIPE + +Philip Oakley (4): + doc: modernise everyday.txt wording and format in man page style + doc: Makefile regularise OBSOLETE_HTML list building + doc: add 'everyday' to 'git help' + doc: fix 'git status --help' character quoting + +Ramsay Jones (1): + revision: remove definition of unused 'add_object' function + +René Scharfe (44): + strbuf: add strbuf_getcwd() + unix-sockets: use strbuf_getcwd() + init: avoid superfluous real_path() calls + turn path macros into inline function + run-command: introduce CHILD_PROCESS_INIT + run-command: introduce child_process_init() + run-command: call run_command_v_opt_cd_env() instead of duplicating it + run-command: inline prepare_run_command_v_opt() + sha1_name: avoid quadratic list insertion in handle_one_ref + walker: avoid quadratic list insertion in mark_complete + setup: convert setup_git_directory_gently_1 et al. to strbuf + abspath: use strbuf_getcwd() to remember original working directory + abspath: convert real_path_internal() to strbuf + wrapper: add xgetcwd() + use xgetcwd() to get the current directory or die + use xgetcwd() to set $GIT_DIR + abspath: convert absolute_path() to strbuf + use strbuf_add_absolute_path() to add absolute paths + connect: simplify check_ref() using skip_prefix() and starts_with() + pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt() + config: simplify git_config_include() + http-walker: simplify process_alternates_response() using strbuf + merge-tree: remove unused df_conflict arguments + imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with() + trace: correct trace_strbuf() parameter type for !HAVE_VARIADIC_MACROS + strbuf: export strbuf_addchars() + strbuf: use strbuf_addchars() for adding a char multiple times + repack: call prune_packed_objects() and update_server_info() directly + add macro REALLOC_ARRAY + use REALLOC_ARRAY for changing the allocation size of arrays + graph: simplify graph_padding_line() + remote: simplify match_name_with_pattern() using strbuf + t0090: avoid passing empty string to printf %d + sha1-array: add test-sha1-array and basic tests + sha1-lookup: handle duplicates in sha1_pos() + bundle: plug minor memory leak in is_tag_in_date_range() + mailsplit: remove unnecessary unlink(2) call + use skip_prefix() to avoid more magic numbers + receive-pack: plug minor memory leak in unpack() + run-command: add env_array, an optional argv_array for env + use env_array member of struct child_process + grep: add color.grep.matchcontext and color.grep.matchselected + receive-pack: avoid minor leak in case start_async() fails + api-run-command: add missing list item marker + +Robert de Bath (1): + config.txt: pack.windowmemory limit applies per-thread + +Ronnie Sahlberg (38): + refs.c: change ref_transaction_create to do error checking and return status + refs.c: update ref_transaction_delete to check for error and return status + refs.c: make ref_transaction_begin take an err argument + refs.c: add transaction.status and track OPEN/CLOSED + tag.c: use ref transactions when doing updates + replace.c: use the ref transaction functions for updates + commit.c: use ref transactions for updates + sequencer.c: use ref transactions for all ref updates + fast-import.c: change update_branch to use ref transactions + branch.c: use ref transaction for all ref updates + refs.c: change update_ref to use a transaction + receive-pack.c: use a reference transaction for updating the refs + fast-import.c: use a ref transaction when dumping tags + walker.c: use ref transaction for ref updates + refs.c: make lock_ref_sha1 static + refs.c: remove the update_ref_lock function + refs.c: remove the update_ref_write function + refs.c: remove lock_ref_sha1 + refs.c: make prune_ref use a transaction to delete the ref + refs.c: make delete_ref use a transaction + wrapper.c: remove/unlink_or_warn: simplify, treat ENOENT as success + refs.c: lock_ref_sha1_basic is used for all refs + wrapper.c: add a new function unlink_or_msg + refs.c: add an err argument to delete_ref_loose + refs.c: pass the ref log message to _create/delete/update instead of _commit + rename_ref: don't ask read_ref_full where the ref came from + refs.c: refuse to lock badly named refs in lock_ref_sha1_basic + refs.c: call lock_ref_sha1_basic directly from commit + refs.c: pass a list of names to skip to is_refname_available + refs.c: ref_transaction_commit: distinguish name conflicts from other errors + fetch.c: change s_update_ref to use a ref transaction + refs.c: make write_ref_sha1 static + refs.c: change resolve_ref_unsafe reading argument to be a flags field + branch -d: simplify by using RESOLVE_REF_READING + test: put tests for handling of bad ref names in one place + refs.c: allow listing and deleting badly named refs + for-each-ref: skip and warn about broken ref names + remote rm/prune: print a message when writing packed-refs fails + +Sebastian Schuberth (3): + subtree: add an install-html target + contacts: add a Makefile to generate docs and install + gitk: Do not depend on Cygwin's "kill" command on Windows + +Sergey Organov (1): + Documentation/git-rebase.txt: document when --fork-point is auto-enabled + +Sergey Senozhatsky (1): + compat-util: add _DEFAULT_SOURCE define + +Stefan Beller (12): + remote.c: don't leak the base branch name in format_tracking_info + clone.c: don't leak memory in cmd_clone + prepare_revision_walk(): check for return value in all places + builtin/blame.c: add translation to warning about failed revision walk + mailsplit.c: remove dead code + help: fix the size passed to qsort + t9300-fast-import: fix typo in test description + t6031-test-merge-recursive: do not forget to add file to be committed + merge-recursive: fix copy-paste mistake + merge-recursive: remove stale commented debugging code + transport: free leaking head in transport_print_push_status() + .mailmap: add Stefan Bellers corporate mail address + +Steffen Prohaska (8): + convert: drop arguments other than 'path' from would_convert_to_git() + config.c: add git_env_ulong() to parse environment variable + memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT + mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size + copy_fd(): do not close the input file descriptor + convert: stream from fd to required clean filter to reduce used address space + Documentation: use single-parameter --cacheinfo in example + sha1_file: don't convert off_t to size_t too early to avoid potential die() + +Sveinung Kvilhaugsvik (1): + git-svn.txt: advertise pushurl with dcommit + +Tanay Abhra (24): + add `config_set` API for caching config-like files + test-config: add tests for the config_set API + pretty.c: make git_pretty_formats_config return -1 on git_config_string failure + add line number and file name info to `config_set` + change `git_config()` return value to void + config: add `git_die_config()` to the config-set API + rewrite git_config() to use the config-set API + add a test for semantic errors in config files + add tests for `git_config_get_string_const()` + daemon.c: replace `git_config()` with `git_config_get_bool()` family + http-backend.c: replace `git_config()` with `git_config_get_bool()` family + read-cache.c: replace `git_config()` with `git_config_get_*()` family + archive.c: replace `git_config()` with `git_config_get_bool()` family + fetchpack.c: replace `git_config()` with `git_config_get_*()` family + rerere.c: replace `git_config()` with `git_config_get_*()` family + builtin/gc.c: replace `git_config()` with `git_config_get_*()` family + pager.c: replace `git_config()` with `git_config_get_value()` + imap-send.c: replace `git_config()` with `git_config_get_*()` family + alias.c: replace `git_config()` with `git_config_get_string()` + branch.c: replace `git_config()` with `git_config_get_string() + fast-import.c: replace `git_config()` with `git_config_get_*()` family + ll-merge.c: refactor `read_merge_config()` to use `git_config_string()` + merge-recursive.c: replace `git_config()` with `git_config_get_int()` + builtin/apply.c: replace `git_config()` with `git_config_get_string_const()` + +Thomas Braun (2): + pretty: note that %cd respects the --date= option + completion: Add --ignore-blank-lines for diff + +Tony Finch (2): + imap-send: clarify CRAM-MD5 vs LOGIN documentation + imap-send: create target mailbox if it is missing + +Torsten Bögershausen (2): + t0027: Tests for core.eol=native, eol=lf, eol=crlf + core.filemode may need manual action + +W. Trevor King (2): + pre-push.sample: Write error message to stderr + t1304: Set LOGNAME even if USER is unset or null + +brian m. carlson (8): + archive: honor tar.umask even for pax headers + imap-send doc: omit confusing "to use imap-send" modifier + Documentation: adjust document title underlining + Documentation: fix mismatched delimiters in git-imap-send + Documentation: move some AsciiDoc parameters into variables + Documentation: implement linkgit macro for Asciidoctor + Documentation: refactor common operations into variables + Documentation: remove Asciidoctor linkgit macro + + +Version v2.1.4; changes since v2.1.3: +------------------------------------- + +Ben North (1): + gitignore.txt: fix spelling of "backslash" + +Jeff King (9): + docs/credential-store: s/--store/--file/ + unpack-trees: propagate errors adding entries to the index + read-tree: add tests for confusing paths like ".." and ".git" + verify_dotfile(): reject .git case-insensitively + t1450: refactor ".", "..", and ".git" fsck tests + fsck: notice .git case-insensitively + utf8: add is_hfs_dotgit() helper + read-cache: optionally disallow HFS+ .git variants + fsck: complain about HFS+ ".git" aliases in trees + +Johannes Schindelin (3): + path: add is_ntfs_dotgit() helper + read-cache: optionally disallow NTFS .git variants + fsck: complain about NTFS ".git" aliases in trees + +Junio C Hamano (4): + Git 1.8.5.6 + Git 1.9.5 + Git 2.0.5 + Git 2.1.4 + +Nicolas Dermine (1): + config.txt: fix typo + +René Scharfe (1): + clean: use f(void) instead of f() to declare a pointer to a function without arguments + +Thomas Quinot (1): + Documentation/config.txt: fix minor typo + + +Version v2.1.3; changes since v2.1.2: +------------------------------------- + +David Aguilar (1): + mergetools/meld: make usage of `--output` configurable and more robust + +Eric Sunshine (1): + mailinfo: work around -Wstring-plus-int warning + +Jeff King (2): + mailinfo: make ">From" in-body header check more robust + pack-objects: turn off bitmaps when we split packs + +Junio C Hamano (1): + Git 2.1.3 + +René Scharfe (3): + daemon: handle gethostbyname() error + daemon: fix error message after bind() + daemon: remove write-only variable maxfd + +Roland Mas (1): + gitweb: use start_form, not startform that was removed in CGI.pm 4.04 + +Wieland Hoffmann (1): + git-tag.txt: Add a missing hyphen to `-s` + +brian m. carlson (1): + Documentation: fix misrender of pretty-formats in Asciidoctor + + +Version v2.1.2; changes since v2.1.1: +------------------------------------- + +Jeff King (5): + send-pack: take refspecs over stdin + index-pack: fix race condition with duplicate bases + fsck: exit with non-zero status upon error from fsck_obj() + config: avoid a funny sentinel value "a^" + fsck: return non-zero status on missing ref tips + +Junio C Hamano (1): + Git 2.1.2 + +Max Kirillov (1): + reachable.c: add HEAD to reachability starting commits + +Maxim Bublis (2): + t9300: test filedelete command + fast-import: fix segfault in store_tree() + +Phillip Sz (2): + l10n: de.po: change Email to E-Mail + l10n: de.po: use comma before "um" + +Ralf Thielow (1): + po/TEAMS: add new member to German translation team + +Sergey Organov (2): + Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op + Documentation/git-rebase.txt: <upstream> must be given to specify <branch> + +Tanay Abhra (1): + make config --add behave correctly for empty and NULL values + + +Version v2.1.1; changes since v2.1.0: +------------------------------------- + +Alex Henrie (2): + l10n: Add Catalan translation + po/TEAMS: Add Catalan team + +Alexander Shopov (3): + l10n: Updated Bulgarian translation of git (2228t,0f,0u) + l10n: Updated Bulgarian translation of git (2247t,0f,0u) + l10n: Updated Bulgarian translation of git (2257t,0f,0u) + +Edward Thomson (1): + upload-pack: keep poll(2)'s timeout to -1 + +Jean-Noël Avila (1): + l10n: fr.po (2257t) update for version 2.1.0 + +Jeff King (10): + revision: drop useless string offset when parsing "--pretty" + pretty: treat "--format=" as an empty userformat + pretty: make empty userformats truly empty + pack-objects: turn off bitmaps when we see --shallow lines + Makefile: make perf tests optional for profile build + intersect_paths: respect mode in git's tree-sort + pack-refs: prune top-level refs like "refs/foo" + fast-import: clean up pack_data pointer in end_packfile + fast-import: fix buffer overflow in dump_tags + git-prompt: do not look for refs/stash in $GIT_DIR + +Jiang Xin (2): + l10n: git.pot: v2.1.0 round 1 (38 new, 9 removed) + l10n: zh_CN: translations for git v2.1.0-rc0 + +Jonathan Nieder (2): + unpack-trees: use 'cuddled' style for if-else cascade + checkout -m: attempt merge when deletion of path was staged + +Junio C Hamano (5): + config: teach "git -c" to recognize an empty string + apply: use the right attribute for paths in non-Git patches + apply: hoist use_patch() helper for path exclusion up + apply: omit ws check for excluded paths + Git 2.1.1 + +Lukas Fleischer (1): + bundle: fix exclusion of annotated tags + +Nguyễn Thái Ngọc Duy (2): + fetch: convert argv_gc_auto to struct argv_array + fetch: silence git-gc if --quiet is given + +Peter Krefting (2): + l10n: Fix more typos in the Swedish translations + l10n: sv.po: Update Swedish translation (2257t0f0u) + +Ralf Thielow (4): + l10n: de.po: fix typo + l10n: de.po: improve message when switching branches + l10n: de.po: translate 38 new messages + po/TEAMS: add new members to German translation team + +René Scharfe (1): + read-cache: check for leading symlinks when refreshing index + +Shawn O. Pearce (1): + Document LF appearing in shallow command during send-pack/receive-pack + +Stefan Beller (1): + unpack-trees: simplify 'all other failures' case + +Trần Ngọc Quân (1): + l10n: vi.po (2257t): Update translation + + +Version v2.1.0; changes since v2.1.0-rc2: +----------------------------------------- + +Alexander Shopov (1): + gitk: Updated Bulgarian translation (302t,0f,0u) + +Johannes Sixt (1): + tests: fix negated test_i18ngrep calls + +Junio C Hamano (1): + Git 2.1 + +Max Kirillov (1): + gitk: Add keybinding to switch to parent commit + + +Version v2.1.0-rc2; changes since v2.1.0-rc1: +--------------------------------------------- + +Junio C Hamano (2): + RelNotes: no more check_ref_format micro-optimization + Git 2.1-rc2 + +Marc Branchaud (1): + Release notes: grammatical fixes + +Stefan Beller (1): + various contrib: Fix links in man pages + + +Version v2.1.0-rc1; changes since v2.1.0-rc0: +--------------------------------------------- + +Fabian Ruch (1): + commit --amend: test specifies authorship but forgets to check + +Jeff King (14): + receive-pack: don't copy "dir" parameter + free ref string returned by dwim_ref + transport: fix leaks in refs_from_alternate_cb + fix memory leak parsing core.commentchar + apply: avoid possible bogus pointer + alloc: write out allocator definitions + move setting of object->type to alloc_* functions + parse_object_buffer: do not set object type + add object_as_type helper for casting objects + alloc: factor out commit index + object_as_type: set commit index + diff-tree: avoid lookup_unknown_object + t1402: check for refs ending with a dot + t4013: test diff-tree's --stdin commit formatting + +Johannes Schindelin (1): + MinGW: Skip test redirecting to fd 4 + +John Keeping (3): + completion: complete "unstuck" `git push --recurse-submodules` + completion: add some missing options to `git push` + completion: complete `git push --force-with-lease=` + +Junio C Hamano (6): + t9814: fix misconversion from test $a -o $b to test $a || test $b + Revert "Merge branch 'dt/refs-check-refname-component-sse-fix'" + Revert "Merge branch 'dt/refs-check-refname-component-sse'" + Git 2.0.4 + Update draft release notes to 2.1 + Git 2.1.0-rc1 + +Karsten Blees (16): + Revert "Windows: teach getenv to do a case-sensitive search" + Win32: Unicode environment (outgoing) + Win32: Unicode environment (incoming) + Win32: fix environment memory leaks + Win32: unify environment case-sensitivity + Win32: unify environment function names + Win32: factor out environment block creation + Win32: don't copy the environment twice when spawning child processes + Win32: reduce environment array reallocations + Win32: use low-level memory allocation during initialization + Win32: keep the environment sorted + Win32: patch Windows environment on startup + Win32: enable color output in Windows cmd.exe + t0110/MinGW: skip tests that pass arbitrary bytes on the command line + MinGW: disable legacy encoding tests + t800[12]: work around MSys limitation + +Pat Thoyts (3): + tests: do not pass iso8859-1 encoded parameter + t4210: skip command-line encoding tests on mingw + t9902: mingw-specific fix for gitfile link files + +Ramsay Jones (1): + alloc.c: remove the alloc_raw_commit_node() function + +Tanay Abhra (1): + add documentation for writing config files + +Tony Finch (1): + git-push: fix link in man page + + +Version v2.1.0-rc0; changes since v2.0.5: +----------------------------------------- + +Anders Kaseorg (1): + gitk: Allow displaying time zones from author and commit dates timestamps + +Andi Kleen (4): + Use BASIC_FLAGS for profile feedback + Don't define away __attribute__ on gcc + Run the perf test suite for profile feedback too + Fix profile feedback with -jN and add profile-fast + +Andreas Schwab (1): + grep: add grep.fullName config variable + +Brian Gesiak (2): + strbuf: use _rtrim and _ltrim in strbuf_trim + api-strbuf.txt: add docs for _trim and _ltrim + +Cezary Zawadka (1): + Windows: allow using UNC path for git repository + +Charles Bailey (1): + Fix contrib/subtree Makefile to patch #! line + +Christian Couder (16): + replace: make sure --edit results in a different object + replace: refactor checking ref validity + replace: die early if replace ref already exists + replace: add tests for --edit + replace: add --edit to usage string + Documentation: replace: describe new --edit option + commit: add for_each_mergetag() + replace: cleanup redirection style in tests + replace: add --graft option + replace: add test for --graft + Documentation: replace: add --graft option + contrib: add convert-grafts-to-replace-refs.sh + replace: remove signature when using --graft + replace: add test for --graft with signed commit + replace: check mergetags when using --graft + replace: add test for --graft with a mergetag + +Dan Albert (1): + imap-send: use git-credential + +David Aguilar (3): + gitk: Honor TMPDIR when viewing external diffs + gitk: Use mktemp -d to avoid predictable temporary directories + gitk: Catch mkdtemp errors + +David Kastrup (2): + blame: large-scale performance rewrite + Bump core.deltaBaseCacheLimit to 96m + +David Turner (5): + docs: document RUN_SETUP_GENTLY and clarify RUN_SETUP + refs.c: optimize check_refname_component() + refs.c: SSE2 optimizations for check_refname_component + refs.c: handle REFNAME_REFSPEC_PATTERN at end of page + refs: fix valgrind suppression file + +Elia Pinto (61): + t9365-continuing-queries.sh: use the $( ... ) construct for command substitution + test-gitmw-lib.sh: use the $( ... ) construct for command substitution + t7900-subtree.sh: use the $( ... ) construct for command substitution + appp.sh: use the $( ... ) construct for command substitution + git-pull.sh: use the $( ... ) construct for command substitution + git-rebase--merge.sh: use the $( ... ) construct for command substitution + git-rebase.sh: use the $( ... ) construct for command substitution + git-stash.sh: use the $( ... ) construct for command substitution + git-web--browse.sh: use the $( ... ) construct for command substitution + lib-credential.sh: use the $( ... ) construct for command substitution + lib-cvs.sh: use the $( ... ) construct for command substitution + lib-gpg.sh: use the $( ... ) construct for command substitution + p5302-pack-index.sh: use the $( ... ) construct for command substitution + t0001-init.sh: use the $( ... ) construct for command substitution + t0010-racy-git.sh: use the $( ... ) construct for command substitution + t0020-crlf.sh: use the $( ... ) construct for command substitution + t0025-crlf-auto.sh: use the $( ... ) construct for command substitution + t0026-eol-config.sh: use the $( ... ) construct for command substitution + t0030-stripspace.sh: use the $( ... ) construct for command substitution + t0300-credentials.sh: use the $( ... ) construct for command substitution + t1000-read-tree-m-3way.sh: use the $( ... ) construct for command substitution + t1001-read-tree-m-2way.sh: use the $( ... ) construct for command substitution + t1002-read-tree-m-u-2way.sh: use the $( ... ) construct for command substitution + t1003-read-tree-prefix.sh: use the $( ... ) construct for command substitution + t1004-read-tree-m-u-wf.sh: use the $( ... ) construct for command substitution + t1020-subdirectory.sh: use the $( ... ) construct for command substitution + t1050-large.sh: use the $( ... ) construct for command substitution + t3905-stash-include-untracked.sh: use the $( ... ) construct for command substitution + t3910-mac-os-precompose.sh: use the $( ... ) construct for command substitution + t4006-diff-mode.sh: use the $( ... ) construct for command substitution + t4010-diff-pathspec.sh: use the $( ... ) construct for command substitution + t4012-diff-binary.sh: use the $( ... ) construct for command substitution + t4013-diff-various.sh: use the $( ... ) construct for command substitution + t4014-format-patch.sh: use the $( ... ) construct for command substitution + t4036-format-patch-signer-mime.sh: use the $( ... ) construct for command substitution + t4038-diff-combined.sh: use the $( ... ) construct for command substitution + t4057-diff-combined-paths.sh: use the $( ... ) construct for command substitution + t4116-apply-reverse.sh: use the $( ... ) construct for command substitution + t4119-apply-config.sh: use the $( ... ) construct for command substitution + t4204-patch-id.sh: use the $( ... ) construct for command substitution + t5000-tar-tree.sh: use the $( ... ) construct for command substitution + check_bindir: avoid "test <cond> -a/-o <cond>" + contrib/examples/git-clone.sh: avoid "test <cond> -a/-o <cond>" + contrib/examples/git-commit.sh: avoid "test <cond> -a/-o <cond>" + contrib/examples/git-merge.sh: avoid "test <cond> -a/-o <cond>" + contrib/examples/git-repack.sh: avoid "test <cond> -a/-o <cond>" + contrib/examples/git-resolve.sh: avoid "test <cond> -a/-o <cond>" + git-bisect.sh: avoid "test <cond> -a/-o <cond>" + git-mergetool.sh: avoid "test <cond> -a/-o <cond>" + git-rebase--interactive.sh: avoid "test <cond> -a/-o <cond>" + t/lib-httpd.sh: avoid "test <cond> -a/-o <cond>" + t/t0025-crlf-auto.sh: avoid "test <cond> -a/-o <cond>" + t/t0026-eol-config.sh: avoid "test <cond> -a/-o <cond>" + t/t4102-apply-rename.sh: avoid "test <cond> -a/-o <cond>" + t/t5000-tar-tree.sh: avoid "test <cond> -a/-o <cond>" + t/t5403-post-checkout-hook.sh: avoid "test <cond> -a/-o <cond>" + t/t5538-push-shallow.sh: avoid "test <cond> -a/-o <cond>" + t/t9814-git-p4-rename.sh: avoid "test <cond> -a/-o <cond>" + t/test-lib-functions.sh: avoid "test <cond> -a/-o <cond>" + git-submodule.sh: avoid "test <cond> -a/-o <cond>" + submodule.c: use the ARRAY_SIZE macro + +Ephrim Khong (1): + sha1_file: do not add own object directory as alternate + +Eric Wong (1): + config: preserve config file permissions on edits + +Erik Faye-Lund (1): + send-email: recognize absolute path on Windows + +Fabian Ruch (1): + sequencer: signal failed ff as an aborted, not a conflicted merge + +Felipe Contreras (12): + fast-export: improve argument parsing + fast-export: add new --refspec option + transport-helper: add support for old:new refspec + transport-helper: add support to push symbolic refs + fast-import: add support to delete refs + fast-export: add support to delete refs + transport-helper: add support to delete branches + transport-helper: remove unnecessary strbuf resets + mergetools: add vimdiff3 mode + mergetool: run prompt only if guessed tool + merge: enable defaulttoupstream by default + silence a bunch of format-zero-length warnings + +Ilya Bobyr (4): + test-lib: document short options in t/README + test-lib: tests skipped by GIT_SKIP_TESTS say so + test-lib: '--run' to run only specific tests + gitk: Replace SHA1 entry field on keyboard paste + +Jacob Keller (2): + tag: fix --sort tests to use cat<<-\EOF format + tag: support configuring --sort via .gitconfig + +James Denholm (6): + contrib/subtree/Makefile: scrap unused $(gitdir) + contrib/subtree/Makefile: use GIT-VERSION-FILE + contrib/subtree/Makefile: s/libexecdir/gitexecdir/ + contrib/subtree/Makefile: clean up rules to generate documentation + contrib/subtree/Makefile: clean up rule for "clean" + contrib/subtree: allow adding an annotated tag + +Jason St. John (1): + Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues + +Jean-Jacques Lafay (1): + git tag --contains: avoid stack overflow + +Jeff King (97): + run_external_diff: use an argv_array for the environment + run_external_diff: clean up error handling + run_external_diff: drop fflush(NULL) + run_external_diff: hoist common bits out of conditional + run_external_diff: refactor cmdline setup logic + t3910: show failure of core.precomposeunicode with decomposed filenames + replace: refactor command-mode determination + replace: use OPT_CMDMODE to handle modes + replace: factor object resolution out of replace_object + replace: add --edit option + commit: use split_ident_line to compare author/committer + pretty: make show_ident_date public + commit: print "Date" line when the user has set date + commit: accept more date formats for "--date" + inline constant return from error() function + let clang use the constant-return error() macro + grep: use run-command's "dir" option for --open-files-in-pager + t/lib-httpd: require SANITY prereq + run-command: store an optional argv_array + run_column_filter: use argv_array + git_connect: use argv_array + get_helper: use run-command's internal argv_array + get_exporter: use argv_array + get_importer: use run-command's internal argv_array + argv-array: drop "detach" code + format-patch: make newline after signature conditional + daemon/config: factor out duplicate xstrdup_tolower + test-lib: preserve GIT_CURL_VERBOSE from the environment + t/lib-httpd: use write_script to copy CGI scripts + t5550: test display of remote http error messages + strbuf: add strbuf_tolower function + http: extract type/subtype portion of content-type + http: optionally extract charset parameter from content-type + strbuf: add strbuf_reencode helper + remote-curl: reencode http error messages + http: default text charset to iso-8859-1 + error_resolve_conflict: rewrap advice message + error_resolve_conflict: drop quotations around operation + pack-objects: stop respecting pack.writebitmaps + repack: simplify handling of --write-bitmap-index + repack: introduce repack.writeBitmaps config option + t7700: drop explicit --no-pack-kept-objects from .keep test + parse_diff_color_slot: drop ofs parameter + daemon: mark some strings as const + avoid using skip_prefix as a boolean + strbuf: add xstrfmt helper + use xstrfmt in favor of manual size calculations + use xstrdup instead of xmalloc + strcpy + use xstrfmt to replace xmalloc + sprintf + use xstrfmt to replace xmalloc + strcpy/strcat + setup_git_env: use git_pathdup instead of xmalloc + sprintf + sequencer: use argv_array_pushf + merge: use argv_array when spawning merge strategy + walker_fetch: fix minor memory leak + unique_path: fix unlikely heap overflow + refactor skip_prefix to return a boolean + apply: use skip_prefix instead of raw addition + fast-import: fix read of uninitialized argv memory + transport-helper: avoid reading past end-of-string + use skip_prefix to avoid magic numbers + use skip_prefix to avoid repeating strings + fast-import: use skip_prefix for parsing input + daemon: use skip_prefix to avoid magic numbers + stat_opt: check extra strlen call + fast-import: refactor parsing of spaces + fetch-pack: refactor parsing in get_ack + git: avoid magic number with skip_prefix + use skip_prefix to avoid repeated calculations + http-push: refactor parsing of remote object names + setup_git_env(): introduce git_path_from_env() helper + replace: replace spaces with tabs in indentation + avoid double close of descriptors handed to run_command + replace: use argv_array in export_object + replace: add a --raw mode for --edit + add strip_suffix function + implement ends_with via strip_suffix + replace has_extension with ends_with + use strip_suffix instead of ends_with in simple cases + index-pack: use strip_suffix to avoid magic numbers + strbuf: implement strbuf_strip_suffix + verify-pack: use strbuf_strip_suffix + prepare_packed_git_one: refactor duplicate-pack check + remote-curl: do not complain on EOF from parent git + remote-curl: use error instead of fprintf(stderr) + remote-curl: mark helper-protocol errors more clearly + tag: use skip_prefix instead of magic numbers + alloc: write out allocator definitions + move setting of object->type to alloc_* functions + parse_object_buffer: do not set object type + add object_as_type helper for casting objects + alloc: factor out commit index + object_as_type: set commit index + diff-tree: avoid lookup_unknown_object + prio-queue: factor out compare and swap operations + prio-queue: make output stable with respect to insertion + paint_down_to_common: use prio_queue + t5539: update a flaky test + +Jens Lehmann (19): + git-gui: show staged submodules regardless of ignore config + git-gui: tolerate major version changes when comparing the git version + gitk: Show staged submodules regardless of ignore config + test-lib: add test_dir_is_empty() + t/Makefile: check helper scripts for non-portable shell commands too + t/Makefile: always test all lint targets when running tests + submodules: add the lib-submodule-update.sh test library + checkout: call the new submodule update test framework + apply: add t4137 for submodule updates + read-tree: add t1013 for submodule updates + reset: add t7112 for submodule updates + bisect: add t6041 for submodule updates + merge: add t7613 for submodule updates + rebase: add t3426 for submodule updates + pull: add t5572 for submodule updates + cherry-pick: add t3512 for submodule updates + am: add t4255 for submodule updates + stash: add t3906 for submodule updates + revert: add t3513 for submodule updates + +Jeremiah Mahler (4): + format-patch: add "--signature-file=<file>" option + t9138-git-svn-authors-prog.sh fixups + name-hash.c: replace cache_name_compare() with memcmp(3) + cleanup duplicate name_compare() functions + +Johannes Schindelin (1): + Win32: let mingw_execve() return an int + +John Keeping (2): + rebase--am: use --cherry-pick instead of --ignore-if-in-upstream + rebase: omit patch-identical commits with --fork-point + +Jonathan Nieder (4): + contrib: remove vim support instructions + contrib: remove git-diffall + test-lint: find unportable sed, echo, test, and export usage after && + test doc: test_write_lines does not split its arguments + +Junio C Hamano (37): + send-email: windows drive prefix (e.g. C:) appears only at the beginning + mergetool: document the default for --[no-]prompt + CodingGuidelines: once it is in, it is not worth the code churn + CodingGuidelines: give an example for case/esac statement + CodingGuidelines: give an example for redirection + CodingGuidelines: give an example for control statements + CodingGuidelines: give an example for shell function preamble + CodingGuidelines: do not call the conditional statement "if()" + CodingGuidelines: on comparison + CodingGuidelines: on splitting a long line + CodingGuidelines: avoid "test <cond> -a/-o <cond>" + fetch doc: update introductory part for clarity + fetch doc: update note on '+' in front of the refspec + fetch doc: remove notes on outdated "mixed layout" + First batch for 2.1 + fetch doc: on pulling multiple refspecs + fetch doc: update refspec format description + fetch doc: remove "short-cut" section + fetch doc: add a section on configured remote-tracking branches + fetch: allow explicit --refmap to override configuration + Second batch for 2.1 + Update draft release notes to 2.1 + test: turn EXPENSIVE into a lazy prerequisite + test: turn USR_BIN_TIME into a lazy prerequisite + t3302: coding style updates + t3302: do not chdir around in the primary test process + t3302: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite + t3419: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite + Third batch for 2.1 + git-submodule.sh: avoid "echo" path-like values + Fourth batch for 2.1 + Fifth batch for 2.1 + Sixth batch for 2.1 + Seventh batch for 2.1 + Eighth batch for 2.1 + Ninth batch for 2.1 + Git 2.1.0-rc0 + +Karsten Blees (46): + MSVC: link dynamically to the CRT + Win32 dirent: remove unused dirent.d_ino member + Win32 dirent: remove unused dirent.d_reclen member + Win32 dirent: change FILENAME_MAX to MAX_PATH + Win32 dirent: clarify #include directives + Win32 dirent: improve dirent implementation + Win32: move main macro to a function + Win32: support Unicode console output + Win32: detect console streams more reliably + Win32: warn if the console font doesn't support Unicode + Win32: add Unicode conversion functions + Win32: Thread-safe windows console output + Win32: fix broken pipe detection + Win32: reliably detect console pipe handles + Win32: simplify internal mingw_spawn* APIs + Win32: fix potential multi-threading issue + MinGW: disable CRT command line globbing + Win32: Unicode arguments (outgoing) + Win32: Unicode arguments (incoming) + trace: move trace declarations from cache.h to new trace.h + trace: consistently name the format parameter + trace: remove redundant printf format attribute + symlinks: remove PATH_MAX limitation + hashmap: factor out getting a hash code from a SHA1 + hashmap: improve struct hashmap member documentation + hashmap: add simplified hashmap_get_from_hash() API + hashmap: add string interning API + cache.h: rename cache_def_free to cache_def_clear + trace: improve trace performance + Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables + sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API + trace: add infrastructure to augment trace output with additional info + trace: disable additional trace output for unit tests + trace: add current timestamp to all trace output + trace: move code around, in preparation to file:line output + trace: add 'file:line' to all trace output + trace: add high resolution timer function to debug performance issues + trace: add trace_performance facility to debug performance issues + git: add performance tracing for git's main() function to debug scripts + wt-status: simplify performance measurement by using getnanotime() + progress: simplify performance measurement by using getnanotime() + api-trace.txt: add trace API documentation + Win32: Unicode file name support (except dirent) + Win32: Unicode file name support (dirent) + MinGW: fix compile error due to missing ELOOP + config: use chmod() instead of fchmod() + +Kirill Smelkov (20): + combine-diff: move show_log_first logic/action out of paths scanning + combine-diff: move changed-paths scanning logic into its own function + tree-diff: no need to manually verify that there is no mode change for a path + tree-diff: no need to pass match to skip_uninteresting() + tree-diff: show_tree() is not needed + tree-diff: consolidate code for emitting diffs and recursion in one place + tree-diff: don't assume compare_tree_entry() returns -1,0,1 + tree-diff: move all action-taking code out of compare_tree_entry() + tree-diff: rename compare_tree_entry -> tree_entry_pathcmp + tree-diff: show_path prototype is not needed anymore + tree-diff: simplify tree_entry_pathcmp + tree-diff: remove special-case diff-emitting code for empty-tree cases + tree-diff: diff_tree() should now be static + tree-diff: rework diff_tree interface to be sha1 based + tree-diff: no need to call "full" diff_tree_sha1 from show_path() + tree-diff: reuse base str(buf) memory on sub-tree recursion + Portable alloca for Git + tree-diff: rework diff_tree() to generate diffs for multiparent cases as well + combine-diff: speed it up, by using multiparent diff tree-walker directly + mingw: activate alloca + +Linus Torvalds (1): + git log: support "auto" decorations + +Luis R. Rodriguez (1): + git.c: treat RUN_SETUP_GENTLY and RUN_SETUP as mutually exclusive + +Marc Branchaud (2): + fetch doc: move FETCH_HEAD material lower and add an example + docs: Explain the purpose of fetch's and pull's <refspec> parameter. + +Matthieu Moy (3): + git-remote-mediawiki: allow stop/start-ing the test server + git-remote-mediawiki: fix encoding issue for UTF-8 media files + pager: remove 'S' from $LESS by default + +Max Kirillov (4): + gitk: Switch to patch mode when searching for line origin + gitk: Add visiblerefs option, which lists always-shown branches + t6023-merge-file.sh: fix and mark as broken invalid tests + git-merge-file: do not add LF at EOF while applying unrelated change + +Maxime Coste (2): + git-p4: Do not include diff in spec file when just preparing p4 + git-p4: fix submit in non --prepare-p4-only mode + +Michael Barabanov (1): + use local cloning if insteadOf makes a local URL + +Michael Haggerty (27): + t1400: fix name and expected result of one test + t1400: provide more usual input to the command + parse_arg(): really test that argument is properly terminated + t1400: add some more tests involving quoted arguments + refs.h: rename the action_on_err constants + update_refs(): fix constness + update-ref --stdin: read the whole input at once + parse_cmd_verify(): copy old_sha1 instead of evaluating <oldvalue> twice + update-ref.c: extract a new function, parse_refname() + update-ref --stdin: improve error messages for invalid values + update-ref --stdin: make error messages more consistent + update-ref --stdin: simplify error messages for missing oldvalues + t1400: test that stdin -z update treats empty <newvalue> as zeros + update-ref.c: extract a new function, parse_next_sha1() + update-ref --stdin -z: deprecate interpreting the empty string as zeros + t1400: test one mistake at a time + update-ref --stdin: improve the error message for unexpected EOF + update-ref --stdin: harmonize error messages + refs: add a concept of a reference transaction + update-ref --stdin: reimplement using reference transactions + refs: remove API function update_refs() + struct ref_update: rename field "ref_name" to "refname" + struct ref_update: store refname as a FLEX_ARRAY + ref_transaction_commit(): simplify code using temporary variables + struct ref_update: add a lock field + struct ref_update: add a type field + ref_transaction_commit(): work with transaction->updates in place + +Michael J Gruber (5): + gpg-interface: provide clear helper for struct signature_check + gpg-interface: provide access to the payload + verify-commit: scriptable commit signature verification + t7510: exit for loop with test result + t7510: test verify-commit + +Michael S. Tsirkin (6): + git-send-email: two new options: to-cover, cc-cover + test/send-email: to-cover, cc-cover tests + rebase --keep-empty -i: add test + test: add test_write_lines helper + patch-id: make it stable against hunk reordering + patch-id-test: test stable and unstable behaviour + +Nguyễn Thái Ngọc Duy (38): + ewah: fix constness of ewah_read_mmap + ewah: delete unused ewah_read_mmap_native declaration + sequencer: do not update/refresh index if the lock cannot be held + config: be strict on core.commentChar + commit: allow core.commentChar=auto for character auto selection + git potty: restore environments after alias expansion + read-cache: new API write_locked_index instead of write_index/write_cache + read-cache: relocate and unexport commit_locked_index() + read-cache: store in-memory flags in the first 12 bits of ce_flags + read-cache: be strict about "changed" in remove_marked_cache_entries() + read-cache: be specific what part of the index has changed + update-index: be specific what part of the index has changed + resolve-undo: be specific what part of the index has changed + unpack-trees: be specific what part of the index has changed + cache-tree: mark istate->cache_changed on cache tree invalidation + cache-tree: mark istate->cache_changed on cache tree update + cache-tree: mark istate->cache_changed on prime_cache_tree() + entry.c: update cache_changed if refresh_cache is set in checkout_entry() + read-cache: save index SHA-1 after reading + read-cache: split-index mode + read-cache: mark new entries for split index + read-cache: save deleted entries in split index + read-cache: mark updated entries for split index + split-index: the writing part + split-index: the reading part + split-index: do not invalidate cache-tree at read time + split-index: strip pathname of on-disk replaced entries + update-index: new options to enable/disable split index mode + update-index --split-index: do not split if $GIT_DIR is read only + rev-parse: add --shared-index-path to get shared index path + read-tree: force split-index mode off on --index-output + read-tree: note about dropping split-index mode or index version + read-cache: force split index mode with GIT_TEST_SPLIT_INDEX + t2104: make sure split index mode is off for the version test + t1700: new tests for split-index mode + dir.c: coding style fix + dir.h: move struct exclude declaration to top level + prep_exclude: remove the artificial PATH_MAX limit + +Pat Thoyts (2): + wincred: add install target + wincred: avoid overwriting configured variables + +Ramsay Jones (2): + t0000-*.sh: fix the GIT_SKIP_TESTS sub-tests + alloc.c: remove the alloc_raw_commit_node() function + +René Scharfe (22): + Use starts_with() for C strings instead of memcmp() + blame: factor out get_next_line() + blame: simplify prepare_lines() + wt-status: use argv_array for environment + wt-status: simplify building of summary limit argument + sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one() + t5000, t5003: simplify commit + diff-tree: call free_commit_list() instead of duplicating its code + line-log: use commit_list_append() instead of duplicating its code + use strbuf_addbuf for adding strbufs + use strbuf_addch for adding single characters + merge: simplify merge_trivial() by using commit_list_append() + commit: use commit_list_append() instead of duplicating its code + fsck: simplify fsck_commit_buffer() by using commit_list_count() + strbuf: use strbuf_addstr() for adding C strings + use commit_list_count() to count the members of commit_lists + run-command: use internal argv_array of struct child_process in run_hook_ve() + transport: simplify fetch_objs_via_rsync() using argv_array + fast-import: use hashcmp() for SHA1 hash comparison + bundle: use internal argv_array of struct child_process in create_bundle() + remote-testsvn: use internal argv_array of struct child_process in cmd_import() + unix-socket: remove stale socket before calling chdir() + +RomanBelinsky (1): + SVN.pm::parse_svn_date: allow timestamps with a single-digit hour + +Ronnie Sahlberg (26): + sequencer.c: check for lock failure and bail early in fast_forward_to + commit.c: check for lock error and return early + refs.c: add new functions reflog_exists and delete_reflog + checkout.c: use ref_exists instead of file_exist + refs.c: change read_ref_at to use the reflog iterators + enums: remove trailing ',' after last item in enum + refs.c: remove ref_transaction_rollback + refs.c: ref_transaction_commit should not free the transaction + refs.c: constify the sha arguments for ref_transaction_create|delete|update + refs.c: allow passing NULL to ref_transaction_free + refs.c: add a strbuf argument to ref_transaction_commit for error logging + lockfile.c: add a new public function unable_to_lock_message + lockfile.c: make lock_file return a meaningful errno on failurei + refs.c: add an err argument to repack_without_refs + refs.c: make sure log_ref_setup returns a meaningful errno + refs.c: verify_lock should set errno to something meaningful + refs.c: make remove_empty_directories always set errno to something sane + refs.c: commit_packed_refs to return a meaningful errno on failure + refs.c: make resolve_ref_unsafe set errno to something meaningful on error + refs.c: log_ref_write should try to return meaningful errno + refs.c: make ref_update_reject_duplicates take a strbuf argument for errors + refs.c: make update_ref_write update a strbuf on failure + update-ref: use err argument to get error from ref_transaction_commit + refs.c: remove the onerr argument to ref_transaction_commit + refs.c: change ref_transaction_update() to do error checking and return status + refs.c: add a public is_branch function + +Stefan Beller (1): + .mailmap: map different names with the same email address together + +Steffen Prohaska (1): + completion: handle '!f() { ... }; f' and "!sh -c '...' -" aliases + +Stepan Kasal (2): + Revert "submodules: fix ambiguous absolute paths under Windows" + mingw: avoid const warning + +Stephen P. Smith (1): + How to keep a project's canonical history correct. + +Steve Hoelzer (1): + environment.c: enable core.preloadindex by default + +Tanay Abhra (4): + string-list: spell all values out that are given to a string_list initializer + imap-send: use skip_prefix instead of using magic numbers + string-list: add string_list initializer helper function + replace memset with string-list initializers + +Theodore Leblond (1): + compat/poll: sleep 1 millisecond to avoid busy wait + +Thorsten Glaser (1): + builtin/tag.c: show tag name to hint in the message editor + +Torsten Bögershausen (7): + utf8.c: use a table for double_width + utf8: make it easier to auto-update git_wcwidth() + t5551: fix the 50,000 tag test + t9001: avoid non-portable '\n' with sed + Update of unicode_width.h to Unicode Version 7.0 + t0025: rename the test files + t0027: combinations of core.autocrlf, core.eol and text + +Trần Ngọc Quân (1): + l10n: Init Vietnamese translation + +W. Trevor King (1): + Documentation: mention config sources for @{upstream} + +William Giokas (1): + svn-fe: conform to pep8 + +Yi EungJun (1): + http: fix charset detection of extract_content_type() + +Øyvind A. Holm (1): + .gitignore: "git-verify-commit" is a generated file + + +Version v2.0.5; changes since v2.0.4: +------------------------------------- + +Jeff King (8): + unpack-trees: propagate errors adding entries to the index + read-tree: add tests for confusing paths like ".." and ".git" + verify_dotfile(): reject .git case-insensitively + t1450: refactor ".", "..", and ".git" fsck tests + fsck: notice .git case-insensitively + utf8: add is_hfs_dotgit() helper + read-cache: optionally disallow HFS+ .git variants + fsck: complain about HFS+ ".git" aliases in trees + +Johannes Schindelin (3): + path: add is_ntfs_dotgit() helper + read-cache: optionally disallow NTFS .git variants + fsck: complain about NTFS ".git" aliases in trees + +Junio C Hamano (3): + Git 1.8.5.6 + Git 1.9.5 + Git 2.0.5 + +Wieland Hoffmann (1): + git-tag.txt: Add a missing hyphen to `-s` + + +Version v2.0.4; changes since v2.0.3: +------------------------------------- + +Fabian Ruch (1): + commit --amend: test specifies authorship but forgets to check + +Jeff King (8): + alloc: write out allocator definitions + move setting of object->type to alloc_* functions + parse_object_buffer: do not set object type + add object_as_type helper for casting objects + alloc: factor out commit index + object_as_type: set commit index + diff-tree: avoid lookup_unknown_object + t4013: test diff-tree's --stdin commit formatting + +Junio C Hamano (1): + Git 2.0.4 + +Ramsay Jones (1): + alloc.c: remove the alloc_raw_commit_node() function + + +Version v2.0.3; changes since v2.0.2: +------------------------------------- + +Abbaad Haider (1): + http-push.c: make CURLOPT_IOCTLDATA a usable pointer + +Ben Walton (1): + compat/bswap.h: fix endianness detection + +Brian Gesiak (12): + builtin/ls-remote.c: rearrange xcalloc arguments + builtin/remote.c: rearrange xcalloc arguments + commit.c: rearrange xcalloc arguments + config.c: rearrange xcalloc arguments + diff.c: rearrange xcalloc arguments + http-push.c: rearrange xcalloc arguments + imap-send.c: rearrange xcalloc arguments + notes.c: rearrange xcalloc arguments + pack-revindex.c: rearrange xcalloc arguments + reflog-walk.c: rearrange xcalloc arguments + remote.c: rearrange xcalloc arguments + transport-helper.c: rearrange xcalloc arguments + +Charles Bailey (2): + compat/bswap.h: detect endianness on more platforms that don't use BYTE_ORDER + filter-branch: eliminate duplicate mapped parents + +Elia Pinto (1): + scripts: "export VAR=VALUE" construct is not portable + +Jeremiah Mahler (3): + Documentation: wording fixes in the user manual and glossary + t/t7810-grep.sh: remove duplicate test_config() + api-strbuf.txt minor typos + +Johannes Sixt (1): + fix brown paper bag breakage in t5150-request-pull.sh + +Jonathan McCrohan (1): + git-instaweb: add support for Apache 2.4 + +Junio C Hamano (3): + compat/bswap.h: restore preference __BIG_ENDIAN over BIG_ENDIAN + scripts: more "export VAR=VALUE" fixes + Git 2.0.3 + +Michael J Gruber (1): + log: correctly identify mergetag signature verification status + +Philip Oakley (1): + doc: give some guidelines for error messages + +René Scharfe (2): + use xcalloc() to allocate zero-initialized memory + use xmemdupz() to allocate copies of strings given by start and length + +Stefan Beller (2): + git.1: switch homepage for stats + .mailmap: combine Stefan Beller's emails + +Stepan Kasal (1): + t5000, t5003: do not use test_cmp to compare binary files + +Yi EungJun (1): + http-protocol.txt: Basic Auth is defined in RFC 2617, not RFC 2616 + +Zoltan Klinger (1): + log: fix indentation for --graph --show-signature + +brian m. carlson (1): + Documentation: fix missing text for rev-parse --verify + + +Version v2.0.2; changes since v2.0.1: +------------------------------------- + +Jeff King (27): + repack: do not accidentally pack kept objects by default + repack: respect pack.writebitmaps + repack: s/write_bitmap/&s/ in code + commit_tree: take a pointer/len pair rather than a const strbuf + replace dangerous uses of strbuf_attach + alloc: include any-object allocations in alloc_report + commit: push commit_index update into alloc_commit_node + do not create "struct commit" with xcalloc + logmsg_reencode: return const buffer + sequencer: use logmsg_reencode in get_message + provide a helper to free commit buffer + provide a helper to set the commit buffer + provide helpers to access the commit buffer + use get_cached_commit_buffer where appropriate + use get_commit_buffer to avoid duplicate code + convert logmsg_reencode to get_commit_buffer + use get_commit_buffer everywhere + commit-slab: provide a static initializer + commit: convert commit->buffer to a slab + commit: record buffer length in cache + reuse cached commit buffer when parsing signatures + t7510: stop referring to master in later tests + t7510: test a commit signed by an unknown key + t7510: check %G* pretty-format output + pretty: avoid reading past end-of-string with "%G" + move "%G" format test from t7510 to t6006 + t7300: repair filesystem permissions with test_when_finished + +Junio C Hamano (4): + t0008: do not depend on 'echo' handling backslashes specially + builtin/clone.c: detect a clone starting at a tag correctly + Start preparing for 2.0.2 + Git 2.0.2 + +Matthew Chen (1): + submodule: document "sync --recursive" + +Michael J Gruber (1): + t7510: use consistent &&-chains in loop + +Pasha Bolokhov (1): + dir.c:trim_trailing_spaces(): fix for " \ " sequence + +René Scharfe (2): + sha1_file: avoid overrunning alternate object base string + annotate: use argv_array + +Ronnie Sahlberg (1): + enums: remove trailing ',' after last item in enum + +brian m. carlson (1): + rebase--merge: fix --skip with two conflicts in a row + + +Version v2.0.1; changes since v2.0.0: +------------------------------------- + +Alexey Shumkin (5): + t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs + t4041, t4205, t6006, t7102: don't hardcode tested encoding value + t4205 (log-pretty-format): use `tformat` rather than `format` + t4205, t6006: add tests that fail with i18n.logOutputEncoding set + pretty.c: format string with truncate respects logOutputEncoding + +David Turner (2): + merge-recursive.c: fix case-changing merge bug + mv: allow renaming to fix case on case insensitive filesystems + +Felipe Contreras (1): + rerere: fix for merge.conflictstyle + +Jacek Konieczny (1): + pull: do not abuse 'break' inside a shell 'case' + +Jeff King (7): + commit: do not complain of empty messages from -C + index-pack: distinguish missing objects from type errors + run_diff_files: do not look at uninitialized stat data + open_sha1_file: report "most interesting" errno + move "--follow needs one pathspec" rule to diff_setup_done + t5537: re-drop http tests + update-index: fix segfault with missing --cacheinfo argument + +Jens Lehmann (2): + status/commit: show staged submodules regardless of ignore config + commit -m: commit staged submodules regardless of ignore config + +Jens Lindström (3): + remote rm: delete remote configuration as the last + remote: repack packed-refs once when deleting multiple refs + remote prune: optimize "dangling symref" check/warning + +Jiang Xin (2): + blame: fix broken time_buf paddings in relative timestamp + blame: dynamic blame_date_width for different locales + +Johannes Schindelin (1): + git grep -O -i: if the pager is 'less', pass the '-I' option + +John Keeping (2): + completion: add a note that merge options are shared + completion: add missing options for git-merge + +Junio C Hamano (5): + apply --ignore-space-change: lines with and without leading whitespaces do not match + Git 1.9.4 + shortlog: allow --exclude=<glob> to be passed + revision: parse "git log -<count>" more carefully + Git 2.0.1 + +Jörn Engel (1): + pager: do allow spawning pager recursively + +Matthieu Moy (1): + rebase -i: test "Nothing to do" case with autostash + +Max Kirillov (1): + git-show: fix 'git show -s' to not add extra terminator after merge commit + +Michael Naumov (1): + sideband.c: do not use ANSI control sequence on non-terminal + +Nguyễn Thái Ngọc Duy (2): + index-pack: work around thread-unsafe pread() + gc --auto: do not lock refs in the background + +Nick Alcock (1): + t5538: move http push tests out to t5542 + +Ramkumar Ramachandra (1): + rebase -i: handle "Nothing to do" case with autostash + +René Scharfe (2): + mailinfo: use strcmp() for string comparison + pack-objects: use free()+xcalloc() instead of xrealloc()+memset() + +Yiannis Marangos (2): + wrapper.c: add xpread() similar to xread() + read-cache.c: verify index file before we opportunistically update it + +brian m. carlson (1): + blame: correctly handle files regardless of autocrlf + +Øystein Walle (1): + config: respect '~' and '~user' in mailmap.file + + +Version v2.0.0; changes since v2.0.0-rc4: +----------------------------------------- + +Junio C Hamano (2): + Update draft release notes to 2.0 + Git 2.0 + + +Version v2.0.0-rc4; changes since v2.0.0-rc3: +--------------------------------------------- + +Alexander Shopov (1): + l10n: Updated Bulgarian translation of git (1307t0f921u) + +Anders Kaseorg (1): + Documentation/technical/api-hashmap: remove source highlighting + +Felipe Contreras (2): + contrib: completion: fix 'eread()' namespace + contrib: remote-helpers: add move warnings (v2.0) + +Grégoire Paris (1): + fr: a lot of good fixups + +Jason St. John (1): + RelNotes/2.0.0.txt: Fix several grammar issues, notably a lack of hyphens, double quotes, or articles + +Jens Lehmann (1): + git-gui: tolerate major version changes when comparing the git version + +Junio C Hamano (5): + request-pull: resurrect for-linus -> tags/for-linus DWIM + Revert "Merge branch 'fc/transport-helper-sync-error-fix'" + remote-helpers: point at their upstream repositories + Revert "Merge branch 'jc/graduate-remote-hg-bzr' (early part)" + Git 2.0-rc4 + +Richard Hansen (1): + git-prompt.sh: don't assume the shell expands the value of PS1 + + +Version v2.0.0-rc3; changes since v2.0.0-rc2: +--------------------------------------------- + +Jonathan Nieder (1): + shell doc: remove stray "+" in example + +Junio C Hamano (4): + Update draft release notes for 2.0 + Start preparing for 1.9.3 + Git 1.9.3 + Git 2.0-rc3 + +Peter Krefting (1): + l10n: Fix a couple of typos in the Swedish translation + +Tolga Ceylan (1): + git-p4: format-patch to diff-tree change breaks binary patches + +Øyvind A. Holm (1): + RelNotes/2.0.0: Grammar and typo fixes + + +Version v2.0.0-rc2; changes since v2.0.0-rc1: +--------------------------------------------- + +Dave Borowitz (1): + Makefile: default to -lcurl when no CURL_CONFIG or CURLDIR + +Jean-Noël Avila (1): + l10n: fr translation for v2.0.0rc0 (2228t) + +Jeff King (1): + run_external_diff: use an argv_array for the command line + +Jiang Xin (2): + l10n: git.pot: v2.0.0 round 1 (45 new, 28 removed) + l10n: zh_CN.po: translate 46 new messages (2229t0f0u) + +Junio C Hamano (2): + Revert the whole "ask curl-config" topic for now + Git 2.0-rc2 + +Kyle J. McKay (1): + t9117: use --prefix "" instead of --prefix="" + +Martin Erik Werner (1): + setup: fix windows path buffer over-stepping + +Max Kirillov (1): + Documentation: git-gui: describe gui.displayuntracked + +Peter Krefting (1): + l10n: Update Swedish translation (2228t0f0u) + +Ralf Thielow (3): + l10n: de.po: correct translation of "completed" after resolving deltas + l10n: de.po: translate 45 new messages + l10n: de.po: improve hint for autocorrected command execution + +Richard Hansen (1): + git-prompt.sh: don't put unsanitized branch names in $PS1 + +Trần Ngọc Quân (1): + l10n: vi.po (2228t): Update and minor fix + + +Version v2.0.0-rc1; changes since v2.0.0-rc0: +--------------------------------------------- + +Dave Borowitz (2): + Makefile: use curl-config to determine curl flags + Makefile: allow static linking against libcurl + +Elia Pinto (14): + howto-index.sh: use the $( ... ) construct for command substitution + install-webdoc.sh: use the $( ... ) construct for command substitution + git-checkout.sh: use the $( ... ) construct for command substitution + git-clone.sh: use the $( ... ) construct for command substitution + git-commit.sh: use the $( ... ) construct for command substitution + git-fetch.sh: use the $( ... ) construct for command substitution + git-ls-remote.sh: use the $( ... ) construct for command substitution + git-merge.sh: use the $( ... ) construct for command substitution + git-repack.sh: use the $( ... ) construct for command substitution + git-resolve.sh: use the $( ... ) construct for command substitution + git-revert.sh: use the $( ... ) construct for command substitution + git-tag.sh: use the $( ... ) construct for command substitution + t9360-mw-to-git-clone.sh: use the $( ... ) construct for command substitution + t9362-mw-to-git-utf8.sh: use the $( ... ) construct for command substitution + +Felipe Contreras (6): + transport-helper: remove barely used xchgline() + remote-helpers: make recvline return an error + transport-helper: propagate recvline() error pushing + transport-helper: trivial cleanup + transport-helper: fix sync issue on crashes + t5801 (remote-helpers): cleanup environment sets + +Jiang Xin (3): + i18n: fix uncatchable comments for translators in date.c + i18n: remove obsolete comments for translators in diffstat generation + i18n: only extract comments marked with "TRANSLATORS:" + +Johan Herland (1): + Git 2.0: git svn: Set default --prefix='origin/' if --prefix is not given + +Junio C Hamano (3): + i18n: mention "TRANSLATORS:" marker in Documentation/CodingGuidelines + Update draft release notes to 2.0 + Git 2.0-rc1 + +Kyle J. McKay (3): + rebase: avoid non-function use of "return" on FreeBSD + Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD" + ewah_bitmap.c: do not assume size_t and eword_t are the same size + + +Version v2.0.0-rc0; changes since v1.9.5: +----------------------------------------- + +Adam (1): + branch.c: install_branch_config: simplify if chain + +Albert L. Lash, IV (4): + docs/merge-strategies: remove hyphen from mis-merges + docs/git-remote: capitalize first word of initial blurb + docs/git-clone: clarify use of --no-hardlinks option + docs/git-blame: explain more clearly the example pickaxe use + +Andrew Keller (1): + gitweb: Avoid overflowing page body frame with large images + +Astril Hayato (1): + Documentation/gitk: document the location of the configulation file + +Benoit Sigoure (1): + git-compat-util.h: #undef (v)snprintf before #define them + +Brian Bourn (2): + diff-no-index: rename read_directory() + diff-no-index: replace manual "."/".." check with is_dot_or_dotdot() + +Brian Gesiak (3): + t3200-branch: test setting branch as own upstream + branch: use skip_prefix() in install_branch_config() + rebase: allow "-" short-hand for the previous branch + +Charles Bailey (2): + dir.c: make git_fnmatch() not inline + tests: don't rely on strerror text when testing rmdir failure + +Chris Angelico (1): + config.txt: third-party tools may and do use their own variables + +Chris Packham (2): + Documentation/git-am: Document supported --patch-format options + Documentation/git-am: typofix + +Christian Couder (1): + strbuf: remove prefixcmp() and suffixcmp() + +David Aguilar (2): + pull: add pull.ff configuration + pull: add --ff-only to the help text + +David Kastrup (6): + builtin/blame.c: struct blame_entry does not need a prev link + builtin/blame.c: eliminate same_suspect() + builtin/blame.c::prepare_lines: fix allocation size of sb->lineno + blame.c: prepare_lines should not call xrealloc for every line + builtin/blame.c::find_copy_in_blob: no need to scan for region end + skip_prefix(): scan prefix only once + +David Tran (1): + tests: use "env" to run commands with temporary env-var settings + +Dirk Wallenstein (1): + doc: status, remove leftover statement about '#' prefix + +Dmitry Marakasov (1): + configure.ac: link with -liconv for locale_charset() + +Dmitry S. Dolzhenko (15): + commit.c: use the generic "sha1_pos" function for lookup + builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path() + bundle.c: use ALLOC_GROW() in add_to_ref_list() + cache-tree.c: use ALLOC_GROW() in find_subtree() + commit.c: use ALLOC_GROW() in register_commit_graft() + diff.c: use ALLOC_GROW() + diffcore-rename.c: use ALLOC_GROW() + patch-ids.c: use ALLOC_GROW() in add_commit() + replace_object.c: use ALLOC_GROW() in register_replace_object() + reflog-walk.c: use ALLOC_GROW() + dir.c: use ALLOC_GROW() in create_simplify() + attr.c: use ALLOC_GROW() in handle_attr_line() + builtin/mktree.c: use ALLOC_GROW() in append_to_tree() + read-cache.c: use ALLOC_GROW() in add_index_entry() + sha1_file.c: use ALLOC_GROW() in pretend_sha1_file() + +Elia Pinto (9): + bisect.c: reduce scope of variable + builtin/apply.c: reduce scope of variables + builtin/blame.c: reduce scope of variables + builtin/clean.c: reduce scope of variable + builtin/commit.c: reduce scope of variables + builtin/fetch.c: reduce scope of variable + builtin/gc.c: reduce scope of variables + check-builtins.sh: use the $(...) construct for command substitution + git-am.sh: use the $(...) construct for command substitution + +Eric Sunshine (2): + name-hash: retire unused index_name_exists() + sh-i18n--envsubst: retire unused string_list_member() + +Fabian Ruch (1): + add: use struct argv_array in run_add_interactive() + +Felipe Contreras (10): + transport-helper: mismerge fix + transport-helper: don't update refs in dry-run + transport-helper: add 'force' to 'export' helpers + transport-helper: check for 'forced update' message + remote-helpers: allow all tests running from any dir + remote-hg: always normalize paths + remote-bzr: add support for older versions + completion: fix completing args of aliased "push", "fetch", etc. + remote-bzr: trivial test fix + prompt: fix missing file errors in zsh + +Hiroyuki Sano (1): + fsck: use bitwise-or assignment operator to set flag + +Ilya Bobyr (1): + rev-parse --parseopt: option argument name hints + +Jacopo Notarstefano (2): + git-bisect.sh: fix a few style issues + branch.c: delete size check of newly tracked branch names + +Jeff King (43): + pack-objects: split add_object_entry + repack: stop using magic number for ARRAY_SIZE(exts) + repack: turn exts array into array-of-struct + repack: handle optional files created by pack-objects + t: add basic bitmap functionality tests + t/perf: add tests for pack bitmaps + cat-file: refactor error handling of batch_objects + cat-file: fix a minor memory leak in batch_objects + do not discard revindex when re-preparing packfiles + block-sha1: factor out get_be and put_be wrappers + read-cache: use get_be32 instead of hand-rolled ntoh_l + tests: auto-set git-daemon port + ewah: unconditionally ntohll ewah data + tests: turn on network daemon tests by default + http: never use curl_easy_perform + config: disallow relative include paths from blobs + docs: clarify remote restrictions for git-upload-archive + CodingGuidelines: mention C whitespace rules + repack: add `repack.packKeptObjects` config var + docs: mark info/grafts as outdated + match_explicit: hoist refspec lhs checks into their own function + match_explicit_lhs: allow a "verify only" mode + push: detect local refspec errors early + cat-file: restore warn_on_object_refname_ambiguity flag + rev-list: disable object/refname ambiguity check with --stdin + pack-objects: show progress for reused packfiles + pack-objects: show reused packfile objects in "Counting objects" + pack-objects: turn off bitmaps when skipping objects + subtree: initialize "prefix" variable + t/Makefile: stop setting GIT_CONFIG + t/test-lib: drop redundant unset of GIT_CONFIG + t: drop useless sane_unset GIT_* calls + t: stop using GIT_CONFIG to cross repo boundaries + t: prefer "git config --file" to GIT_CONFIG with test_must_fail + t: prefer "git config --file" to GIT_CONFIG + t0001: make symlink reinit test more careful + t0001: use test_path_is_* + t0001: use test_config_global + t0001: use test_must_fail + t0001: drop useless subshells + t0001: drop subshells just for "cd" + pack-objects: do not reuse packfiles without --delta-base-offset + config.c: mark die_bad_number as NORETURN + +Jens Lehmann (2): + submodule: don't access the .gitmodules cache entry after removing it + submodule update: consistently document the '--checkout' option + +Johan Herland (1): + notes: disallow reusing non-blob as a note object + +Johannes Sixt (11): + t0008: skip trailing space test on Windows + userdiff: support C++ ->* and .* operators in the word regexp + userdiff: support unsigned and long long suffixes of integer constants + t4018: an infrastructure to test hunk headers + t4018: convert perl pattern tests to the new infrastructure + t4018: convert java pattern test to the new infrastructure + t4018: convert custom pattern test to the new infrastructure + t4018: reduce test files for pattern compilation tests + t4018: test cases for the built-in cpp pattern + t4018: test cases showing that the cpp pattern misses many anchor points + userdiff: have 'cpp' hunk header pattern catch more C++ anchor points + +John Keeping (4): + notes-utils: handle boolean notes.rewritemode correctly + utf8: fix iconv error detection + utf8: use correct type for values in interval table + builtin/mv: don't use memory after free + +John Marshall (1): + stash doc: mention short form -k in save description + +Jonathan Nieder (3): + am doc: add a pointer to relevant hooks + .gitignore: test-hashmap is a generated file + test-hashmap.c: drop unnecessary #includes + +Junio C Hamano (34): + git add <pathspec>... defaults to "-A" + git add: -u/-A now affects the entire working tree + core.statinfo: remove as promised in Git 2.0 + push: switch default from "matching" to "simple" + diff: remove "diff-files -q" in a version of Git in a distant future + push: switch default from "matching" to "simple" + open_istream(): do not dereference NULL in the error case + combine-diff: simplify intersect_paths() further + commit-tree: add and document --no-gpg-sign + request-pull: pick up tag message as before + request-pull: test updates + request-pull: resurrect "pretty refname" feature + *.sh: drop useless use of "env" + tag: grok "--with" as synonym to "--contains" + Start preparing for Git 2.0 + request-pull: documentation updates + Update draft release notes to Git 2.0 + Update draft release notes to Git 2.0 + Update draft release notes to 2.0 + t1502: protect runs of SPs used in the indentation + parse-options: multi-word argh should use dash to separate words + update-index: teach --cacheinfo a new syntax "mode,sha1,path" + parse-options: make sure argh string does not have SP or _ + Update draft release notes to 2.0 + Update draft release notes to 2.0 + parse-options: add cast to correct pointer type to OPT_SET_PTR + Update draft release notes to 2.0 + Revert "Merge branch 'wt/doc-submodule-name-path-confusion-2'" + Revert "submodule: explicit local branch creation in module_clone" + Revert part of 384364b (Start preparing for Git 2.0, 2014-03-07) + Update draft release notes to 2.0 + Update draft release notes to 2.0 + Update draft release notes for 2.0 + Git 2.0-rc0 + +Karsten Blees (14): + add a hashtable implementation that supports O(1) removal + buitin/describe.c: use new hash map implementation + diffcore-rename.c: move code around to prepare for the next patch + diffcore-rename.c: simplify finding exact renames + diffcore-rename.c: use new hash map implementation + name-hash.c: use new hash map implementation for directories + name-hash.c: remove unreferenced directory entries + name-hash.c: use new hash map implementation for cache entries + name-hash.c: remove cache entries instead of marking them CE_UNHASHED + remove old hash.[ch] implementation + fix 'git update-index --verbose --again' output + builtin/update-index.c: cleanup update_one + read-cache.c: fix memory leaks caused by removed cache entries + hashmap.h: use 'unsigned int' for hash-codes everywhere + +Kirill A. Shutemov (3): + builtin/config.c: rename check_blob_write() -> check_write() + config: change git_config_with_options() interface + config: teach "git config --file -" to read from the standard input + +Kirill Smelkov (10): + tree-diff: allow diff_tree_sha1 to accept NULL sha1 + tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL + line-log: convert to using diff_tree_sha1() + revision: convert to using diff_tree_sha1() + tree-walk: finally switch over tree descriptors to contain a pre-parsed entry + diffcore-order: export generic ordering interface + diff test: add tests for combine-diff with orderfile + combine-diff: optimize combine_diff_path sets intersection + combine-diff: combine_diff_path.len is not needed anymore + tests: add checking that combine-diff emits only correct paths + +Lars Gullik Bjønnes (1): + git-contacts: do not fail parsing of good diffs + +Linus Torvalds (2): + request-pull: more strictly match local/remote branches + request-pull: allow "local:remote" to specify names on both ends + +Marat Radchenko (5): + MSVC: allow linking with the cURL library + MSVC: link in invalidcontinue.obj for better POSIX compatibility + MSVC: fix t0040-parse-options crash + parse-options: remove unused OPT_SET_PTR + MSVC: allow using ExtUtils::MakeMaker + +Max Horn (2): + transport-helper.c: do not overwrite forced bit + remote-hg: do not fail on invalid bookmarks + +Michael Haggerty (14): + rename read_replace_refs to check_replace_refs + replace_object: use struct members instead of an array + find_pack_entry(): document last_found_pack + sha1_file_name(): declare to return a const string + sha1_file.c: document a bunch of functions defined in the file + Add docstrings for lookup_replace_object() and do_lookup_replace_object() + Document some functions defined in object.c + cache_tree_find(): remove redundant checks + cache_tree_find(): find the end of path component using strchrnul() + cache_tree_find(): fix comment formatting + cache_tree_find(): remove redundant check + cache_tree_find(): remove early return + cache_tree_find(): use path variable when passing over slashes + git-multimail: update to version 1.0.0 + +Nguyễn Thái Ngọc Duy (24): + count-objects: recognize .bitmap in garbage-checking + t7101, t7014: rename test files to indicate what that file is for + reset: support "--mixed --intent-to-add" mode + daemon: move daemonize() to libgit.a + gc: config option for running --auto in background + dir: warn about trailing spaces in exclude patterns + dir: ignore trailing spaces in exclude patterns + wt-status.c: make cut_line[] const to shrink .data section a bit + wt-status.c: move cut-line print code out to wt_status_add_cut_line + use wildmatch() directly without fnmatch() wrapper + Revert "test-wildmatch: add "perf" command to compare wildmatch and fnmatch" + stop using fnmatch (either native or compat) + actually remove compat fnmatch source code + sha1_file: fix delta_stack memory leak in unpack_entry + i18n: mark all progress lines for translation + commit: add --cleanup=scissors + tag: support --sort=<spec> + strbuf: style fix -- top opening bracket on a separate line + upload-pack: send shallow info over stdin to pack-objects + connect.c: SP after "}", not TAB + object.h: centralize object flag allocation + log: add --show-linear-break to help see non-linear history + gc --aggressive: make --depth configurable + environment.c: fix constness for odb_pack_keep() + +Nicolas Vigier (10): + cherry-pick, revert: add the --gpg-sign option + git-sh-setup.sh: add variable to use the stuck-long mode + am: parse options in stuck-long mode + am: add the --gpg-sign option + rebase: remove useless arguments check + rebase: don't try to match -M option + rebase: parse options in stuck-long mode + rebase: add the --gpg-sign option + commit-tree: add the commit.gpgsign option to sign all commits + test the commit.gpgsign config option + +Ralf Thielow (1): + help.c: rename function "pretty_print_string_list" + +René Scharfe (13): + t7810: add missing variables to tests in loop + grep: support -h (no header) with --count + t4209: set up expectations up front + t4209: factor out helper function test_log() + t4209: factor out helper function test_log_icase() + t4209: use helper functions to test --grep + t4209: use helper functions to test --author + pickaxe: honor -i when used with -S and --pickaxe-regex + pickaxe: merge diffcore_pickaxe_grep() and diffcore_pickaxe_count() into diffcore_pickaxe() + pickaxe: move pickaxe() after pickaxe_match() + pickaxe: call strlen only when necessary in diffcore_pickaxe_count() + pickaxe: simplify kwset loop in contains() + rev-parse: fix typo in example on manpage + +Richard Hansen (2): + test-hg.sh: tests are now expected to pass + remote-bzr: support the new 'force' option + +Richard Lowe (1): + diffcore.h: be explicit about the signedness of is_binary + +Roberto Tyley (1): + Documentation: fix documentation AsciiDoc links for external urls + +Rohit Mani (1): + use strchrnul() in place of strchr() and strlen() + +Scott J. Goldman (1): + add uploadarchive.allowUnreachable option + +Sebastian Schuberth (1): + t5510: Do not use $(pwd) when fetching / pushing / pulling via rsync + +Simon Ruderich (2): + git-config: document interactive.singlekey requires Term::ReadKey + git-add--interactive: warn if module for interactive.singlekey is missing + +Sun He (3): + write_pack_file: use correct variable in diagnostic + finish_tmp_packfile():use strbuf for pathname construction + Use hashcpy() when copying object names + +Sup Yut Sum (1): + completion: teach --recurse-submodules to fetch, pull and push + +Tanay Abhra (1): + commit.c: use skip_prefix() instead of starts_with() + +Tay Ray Chuan (1): + demonstrate git-commit --dry-run exit code behaviour + +Thomas Gummerer (3): + introduce GIT_INDEX_VERSION environment variable + test-lib: allow setting the index format version + read-cache: add index.version config variable + +Vicent Marti (16): + revindex: export new APIs + pack-objects: refactor the packing list + pack-objects: factor out name_hash + revision: allow setting custom limiter function + sha1_file: export `git_open_noatime` + compat: add endianness helpers + ewah: compressed bitmap implementation + documentation: add documentation for the bitmap format + pack-bitmap: add support for bitmap indexes + pack-objects: use bitmaps when packing objects + rev-list: add bitmap mode to speed up object lists + pack-objects: implement bitmap writing + repack: consider bitmaps when performing repacks + pack-bitmap: implement optional name_hash cache + ewah: support platforms that require aligned reads + add `ignore_missing_links` mode to revwalk + +Vlad Dogaru (1): + git-p4: explicitly specify that HEAD is a revision + +W. Trevor King (6): + submodule: make 'checkout' update_module mode more explicit + submodule: document module_clone arguments in comments + submodule: explicit local branch creation in module_clone + Documentation: describe 'submodule update --remote' use case + doc: submodule.* config are keyed by submodule names + doc: submodule.*.branch config is keyed by name + +Yuxuan Shui (2): + fsck.c:fsck_ident(): ident points at a const string + fsck.c:fsck_commit(): use skip_prefix() to verify and skip constant + +brian m. carlson (1): + pull: add the --gpg-sign option. + +dequis (1): + remote-bzr: include authors field in pushed commits + +Дилян Палаузов (1): + Makefile: describe CHARSET_LIB better + + +Version v1.9.5; changes since v1.9.4: +------------------------------------- + +Jeff King (9): + t7300: repair filesystem permissions with test_when_finished + unpack-trees: propagate errors adding entries to the index + read-tree: add tests for confusing paths like ".." and ".git" + verify_dotfile(): reject .git case-insensitively + t1450: refactor ".", "..", and ".git" fsck tests + fsck: notice .git case-insensitively + utf8: add is_hfs_dotgit() helper + read-cache: optionally disallow HFS+ .git variants + fsck: complain about HFS+ ".git" aliases in trees + +Johannes Schindelin (3): + path: add is_ntfs_dotgit() helper + read-cache: optionally disallow NTFS .git variants + fsck: complain about NTFS ".git" aliases in trees + +Junio C Hamano (2): + Git 1.8.5.6 + Git 1.9.5 + +René Scharfe (1): + annotate: use argv_array + +Ronnie Sahlberg (1): + enums: remove trailing ',' after last item in enum + +Wieland Hoffmann (1): + git-tag.txt: Add a missing hyphen to `-s` + +brian m. carlson (1): + Documentation: fix missing text for rev-parse --verify + + +Version v1.9.4; changes since v1.9.3: +------------------------------------- + +Junio C Hamano (2): + t3004: add test for ls-files on symlinks via absolute paths + Git 1.9.4 + +Martin Erik Werner (6): + t0060: add test for prefix_path on symlinks via absolute paths + t0060: add test for prefix_path when path == work tree + t0060: add tests for prefix_path when path begins with work tree + setup: add abspath_part_inside_repo() function + setup: don't dereference in-tree symlinks for absolute paths + setup: fix windows path buffer over-stepping + +Richard Hansen (1): + git-prompt.sh: don't assume the shell expands the value of PS1 + + +Version v1.9.3; changes since v1.9.2: +------------------------------------- + +Jonathan Nieder (1): + shell doc: remove stray "+" in example + +Junio C Hamano (2): + Start preparing for 1.9.3 + Git 1.9.3 + +Kyle J. McKay (4): + test: fix t7001 cp to use POSIX options + test: fix t5560 on FreeBSD + rebase: avoid non-function use of "return" on FreeBSD + Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD" + +Richard Hansen (1): + git-prompt.sh: don't put unsanitized branch names in $PS1 + +Tolga Ceylan (1): + git-p4: format-patch to diff-tree change breaks binary patches + +Torsten Bögershausen (1): + utf8.c: partially update to version 6.3 + + +Version v1.9.2; changes since v1.9.1: +------------------------------------- + +Aman Gupta (1): + update-ref: fail create operation over stdin if ref already exists + +Benoit Pierre (7): + merge hook tests: fix missing '&&' in test + merge hook tests: use 'test_must_fail' instead of '!' + test patch hunk editing with "commit -p -m" + commit: fix patch hunk editing with "commit -p -m" + merge: fix GIT_EDITOR override for commit hook + merge hook tests: fix and update tests + run-command: mark run_hook_with_custom_index as deprecated + +Carlos Martín Nieto (2): + fetch: add a failing test for prunning with overlapping refspecs + fetch: handle overlaping refspecs on --prune + +Jeff King (6): + shallow: use stat_validity to check for up-to-date file + shallow: automatically clean up shallow tempfiles + t/lib-terminal: make TTY a lazy prerequisite + shallow: verify shallow file after taking lock + date: recognize bogus FreeBSD gmtime output + t4212: loosen far-in-future test for AIX + +John Keeping (1): + builtin/mv: fix out of bounds write + +Jonathan Nieder (2): + wt-status: extract the code to compute width for labels + wt-status: i18n of section labels + +Junio C Hamano (8): + stash pop: mention we did not drop the stash upon failing to apply + wt-status: make full label string to be subject to l10n + wt-status: lift the artificual "at least 20 columns" floor + index-pack: report error using the correct variable + diff-no-index: correctly diagnose error return from diff_opt_parse() + Start preparing for 1.9.1 + Update draft release notes to 1.9.2 + Git 1.9.2 + +Justin Lebar (4): + Documentation: fix misuses of "nor" + contrib: fix misuses of "nor" + comments: fix misuses of "nor" + code and test: fix misuses of "nor" + +Matthieu Moy (1): + status: disable translation when --porcelain is used + +Michael Haggerty (2): + checkout_entry(): use the strbuf throughout the function + entry.c: fix possible buffer overflow in remove_subtree() + +Ramkumar Ramachandra (1): + Documentation/merge-strategies: avoid hyphenated commands + +Thomas Ackermann (1): + doc/http-backend: missing accent grave in literal mark-up + +Uwe Storbeck (2): + rebase -i: do not "echo" random user-supplied strings + test-lib.sh: do not "echo" caller-supplied strings + +brian m. carlson (1): + mv: prevent mismatched data when ignoring errors. + + +Version v1.9.1; changes since v1.9.0: +------------------------------------- + +Brad King (4): + t3030-merge-recursive: test known breakage with empty work tree + read-cache.c: refactor --ignore-missing implementation + read-cache.c: extend make_cache_entry refresh flag with options + merge-recursive.c: tolerate missing files while refreshing index + +David Aguilar (1): + difftool: support repositories with .git-files + +David Sharp (1): + rev-parse: check i before using argv[i] against argc + +Jeff King (12): + expand_user_path: do not look at NULL path + handle_path_include: don't look at NULL value + tests: auto-set LIB_HTTPD_PORT from test name + t4212: test bogus timestamps with git-log + fsck: report integer overflow in author timestamps + date: check date overflow against time_t + log: handle integer overflow in timestamps + log: do not segfault on gmtime errors + remote: handle pushremote config in any order + show_ident_date: fix tz range check + clean: respect pathspecs with "-d" + clean: simplify dir/not-dir logic + +Junio C Hamano (4): + t0003: do not chdir the whole test process + check-attr: move to the top of working tree when in non-bare repository + t7800: add a difftool test for .git-files + Git 1.9.1 + +Nguyễn Thái Ngọc Duy (17): + test: rename http fetch and push test files + pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done' + protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt + protocol-capabilities.txt: document no-done + fetch-pack: fix deepen shallow over smart http with no-done cap + t5537: move http tests out to t5539 + reset: optionally setup worktree and refresh index on --mixed + pathspec: convert some match_pathspec_depth() to ce_path_match() + pathspec: convert some match_pathspec_depth() to dir_path_match() + pathspec: rename match_pathspec_depth() to match_pathspec() + dir.c: prepare match_pathspec_item for taking more flags + match_pathspec: match pathspec "foo/" against directory "foo" + pathspec: pass directory indicator to match_pathspec_item() + clean: replace match_pathspec() with dir_path_match() + clean: use cache_name_is_other() + diff.c: move diffcore_skip_stat_unmatch core logic out for reuse later + diff: do not quit early on stat-dirty files + +Sandy Carter (1): + i18n: proposed command missing leading dash + +Thomas Rast (1): + diff: do not reuse_worktree_file for submodules + + +Version v1.9.0; changes since v1.9.0-rc3: +----------------------------------------- + +Jean-Noël Avila (1): + l10n: fr: 1.9rc2 2211t + +Jiang Xin (3): + l10n: git.pot: v1.9 round 2 (1 new) + l10n: zh_CN.po: translate 1 new message (2211t0f0u) + l10n: zh_CN.po: Disambiguation for rebase + +Junio C Hamano (2): + Git 1.8.5.5 + Git 1.9.0 + +Michael J Gruber (1): + release notes: typo fixes + +Peter Krefting (1): + l10n: Update Swedish translation (2211t0f0u) + +Ralf Thielow (2): + l10n: de.po: translate 28 new messages + l10n: de.po: correct message when hiding commits by craft + +Trần Ngọc Quân (1): + l10n: vi.po (2211t): Updated one new string + + +Version v1.9.0-rc3; changes since v1.9-rc2: +------------------------------------------- + +Adrian Johnson (1): + userdiff: update Ada patterns + +Junio C Hamano (3): + Git 1.8.5.4 + howto/maintain-git.txt: new version numbering scheme + Git 1.9.0-rc3 + +Nguyễn Thái Ngọc Duy (1): + git-tag.txt: <commit> for --contains is optional + +Torsten Bögershausen (1): + repack.c: rename and unlink pack file if it exists + +Øystein Walle (1): + Documentation: fix typos in man pages + + +Version v1.9-rc2; changes since v1.9-rc1: +----------------------------------------- + +Alexander Shopov (2): + po/TEAMS: Added Bulgarian team + l10n: Bulgarian translation of git (222t21f1967u) + +Jean-Noël Avila (1): + [fr] update french translation 2210/2210 + +Jiang Xin (3): + l10n: git.pot: v1.9 round 1 (27 new, 11 removed) + l10n: zh_CN.po: translate 27 messages (2210t0f0u) + l10n: remove 2 blank translations on Danish, Dutch + +Jonathan Nieder (1): + pager test: make fake pager consume all its input + +Junio C Hamano (1): + Git 1.9-rc2 + +Peter Krefting (1): + l10n: Update Swedish translation (2210t0f0u) + +Trần Ngọc Quân (1): + l10n: vi.po (2210t): Updated git-core translation + + +Version v1.9-rc1; changes since v1.9-rc0: +----------------------------------------- + +Alexander Shopov (4): + git-gui i18n: Initial glossary in Bulgarian + git-gui l10n: Add 29 more terms to glossary + git-gui i18n: Added Bulgarian translation + gitk: Add Bulgarian translation (304t) + +Andy Spencer (1): + tree_entry_interesting: match against all pathspecs + +Anthony Baire (1): + subtree: fix argument validation in add/pull/push + +Astril Hayato (1): + gitk: Comply with XDG base directory specification + +Erik Faye-Lund (2): + prefer xwrite instead of write + mingw: remove mingw_write + +Jeff King (18): + fetch-pack: do not filter out one-level refs + interpret_branch_name: factor out upstream handling + interpret_branch_name: rename "cp" variable to "at" + interpret_branch_name: always respect "namelen" parameter + interpret_branch_name: avoid @{upstream} past colon + interpret_branch_name: find all possible @-marks + diff_filespec: reorder dirty_submodule macro definitions + diff_filespec: drop funcname_pattern_ident field + diff_filespec: drop xfrm_flags field + diff_filespec: reorder is_binary field + diff_filespec: use only 2 bits for is_binary flag + t/perf: time rev-list with UNINTERESTING commits + list-objects: only look at cmdline trees with edge_hint + repack: fix typo in max-pack-size option + repack: make parsed string options const-correct + repack: propagate pack-objects options as strings + t7501: fix "empty commit" test with NO_PERL + t7700: do not use "touch" unnecessarily + +Johannes Sixt (1): + Makefile: Fix compilation of Windows resource file + +John Keeping (3): + completion: complete merge-base options + completion: handle --[no-]fork-point options to git-rebase + Makefile: remove redundant object in git-http{fetch,push} + +Jonathan Nieder (3): + gitignore doc: add global gitignore to synopsis + git-gui: chmod +x po2msg, windows/git-gui.sh + gitk: chmod +x po2msg.sh + +Junio C Hamano (6): + Documentation: exclude irrelevant options from "git pull" + Documentation: "git pull" does not have the "-m" option + revision: mark contents of an uninteresting tree uninteresting + revision: propagate flag bits from tags to pointees + Documentation: make it easier to maintain enumerated documents + Git 1.9-rc1 + +Marc Branchaud (1): + gitk: Replace "next" and "prev" buttons with down and up arrows + +Max Kirillov (2): + git-gui: fallback right pane to packed widgets with Tk 8.4 + gitk: Fix mistype + +Michael Haggerty (22): + safe_create_leading_directories(): fix format of "if" chaining + safe_create_leading_directories(): reduce scope of local variable + safe_create_leading_directories(): add explicit "slash" pointer + safe_create_leading_directories(): rename local variable + safe_create_leading_directories(): split on first of multiple slashes + safe_create_leading_directories(): always restore slash at end of loop + safe_create_leading_directories(): introduce enum for return values + cmd_init_db(): when creating directories, handle errors conservatively + safe_create_leading_directories(): add new error value SCLD_VANISHED + gitattributes: document more clearly where macros are allowed + refname_match(): always use the rules in ref_rev_parse_rules + lock_ref_sha1_basic(): on SCLD_VANISHED, retry + lock_ref_sha1_basic(): if locking fails with ENOENT, retry + remove_dir_recurse(): tighten condition for removing unreadable dir + remove_dir_recurse(): handle disappearing files and directories + rename_ref(): extract function rename_tmp_log() + rename_tmp_log(): handle a possible mkdir/rmdir race + rename_tmp_log(): limit the number of remote_empty_directories() attempts + rename_tmp_log(): on SCLD_VANISHED, retry + safe_create_leading_directories(): on Windows, \ can separate path components + Add cross-references between docs for for-each-ref and show-ref + doc: remote author/documentation sections from more pages + +Nguyễn Thái Ngọc Duy (1): + tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting() + +Pat Thoyts (1): + git-gui 0.19 + +Paul Mackerras (2): + gitk: Update copyright dates + gitk: Indent word-wrapped lines in commit display header + +Pete Wyckoff (11): + git p4 test: wildcards are supported + git p4 test: ensure p4 symlink parsing works + git p4: work around p4 bug that causes empty symlinks + git p4 test: explicitly check p4 wildcard delete + git p4 test: is_cli_file_writeable succeeds + git p4 test: run as user "author" + git p4 test: do not pollute /tmp + git p4: handle files with wildcards when doing RCS scrubbing + git p4: fix an error message when "p4 where" fails + git p4 test: examine behavior with locked (+l) files + git p4 doc: use two-line style for options with multiple spellings + +Ruben Kerkhof (1): + send-email: /etc/ssl/certs/ directory may not be usable as ca_path + +Thomas Ackermann (2): + create HTML for http-protocol.txt + http-protocol.txt: don't use uppercase for variable names in "The Negotiation Algorithm" + +Thomas Rast (2): + Documentation/gitk: document -L option + Documentation: @{-N} can refer to a commit + +lin zuojian (1): + git-svn: memoize _rev_list and rebuild + + +Version v1.9-rc0; changes since v1.8.5.6: +----------------------------------------- + +Anders Kaseorg (1): + submodule foreach: skip eval for more than one argument + +Antoine Pelisse (2): + Prevent buffer overflows when path is too long + remote-hg: test 'shared_path' in a moved clone + +Benny Siegert (1): + Add MirBSD support to the build system. + +Brodie Rao (1): + sha1_name: don't resolve refs when core.warnambiguousrefs is false + +Carlos Martín Nieto (1): + send-pack: don't send a thin pack to a server which doesn't support it + +Christian Couder (15): + environment: normalize use of prefixcmp() by removing " != 0" + builtin/remote: remove postfixcmp() and use suffixcmp() instead + strbuf: introduce starts_with() and ends_with() + replace {pre,suf}fixcmp() with {starts,ends}_with() + rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT + replace_object: don't check read_replace_refs twice + sha1_file.c: add lookup_replace_object_extended() to pass flags + sha1_object_info_extended(): add an "unsigned flags" parameter + t6050: show that git cat-file --batch fails with replace objects + sha1_file: perform object replacement in sha1_object_info_extended() + builtin/replace: teach listing using short, medium or full formats + t6050: add tests for listing with --format + builtin/replace: unset read_replace_refs + Documentation/git-replace: describe --format option + replace info: rename 'full' to 'long' and clarify in-code symbols + +Crestez Dan Leonard (1): + git p4: Use git diff-tree instead of format-patch + +Felipe Contreras (9): + test-lib.sh: convert $TEST_DIRECTORY to an absolute path + test-bzr.sh, test-hg.sh: allow running from any dir + remote-helpers: add extra safety checks + remote-hg: fix 'shared path' path + remote-hg: add tests for special filenames + abspath: trivial style fix + t: trivial whitespace cleanups + fetch: add missing documentation + remote: fix status with branch...rebase=preserve + +Francesco Pretto (1): + git-submodule.sh: 'checkout' is a valid update mode + +Greg Jacobson (1): + push: enhance unspecified push default warning + +Jeff King (24): + log_tree_diff: die when we fail to parse a commit + assume parse_commit checks commit->object.parsed + assume parse_commit checks for NULL commit + use parse_commit_or_die instead of segfaulting + use parse_commit_or_die instead of custom message + checkout: do not die when leaving broken detached HEAD + sha1write: make buffer const-correct + use @@PERL@@ in built scripts + http: return curl's AUTHAVAIL via slot_results + remote-curl: pass curl slot_results back through run_slot + drop support for "experimental" loose objects + t5000: simplify gzip prerequisite checks + pack-objects: name pack files after trailer hash + pack-objects doc: treat output filename as opaque + diff.c: fix some recent whitespace style violations + builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX + do not pretend sha1write returns errors + sha1_object_info_extended: provide delta base sha1s + cat-file: provide %(deltabase) batch format + use distinct username/password for http auth tests + t0000: set TEST_OUTPUT_DIRECTORY for sub-tests + t0000: simplify HARNESS_ACTIVE hack + t0000: drop "known breakage" test + t5531: further "matching" fixups + +Jens Lehmann (3): + submodule update: remove unnecessary orig_flags variable + mv: better document side effects when moving a submodule + rm: better document side effects when removing a submodule + +Johannes Sixt (1): + document --exclude option + +John Keeping (8): + repo-config: remove deprecated alias for "git config" + tar-tree: remove deprecated command + lost-found: remove deprecated command + peek-remote: remove deprecated alias of ls-remote + pull: use merge-base --fork-point when appropriate + rebase: use reflog to find common base with upstream + rebase: fix fork-point with zero arguments + pull: suppress error when no remoteref is found + +John Murphy (1): + git-gui: corrected setup of git worktree under cygwin. + +John Szakmeister (1): + contrib/git-credential-gnome-keyring.c: small stylistic cleanups + +Jonathan Nieder (16): + git-remote-mediawiki: do not remove installed files in "clean" target + git-remote-mediawiki: honor DESTDIR in "make install" + git-remote-mediawiki build: make 'install' command configurable + git-remote-mediawiki build: handle DESTDIR/INSTLIBDIR with whitespace + Makefile: rebuild perl scripts when perl paths change + Makefile: add PERLLIB_EXTRA variable that adds to default perl path + mark Windows build scripts executable + mark perl test scripts executable + mark contributed hooks executable + contrib: remove git-p4import + test: make FILEMODE a lazy prereq + test: replace shebangs with descriptions in shell libraries + remove #!interpreter line from shell libraries + stop installing git-tar-tree link + pager: set LV=-c alongside LESS=FRSX + diff test: reading a directory as a file need not error out + +Junio C Hamano (17): + revision: introduce --exclude=<glob> to tame wildcards + merge-base: use OPT_CMDMODE and clarify the command line parsing + merge-base: teach "--fork-point" mode + rev-list --exclude: tests + rev-list --exclude: export add/clear-ref-exclusion and ref-excluded API + rev-parse: introduce --exclude=<glob> to tame wildcards + bundle: use argv-array + builtin/push.c: use strbuf instead of manual allocation + push: use remote.$name.push as a refmap + push: also use "upstream" mapping when pushing a single ref + Start 1.9 cycle + Update draft release notes to 1.9 + prune-packed: use strbuf to avoid having to worry about PATH_MAX + Update draft release notes to 1.9 + Update draft release notes to 1.9 + Update draft release notes to 1.9 + Git 1.9-rc0 + +Karsten Blees (1): + gitignore.txt: clarify recursive nature of excluded directories + +Krzesimir Nowak (4): + gitweb: Move check-ref-format code into separate function + gitweb: Return 1 on validation success instead of passed input + gitweb: Add a feature for adding more branch refs + gitweb: Denote non-heads, non-remotes branches + +Mads Dørup (1): + git-gui: Improve font rendering on retina macbooks + +Masanari Iida (1): + git-gui: correct spelling errors in comments + +Max Kirillov (2): + git-gui: Add gui.displayuntracked option + git-gui: right half window is paned + +Michael Haggerty (26): + t5510: use the correct tag name in test + t5510: prepare test refs more straightforwardly + t5510: check that "git fetch --prune --tags" does not prune branches + api-remote.txt: correct section "struct refspec" + get_ref_map(): rename local variables + builtin/fetch.c: reorder function definitions + get_expanded_map(): add docstring + get_expanded_map(): avoid memory leak + fetch: only opportunistically update references based on command line + fetch --tags: fetch tags *in addition to* other stuff + fetch --prune: prune only based on explicit refspecs + query_refspecs(): move some constants out of the loop + builtin/remote.c: reorder function definitions + builtin/remote.c:update(): use struct argv_array + fetch, remote: properly convey --no-prune options to subprocesses + fetch-options.txt: simplify ifdef/ifndef/endif usage + git-fetch.txt: improve description of tag auto-following + ref_remove_duplicates(): avoid redundant bisection + t5536: new test of refspec conflicts when fetching + ref_remove_duplicates(): simplify loop logic + ref_remote_duplicates(): extract a function handle_duplicate() + handle_duplicate(): mark error message for translation + fetch: improve the error messages emitted for conflicting refspecs + shorten_unambiguous_ref(): introduce a new local variable + gen_scanf_fmt(): delete function and use snprintf() instead + shorten_unambiguous_ref(): tighten up pointer arithmetic + +Nguyễn Thái Ngọc Duy (36): + wt-status: take the alignment burden off translators + gettext.c: detect the vsnprintf bug at runtime + glossary-content.txt: rephrase magic signature part + Support pathspec magic :(exclude) and its short form :! + pathspec.c: support adding prefix magic to a pathspec with mnemonic magic + parse-options: remove OPT_BOOLEAN + transport.h: remove send_pack prototype, already defined in send-pack.h + remote.h: replace struct extra_have_objects with struct sha1_array + send-pack: forbid pushing from a shallow repository + clone: prevent --reference to a shallow repository + make the sender advertise shallow commits to the receiver + connect.c: teach get_remote_heads to parse "shallow" lines + shallow.c: extend setup_*_shallow() to accept extra shallow commits + shallow.c: the 8 steps to select new commits for .git/shallow + shallow.c: steps 6 and 7 to select new commits for .git/shallow + fetch-pack.c: move shallow update code out of fetch_pack() + fetch-pack.h: one statement per bitfield declaration + clone: support remote shallow repository + fetch: support fetching from a shallow repository + upload-pack: make sure deepening preserves shallow roots + fetch: add --update-shallow to accept refs that update .git/shallow + receive-pack: reorder some code in unpack() + receive/send-pack: support pushing from a shallow clone + add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses + connected.c: add new variant that runs with --shallow-file + receive-pack: allow pushes that update .git/shallow + send-pack: support pushing to a shallow clone + remote-curl: pass ref SHA-1 to fetch-pack as well + smart-http: support shallow fetch/clone + receive-pack: support pushing to a shallow clone via http + send-pack: support pushing from a shallow clone via http + clone: use git protocol for cloning shallow repo locally + prune: clean .git/shallow after pruning objects + git-clone.txt: remove shallow clone limitations + commit.c: make "tree" a const pointer in commit_tree*() + t5537: fix incorrect expectation in test case 10 + +Nicolas Vigier (2): + Use the word 'stuck' instead of 'sticked' + rev-parse --parseopt: add the --stuck-long mode + +Pat Thoyts (3): + git-gui: added gui.maxrecentrepo to extend the number of remembered repos + git-gui: show the maxrecentrepo config option in the preferences dialog + git-gui: add menu item to launch a bash shell on Windows. + +Paul Mackerras (1): + gitk: Tag display improvements + +Ramkumar Ramachandra (11): + t6300 (for-each-ref): clearly demarcate setup + t6300 (for-each-ref): don't hardcode SHA-1 hexes + for-each-ref: introduce %(HEAD) asterisk marker + for-each-ref: introduce %(upstream:track[short]) + for-each-ref: introduce %(color:...) for color + for-each-ref: avoid color leakage + zsh completion: find matching custom bash completion + completion: introduce __gitcomp_nl_append () + completion: fix branch.autosetup(merge|rebase) + completion: fix remote.pushdefault + completion: complete format.coverLetter + +Ramsay Jones (2): + send-pack.c: mark a file-local function static + shallow: remove unused code + +Richard Hansen (6): + test-bzr.sh, test-hg.sh: prepare for change to push.default=simple + test-hg.sh: eliminate 'local' bashism + test-hg.sh: avoid obsolete 'test' syntax + test-hg.sh: fix duplicate content strings in author tests + test-hg.sh: help user correlate verbose output with email test + remote-bzr, remote-hg: fix email address regular expression + +Roberto Tyley (1): + docs: add filter-branch notes on The BFG + +Roman Kagan (1): + git-svn: workaround for a bug in svn serf backend + +Samuel Bronson (3): + t4056: add new tests for "git diff -O" + diff: let "git diff -O" read orderfile from any file and fail properly + diff: add diff.orderfile configuration variable + +Sebastian Schuberth (3): + git.c: consistently use the term "builtin" instead of "internal command" + builtin/help.c: call load_command_list() only when it is needed + builtin/help.c: speed up is_git_command() by checking for builtin commands first + +Thomas Ackermann (1): + user-manual: improve html and pdf formatting + +Thomas Gummerer (4): + diff: move no-index detection to builtin/diff.c + diff: don't read index when --no-index is given + diff: add test for --no-index executed outside repo + diff: avoid some nesting + +Thomas Rast (9): + commit-slab: document clear_$slabname() + commit-slab: declare functions "static inline" + gitk: Support -G option from the command line + gitk: Refactor per-line part of getblobdiffline and its support + gitk: Split out diff part in $commitinfo + gitk: Support showing the gathered inline diffs + gitk: Recognize -L option + commit-slab: sizeof() the right type in xrealloc + config: arbitrary number of matches for --unset and --replace-all + +Tom Miller (2): + fetch --prune: always print header url + fetch --prune: Run prune before fetching + +Vasily Makarov (1): + get_octopus_merge_bases(): cleanup redundant variable + +Zoltan Klinger (1): + difftool: display the number of files in the diff queue in the prompt + +brian m. carlson (2): + remote-curl: fix large pushes with GSSAPI + Documentation: document pitfalls with 3-way merge + +jcb91 (1): + remote-hg: avoid buggy strftime() + + +Version v1.8.5.6; changes since v1.8.5.5: +----------------------------------------- + +Jeff King (9): + t7300: repair filesystem permissions with test_when_finished + unpack-trees: propagate errors adding entries to the index + read-tree: add tests for confusing paths like ".." and ".git" + verify_dotfile(): reject .git case-insensitively + t1450: refactor ".", "..", and ".git" fsck tests + fsck: notice .git case-insensitively + utf8: add is_hfs_dotgit() helper + read-cache: optionally disallow HFS+ .git variants + fsck: complain about HFS+ ".git" aliases in trees + +Johannes Schindelin (3): + path: add is_ntfs_dotgit() helper + read-cache: optionally disallow NTFS .git variants + fsck: complain about NTFS ".git" aliases in trees + +Junio C Hamano (1): + Git 1.8.5.6 + +René Scharfe (1): + annotate: use argv_array + +Ronnie Sahlberg (1): + enums: remove trailing ',' after last item in enum + +Wieland Hoffmann (1): + git-tag.txt: Add a missing hyphen to `-s` + +brian m. carlson (1): + Documentation: fix missing text for rev-parse --verify + + +Version v1.8.5.5; changes since v1.8.5.4: +----------------------------------------- + +Andy Spencer (1): + tree_entry_interesting: match against all pathspecs + +Jeff King (9): + fetch-pack: do not filter out one-level refs + interpret_branch_name: factor out upstream handling + interpret_branch_name: rename "cp" variable to "at" + interpret_branch_name: always respect "namelen" parameter + interpret_branch_name: avoid @{upstream} past colon + interpret_branch_name: find all possible @-marks + repack: fix typo in max-pack-size option + repack: make parsed string options const-correct + repack: propagate pack-objects options as strings + +Junio C Hamano (5): + merge-base: separate "--independent" codepath into its own helper + merge-base --octopus: reduce the result from get_octopus_merge_bases() + revision: mark contents of an uninteresting tree uninteresting + revision: propagate flag bits from tags to pointees + Git 1.8.5.5 + +Ruben Kerkhof (1): + send-email: /etc/ssl/certs/ directory may not be usable as ca_path + + +Version v1.8.5.4; changes since v1.8.5.3: +----------------------------------------- + +Jens Lehmann (1): + commit -v: strip diffs and submodule shortlogs from the commit message + +Johannes Schindelin (1): + Remove the line length limit for graft files + +Johannes Sixt (2): + git_connect: remove artificial limit of a remote command + git_connect: factor out discovery of the protocol and its parts + +Junio C Hamano (4): + get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure + Documentation: exclude irrelevant options from "git pull" + Documentation: "git pull" does not have the "-m" option + Git 1.8.5.4 + +Nguyễn Thái Ngọc Duy (2): + clone,fetch: catch non positive --depth option value + add: don't complain when adding empty project root + +Roman Kagan (1): + git-svn: workaround for a bug in svn serf backend + +Thomas Rast (3): + send-email: pass Debug to Net::SMTP::SSL::new + send-email: --smtp-ssl-cert-path takes an argument + send-email: set SSL options through IO::Socket::SSL::set_client_defaults + +Torsten Bögershausen (8): + t5601: remove clear_ssh, refactor setup_ssh_wrapper + t5601: add tests for ssh + git fetch-pack: add --diag-url + t5500: add test cases for diag-url + git fetch: support host:/~repo + git_connect(): refactor the port handling for ssh + connect.c: refactor url parsing + git_connect(): use common return point + +brian m. carlson (1): + log: properly handle decorations with chained tags + +Øystein Walle (1): + stash: handle specifying stashes with $IFS + + +Version v1.8.5.3; changes since v1.8.5.2: +----------------------------------------- + +Jeff King (5): + rev-parse: correctly diagnose revision errors before "--" + rev-parse: be more careful with munging arguments + cat-file: pass expand_data to print_object_or_die + cat-file: handle --batch format with missing type/size + Revert "prompt: clean up strbuf usage" + +Johannes Sixt (1): + mv: let 'git mv file no-such-dir/' error out on Windows, too + +Junio C Hamano (1): + Git 1.8.5.3 + +Kyle J. McKay (1): + gc: notice gc processes run by other users + +Matthieu Moy (1): + mv: let 'git mv file no-such-dir/' error out + +Nguyễn Thái Ngọc Duy (1): + daemon: be strict at parsing parameters --[no-]informative-errors + +Ralf Thielow (1): + l10n: de.po: fix translation of 'prefix' + +Ramkumar Ramachandra (1): + for-each-ref: remove unused variable + +Thomas Ackermann (1): + pack-heuristics.txt: mark up the file header properly + +W. Trevor King (1): + Documentation/gitmodules: Only 'update' and 'url' are required + + +Version v1.8.5.2; changes since v1.8.5.1: +----------------------------------------- + +Jason St. John (6): + Documentation/git-log: update "--log-size" description + Documentation/git-log.txt: mark-up fix and minor rephasing + State correct usage of literal examples in man pages in the coding standards + Documentation/rev-list-options.txt: fix mark-up + Documentation/rev-list-options.txt: fix some grammatical issues and typos + Documentation/gitcli.txt: fix double quotes + +Jeff King (1): + unpack-trees: fix "read-tree -u --reset A B" with conflicted index + +Johan Herland (1): + sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs + +Junio C Hamano (4): + t1005: reindent + t1005: add test for "read-tree --reset -u A B" + sha1_loose_object_info(): do not return success on missing object + Git 1.8.5.2 + +Masanari Iida (3): + typofixes: fix misspelt comments + Documentation/technical/http-protocol.txt: typofixes + contrib: typofixes + +Michael Haggerty (1): + cmd_repack(): remove redundant local variable "nr_packs" + +Nguyễn Thái Ngọc Duy (2): + diff: restrict pathspec limitations to diff b/f case only + glossary-content.txt: fix documentation of "**" patterns + +René Scharfe (1): + SubmittingPatches: document how to handle multiple patches + +Thomas Rast (1): + Documentation: revamp git-cherry(1) + +Torsten Bögershausen (1): + git-fetch-pack uses URLs like git-fetch + + +Version v1.8.5.1; changes since v1.8.5: +--------------------------------------- + +Junio C Hamano (3): + submodule: do not copy unknown update mode from .gitmodules + Git 1.8.4.5 + Git 1.8.5.1 + +Nick Townsend (1): + ref-iteration doc: add_submodule_odb() returns 0 for success + + +Version v1.8.5; changes since v1.8.5-rc3: +----------------------------------------- + +Junio C Hamano (1): + Git 1.8.5 + +Richard Hansen (2): + remote-hg: don't decode UTF-8 paths into Unicode objects + remote-hg: don't decode UTF-8 paths into Unicode objects + + +Version v1.8.5-rc3; changes since v1.8.5-rc2: +--------------------------------------------- + +Junio C Hamano (3): + Revert "upload-pack: send non-HEAD symbolic refs" + Git 1.8.4.4 + Git 1.8.5-rc3 + +Marc Branchaud (1): + RelNotes: spelling & grammar fixes + +Nguyễn Thái Ngọc Duy (1): + pathspec: stop --*-pathspecs impact on internal parse_pathspec() uses + +Torstein Hegge (1): + branch: fix --verbose output column alignment + + +Version v1.8.5-rc2; changes since v1.8.5-rc1: +--------------------------------------------- + +Jason St. John (1): + Correct word usage of "timezone" in "Documentation" directory + +Jean-Noël Avila (1): + l10n: fr.po 2194/1294 messages translated + +Jiang Xin (2): + l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed) + l10n: zh_CN.po: translate 68 messages (2194t0f0u) + +Junio C Hamano (3): + Start preparing for 1.8.4.3 + Git 1.8.4.3 + Git 1.8.5-rc2 + +Karsten Blees (1): + gitignore.txt: fix documentation of "**" patterns + +Peter Krefting (1): + l10n: Update Swedish translation (2194t0f0u) + +Ralf Thielow (3): + po/TEAMS: update Thomas Rast's email address + l10n: de.po: translate 68 new messages + l10n: de.po: improve error message when pushing to unknown upstream + +Trần Ngọc Quân (1): + l10n: vi.po (2194t): Update and minor fix + + +Version v1.8.5-rc1; changes since v1.8.5-rc0: +--------------------------------------------- + +Anders Kaseorg (1): + cvsserver: Determinize output to combat Perl 5.18 hash randomization + +Antoine Pelisse (1): + remote-hg: unquote C-style paths when exporting + +Ben Walton (2): + Change sed i\ usage to something Solaris' sed can handle + Avoid difference in tr semantics between System V and BSD + +Felipe Contreras (12): + merge: simplify ff-only option + t: replace pulls with merges + revision: add missing include + branch: trivial style fix + sha1-name: trivial style cleanup + transport-helper: trivial style fix + describe: trivial style fixes + pretty: trivial style fix + revision: trivial style fixes + diff: trivial style fix + run-command: trivial style fixes + setup: trivial style fixes + +Jeff King (7): + add-interactive: handle unborn branch in patch mode + reset: pass real rev name to add--interactive + howto: add article on recovering a corrupted object + t: provide a perl() function which uses $PERL_PATH + t: use perl instead of "$PERL_PATH" where applicable + for-each-ref: avoid loading objects to print %(objectname) + subtree: add makefile target for html docs + +Jens Lehmann (1): + mv: Fix spurious warning when moving a file in presence of submodules + +Johannes Sixt (4): + t5300-pack-object: do not compare binary data using test_cmp + Windows: a test_cmp that is agnostic to random LF <> CRLF conversions + tests: undo special treatment of CRLF for Windows + t3200: do not open a HTML manual page when DEFAULT_MAN_FORMAT is html + +Jonathan Nieder (1): + t/README: tests can use perl even with NO_PERL + +Junio C Hamano (5): + doc/pull: clarify the illustrations + Update draft release notes to 1.8.5 + t4015: simplify sed command that is not even seen by sed + Update draft release notes to 1.8.5 + Git 1.8.5-rc1 + +Kacper Kornet (1): + Fix '\%o' for printf from coreutils + +Rüdiger Sonderfeld (1): + web--browse: Add support for xdg-open + +Sitaram Chamarty (1): + doc/howto: warn about (dumb)http server document being too old + +Stefan Beller (2): + refs: remove unused function invalidate_ref_cache + cache: remove unused function 'have_git_dir' + +Vivien Didelot (2): + Documentation: restore a space in unpack-objects usage + Documentation: "pack-file" is not literal in unpack-objects + + +Version v1.8.5-rc0; changes since v1.8.4.5: +------------------------------------------- + +Alexandru Juncu (1): + git-p4: Fix occasional truncation of symlink contents. + +Antoine Pelisse (1): + remote-hg: fix path when cloning with tilde expansion + +Brad King (8): + reset: rename update_refs to reset_refs + refs: report ref type from lock_any_ref_for_update + refs: factor update_ref steps into helpers + refs: factor delete_ref loose ref step into a helper + refs: add function to repack without multiple refs + refs: add update_refs for multiple simultaneous updates + update-ref: support multiple simultaneous updates + update-ref: add test cases covering --stdin signature + +Brandon Casey (18): + sha1_file: introduce close_one_pack() to close packs on fd pressure + Don't close pack fd when free'ing pack windows + contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarations + contrib/git-credential-gnome-keyring.c: remove unused die() function + contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()" etc. + contrib/git-credential-gnome-keyring.c: add static where applicable + contrib/git-credential-gnome-keyring.c: exit non-zero when called incorrectly + contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not ssize_t + contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty before accessing + contrib/git-credential-gnome-keyring.c: set Gnome application name + contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object() + contrib/git-credential-gnome-keyring.c: use secure memory functions for passwds + contrib/git-credential-gnome-keyring.c: use secure memory for reading passwords + contrib/git-credential-gnome-keyring.c: use glib memory allocation functions + contrib/git-credential-gnome-keyring.c: use glib messaging functions + contrib/git-credential-gnome-keyring.c: report failure to store password + contrib/git-credential-gnome-keyring.c: support ancient gnome-keyring + contrib/git-credential-gnome-keyring.c: support really ancient gnome-keyring + +Brian Gernhardt (3): + Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1 + OS X: Fix redeclaration of die warning + t5551: Remove header from curl cookie file + +Christian Couder (7): + replace: forbid replacing an object with one of a different type + Documentation/replace: state that objects must be of the same type + t6050-replace: test that objects are of the same type + t6050-replace: add test to clean up all the replace refs + Documentation/replace: add Creating Replacement Objects section + replace: allow long option names + t6050-replace: use some long option names + +Dale R. Worley (2): + t0070: test that git_mkstemps correctly checks return value of open() + diff --no-index: clarify operation when not inside a repository + +Dave Borowitz (1): + http: add http.savecookies option to write out HTTP cookies + +Dave Williams (1): + check-ignore: Add option to ignore index contents + +Eric Sunshine (36): + t8001/t8002: blame: decompose overly-large test + t8001/t8002: blame: demonstrate -L bounds checking bug + t8001/t8002: blame: add empty file & partial-line tests + blame: fix -L bounds checking bug + t4211: log: demonstrate -L bounds checking bug + t4211: retire soon-to-be unimplementable tests + log: fix -L bounds checking bug + t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0 + blame: reject empty ranges -LX,+0 and -LX,-0 + t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0 + blame: reject empty ranges -L,+0 and -L,-0 + git-log.txt: place each -L option variation on its own line + line-range-format.txt: clarify -L:regex usage form + range-set: publish API for re-use by git-blame -L + blame: inline one-line function into its lone caller + blame: accept multiple -L ranges + t8001/t8002: blame: add tests of multiple -L options + blame: document multiple -L support + line-range: teach -L/RE/ to search relative to anchor point + blame: teach -L/RE/ to search from end of previous -L range + log: teach -L/RE/ to search from end of previous -L range + line-range-format.txt: document -L/RE/ relative search + line-range: teach -L^/RE/ to search from start of file + line-range: teach -L:RE to search from end of previous -L range + line-range: teach -L^:RE to search from start of file + t8001/t8002: blame: add tests of -L line numbers less than 1 + line-range: reject -L line numbers less than 1 + contacts: validate hunk length earlier + contacts: gather all blame sources prior to invoking git-blame + contacts: reduce git-blame invocations + name-hash: refactor polymorphic index_name_exists() + employ new explicit "exists in index?" API + name-hash: stop storing trailing '/' on paths in index_state.dir_hash + dir: revert work-around for retired dangerous behavior + t7508: avoid non-portable sed expression + contacts: fix to work in subdirectories + +Eric Wong (1): + http: enable keepalive on TCP sockets + +Felipe Contreras (26): + remote-hg: ensure shared repo is initialized + remote-hg: add shared repo upgrade + unpack-trees: plug a memory leak + remote-bzr: fix export of utf-8 authors + remote-bzr: make bzr branches configurable per-repo + remote-hg: fix test + remote-hg: add missing &&s in the test + remote-hg: improve basic test + remote-helpers: trivial style fixes + remote-helpers: cleanup more global variables + remote-hg: use notes to keep track of Hg revisions + reset: trivial refactoring + branch: trivial style fix + reset: trivial style cleanup + add: trivial style cleanup + sha1-name: pass len argument to interpret_branch_name() + t: branch: trivial style fix + t: branch: fix typo + t: branch: fix broken && chains + fast-export: make extra_refs global + fast-export: refactor get_tags_and_duplicates() + rev-parse test: modernize quoting and whitespace + rev-parse test: use test_must_fail, not "if <command>; then false; fi" + rev-parse test: use standard test functions for setup + Add new @ shortcut for HEAD + alias: have SP around arithmetic operators + +Gerrit Pape (1): + hooks/post-receive-email: set declared encoding to utf-8 + +Hiroshige Umino (1): + cherry-pick: allow "-" as abbreviation of '@{-1}' + +Jean-Noël Avila (1): + l10n: fr.po: 2135/2135 messages translated + +Jeff King (22): + grep: allow to use textconv filters + clear parsed flag when we free tree buffers + cat-file: only split on whitespace when %(rest) is used + test-sha1: add a binary output mode + sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP + add tests for indexing packs with delta cycles + test index-pack on packs with recoverable delta cycles + write_index: optionally allow broken null sha1s + pager: turn on "cat" optimization for DEFAULT_PAGER + peel_onion: do not assume length of x_type globals + t5308: check that index-pack --strict detects duplicate objects + config: factor out integer parsing from range checks + config: properly range-check integer values + config: set errno in numeric git_parse_* functions + config: make numeric parsing errors more clear + git-config: always treat --int as 64-bit internally + t5541: mark passing c-a-s test as success + cherry-pick: handle "-" after parsing options + remote: do not copy "origin" string literal + http: use curl's tcp keepalive if available + drop redundant semicolon in empty while + silence gcc array-bounds warning + +Jens Lehmann (6): + mv: move submodules together with their work trees + mv: move submodules using a gitfile + submodule.c: add .gitmodules staging helper functions + mv: update the path entry in .gitmodules for moved submodules + rm: delete .gitmodules entry of submodules removed from the work tree + Improve documentation concerning the status.submodulesummary setting + +Jens Lindström (1): + Clear fd after closing to avoid double-close error + +Jeremy Huddleston (1): + imap-send: use Apple's Security framework for base64 encoding + +Jiang Xin (6): + branch: report invalid tracking branch as gone + status: always show tracking branch even no change + documentation: clarify notes for clean.requireForce + test: use unambigous leading path (/foo) for MSYS + relative_path should honor dos-drive-prefix + Use simpler relative_path when set_git_dir + +Johan Herland (3): + sample pre-commit hook: use --bool when retrieving config var + Documentation/git-svn: Promote the use of --prefix in docs + examples + git-svn: Warn about changing default for --prefix in Git v2.0 + +Johannes Sixt (1): + compat/mingw.h: define PRId64 + +John Keeping (10): + t9300: document fast-import empty path issues + fast-import: set valid mode on root tree in "ls" + fast-import: allow ls or filecopy of the root tree + fast-import: allow moving the root tree + rev-parse: remove restrictions on some options + rev-parse(1): logically group options + git_remote_helpers: remove little used Python library + rm: re-use parse_pathspec's trailing-slash removal + reset: handle submodule with trailing slash + Documentation/Makefile: make AsciiDoc dblatex dir configurable + +Jonathan Nieder (7): + hooks/post-receive-email: use plumbing instead of git log/show + hooks/post-receive-email: force log messages in UTF-8 + add -i test: use skip_all instead of repeated PERL prerequisite + reset test: modernize style + rev-parse test: use test_cmp instead of "test" builtin + status test: add missing && to <<EOF blocks + gc: remove gc.pid file at end of execution + +Julien Carsique (1): + git-prompt.sh: optionally show upstream branch name + +Junio C Hamano (60): + pack-objects: shrink struct object_entry + diff_opt: track whether flags have been set explicitly + setup_reflog_action: document the rules for using GIT_REFLOG_ACTION + cache.h: move remote/connect API out of it + builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN + check-ignore: the name of the character is NUL, not NULL + check-attr: the name of the character is NUL, not NULL + check-ignore -z: a single -z should apply to both input and output + check-attr -z: a single -z should apply to both input and output + diff: pass the whole diff_options to diffcore_apply_filter() + diff: factor out match_filter() + diff: preparse --diff-filter string argument + diff: reject unknown change class given to --diff-filter + diff: allow lowercase letter to specify what change class to exclude + diff: deprecate -q option to diff-files + remote.c: add command line option parser for "--force-with-lease" + push --force-with-lease: implement logic to populate old_sha1_expect[] + push --force-with-lease: tie it all together + t5533: test "push --force-with-lease" + parse-options: add OPT_CMDMODE() + tag: use OPT_CMDMODE + http.c: fix parsing of http.sslCertPasswordProtected variable + config: add generic callback wrapper to parse section.<url>.key + t5540/5541: smart-http does not support "--force-with-lease" + send-pack: fix parsing of --force-with-lease option + push: teach --force-with-lease to smart-http transport + builtin/config: refactor collect_config() + config: "git config --get-urlmatch" parses section.<url>.key + builtin/config.c: compilation fix + core-tutorial: trim the section on Inspecting Changes + whatchanged: document its historical nature + diff --no-index: describe in a separate paragraph + config: rewrite core.pager documentation + Start the post-1.8.4 cycle + contrib/remote-helpers: style updates for test scripts + contrib/remote-helpers: quote variable references in redirection targets + Update draft release notes after merging the first batch of topics + typofix: commit is spelled with two ems + typofix: cherry is spelled with two ars + Update draft release notes to 1.8.5 for the second batch of topics + checkout: update synopsys and documentation on detaching HEAD + Update draft release notes to 1.8.5 + mailmap: work around implementations with pure inline strcasecmp + Update draft release notes to 1.8.5 for the third batch of topics + Update draft release notes to 1.8.5 for the first half of the fourth batch + Update draft release notes to 1.8.5 for the fourth batch of topics + Update draft release notes to 1.8.5 for the fifth batch of topics + C: have space around && and || operators + abspath.c: have SP around arithmetic operators + alloc.c: have SP around arithmetic operators + archive.c: have SP around arithmetic operators + base85.c: have SP around arithmetic operators + block-sha1/sha1.c: have SP around arithmetic operators + Update draft release notes to 1.8.5 + Update draft release notes to 1.8.5 + Update draft release notes to 1.8.5 + Update draft release notes to 1.8.5 + checkout_entry(): clarify the use of topath[] parameter + Almost -rc0 for 1.8.5 + Git 1.8.5-rc0 + +Kacper Kornet (2): + Make test "using invalid commit with -C" more strict + t/t7106-reset-unborn-branch.sh: Add PERL prerequisite + +Karsten Blees (3): + MSVC: fix compile errors due to missing libintl.h + MSVC: fix compile errors due to macro redefinitions + MSVC: fix stat definition hell + +Kazuki Saitoh (2): + git p4 test: sanitize P4CHARSET + git p4: implement view spec wildcards with "p4 where" + +Keshav Kini (4): + git-svn.txt: fix AsciiDoc formatting error + git-svn.txt: reword description of gc command + git-svn.txt: replace .git with $GIT_DIR + git-svn.txt: elaborate on rev_map files + +Kirill A. Shutemov (1): + rebase -i: respect core.abbrev + +Kyle J. McKay (2): + config: add helper to normalize and match URLs + config: parse http.<url>.<variable> using urlmatch + +Lee Carver (1): + Allow git-filter-branch to process large repositories with lots of branches. + +Marc Branchaud (1): + Provide some linguistic guidance for the documentation. + +Mark Levedahl (1): + t6131 - skip tests if on case-insensitive file system + +Matthieu Moy (16): + Documentation/fast-import: clarify summary for `feature` command + Documentation/remote-helpers: document common use-case for private ref + git-remote-mediawiki: add test and check Makefile targets + transport-helper: add no-private-update capability + git-remote-mediawiki: use no-private-update capability on dumb push + git-remote-mediawiki: no need to update private ref in non-dumb push + builtin/stripspace.c: fix broken indentation + wt-status: use argv_array API + submodule summary: ignore --for-status option + status: disable display of '#' comment prefix by default + tests: don't set status.displayCommentPrefix file-wide + status: add missing blank line after list of "other" files + commit: factor status configuration is a helper function + wt-status: turn advice_status_hints into a field of wt_status + commit: disable status hints when writing to COMMIT_EDITMSG + RelNotes/1.8.5: direct script writers to "git status --porcelain" + +Michael J Gruber (5): + t4030: demonstrate behavior of show with textconv + show: honor --textconv for blobs + cat-file: do not die on --textconv without textconv filters + t7008: demonstrate behavior of grep with textconv + grep: honor --textconv for the case rev:path + +Michael S. Tsirkin (1): + doc: don't claim that cherry calls patch-id + +Michael Schubert (1): + fetch: make --prune configurable + +Michal Nazarewicz (1): + remove dead pastebin link from pack-heuristics document + +Nazri Ramliy (2): + git: run in a directory given with -C option + t0056: "git -C" test updates + +Nguyễn Thái Ngọc Duy (57): + clean: remove unused variable "seen" + move struct pathspec and related functions to pathspec.[ch] + pathspec: i18n-ize error strings in pathspec parsing code + pathspec: add copy_pathspec + add parse_pathspec() that converts cmdline args to struct pathspec + parse_pathspec: save original pathspec for reporting + parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags + convert some get_pathspec() calls to parse_pathspec() + parse_pathspec: add special flag for max_depth feature + parse_pathspec: support stripping submodule trailing slashes + parse_pathspec: support stripping/checking submodule paths + parse_pathspec: support prefixing original patterns + guard against new pathspec magic in pathspec matching code + clean: convert to use parse_pathspec + commit: convert to use parse_pathspec + status: convert to use parse_pathspec + rerere: convert to use parse_pathspec + checkout: convert to use parse_pathspec + rm: convert to use parse_pathspec + ls-files: convert to use parse_pathspec + archive: convert to use parse_pathspec + check-ignore: convert to use parse_pathspec + add: convert to use parse_pathspec + reset: convert to use parse_pathspec + line-log: convert to use parse_pathspec + convert read_cache_preload() to take struct pathspec + convert run_add_interactive to use struct pathspec + convert unmerge_cache to take struct pathspec + checkout: convert read_tree_some to take struct pathspec + convert report_path_error to take struct pathspec + convert refresh_index to take struct pathspec + convert {read,fill}_directory to take struct pathspec + convert add_files_to_cache to take struct pathspec + convert common_prefix() to use struct pathspec + remove diff_tree_{setup,release}_paths + remove init_pathspec() in favor of parse_pathspec() + remove match_pathspec() in favor of match_pathspec_depth() + tree-diff: remove the use of pathspec's raw[] in follow-rename codepath + rename field "raw" to "_raw" in struct pathspec + parse_pathspec: make sure the prefix part is wildcard-free + parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN + kill limit_pathspec_to_literal() as it's only used by parse_pathspec() + pathspec: support :(literal) syntax for noglob pathspec + pathspec: make --literal-pathspecs disable pathspec magic + pathspec: support :(glob) syntax + parse_pathspec: accept :(icase)path syntax + smart http: use the same connectivity check on cloning + for-each-ref, quote: convert *_quote_print -> *_quote_buf + gc: reject if another gc is running, unless --force is given + push: respect --no-thin + pathspec: catch prepending :(prefix) on pathspec with short magic + add: lift the pathspec magic restriction on "add -p" + pack-objects: no crc check when the cached version is used + fetch-pack.c: show correct command name that fails + clone: tighten "local paths with colons" check a bit + Fix calling parse_pathspec with no paths nor PATHSPEC_PREFER_* flags + entry.c: convert checkout_entry to use strbuf + +Nicolas Pitre (1): + lookup_object: remove hashtable_index() and optimize hash_obj() + +Nicolas Vigier (2): + git-svn: fix signed commit parsing + config doc: user.signingkey is also used for signed commits + +Philip Oakley (6): + Doc: 'replace' merge and non-merge commits + doc: command line interface (cli) dot-repository dwimmery + config doc: update dot-repository notes + remote doc: document long forms of set-head options + remote set-head -h: add long options to synopsis + doc/cli: make "dot repository" an independent bullet point + +Ralf Thielow (2): + Documentation/git-merge-file: document option "--diff3" + status: show commit sha1 in "You are currently cherry-picking" message + +Ramkumar Ramachandra (3): + editor: use canonicalized absolute path + tar-tree: remove dependency on sq_quote_print() + quote: remove sq_quote_print() + +Ramsay Jones (8): + howto/setup-git-server-over-http: fix unescaped '^'s + howto/revert-a-faulty-merge: fix unescaped '^'s + config.c: mark file-local function static + refs.c: spell NULL pointer as NULL + wrapper.c: only define gitmkstemps if needed + gitweb test: fix highlight test hang on Linux Mint + format-patch doc: Thunderbird wraps lines unless mailnews.wraplength=0 + sparse: suppress some "using sizeof on a function" warnings + +René Scharfe (1): + pull: use $curr_branch_short more + +Richard Hansen (9): + peel_onion(): add support for <rev>^{tag} + glossary: mention 'treeish' as an alternative to 'tree-ish' + glossary: define commit-ish (a.k.a. committish) + use 'tree-ish' instead of 'treeish' + use 'commit-ish' instead of 'committish' + glossary: more precise definition of tree-ish (a.k.a. treeish) + revisions.txt: fix and clarify <rev>^{<type>} + glossary: fix and clarify the definition of 'ref' + remote-bzr: reuse bzrlib transports when possible + +SZEDER Gábor (3): + bash prompt: test the prompt with newline in repository path + completion: improve untracked directory filtering for filename completion + t3600: fix broken "choking git rm" test + +Sebastian Schuberth (5): + Documentation: make AsciiDoc links always point to HTML files + MinGW: Fix stat definitions to work with MinGW runtime version 4.0 + Windows: do not redefine _WIN32_WINNT + clone: add a period after "done" to end the sentence + path-utils test: rename mingw_path function to print_path + +Shawn O. Pearce (1): + Document the HTTP transport protocols + +Stefan Beller (22): + rm: do not set a variable twice without intermediate reading. + Remove deprecated OPTION_BOOLEAN for parsing arguments + Replace deprecated OPT_BOOLEAN by OPT_BOOL + log, format-patch: parsing uses OPT__QUIET + checkout: remove superfluous local variable + branch, commit, name-rev: ease up boolean conditions + hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP + config parsing options: allow one flag multiple times + checkout-index: fix negations of even numbers of -n + revert: use the OPT_CMDMODE for parsing, reducing code + diff: remove ternary operator evaluating always to true + diff: fix a possible null pointer dereference + rm: remove unneeded null pointer check + create_delta_index: simplify condition always evaluating to true + mailmap: remove redundant check for freeing memory + repack: rewrite the shell script in C + repack: retain the return value of pack-objects + repack: improve warnings about failure of renaming and removing files + contrib: remove ciabot + checkout test: enable test with complex relative path + Reword repack documentation to no longer state it's a script + git-svn docs: Use tabs consistently within the ascii doc + +Stefan Saasen (2): + mergetools/diffmerge: support DiffMerge as a git mergetool + mergetool--lib: Fix typo in the merge/difftool help + +Steffen Prohaska (1): + git.txt: fix asciidoc syntax of --*-pathspecs + +Stephen Haberman (1): + pull: allow pull to preserve merges when rebasing + +Ted Zlatanov (1): + git-credential-netrc: fix uninitialized warning + +Thomas Ackermann (11): + Call it "Git User Manual" and remove reference to very old Git version + Use current "detached HEAD" message + Use current output for "git repack" + Use "git merge" instead of "git pull ." + Fix some typos and improve wording + Simplify "How to make a commit" + Improve section "Manipulating branches" + Improve section "Merging multiple trees" + Remove unnecessary historical note from "Object storage format" + Remove irrelevant reference from "Tying it all together" + "git prune" is safe + +Thomas Gummerer (1): + read-cache: use fixed width integer types + +Thomas Rast (5): + urlmatch.c: recompute pointer after append_normalized_escapes + .mailmap: switch to Thomas Rast's personal address + Documentation: revamp gitk(1) + Revert "test-lib: support running tests under valgrind in parallel" + Revert "test-lib: allow prefixing a custom string before "ok N" etc." + +Tony Finch (4): + gitweb: ensure OPML text fits inside its box + gitweb: vertically centre contents of page footer + gitweb: omit the repository owner when it is unset + gitweb: make search help link less ugly + +Torsten Bögershausen (1): + Set core.precomposeunicode to true on e.g. HFS+ + +Uli Heller (1): + git-svn: fix termination issues for remote svn connections + +brian m. carlson (3): + submodule: fix confusing variable name + submodule: don't print status output with ignore=all + CodingGuidelines: style for multi-line comments + +Ævar Arnfjörð Bjarmason (1): + gitweb: Fix the author initials in blame for non-ASCII names + + +Version v1.8.4.5; changes since v1.8.4.4: +----------------------------------------- + +Junio C Hamano (2): + submodule: do not copy unknown update mode from .gitmodules + Git 1.8.4.5 + +Richard Hansen (1): + remote-hg: don't decode UTF-8 paths into Unicode objects + + +Version v1.8.4.4; changes since v1.8.4.3: +----------------------------------------- + +Junio C Hamano (2): + Revert "upload-pack: send non-HEAD symbolic refs" + Git 1.8.4.4 + + +Version v1.8.4.3; changes since v1.8.4.2: +----------------------------------------- + +Antoine Pelisse (1): + remote-hg: unquote C-style paths when exporting + +Brian Gernhardt (3): + t5570: Update for symref capability + t5570: Update for clone-progress-to-stderr branch + t5570: Update for clone-progress-to-stderr branch + +Hemmo Nieminen (1): + graph: fix coloring around octopus merges + +Jeff King (11): + http_get_file: style fixes + http_request: factor out curlinfo_strbuf + http: refactor options to http_get_* + http: hoist credential request out of handle_curl_result + http: provide effective url to callers + http: update base URLs when we see redirects + remote-curl: make refs_url a strbuf + remote-curl: store url as a strbuf + remote-curl: rewrite base url from info/refs redirects + split_ident: parse timestamp from end of line + subtree: add makefile target for html docs + +Jonathan Nieder (1): + t/README: tests can use perl even with NO_PERL + +Junio C Hamano (10): + t5505: fix "set-head --auto with ambiguous HEAD" test + upload-pack.c: do not pass confusing cb_data to mark_our_ref() + upload-pack: send symbolic ref information as capability + upload-pack: send non-HEAD symbolic refs + connect.c: make parse_feature_value() static + connect: annotate refs with their symref information in get_remote_head() + clone: test the new HEAD detection logic + revision: do not peel tags used in range notation + Start preparing for 1.8.4.3 + Git 1.8.4.3 + +Karsten Blees (1): + gitignore.txt: fix documentation of "**" patterns + +Matthieu Moy (2): + checkout: allow dwim for branch creation for "git checkout $branch --" + checkout: proper error message on 'git checkout foo bar --' + +Ramsay Jones (1): + http.c: Spell the null pointer as NULL + +SZEDER Gábor (1): + bash prompt: don't use '+=' operator in show upstream code path + +Sitaram Chamarty (1): + doc/howto: warn about (dumb)http server document being too old + +Vivien Didelot (2): + Documentation: restore a space in unpack-objects usage + Documentation: "pack-file" is not literal in unpack-objects + + +Version v1.8.4.2; changes since v1.8.4.1: +----------------------------------------- + +Antoine Pelisse (1): + commit: search author pattern against mailmap + +Christian Couder (1): + sha1_file: move comment about return value where it belongs + +Eric Sunshine (5): + rebase -i: fix cases ignoring core.commentchar + dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage + t3404: make tests more self-contained + t3404: rebase -i: demonstrate short SHA-1 collision + t3200: fix failure on case-insensitive filesystems + +Jeff King (8): + has_sha1_file: re-check pack directory before giving up + upload-pack: send keepalive packets during pack computation + upload-pack: bump keepalive default to 5 seconds + clone: send diagnostic messages to stderr + clone: treat "checking connectivity" like other progress + clone: always set transport options + shortlog: ignore commits with missing authors + format-patch: print in-body "From" only when needed + +Johan Herland (4): + t2024: Fix &&-chaining and a couple of typos + t3200: Minor fix when preparing for tracking failure + Refer to branch.<name>.remote/merge when documenting --track + t3200: Add test demonstrating minor regression in 41c21f2 + +Johannes Sixt (1): + add--interactive: fix external command invocation on Windows + +John Keeping (1): + merge-recursive: fix parsing of "diff-algorithm" option + +Junio C Hamano (8): + dir.c: use the cache_* macro to access the current index + ls-files -k: a directory only can be killed if the index has a non-directory + t3010: update to demonstrate "ls-files -k" optimization pitfalls + rebase -i: fix short SHA-1 collision + cvsserver: pick up the right mode bits + Start preparing for 1.8.4.2 + Almost 1.8.4.2 ;-) + Git 1.8.4.2 + +Matthijs Kooijman (1): + Add testcase for needless objects during a shallow fetch + +Nguyễn Thái Ngọc Duy (7): + move setup_alternate_shallow and write_shallow_commits to shallow.c + shallow: only add shallow graft points to new shallow file + shallow: add setup_temporary_shallow() + upload-pack: delegate rev walking in shallow fetch to pack-objects + list-objects: reduce one argument in mark_edges_uninteresting + list-objects: mark more commits as edges in mark_edges_uninteresting + Make setup_git_env() resolve .git file when $GIT_DIR is not specified + +Nicolas Vigier (1): + git-merge: document the -S option + +Per Cederqvist (1): + branch.c: Relax unnecessary requirement on upstream's remote ref name + +Ralf Thielow (2): + rebase --preserve-merges: ignore "merge.log" config + clone --branch: refuse to clone if upstream repo is empty + +SZEDER Gábor (1): + t4254: modernize tests + +Steffen Prohaska (1): + git-prune-packed.txt: fix reference to GIT_OBJECT_DIRECTORY + +Torstein Hegge (1): + test-lib: fix typo in comment + +brian m. carlson (1): + http-backend: provide Allow header for 405 + + +Version v1.8.4.1; changes since v1.8.4: +--------------------------------------- + +Andreas Schwab (1): + Documentation/git-merge.txt: fix formatting of example block + +Benoit Person (1): + git-remote-mediawiki: bugfix for pages w/ >500 revisions + +Brandon Casey (3): + git-completion.bash: use correct Bash/Zsh array length syntax + t9902-completion.sh: old Bash still does not support array+=('') notation + contrib/git-prompt.sh: handle missing 'printf -v' more gracefully + +Jeff King (2): + config: do not use C function names as struct members + mailmap: handle mailmap blobs without trailing newlines + +Jharrod LaFon (1): + avoid segfault on submodule.*.path set to an empty "true" + +Johannes Sixt (1): + stream_to_pack: xread does not guarantee to read all requested bytes + +Jonathan Nieder (1): + Git 1.8.4.1 + +Junio C Hamano (6): + t5802: add test for connect helper + fetch: rename file-scope global "transport" to "gtransport" + fetch: refactor code that prepares a transport + fetch: refactor code that fetches leftover tags + fetch: work around "transport-take-over" hack + Start preparing for 1.8.4.1 + +Kyle J. McKay (3): + Git.pm: add new temp_is_locked function + git-svn: allow git-svn fetching to work using serf + Git.pm: revert _temp_cache use of temp_is_locked + +Matthieu Moy (2): + die_with_status: use "printf '%s\n'", not "echo" + rebase: fix run_specific_rebase's use of "return" on FreeBSD + +Nguyễn Thái Ngọc Duy (1): + fetch-pack: do not remove .git/shallow file when --depth is not specified + +Ralf Thielow (1): + l10n: de.po: use "das Tag" instead of "der Tag" + +Ramsay Jones (1): + builtin/fetch.c: Fix a sparse warning + +Sebastien Helleu (1): + l10n: fr.po: hotfix for commit 6b388fc + +Steffen Prohaska (2): + xread, xwrite: limit size of IO to 8MB + Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU" + +Tay Ray Chuan (1): + t7406-submodule-update: add missing && + +Thomas Rast (2): + log: use true parents for diff even when rewriting + log: use true parents for diff when walking reflogs + +Thorsten Glaser (1): + fix shell syntax error in template + +brian m. carlson (1): + send-email: don't call methods on undefined values + + +Version v1.8.4; changes since v1.8.4-rc4: +----------------------------------------- + +Junio C Hamano (2): + Typofix draft release notes to 1.8.4 + Git 1.8.4 + + +Version v1.8.4-rc4; changes since v1.8.4-rc3: +--------------------------------------------- + +Junio C Hamano (3): + Revert "git stash: avoid data loss when "git stash save" kills a directory" + Revert "Add new @ shortcut for HEAD" + Git 1.8.4-rc4 + + +Version v1.8.4-rc3; changes since v1.8.4-rc2: +--------------------------------------------- + +Eric Sunshine (1): + parse-options: fix clang opterror() -Wunused-value warning + +Jean-Noël Avila (2): + l10n: fr.po: 821/2112 messages translated + l10n: Add reference for french translation team + +Jiang Xin (2): + l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed) + l10n: zh_CN.po: translate 5 messages (2135t0f0u) + +Junio C Hamano (2): + .mailmap: update long-lost friends with multiple defunct addresses + Git 1.8.4-rc3 + +Matthieu Moy (1): + git-remote-mediawiki: ignore generated git-mw + +Peter Krefting (1): + l10n: Update Swedish translation (2135t0f0u) + +Phil Hord (1): + t/t7407: fix two typos in submodule tests + +Ralf Thielow (3): + l10n: de.po: switch from pure German to German+English + l10n: de.po: translate 99 new messages + l10n: de.po: translate 5 messages + +Stefan Beller (2): + .mailmap: fixup entries + .mailmap: Combine more (name, email) to individual persons + +Trần Ngọc Quân (1): + l10n: vi.po(2135t): v1.8.4 round 2 + +Wieland Hoffmann (1): + l10n: de.po: Fix a typo + + +Version v1.8.4-rc2; changes since v1.8.4-rc1: +--------------------------------------------- + +Felix Gruber (1): + fix typo in documentation of git-svn + +Jiang Xin (2): + l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed) + l10n: zh_CN.po: translate 99 messages (2133t0f0u) + +Jonathan Nieder (1): + log doc: the argument to --encoding is not optional + +Junio C Hamano (4): + Revert "cat-file: split --batch input lines on whitespace" + t3900: test rejecting log message with NULs correctly + commit: typofix for xxFFF[EF] check + Git 1.8.4-rc2 + +Ramsay Jones (1): + cygwin: Remove the Win32 l/stat() implementation + +René Scharfe (1): + t8001, t8002: fix "blame -L :literal" test on NetBSD + +Stefan Beller (1): + .mailmap: Multiple addresses of Michael S. Tsirkin + +Torstein Hegge (1): + Documentation/rev-list-options: add missing word in --*-parents + +Trần Ngọc Quân (1): + l10n: vi.po (2133t) + +brian m. carlson (1): + Add missing test file for UTF-16. + + +Version v1.8.4-rc1; changes since v1.8.4-rc0: +--------------------------------------------- + +Brandon Casey (1): + git-completion.bash: replace zsh notation that breaks bash 3.X + +Daniele Segato (1): + docs/git-tag: explain lightweight versus annotated tags + +Jeff King (6): + docs: fix 'report-status' protocol capability thinko + docs: note that receive-pack knows side-band-64k capability + document 'agent' protocol capability + document 'quiet' receive-pack capability + commit.h: drop redundant comment + commit: tweak empty cherry pick advice for sequencer + +Jiang Xin (2): + Documentation/git-clean: fix description for range + git-clean: implement partial matching for selection + +Junio C Hamano (2): + builtin/rm.c: consolidate error reporting for removing submodules + Git 1.8.4-rc1 + +Lukas Fleischer (1): + Avoid using `echo -n` anywhere + +Maurício C Antunes (1): + hg-to-git: --allow-empty-message in git commit + +Michael Haggerty (1): + do_one_ref(): save and restore value of current_ref + +Michal Sojka (1): + contrib/subtree: Fix make install target + +Nguyễn Thái Ngọc Duy (1): + document 'allow-tip-sha1-in-want' capability + +Ondřej Bílka (1): + many small typofixes + +Ralf Thielow (1): + git-rebase: fix typo + +Ramkumar Ramachandra (1): + config doc: quote paths, fixing tilde-interpretation + +Ramsay Jones (1): + commit-slab.h: Fix memory allocation and addressing + +Stefan Beller (1): + .mailmap: combine more (email, name) to individual persons + +Thomas Rast (1): + Rename advice.object_name_warning to objectNameWarning + + +Version v1.8.4-rc0; changes since v1.8.3.4: +------------------------------------------- + +Adam Spiers (6): + t0008: remove duplicated test fixture data + check-ignore: add -n / --non-matching option + check-ignore: move setup into cmd_check_ignore() + check-ignore: allow incremental streaming of queries via --stdin + Documentation: add caveats about I/O buffering for check-{attr,ignore} + t0008: use named pipe (FIFO) to test check-ignore streaming + +Alexey Shumkin (10): + t6006 (rev-list-format): don't hardcode SHA-1 in expected outputs + t7102 (reset): don't hardcode SHA-1 in expected outputs + t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs + pretty: Add failing tests: --format output should honor logOutputEncoding + pretty: --format output should honor logOutputEncoding + t4041, t4205, t6006, t7102: use iso8859-1 rather than iso-8859-1 + t4205 (log-pretty-formats): revert back single quotes + t4205, t6006, t7102: make functions better readable + t6006 (rev-list-format): add tests for "%b" and "%s" for the case i18n.commitEncoding is not set + t4205 (log-pretty-formats): avoid using `sed` + +Andrew Pimlott (2): + rebase -i: handle fixup! fixup! in --autosquash + lib-rebase: style: use write_script, <<-\EOF + +Andrew Wong (1): + git add -e: Explicitly specify that patch should have no color + +Antoine Pelisse (1): + diff: add --ignore-blank-lines option + +Arnaud Fontaine (1): + Do not ignore merge options in interactive rebase + +Benoit Person (9): + git-remote-mediawiki: use Git.pm functions for credentials + git-remote-mediawiki: remove hardcoded version number in the test suite + git-remote-mediawiki: introduction of Git::Mediawiki.pm + wrap-for-bin: make bin-wrappers chainable + git-remote-mediawiki: add a git bin-wrapper for developement + git-remote-mediawiki: update tests to run with the new bin-wrapper + git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki + git-remote-mediawiki: add git-mw command + git-remote-mediawiki: add preview subcommand into git mw + +Benoit Sigoure (1): + Revert "compat/unsetenv.c: Fix a sparse warning" + +Bo Yang (2): + Refactor parse_loc + Export rewrite_parents() for 'log -L' + +Brandon Casey (3): + builtin/checkout.c: don't leak memory in check_tracking_name + t/t9802: explicitly name the upstream branch to use as a base + remote.c: avoid O(m*n) behavior in match_push_refs + +Brian Gernhardt (1): + t4205: replace .\+ with ..* in sed commands + +Chris Packham (1): + submodule update: allow custom command to update submodule working tree + +Christian Couder (1): + Makefile: replace "echo 1>..." with "echo >..." + +Célestin Matte (32): + git-remote-mediawiki: display message when launched directly + git-remote-mediawiki: make a regexp clearer + git-remote-mediawiki: move "use warnings;" before any instruction + git-remote-mediawiki: replace :utf8 by :encoding(UTF-8) + git-remote-mediawiki: always end a subroutine with a return + git-remote-mediawiki: move a variable declaration at the top of the code + git-remote-mediawiki: change syntax of map calls + git-remote-mediawiki: rewrite unclear line of instructions + git-remote-mediawiki: remove useless regexp modifier (m) + git-remote-mediawiki: change the behaviour of a split + git-remote-mediawiki: change separator of some regexps + git-remote-mediawiki: change style in a regexp + git-remote-mediawiki: change style in a regexp + git-remote-mediawiki: add newline in the end of die() error messages + git-remote-mediawiki: change the name of a variable + git-remote-mediawiki: turn double-negated expressions into simple expressions + git-remote-mediawiki: remove unused variable $entry + git-remote-mediawiki: rename a variable ($last) which has the name of a keyword + git-remote-mediawiki: assign a variable as undef and make proper indentation + git-remote-mediawiki: check return value of open + git-remote-mediawiki: remove import of unused open2 + git-remote-mediawiki: put long code into a subroutine + git-remote-mediawiki: modify strings for a better coding-style + git-remote-mediawiki: brace file handles for print for more clarity + git-remote-mediawiki: replace "unless" statements with negated "if" statements + git-remote-mediawiki: don't use quotes for empty strings + git-remote-mediawiki: put non-trivial numeric values in constants. + git-remote-mediawiki: fix a typo ("mediwiki" instead of "mediawiki") + git-remote-mediawiki: clearly rewrite double dereference + git-remote-mediawiki: add a .perlcriticrc file + git-remote-mediawiki: add a perlcritic rule in Makefile + git-remote-mediawiki: make error message more precise + +Dale R. Worley (1): + git_mkstemps: correctly test return value of open() + +Dirk Wallenstein (1): + request-pull: improve error message for invalid revision args + +Doug Bell (1): + show-ref: make --head always show the HEAD ref + +Eduardo R. D'Avila (5): + t9903: add tests for git-prompt pcmode + git-prompt.sh: refactor colored prompt code + t9903: remove redundant tests + git-prompt.sh: do not print duplicate clean color code + git-prompt.sh: add missing information in comments + +Eric Sunshine (27): + t4211: fix broken test when one -L range is subset of another + range_set: fix coalescing bug when range is a subset of another + builtin: add git-check-mailmap command + t4203: test check-mailmap command invocation + t4203: demonstrate loss of single-character name in mailmap entry + t4203: demonstrate loss of uppercase characters in canonical email + mailmap: debug: fix out-of-order fprintf() arguments + mailmap: debug: fix malformed fprintf() format conversion specification + mailmap: debug: eliminate -Wformat field precision type warning + mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification + git-log.txt: fix typesetting of example "git-log -L" invocation + line-range: fix "blame -L X,-N" regression + t8001/t8002 (blame): modernize style + t8001/t8002 (blame): add blame -L tests + t8001/t8002 (blame): add blame -L :funcname tests + blame-options.txt: place each -L option variation on its own line + blame-options.txt: explain that -L <start> and <end> are optional + contrib: add git-contacts helper + contrib: contacts: add ability to parse from committish + contrib: contacts: interpret committish akin to format-patch + contrib: contacts: add mailmap support + contrib: contacts: add documentation + range-set: fix sort_and_merge_range_set() corner case bug + t4211: demonstrate empty -L range crash + t4211: demonstrate crash when first -L encountered is empty range + range-set: satisfy non-empty ranges invariant + line-log: fix "log -LN" crash when N is last line of file + +Felipe Contreras (108): + transport-helper: report errors properly + transport-helper: improve push messages + transport-helper: clarify *:* refspec + transport-helper: update refspec documentation + transport-helper: clarify pushing without refspecs + transport-helper: warn when refspec is not used + transport-helper: trivial code shuffle + transport-helper: update remote helper namespace + completion: add file completion tests + completion: document tilde expansion failure in tests + completion; remove unuseful comments + completion: use __gitcompadd for __gitcomp_file + completion: refactor diff_index wrappers + completion: refactor __git_complete_index_file() + completion: add hack to enable file mode in bash < 4 + completion: add space after completed filename + completion: remove __git_index_file_list_filter() + fast-export: do not parse non-commit objects while reading marks file + fast-export: don't parse commits while reading marks file + fast-{import,export}: use get_sha1_hex() to read from marks file + tests: at-combinations: simplify setup + tests: at-combinations: check ref names directly + tests: at-combinations: improve nonsense() + sha1_name: remove no-op + sha1_name: remove unnecessary braces + completion: cleanup zsh wrapper + completion: synchronize zsh wrapper + sha1_name: reorganize get_sha1_basic() + sha1_name: refactor reinterpret() + Add new @ shortcut for HEAD + sha1_name: compare variable with constant, not constant with variable + test: remote-helper: add missing and + transport-helper: fix remote helper namespace regression + transport-helper: barf when user tries old:new + transport-helper: check if the dry-run is supported + remote-helpers: tests: use python directly + remote-hg: tests: fix hg merge + build: trivial simplification + build: cleanup using $^ + build: cleanup using $< + build: add NO_INSTALL variable + build: do not install git-remote-testpy + remote-bzr: recover from failed clones + remote-bzr: fix for files with spaces + remote-bzr: simplify get_remote_branch() + remote-bzr: delay cloning/pulling + remote-bzr: change global repo + remote-bzr: trivial cleanups + remote-bzr: reorganize the way 'wanted' works + remote-bzr: add fallback check for a partial clone + remote-hg: test: be a little more quiet + remote-hg: trivial reorganization + remote-helpers: test: cleanup white-spaces + remote-helpers: test: cleanup style + remote-helpers: tests: general improvements + remote-helpers: test: simplify remote URLs + remote-hg: test: simplify previous branch checkout + remote-hg: load all extensions + remote-hg: use a shared repository store + remote-hg: shuffle some code + remote-hg: improve node traversing + remote-hg: add version checks to the marks + remote-hg: switch from revisions to SHA-1 noteids + remote-hg: upgrade version 1 marks + remote-hg: ensure remote rebasing works + remote-hg: trivial cleanups + remote-hg: improve progress calculation + remote-hg: always point HEAD to master + remote-hg: add tests for 'master' bookmark + remote-bzr: simplify test checks + remote-hg: add check_bookmark() test helper + remote-hg: update bookmarks when using a remote + remote-hg: add remote tests + remote-hg: add test to push new bookmark + remote-hg: add test for diverged push + remote-hg: add test for bookmark diverge + remote-hg: add test for new bookmark special + remote-hg: add test for big push + remote-hg: add test for failed double push + remote-hg: reorganize bookmark handling + remote-hg: force remote bookmark push selectively + remote-hg: only update necessary revisions + remote-hg: implement custom push() + remote-hg: implement custom checkheads() + remote-hg: pass around revision refs + remote-hg: check diverged bookmarks + remote-hg: simplify branch_tip() + remote-hg: improve branch listing + remote-hg: use remote 'default' not local one + remote-hg: improve lightweight tag author + remote-hg: remove files before modifications + remote-hg: add setup_big_push() helper + remote-hg: add check_push() helper + remote-helpers: improve marks usage + remote-hg: trivial cleanup + remote-hg: check if a fetch is needed + remote-hg: add support for --dry-run + remote-hg: add support for --force + remote: trivial style cleanup + test: trivial cleanups + test: rebase: fix --interactive test + send-email: remove warning about unset chainreplyto + completion: zsh: improve bash script loading + completion: avoid ls-remote in certain scenarios + test: fix post rewrite hook report + build: generate and clean test scripts + build: do not install git-remote-testgit + Makefile: use $^ to avoid listing prerequisites on the command line + +Fredrik Gustafsson (2): + git-submodule.sh: remove duplicate call to set_rev_name + Add --depth to submodule update/add + +Grahack (1): + French translation: copy -> copie. + +Heiko Voigt (6): + git-gui: allow "\ No newline at end of file" for linewise staging + config: factor out config file stack management + config: drop cf validity check in get_next_char() + config: make parsing stack struct independent from actual data source + teach config --blob option to parse config from database + do not die when error in config parsing of buf occurs + +Jeff King (40): + transport-helper: mention helper name when it dies + commit: allow associating auxiliary info on-demand + lookup_object: prioritize recently found objects + t5510: start tracking-ref tests from a known state + refactor "ref->merge" flag + fetch: opportunistically update tracking refs + t0005: test git exit code from signal death + contrib: drop blameview/ directory + t5303: drop "count=1" from corruption dd + unpack_entry: do not die when we fail to apply a delta + get_packed_ref_cache: reload packed-refs file when it changes + for_each_ref: load all loose refs before packed refs + transport-helper: be quiet on read errors from helpers + fetch-pack: avoid quadratic list insertion in mark_complete + commit.c: make compare_commits_by_commit_date global + fetch-pack: avoid quadratic behavior in rev_list_push + pretty.c: drop const-ness from pretty_print_context + teach format-patch to place other authors into in-body "From" + zero-initialize object_info structs + teach sha1_object_info_extended a "disk_size" query + clone: drop connectivity check for local clones + add missing "format" function attributes + use "sentinel" function attribute for variadic lists + wt-status: use "format" function attribute for status_printf + t1006: modernize output comparisons + cat-file: teach --batch to stream blob objects + cat-file: refactor --batch option parsing + cat-file: add --batch-check=<format> + cat-file: add %(objectsize:disk) format atom + cat-file: split --batch input lines on whitespace + pack-revindex: use unsigned to store number of objects + pack-revindex: radix-sort the revindex + t0008: avoid SIGPIPE race condition on fifo + cat-file: disable object/refname ambiguity check for batch mode + sha1_object_info_extended: rename "status" to "type" + sha1_loose_object_info: make type lookup optional + packed_object_info: hoist delta type resolution to helper + packed_object_info: make type lookup optional + sha1_object_info_extended: make type calculation optional + sha1_object_info_extended: pass object_info to helpers + +Jiang Xin (16): + test: add test cases for relative_path + path.c: refactor relative_path(), not only strip prefix + quote.c: substitute path_relative with relative_path + quote_path_relative(): remove redundant parameter + write_name{_quoted_relative,}(): remove redundant parameters + git-clean: refactor git-clean into two phases + git-clean: add support for -i/--interactive + git-clean: show items of del_list in columns + git-clean: add colors to interactive git-clean + git-clean: use a git-add-interactive compatible UI + git-clean: add filter by pattern interactive action + git-clean: add select by numbers interactive action + git-clean: add ask each interactive action + git-clean: add documentation for interactive git-clean + test: add t7301 for git-clean--interactive + test: run testcases with POSIX absolute paths on Windows + +Johan Herland (3): + finish_copy_notes_for_rewrite(): Let caller provide commit message + Move copy_note_for_rewrite + friends from builtin/notes.c to notes-utils.c + Move create_notes_commit() from notes-merge.c into notes-utils.c + +Johannes Schindelin (2): + Define NO_GETTEXT for Git for Windows + Windows resource: handle dashes in the Git version gracefully + +Johannes Sixt (4): + git-remote-testgit: avoid process substitution + git-remote-testgit: further remove some bashisms + t0005: skip signal death exit code test on Windows + rebase topology tests: fix commit names on case-insensitive file systems + +John Keeping (20): + t/Makefile: fix result handling with TEST_OUTPUT_DIRECTORY + test output: respect $TEST_OUTPUT_DIRECTORY + t/Makefile: don't define TEST_RESULTS_DIRECTORY recursively + fetch: don't try to update unfetched tracking refs + git-gui: fix file name handling with non-empty prefix + add--interactive: respect diff.algorithm + Documentation/Makefile: fix spaces around assignments + Documentation/Makefile: move infodir to be with other '*dir's + mergetool--lib: refactor {diff,merge}_cmd logic + t7401: make indentation consistent + t7403: modernize style + t7403: add missing && chaining + submodule: show full path in error message + rev-parse: add --prefix option + submodule: drop the top-level requirement + completion: handle unstuck form of base git options + completion: learn about --man-path + git-config(1): clarify precedence of multiple values + push: avoid suggesting "merging" remote changes + pull: change the description to "integrate" changes + +Jonathan Nieder (1): + mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE + +Jonathon Mah (2): + Documentation: remove --prune from pack-refs examples + Documentation: fix git-prune example usage + +Jorge Juan Garcia Garcia (4): + status: introduce status.short to enable --short by default + status: introduce status.branch to enable --branch by default + status: introduce status.short to enable --short by default + status: introduce status.branch to enable --branch by default + +Junio C Hamano (56): + commit-slab: avoid large realloc + date.c: add parse_expiry_date() + line-log: fix documentation formatting + t5801: "VAR=VAL shell_func args" is forbidden + prune: introduce OPT_EXPIRY_DATE() and use it + git-remote-testgit: build it to run under $SHELL_PATH + t6111: allow checking the parents as well + t6012: update test for tweaked full-history traversal + Start 1.8.4 cycle + Update draft release notes to 1.8.4 + Update draft release notes to 1.8.4 + Update draft release notes to 1.8.4 + commit-slab: introduce a macro to define a slab for new type + test: test_must_be_empty helper + Update draft release notes + toposort: rename "lifo" field + prio-queue: priority queue of pointers to structs + sort-in-topological-order: use prio-queue + log: --author-date-order + Update draft release notes to 1.8.4 + t7512: test "detached from" as well + Update draft release notes to 1.8.4 + t/lib-t6000: style fixes + topology tests: teach a helper to take abbreviated timestamps + t6003: add --date-order test + topology tests: teach a helper to set author dates as well + t6003: add --author-date-order test + add -i: add extra options at the right place in "diff" command line + Update draft release notes to 1.8.4 + Revert "Merge branch 'jg/status-config'" + status/commit: make sure --porcelain is not affected by user-facing config + Update draft release notes to 1.8.4 + Update draft release notes to 1.8.4 + Update draft release notes to 1.8.4 + Update draft release notes to 1.8.4 + Update draft release notes to 1.8.4 + treat_directory(): do not declare submodules to be untracked + name-ref: factor out name shortening logic from name_ref() + name-rev: allow converting the exact object name at the tip of a ref + describe: use argv-array + remote-http: use argv-array + Update draft release notes to 1.8.4 + Update draft release notes for 1.8.4 + mailmap: do not lose single-letter names + mailmap: do not downcase mailmap entries + mailmap: style fixes + Revert "git-clone.txt: remove the restriction on pushing from a shallow clone" + Update draft release notes to 1.8.4 + Update draft release notes to 1.8.4 + name-rev: differentiate between tags and commits they point at + describe: fix --contains when a tag is given as input + t2202: make sure "git add" (no args) stays a no-op + Update draft release notes to 1.8.4 + t7600: fix typo in test title + t4211: fix incorrect rebase at f8395edc (range-set: satisfy non-empty ranges invariant) + Git 1.8.4-rc0 + +Kevin Bracey (14): + decorate.c: compact table when growing + t6019: test file dropped in -s ours merge + t6111: new TREESAME test set + t6111: add parents to tests + rev-list-options.txt: correct TREESAME for P + Documentation: avoid "uninteresting" + revision.c: Make --full-history consider more merges + simplify-merges: never remove all TREESAME parents + simplify-merges: drop merge from irrelevant side branch + revision.c: add BOTTOM flag for commits + revision.c: discount side branches when computing TREESAME + revision.c: don't show all merges for --parents + revision.c: make default history consider bottom commits + am: replace uses of --resolved with --continue + +Kirill Smelkov (1): + git-gui: Fix parsing of <rev> <path-which-not-present-in-worktree> + +Mark Levedahl (6): + test-lib.sh - cygwin does not have usable FIFOs + test-lib.sh - define and use GREP_STRIPS_CR + Cygwin 1.7 needs compat/regex + Cygwin 1.7 has thread-safe pread + Cygwin 1.7 supports mmap + cygwin: stop forcing core.filemode=false + +Martin von Zweigbergk (7): + add simple tests of consistency across rebase types + add tests for rebasing with patch-equivalence present + add tests for rebasing of empty commits + add tests for rebasing root + add tests for rebasing merged history + t3406: modernize style + tests: move test for rebase messages from t3400 to t3406 + +Mathieu Lienard--Mayor (2): + rm: better error message on failure for multiple files + rm: introduce advice.rmHints to shorten messages + +Matthieu Moy (10): + config: refactor management of color.ui's default value + git-remote-mediawiki: better error message when HTTP(S) access fails + make color.ui default to 'auto' + git-remote-mediawiki: un-brace file handles in binmode calls + t4000-diff-format.sh: modernize style + diff: allow --no-patch as synonym for -s + diff: allow --patch & cie to override -s/--no-patch + Documentation/git-show.txt: include common diff options, like git-log.txt + Documentation: move description of -s, --no-patch to diff-options.txt + Documentation/git-log.txt: capitalize section names + +Matthijs Kooijman (1): + upload-pack: remove a piece of dead code + +Michael Haggerty (75): + git-gc.txt, git-reflog.txt: document new expiry options + api-parse-options.txt: document "no-" for non-boolean options + refs: document flags constants REF_* + refs: document the fields of struct ref_value + refs: document do_for_each_ref() and do_one_ref() + refs: document how current_ref is used + refs: define constant PEELED_LINE_LENGTH + do_for_each_ref_in_dirs(): remove dead code + get_packed_ref(): return a ref_entry + peel_ref(): use function get_packed_ref() + repack_without_ref(): use function get_packed_ref() + refs: extract a function ref_resolves_to_object() + refs: extract function peel_object() + peel_object(): give more specific information in return value + peel_ref(): fix return value for non-peelable, not-current reference + refs: extract a function peel_entry() + refs: change the internal reference-iteration API + t3210: test for spurious error messages for dangling packed refs + repack_without_ref(): silence errors for dangling packed refs + search_ref_dir(): return an index rather than a pointer + refs: change how packed refs are deleted + t3211: demonstrate loss of peeled refs if a packed ref is deleted + repack_without_ref(): write peeled refs in the rewritten file + refs: extract a function write_packed_entry() + pack-refs: rename handle_one_ref() to pack_one_ref() + pack-refs: merge code from pack-refs.{c,h} into refs.{c,h} + pack_one_ref(): rename "path" parameter to "refname" + refs: use same lock_file object for both ref-packing functions + pack_refs(): change to use do_for_each_entry() + refs: inline function do_not_prune() + pack_one_ref(): use function peel_entry() + pack_one_ref(): use write_packed_entry() to do the writing + pack_one_ref(): do some cheap tests before a more expensive one + refs: change do_for_each_*() functions to take ref_cache arguments + refs: handle the main ref_cache specially + describe: make own copy of refname + fetch: make own copies of refnames + add_rev_cmdline(): make a copy of the name argument + builtin_diff_tree(): make it obvious that function wants two entries + cmd_diff(): use an object_array for holding trees + cmd_diff(): rename local variable "list" -> "entry" + cmd_diff(): make it obvious which cases are exclusive of each other + revision: split some overly-long lines + object_array: add function object_array_filter() + revision: use object_array_filter() in implementation of gc_boundary() + object_array_remove_duplicates(): rewrite to reduce copying + fsck: don't put a void*-shaped peg in a char*-shaped hole + find_first_merges(): initialize merges variable using initializer + find_first_merges(): remove unnecessary code + object_array_entry: fix memory handling of the name field + do_fetch(): reduce scope of peer_item + do_fetch(): clean up existing_refs before exiting + add_existing(): do not retain a reference to sha1 + show_head_ref(): do not shadow name of argument + show_head_ref(): rename first parameter to "refname" + string_list_add_one_ref(): rename first parameter to "refname" + string_list_add_refs_by_glob(): add a comment about memory management + exclude_existing(): set existing_refs.strdup_strings + register_ref(): make a copy of the bad reference SHA-1 + refs: document the lifetime of the args passed to each_ref_fn + resolve_ref_unsafe(): extract function handle_missing_loose_ref() + resolve_ref_unsafe(): handle the case of an SHA-1 within loop + resolve_ref_unsafe(): close race condition reading loose refs + repack_without_ref(): split list curation and entry writing + pack_refs(): split creation of packed refs and entry writing + refs: wrap the packed refs cache in a level of indirection + refs: implement simple transactions for the packed-refs file + refs: manage lifetime of packed refs cache via reference counting + do_for_each_entry(): increment the packed refs cache refcount + packed_ref_cache: increment refcount when locked + Extract a struct stat_data from cache_entry + add a stat_validity struct + refs: do not invalidate the packed-refs cache unnecessarily + git-multimail: an improved replacement for post-receive-email + post-receive-email: deprecate script in favor of git-multimail + +Michael Schubert (1): + Change "remote tracking" to "remote-tracking" + +Mike Crowe (1): + describe: Add --first-parent option + +Miklos Vajna (1): + merge: handle --ff/--no-ff/--ff-only as a tri-state option + +Namhyung Kim (1): + name-rev: allow to specify a subpath for --refs option + +Nguyễn Thái Ngọc Duy (10): + clone: allow cloning local paths with colons in them + index-pack: remove dead code (it should never happen) + clone: open a shortcut for connectivity check + prune-packed: avoid implying "1" is DRY_RUN in prune_packed_objects() + get_sha1: warn about full or short object names that look like refs + Makefile: promote wildmatch to be the default fnmatch implementation + core: use env variable instead of config var to turn on logging pack access + git.txt: document GIT_TRACE_PACKET + Convert "struct cache_entry *" to "const ..." wherever possible + git-clone.txt: remove the restriction on pushing from a shallow clone + +Ondřej Bílka (3): + typofix: release notes + typofix: documentation + typofix: in-code comments + +Pat Thoyts (7): + git-gui: fix the mergetool launcher for the Beyond Compare tool. + git-gui: change dialog button positions for Windows to suit platform. + Provide a Windows version resource for the git executables. + Ensure the resource file is rebuilt when the version changes. + Set the default help format to html for msys builds. + git-gui: avoid an error message when removing the last remote + git-gui 0.18 + +Peter Krefting (1): + commit: reject non-characters + +Petr Baudis (1): + git stash: avoid data loss when "git stash save" kills a directory + +Pierre le Riche (1): + msysgit: Add the --large-address-aware linker directive to the makefile. + +Ralf Thielow (1): + wt-status: give better advice when cherry-pick is in progress + +Ramkumar Ramachandra (54): + tests: at-combinations: increase coverage + tests: at-combinations: @{N} versus HEAD@{N} + sha1_name: don't waste cycles in the @-parsing loop + sha1_name: check @{-N} errors sooner + am: tighten a conditional that checks for $dotest + rebase -i: don't error out if $state_dir already exists + rebase: prepare to do generic housekeeping + am: return control to caller, for housekeeping + rebase -i: return control to caller, for housekeeping + rebase --merge: return control to caller, for housekeeping + prompt: introduce GIT_PS1_STATESEPARATOR + prompt: factor out gitstring coloring logic + prompt: colorize ZSH prompt + rebase: implement --[no-]autostash and rebase.autostash + contrib: remove continuous/ and patches/ + completion: difftool takes both revs and files + completion: show can take both revlist and paths + rebase: guard against missing files in read_basic_state() + rebase: finish_rebase() in fast-forward rebase + rebase: finish_rebase() in noop rebase + prompt: squelch error output from cat + t/rebase: add failing tests for a peculiar revision + sh-setup: add new peel_committish() helper + rebase: use peel_committish() where appropriate + am: handle stray $dotest directory + t/am: use test_path_is_missing() where appropriate + stash doc: add a warning about using create + stash doc: document short form -p in synopsis + stash: simplify option parser for create + wt-status: remove unused field in grab_1st_switch_cbdata + t/t2021-checkout-last: "checkout -" should work after a rebase finishes + status: do not depend on rebase reflog messages + checkout: respect GIT_REFLOG_ACTION + stash: introduce 'git stash store' + rebase: use 'git stash store' to simplify logic + sequencer: write useful reflog message for fast-forward + t/t5528-push-default: remove redundant test_config lines + t/t5505-remote: modernize style + t/t5505-remote: test push-refspec in branches-file + t/t5505-remote: use test_path_is_missing + remote: remove dead code in read_branches_file() + t/t5505-remote: test url-with-# in branches-file + ls-remote doc: fix example invocation on git.git + ls-remote doc: rewrite <repository> paragraph + ls-remote doc: don't encourage use of branches-file + t/t5505-remote: test multiple push/pull in remotes-file + config doc: rewrite push.default section + rebase: use a better reflog message + rebase -i: use a better reflog message + push: change `simple` to accommodate triangular workflows + t/t5528-push-default: generalize test_push_* + t/t5528-push-default: test pushdefault workflows + commit: make it work with status.short + send-email: be explicit with SSL certificate verification + +Ramsay Jones (14): + compat/regex/regexec.c: Fix some sparse warnings + compat/fnmatch/fnmatch.c: Fix a sparse error + compat/nedmalloc: Fix some sparse warnings + compat/nedmalloc: Fix compiler warnings on linux + compat/unsetenv.c: Fix a sparse warning + compat/win32/pthread.c: Fix a sparse warning + compat/poll/poll.c: Fix a sparse warning + compat/win32mmap.c: Fix some sparse warnings + compat/mingw.c: Fix some sparse warnings + sparse: Fix mingw_main() argument number/type errors + cygwin: Remove the CYGWIN_V15_WIN32API build variable + path: Fix a sparse warning + Fix some sparse warnings + Add the LAST_ARG_MUST_BE_NULL macro + +René Scharfe (11): + cache: mark cache_entry pointers const + read-cache: mark cache_entry pointers const + unpack-trees: factor out dup_entry + unpack-trees: create working copy of merge entry in merged_entry + diff-lib, read-tree, unpack-trees: mark cache_entry pointers const + diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const + unpack-trees: free cache_entry array members for merges + match-trees: factor out fill_tree_desc_strict + unpack-trees: don't shift conflicts left and right + diffcore-pickaxe: simplify has_changes and contains + .mailmap: René Scharfe has a new email address + +Richard Hartmann (3): + templates: Use heredoc in pre-commit hook + templates: Reformat pre-commit hook's message + templates: spell ASCII in uppercase in pre-commit hook + +SZEDER Gábor (16): + bash prompt: fix redirection coding style in tests + bash prompt: use 'write_script' helper in interactive rebase test + completion, bash prompt: move __gitdir() tests to completion test suite + bash prompt: add a test for symbolic link symbolic refs + bash prompt: print unique detached HEAD abbreviated object name + bash prompt: return early from __git_ps1() when not in a git repository + bash prompt: run 'git rev-parse --git-dir' directly instead of __gitdir() + bash prompt: use bash builtins to find out rebase state + bash prompt: use bash builtins to find out current branch + bash prompt: combine 'git rev-parse' executions in the main code path + bash prompt: combine 'git rev-parse' for detached head + bash prompt: use bash builtins to check for unborn branch for dirty state + bash prompt: use bash builtins to check stash state + bash prompt: avoid command substitution when checking for untracked files + bash prompt: avoid command substitution when finalizing gitstring + bash prompt: mention that PROMPT_COMMAND mode is faster + +Sebastian Schuberth (1): + Makefile: Do not use OLD_ICONV on MINGW anymore + +Slava Kardakov (1): + Fix `git svn` `rebase` & `dcommit` if top-level HEAD directory exist + +Stefan Beller (10): + .mailmap: Map "H.Merijn Brand" to "H. Merijn Brand" + .mailmap: Map email addresses to names + .mailmap: Combine more (email, name) to individual persons + daemon.c:handle: Remove unneeded check for null pointer. + commit: Fix a memory leak in determine_author_info + diff.c: Do not initialize a variable, which gets reassigned anyway. + parse_object_buffer: correct freeing the buffer + .mailmap: combine more (email, name) to individual persons + traverse_trees(): clarify return value of the callback + open_istream: remove unneeded check for null pointer + +Stefan Haller (1): + git-gui: bring wish process to front on Mac + +Thomas Gummerer (1): + perf-lib: fix start/stop of perf tests + +Thomas Rast (25): + Implement line-history search (git log -L) + log -L: :pattern:file syntax to find by funcname + Speed up log -L... -M + log -L: check range set invariants when we look it up + log -L: fix overlapping input ranges + t4211: pass -M to 'git log -M -L...' test + log -L: test merge of parallel modify/rename + log -L: store the path instead of a diff_filespec + log -L: improve comments in process_all_files() + git-log(1): remove --full-line-diff description + fetch/pull doc: untangle meaning of bare <ref> + sha1_file: silence sha1_loose_object_info + test-lib: enable MALLOC_* for the actual tests + test-lib: refactor $GIT_SKIP_TESTS matching + test-lib: rearrange start/end of test_expect_* and test_skip + test-lib: self-test that --verbose works + test-lib: verbose mode for only tests matching a pattern + test-lib: valgrind for only tests matching a pattern + test-lib: allow prefixing a custom string before "ok N" etc. + test-lib: support running tests under valgrind in parallel + run-command: dup_devnull(): guard against syscalls failing + daemon/shell: refactor redirection of 0/1/2 from /dev/null + git: ensure 0/1/2 are open in main() + apply, entry: speak of submodules instead of subprojects + show-branch: fix description of --date-order + +Tony Finch (1): + gitweb: allow extra breadcrumbs to prefix the trail + +Torsten Bögershausen (1): + t0000: do not use export X=Y + +W. Trevor King (4): + doc/clone: Remove the '--bare -l -s' example + doc/clone: Pick more compelling paths for the --reference example + Documentation: Update the NFS remote examples to use the staging repo + Documentation: Update 'linux-2.6.git' -> 'linux.git' + +Xidorn Quan (1): + credential-osxkeychain: support more protocols + +brian m. carlson (3): + send-email: provide port separately from hostname + commit: reject invalid UTF-8 codepoints + commit: reject overlong UTF-8 sequences + + +Version v1.8.3.4; changes since v1.8.3.3: +----------------------------------------- + +Dennis Kaarsemaker (2): + tests: allow sha1's as part of the path + GIT-VERSION-GEN: support non-standard $GIT_DIR path + +Fraser Tweedale (2): + documentation: add git:// transport security notice + diff-options: document default similarity index + +Jeff King (5): + t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4 + t/lib-httpd/apache.conf: load extra auth modules in apache 2.4 + t/lib-httpd/apache.conf: load compat access module in apache 2.4 + t/lib-httpd/apache.conf: configure an MPM module for apache 2.4 + lib-httpd/apache.conf: check version only after mod_version loads + +Johannes Sixt (10): + test-chmtime: Fix exit code on Windows + t3010: modernize style + tests: introduce test_ln_s_add + tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases) + t0000: use test_ln_s_add to remove SYMLINKS prerequisite + t3030: use test_ln_s_add to remove SYMLINKS prerequisite + t3100: use test_ln_s_add to remove SYMLINKS prerequisite + t3509, t4023, t4114: use test_ln_s_add to remove SYMLINKS prerequisite + t6035: use test_ln_s_add to remove SYMLINKS prerequisite + t4011: remove SYMLINKS prerequisite + +Junio C Hamano (7): + fetch-options.txt: prevent a wildcard refspec from getting misformatted + diff: demote core.safecrlf=true to core.safecrlf=warn + t1512: correct leftover constants from earlier edition + get_short_sha1(): correctly disambiguate type-limited abbreviation + Start preparing for 1.8.3.4 + Update draft release notes to 1.8.3.4 + Git 1.8.3.4 + +Kevin Bracey (1): + Documentation: Move "git diff <blob> <blob>" + +Matthieu Moy (2): + Documentation/git-push.txt: explain better cases where --force is dangerous + Documentation/git-merge.txt: weaken warning about uncommited changes + +Michael Haggerty (1): + lockfile: fix buffer overflow in path handling + +Namhyung Kim (1): + config: Add description of --local option + +Ondřej Bílka (1): + update URL to the marc.info mail archive + +Phil Hord (1): + fix "builtin-*" references to be "builtin/*" + +Ramkumar Ramachandra (2): + column doc: rewrite documentation for column.ui + name-rev doc: rewrite --stdin paragraph + +René Scharfe (9): + t5000: integrate export-subst tests into regular tests + t5000, t5003: create directories for extracted files lazily + t5000: factor out check_tar + t5000: use check_tar for prefix test + t5000: simplify tar-tree tests + t5000: test long filenames + read-cache: add simple performance test + read-cache: free cache in discard_index + use logical OR (||) instead of binary OR (|) in logical context + +Stefan Beller (4): + archive-zip:write_zip_entry: Remove second reset of size variable to zero. + Documentation: "git reset <tree-ish> <pathspec>" takes a tree-ish, not tree-sh + http-push.c::add_send_request(): do not initialize transfer_request + apply.c::find_name_traditional(): do not initialize len to the line's length + +Thomas Rast (7): + coverage: split build target into compile and test + coverage: do not delete .gcno files before building + coverage: set DEFAULT_TEST_TARGET to avoid using prove + coverage: build coverage-untested-functions by default + Test 'commit --only' after 'checkout --orphan' + t9902: fix 'test A == B' to use = operator + test-lint: detect 'export FOO=bar' + +Torstein Hegge (1): + bisect: Fix log output for multi-parent skip ranges + +Veres Lajos (1): + random typofixes (committed missing a 't', successful missing an 's') + +Vitor Antunes (1): + t9801: git-p4: check ignore files with client spec + +W. Trevor King (1): + user-manual: Update download size for Git and the kernel + +Yaakov Selkowitz (1): + web--browse: support /usr/bin/cygstart on Cygwin + + +Version v1.8.3.3; changes since v1.8.3.2: +----------------------------------------- + +Andrew Pimlott (2): + lib-rebase: document exec_ in FAKE_LINES + t7500: fix flipped actual/expect + +Anthony Ramine (1): + wildmatch: properly fold case everywhere + +Brandon Casey (1): + http.c: don't rewrite the user:passwd string multiple times + +Charles McGarvey (1): + gitweb: fix problem causing erroneous project list + +Chris Rorvick (1): + git.txt: remove stale comment regarding GIT_WORK_TREE + +Clemens Buchacher (1): + fix segfault with git log -c --follow + +David Aguilar (4): + Makefile: fix default regex settings on Darwin + Makefile: add support for Apple CommonCrypto facility + cache.h: eliminate SHA-1 deprecation warnings on Mac OS X + imap-send: eliminate HMAC deprecation warnings on Mac OS X + +Dmitry Marakasov (1): + contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash + +Felipe Contreras (4): + read-cache: fix wrong 'the_index' usage + read-cache: trivial style cleanups + sequencer: remove useless indentation + sequencer: avoid leaking message buffer when refusing to create an empty commit + +Filipe Cabecinhas (1): + compate/clipped-write.c: large write(2) fails on Mac OS X/XNU + +Fredrik Gustafsson (1): + handle multibyte characters in name + +Jeff King (1): + pull: update unborn branch tip after index + +John Keeping (1): + git-config: update doc for --get with multiple values + +Junio C Hamano (6): + deprecate core.statinfo at Git 2.0 boundary + t5551: do not use unportable sed '\+' + Documentation/diff-index: mention two modes of operation + Start preparing for 1.8.3.3 + Update draft release notes to 1.8.3.3 + Git 1.8.3.3 + +Michael S. Tsirkin (9): + t/send-email.sh: add test for suppress-cc=self + send-email: fix suppress-cc=self on cccmd + t/send-email: test suppress-cc=self on cccmd + send-email: make --suppress-cc=self sanitize input + t/send-email: add test with quoted sender + t/send-email: test suppress-cc=self with non-ascii + test-send-email: test for pre-sanitized self name + send-email: add test for duplicate utf8 name + send-email: sanitize author when writing From line + +Ramkumar Ramachandra (6): + sha1_name: fix error message for @{u} + sha1_name: fix error message for @{<N>}, @{<date>} + diffcore-pickaxe: make error messages more consistent + diffcore-pickaxe doc: document -S and -G properly + check-ignore doc: fix broken link to ls-files page + fixup-builtins: retire an old transition helper script + +René Scharfe (2): + t5004: avoid using tar for checking emptiness of archive + t5004: resurrect original empty tar archive test + +Richard Hansen (1): + Documentation/merge-options.txt: restore `-e` option + +SZEDER Gábor (1): + test: spell 'ls-files --delete' option correctly in test descriptions + +Thomas Rast (2): + pull: merge into unborn by fast-forwarding from empty tree + apply: carefully strdup a possibly-NULL name + +Torsten Bögershausen (1): + t7400: test of UTF-8 submodule names pass under Mac OS + +Vikrant Varma (2): + help: add help_unknown_ref() + merge: use help_unknown_ref() + + +Version v1.8.3.2; changes since v1.8.3.1: +----------------------------------------- + +Felipe Contreras (1): + prompt: fix for simple rebase + +Johan Herland (8): + t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>' + t2024: Show failure to use refspec when DWIMming remote branch names + checkout: Use remote refspecs when DWIMming tracking branches + t3200.39: tracking setup should fail if there is no matching refspec. + t7201.24: Add refspec to keep --track working + t9114.2: Don't use --track option against "svn-remote"-tracking branches + branch.c: Validate tracking branches with refspecs instead of refs/remotes/* + glossary: Update and rephrase the definition of a remote-tracking branch + +John Keeping (1): + contrib/subtree: don't delete remote branches if split fails + +Junio C Hamano (3): + strbuf_branchname(): do not double-expand @{-1}~22 + Start preparing for 1.8.3.2 + Git 1.8.3.2 + +Kenichi Saita (1): + difftool --dir-diff: allow changing any clean working tree file + +Kevin Bracey (2): + t6019: demonstrate --ancestry-path A...B breakage + revision.c: treat A...B merge bases as if manually specified + +Matthijs Kooijman (1): + combine-diff.c: Fix output when changes are exactly 3 lines apart + +Michael Heemskerk (2): + upload-pack: ignore 'shallow' lines with unknown obj-ids + t5500: add test for fetching with an unknown 'shallow' + +Nguyễn Thái Ngọc Duy (3): + clone: let the user know when check_everything_connected is run + urls.txt: avoid auto converting to hyperlink + fetch-pack: prepare updated shallow file before fetching the pack + +Ramkumar Ramachandra (4): + push: factor out the detached HEAD error message + push: fail early with detached HEAD and current + push: make push.default = current use resolved HEAD + completion: complete diff --word-diff + +René Scharfe (1): + commit: don't start editor if empty message is given with -m + +Stefano Lattarini (1): + configure: fix option help message for --disable-pthreads + +Thomas Gummerer (1): + prompt: fix show upstream with svn and zsh + +Thomas Rast (1): + Document push --no-verify + +Torsten Bögershausen (1): + t0070 "mktemp to unwritable directory" needs SANITY + +Wieland Hoffmann (1): + pre-push.sample: Make the script executable + + +Version v1.8.3.1; changes since v1.8.3: +--------------------------------------- + +Erik Faye-Lund (1): + mingw: make mingw_signal return the correct handler + +Felipe Contreras (1): + sha1_file: trivial style cleanup + +Fredrik Gustafsson (1): + Document .git/modules + +Jonathan Nieder (1): + config: allow inaccessible configuration under $HOME + +Junio C Hamano (3): + Start 1.8.3.1 maintenance track + t/README: test_must_fail is for testing Git + Git 1.8.3.1 + +Karsten Blees (1): + dir.c: fix ignore processing within not-ignored directories + +Phil Hord (1): + trivial: Add missing period in documentation + +René Scharfe (1): + submodule: remove redundant check for the_index.initialized + + +Version v1.8.3; changes since v1.8.3-rc3: +----------------------------------------- + +Amit Bakshi (1): + remote-hg: set stdout to binary mode on win32 + +Felipe Contreras (3): + completion: regression fix for zsh + remote-hg: trivial configuration note cleanup + remote-hg: fix order of configuration comments + +Jonathan Nieder (1): + git-svn: clarify explanation of --destination argument + +Junio C Hamano (1): + Git 1.8.3 + +Nathan Gray (1): + git-svn: multiple fetch/branches/tags keys are supported + +Tobias Schulte (1): + git-svn: introduce --parents parameter for commands branch and tag + + +Version v1.8.3-rc3; changes since v1.8.3-rc2: +--------------------------------------------- + +Dale R. Worley (1): + git-submodule.txt: Clarify 'init' and 'add' subcommands. + +Dale Worley (1): + CodingGuidelines: Documentation/*.txt are the sources + +Felipe Contreras (13): + remote-bzr: update old organization + remote-hg: trivial cleanups + remote-hg: get rid of unused exception checks + remote-hg: enable track-branches in hg-git mode + remote-hg: add new get_config_bool() helper + remote-hg: fix new branch creation + remote-hg: disable forced push by default + remote-hg: don't push fake 'master' bookmark + remote-hg: update bookmarks when pulling + remote-bzr: fix cloning of non-listable repos + Revert "remote-hg: update bookmarks when pulling" + remote-bzr: fixes for older versions of bzr + documentation: trivial style cleanups + +John Keeping (1): + difftool: fix dir-diff when file does not exist in working tree + +Junio C Hamano (1): + Git 1.8.3-rc3 + +Peter Krefting (1): + gitk: Update Swedish translation (304t) + +Sandor Bodo-Merle (1): + remote-bzr: fix old organization destroy + + +Version v1.8.3-rc2; changes since v1.8.3-rc1: +--------------------------------------------- + +Anand Kumria (1): + gitk: Display the date of a tag in a human-friendly way + +David Aguilar (1): + mergetools/kdiff3: do not use --auto when diffing + +Felipe Contreras (25): + remote-bzr: cleanup CustomTree + remote-bzr: delay blob fetching until the very end + remote-bzr: fix order of locking in CustomTree + remote-bzr: always try to update the worktree + remote-bzr: add support to push merges + remote-bzr: fixes for branch diverge + remote-bzr: fix partially pushed merge + remote-bzr: use branch variable when appropriate + remote-bzr: add support for bzr repos + remote-bzr: fix branch names + remote-bzr: add support for shared repo + remote-bzr: improve author sanitazion + remote-bzr: add custom method to find branches + remote-bzr: add option to specify branches + remote-bzr: improve progress reporting + remote-bzr: iterate revisions properly + remote-bzr: delay peer branch usage + remote-bzr: access branches only when needed + transport-helper: improve push messages + remote-bzr: convert all unicode keys to str + remote-bzr: avoid bad refs + remote-bzr: fix for disappeared revisions + remote-helpers: trivial cleanup + transport-helper: trivial style cleanup + gitk: Simplify file filtering + +Gauthier Östervall (1): + gitk: Move hard-coded colors to .gitk + +Jiang Xin (2): + l10n: git.pot: v1.8.3 round 2 (44 new, 12 removed) + l10n: zh_CN.po: translate 44 messages (2080t0f0u) + +John Keeping (1): + merge-tree: handle directory/empty conflict correctly + +Jonathan Nieder (1): + Git::SVN::*: add missing "NAME" section to perldoc + +Junio C Hamano (4): + Update draft release notes for 1.8.3 + cherry-pick: picking a tag that resolves to a commit is OK + Git 1.8.2.3 + Git 1.8.3-rc2 + +Knut Franke (1): + gitk: Add menu item for reverting commits + +Martin Langhoff (1): + gitk: Add support for -G'regex' pickaxe variant + +Michael Contreras (1): + git-svn: avoid self-referencing mergeinfo + +Paul Mackerras (1): + gitk: Improve behaviour of drop-down lists + +Paul Walmsley (1): + git-svn: added an --include-path flag + +Peter Krefting (1): + l10n: Update Swedish translation (2080t0f0u) + +Ralf Thielow (1): + l10n: de.po: translate 44 new messages + +René Scharfe (2): + t5004: ignore pax global header file + t5004: avoid using tar for checking emptiness of archive + +Tair Sabirgaliev (1): + gitk: On OSX, bring the gitk window to front + +Torsten Bögershausen (1): + test-bzr: do not use unportable sed '\+' + +Trần Ngọc Quân (1): + l10n: Update Vietnamese translation (2080t0f0u) + + +Version v1.8.3-rc1; changes since v1.8.3-rc0: +--------------------------------------------- + +Anders Granskogen Bjørnstad (1): + Documentation/git-commit: Typo under --edit + +Felipe Contreras (5): + completion: add missing format-patch options + documentation: trivial whitespace cleanups + complete: zsh: trivial simplification + complete: zsh: use zsh completion for the main cmd + completion: zsh: don't override suffix on _detault + +H. Merijn Brand (1): + Git.pm: call tempfile from File::Temp as a regular function + +John Keeping (2): + merge-tree: fix typo in "both changed identically" + t/Makefile: remove smoke test targets + +Junio C Hamano (2): + Update draft release notes to 1.8.3 + Git 1.8.3-rc1 + +Marc Branchaud (1): + Fix grammar in the 1.8.3 release notes. + +Ramkumar Ramachandra (5): + git-completion.bash: lexical sorting for diff.statGraphWidth + git-completion.bash: add diff.submodule to config list + git-completion.bash: complete branch.*.rebase as boolean + git-completion.bash: add branch.*.pushremote to config list + git-completion.bash: add remote.pushdefault to config list + +Ramsay Jones (2): + clone: Make the 'junk_mode' symbol a file static + pretty: Fix bug in truncation support for %>, %< and %>< + +René Scharfe (3): + pretty: simplify input line length calculation in pp_user_info() + pretty: simplify output line length calculation in pp_user_info() + pretty: remove intermediate strbufs from pp_user_info() + +Thomas Rast (4): + remote: add a test for extra arguments, according to docs + remote: check for superfluous arguments in 'git remote add' + remote: 'show' and 'prune' can take more than one remote + unpack_entry: avoid freeing objects in base cache + +Zoltan Klinger (1): + bash-prompt.sh: show where rebase is at when stopped + + +Version v1.8.3-rc0; changes since v1.8.2.3: +------------------------------------------- + +Aaron Schrab (2): + clone: Fix error message for reference repository + clone: Allow repo using gitfile as a reference + +Antoine Pelisse (5): + combine-diff: coalesce lost lines optimally + fast-export: Allow pruned-references in mark file + strbuf: create strbuf_humanise_bytes() to show byte sizes + count-objects: add -H option to humanize sizes + remote-hg: activate graphlog extension for hg_log() + +Brad King (1): + commit-tree: document -S option consistently + +Brandon Casey (11): + commit, cherry-pick -s: remove broken support for multiline rfc2822 fields + t/test-lib-functions.sh: allow to specify the tag name to test_commit + t/t3511: add some tests of 'cherry-pick -s' functionality + sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer + sequencer.c: require a conforming footer to be preceded by a blank line + sequencer.c: always separate "(cherry picked from" from commit body + sequencer.c: teach append_signoff how to detect duplicate s-o-b + sequencer.c: teach append_signoff to avoid adding a duplicate newline + Unify appending signoff in format-patch, commit and sequencer + t7502: perform commits using alternate editor in a subshell + git-commit: populate the edit buffer with 2 blank lines before s-o-b + +Brian Gernhardt (3): + t5550: do not assume the "matching" push is the default + t5551: do not assume the "matching" push is the default + t5570: do not assume the "matching" push is the default + +Christophe Simonis (3): + remote-bzr: fix directory renaming + remote-bzr: remove files before modifications + remote-bzr: fix utf-8 support for fetching + +David Aguilar (4): + difftool: silence uninitialized variable warning + t7800: update copyright notice + t7800: modernize tests + t7800: "defaults" is no longer a builtin tool name + +David Engster (1): + remote-bzr: set author if available + +Dusty Phillips (3): + remote-hg: add missing config variable in doc + remote-hg: push to the appropriate branch + remote-helpers: avoid has_key + +Felipe Contreras (64): + remote-bzr: avoid echo -n + remote-helpers: fix the run of all tests + remote-bzr: remove stale check code for tests + remote-hg: fix hg-git test-case + remote-bzr: only update workingtree on local repos + remote-bzr: avoid unreferred tags + remote-bzr: add utf-8 support for pushing + send-email: make annotate configurable + format-patch: improve head calculation for cover-letter + format-patch: refactor branch name calculation + log: update to OPT_BOOL + format-patch: add format.coverLetter configuration variable + format-patch: trivial cleanups + remote-bzr: improve tag handling + remote-hg: trivial cleanups + remote-hg: properly report errors on bookmark pushes + remote-hg: make sure fake bookmarks are updated + remote-hg: trivial test cleanups + remote-hg: redirect buggy mercurial output + remote-hg: split bookmark handling + remote-hg: refactor export + remote-hg: update remote bookmarks + remote-hg: update tags globally + remote-hg: force remote push + remote-hg: show more proper errors + remote-hg: add basic author tests + remote-hg: add simple mail test + remote-hg: fix bad state issue + remote-hg: fix bad file paths + completion: add more cherry-pick options + completion: trivial test improvement + completion: get rid of empty COMPREPLY assignments + rebase-am: explicitly disable cover-letter + completion: add new __gitcompadd helper + completion: add __gitcomp_nl tests + completion: get rid of compgen + completion: inline __gitcomp_1 to its sole callsite + completion: small optimization + branch: colour upstream branches + remote-bzr: fix prefix of tags + remote-hg: safer bookmark pushing + remote-hg: use python urlparse + remote-hg: properly mark branches up-to-date + remote-hg: add branch_tip() helper + remote-hg: add support for tag objects + remote-hg: custom method to write tags + remote-hg: write tags in the appropriate branch + remote-hg: add custom local tag write code + remote-hg: improve email sanitation + remote-hg: add support for schemes extension + remote-hg: don't update bookmarks unnecessarily + remote-hg: allow refs with spaces + remote-hg: small performance improvement + remote-hg: use marks instead of inlined files + remote-hg: strip extra newline + remote-bzr: use proper push method + remote-helpers: trivial cleanups + remote-hg: remove extra check + remote-bzr: fix bad state issue + remote-bzr: add support to push URLs + remote-hg: use hashlib instead of hg sha1 util + remote-bzr: store converted URL + remote-bzr: tell bazaar to be quiet + remote-bzr: strip extra newline + +Jacob Sarvis (1): + log: read gpg settings for signed commit verification + +Jeff King (53): + upload-pack: use get_sha1_hex to parse "shallow" lines + upload-pack: do not add duplicate objects to shallow list + upload-pack: remove packet debugging harness + fetch-pack: fix out-of-bounds buffer offset in get_ack + send-pack: prefer prefixcmp over memcmp in receive_status + upload-archive: do not copy repo name + upload-archive: use argv_array to store client arguments + write_or_die: raise SIGPIPE when we get EPIPE + pkt-line: move a misplaced comment + pkt-line: drop safe_write function + pkt-line: provide a generic reading function with options + pkt-line: teach packet_read_line to chomp newlines + pkt-line: move LARGE_PACKET_MAX definition from sideband + pkt-line: provide a LARGE_PACKET_MAX static buffer + pkt-line: share buffer/descriptor reading implementation + teach get_remote_heads to read from a memory buffer + remote-curl: pass buffer straight to get_remote_heads + remote-curl: move ref-parsing code up in file + remote-curl: always parse incoming refs + t2200: check that "add -u" limits itself to subdirectory + fast-export: rename handle_object function + fast-export: do not load blob objects twice + do not use GIT_TRACE_PACKET=3 in tests + stream_blob_to_fd: detect errors reading from stream + check_sha1_signature: check return value from read_istream + read_istream_filtered: propagate read error from upstream + avoid infinite loop in read_istream_loose + add test for streaming corrupt blobs + streaming_write_entry: propagate streaming errors + add tests for cloning corrupted repositories + clone: die on errors from unpack_trees + clone: run check_everything_connected + t1300: document some aesthetic failures of the config editor + clone: leave repo in place after checkout errors + t5516 (fetch-push): drop implicit arguments from helper functions + t3200: test --set-upstream-to with bogus refs + branch: factor out "upstream is not a branch" error messages + branch: improve error message for missing --set-upstream-to ref + branch: mention start_name in set-upstream error messages + branch: give advice when tracking start-point is missing + rm: do not complain about d/f conflicts during deletion + t3600: test behavior of reverse-d/f conflict + t3600: document failure of rm across symbolic links + http: add HTTP_KEEP_ERROR option + remote-curl: show server content on http errors + remote-curl: let servers override http 404 advice + remote-curl: always show friendlier 404 message + remote-curl: consistently report repo url for http errors + http: simplify http_error helper function + http: re-word http error message + remote-curl: die directly with http error messages + http: drop http_error function + http: set curl FAILONERROR each time we select a handle + +Jens Lehmann (2): + submodule: add 'deinit' command + submodule deinit: clarify work tree removal message + +Jiang Xin (3): + l10n: git.pot: v1.8.3 round 1 (54 new, 15 removed) + l10n: zh_CN.po: translate 54 messages (2048t0f0u) + i18n: branch: mark strings for translation + +John Keeping (16): + Makefile: make mandir, htmldir and infodir absolute + git-difftool(1): fix formatting of --symlink description + difftool: avoid double slashes in symlink targets + difftool --dir-diff: symlink all files matching the working tree + refs.c: fix fread error handling + t7800: move '--symlinks' specific test to the end + difftool: don't overwrite modified files + t7800: don't hide grep output + t7800: fix tests when difftool uses --no-symlinks + t7800: run --dir-diff tests with and without symlinks + submodule: print graph output next to submodule log + gitremote-helpers(1): clarify refspec behaviour + merge-tree: don't print entries that match "local" + fast-export: add --signed-tags=warn-strip mode + transport-helper: pass --signed-tags=warn-strip to fast-export + transport-helper: add 'signed-tags' capability + +John Koleszar (1): + http-backend: respect GIT_NAMESPACE with dumb clients + +John Szakmeister (1): + git-web--browse: recognize any TERM_PROGRAM as a GUI terminal on OS X + +Jonathan Nieder (11): + sequencer.c: rework search for start of footer to improve clarity + shell doc: emphasize purpose and security model + shell: new no-interactive-login command to print a custom message + push test: use test_config when appropriate + push test: simplify check of push result + push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi' + add: make pathless 'add [-u|-A]' warning a file-global function + add: make warn_pathless_add() a no-op after first call + add -u: only show pathless 'add -u' warning when changes exist outside cwd + add -A: only show pathless 'add -A' warning when changes exist outside cwd + convert: The native line-ending is \r\n on MinGW + +Jonathon Mah (1): + branch: give better message when no names specified for rename + +Junio C Hamano (53): + t5404: do not assume the "matching" push is the default + t5505: do not assume the "matching" push is the default + t5516: do not assume the "matching" push is the default + t5517: do not assume the "matching" push is the default + t5519: do not assume the "matching" push is the default + t5531: do not assume the "matching" push is the default + t7406: do not assume the "matching" push is the default + t9400: do not assume the "matching" push is the default + t9401: do not assume the "matching" push is the default + simplify-merges: drop merge from irrelevant side branch + config.mak.in: remove unused definitions + parse_fetch_refspec(): clarify the codeflow a bit + fetch: use struct ref to represent refs to be fetched + upload-pack: optionally allow fetching from the tips of hidden refs + fetch: fetch objects by their exact SHA-1 object names + Makefile: do not export mandir/htmldir/infodir + match_push_refs(): nobody sets src->peer_ref anymore + commit.c: add clear_commit_marks_many() + commit.c: add in_merge_bases_many() + commit.c: use clear_commit_marks_many() in in_merge_bases_many() + push: --follow-tags + for_each_reflog_ent(): extract a helper to process a single entry + for_each_recent_reflog_ent(): simplify opening of a reflog file + reflog: add for_each_reflog_ent_reverse() API + builtin/add.c: simplify boolean variables + git add: start preparing for "git add <pathspec>..." to default to "-A" + Start the post 1.8.2 cycle + The first wave of topics for 1.8.3 + Update draft release notes to 1.8.3 + merge-one-file: remove stale comment + merge-one-file: force content conflict for "both sides added" case + Second wave of topics toward 1.8.3 + More topics from the second batch for 1.8.3 + peel_onion: disambiguate to favor tree-ish when we know we want a tree-ish + peel_onion(): teach $foo^{object} peeler + Update draft release notes to 1.8.3 + Update draft release notes to 1.8.3 + Update draft release notes to 1.8.3 + Update draft release notes to 1.8.3 + Update draft release notes to 1.8.3 + Revert 4b7f53da7618 (simplify-merges: drop merge from irrelevant side branch, 2013-01-17) + Update dtaft release notes to 1.8.3 + Update draft release notes to 1.8.3 + git add: rework the logic to warn "git add <pathspec>..." default change + Update draft release notes to 1.8.3 + Update draft release notes to 1.8.3 + git add: rephrase the "removal will cease to be ignored" warning + Update draft release notes to 1.8.3 + git add: --ignore-removal is a better named --no-all + git add: rephrase -A/--no-all warning + Update draft release notes to 1.8.3 + git add: avoid "-u/-A without pathspec" warning on stat-dirty paths + Git 1.8.3-rc0 + +Karsten Blees (14): + dir.c: git-status --ignored: don't drop ignored directories + dir.c: git-status --ignored: don't list files in ignored directories + dir.c: git-status --ignored: don't list empty ignored directories + dir.c: git-ls-files --directories: don't hide empty directories + dir.c: git-status --ignored: don't list empty directories as ignored + dir.c: make 'git-status --ignored' work within leading directories + dir.c: git-clean -d -X: don't delete tracked directories + dir.c: factor out parts of last_exclude_matching for later reuse + dir.c: move prep_exclude + dir.c: unify is_excluded and is_path_excluded APIs + dir.c: replace is_path_excluded with now equivalent is_excluded API + dir.c: git-status: avoid is_excluded checks for tracked files + dir.c: git-status --ignored: don't scan the work tree three times + dir.c: git-status --ignored: don't scan the work tree twice + +Kevin Bracey (5): + mergetools/p4merge: swap LOCAL and REMOTE + mergetools/p4merge: create a base if none available + git-merge-one-file: style cleanup + git-merge-one-file: send "ERROR:" messages to stderr + checkout: abbreviate hash in suggest_reattach + +Kirill Smelkov (1): + Fix `make install` when configured with autoconf + +Lukas Fleischer (3): + attr.c: extract read_index_data() as read_blob_data_from_index() + read_blob_data_from_index(): optionally return the size of blob data + convert.c: remove duplicate code + +Matthieu Moy (3): + status: show 'revert' state and status hint + status: show commit sha1 in "You are currently reverting" message + add: add a blank line at the end of pathless 'add [-u|-A]' warning + +Michael Haggerty (1): + rev-parse: clarify documentation for the --verify option + +Michal Nazarewicz (6): + Git.pm: allow command_close_bidi_pipe to be called as method + Git.pm: fix example in command_close_bidi_pipe documentation + Git.pm: refactor command_close_bidi_pipe to use _cmd_close + Git.pm: allow pipes to be closed prior to calling command_close_bidi_pipe + Git.pm: add interface for git credential command + git-send-email: use git credential to obtain password + +Mike Gorchak (2): + date.c: fix unsigned time_t comparison + Fix time offset calculation in case of unsigned time_t + +Miklos Vajna (1): + cherry-pick: make sure all input objects are commits + +Miklós Fazekas (1): + git p4: avoid expanding client paths in chdir + +Modestas Vainius (1): + Support FTP-over-SSL/TLS for regular FTP + +Nguyễn Thái Ngọc Duy (28): + git-count-objects.txt: describe each line in -v output + t4014: more tests about appending s-o-b lines + format-patch: update append_signoff prototype + sha1_file: reorder code in prepare_packed_git_one() + count-objects: report garbage files in pack directory too + count-objects: report how much disk space taken by garbage files + wt-status: move strbuf into read_and_strip_branch() + wt-status: split wt_status_state parsing function out + wt-status: move wt_status_get_state() out to wt_status_print() + status: show more info than "currently not on any branch" + branch: show more information when HEAD is detached + Preallocate hash tables when the number of inserts are known in advance + status, branch: fix the misleading "bisecting" message + checkout: avoid unnecessary match_pathspec calls + checkout: add --ignore-skip-worktree-bits in sparse checkout mode + pretty: save commit encoding from logmsg_reencode if the caller needs it + pretty: get the correct encoding for --pretty:format=%e + pretty-formats.txt: wrap long lines + pretty: share code between format_decoration and show_decorations + utf8.c: move display_mode_esc_sequence_len() for use by other functions + utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences + utf8.c: add reencode_string_len() that can handle NULs in string + pretty: two phase conversion for non utf-8 commits + pretty: split color parsing into a separate function + pretty: add %C(auto) for auto-coloring + pretty: support padding placeholders, %< %> and %>< + pretty: support truncating in %>, %< and %>< + pretty: support %>> that steal trailing spaces + +Pete Wyckoff (2): + git p4 test: make sure P4CONFIG relative path works + git p4 test: should honor symlink in p4 client root + +Peter Krefting (1): + l10n: Update Swedish translation (2048t0f0u) + +Peter van Zetten (1): + remote-hg: fix for files with spaces + +Phil Hord (1): + rebase: find orig_head unambiguously + +Philip Oakley (5): + builtin/help.c: split "-a" processing into two + builtin/help.c: add --guide option + builtin/help.c: add list_common_guides_help() function + help: mention -a and -g option, and 'git help <concept>' usage. + doc: include --guide option description for "git help" + +Ralf Thielow (1): + l10n: de.po: translate 54 new messages + +Ramkumar Ramachandra (14): + t5520: use test_config to set/unset git config variables (leftover bits) + remote.c: simplify a bit of code using git_config_string() + t5516 (fetch-push): update test description + remote.c: introduce a way to have different remotes for fetch/push + remote.c: introduce remote.pushdefault + remote.c: introduce branch.<name>.pushremote + git-shortlog.txt: remove (-h|--help) from OPTIONS + revisions.txt: clarify the .. and ... syntax + git-log.txt: order OPTIONS properly; move <since>..<until> + git-log.txt: generalize <since>..<until> + git-log.txt: rewrite note on why "--" may be required + git-shortlog.txt: make SYNOPSIS match log, update OPTIONS + builtin/log.c: make usage string consistent with doc + builtin/shortlog.c: make usage string consistent with log + +Ramsay Jones (5): + msvc: Fix compilation errors caused by poll.h emulation + msvc: git-daemon: Fix linker "unresolved external" errors + msvc: Fix build by adding missing symbol defines + msvc: test-svn-fe: Fix linker "unresolved external" error + msvc: avoid collisions between "tags" and "TAGS" + +René Scharfe (1): + archive-zip: use deflateInit2() to ask for raw compressed data + +Sebastian Götte (5): + Move commit GPG signature verification to commit.c + commit.c/GPG signature verification: Also look at the first GPG status line + merge/pull: verify GPG signatures of commits being merged + merge/pull Check for untrusted good GPG signatures + pretty printing: extend %G? to include 'N' and 'U' + +Sebastian Schuberth (1): + git-svn: Support custom tunnel schemes instead of SSH only + +Simon Ruderich (4): + git-am: show the final log message on "Applying:" indicator + remote-hg: add 'insecure' option + remote-hg: document location of stored hg repository + help: mark common_guides[] as translatable + +Stefano Lattarini (1): + zlib: fix compilation failures with Sun C Compilaer + +Steven Walter (1): + safe_create_leading_directories: fix race that could give a false negative + +Ted Zlatanov (1): + Add contrib/credentials/netrc with GPG support + +Thomas Rast (8): + sha1_file: remove recursion in packed_object_info + Refactor parts of in_delta_base_cache/cache_or_unpack_entry + sha1_file: remove recursion in unpack_entry + Avoid loading commits twice in log with diffs + t/README: --valgrind already implies -v + tests: parameterize --valgrind option + tests --valgrind: provide a mode without --track-origins + tests: notice valgrind error in test_must_fail + +Timotheus Pokorra (1): + remote-bzr: add utf-8 support for fetching + +Torstein Hegge (3): + t9903: Don't fail when run from path accessed through symlink + bisect: Store first bad commit as comment in log file + bisect: Log possibly bad, skipped commits at bisection end + +Torsten Bögershausen (4): + Make core.sharedRepository work under cygwin 1.7 + path.c: simplify adjust_shared_perm() + path.c: optimize adjust_shared_perm() + test-bzr: portable shell and utf-8 strings for Mac OS + +Trần Ngọc Quân (1): + l10n: vi.po: Update translation (2048t0u0f) + +Yann Droneaud (12): + t3400: use test_config to set/unset git config variables + t4304: use test_config to set/unset git config variables + t4034: use test_config/test_unconfig to set/unset git config variables + t4202: use test_config/test_unconfig to set/unset git config variables + t5520: use test_config to set/unset git config variables + t5541: use test_config to set/unset git config variables + t7500: use test_config to set/unset git config variables + t7508: use test_config to set/unset git config variables + t9500: use test_config to set/unset git config variables + t7502: use test_config to set/unset git config variables + t7502: remove clear_config + t7600: use test_config to set/unset git config variables + + +Version v1.8.2.3; changes since v1.8.2.2: +----------------------------------------- + +Anders Granskogen Bjørnstad (1): + Documentation/git-commit: Typo under --edit + +David Aguilar (1): + mergetools/kdiff3: do not use --auto when diffing + +Felipe Contreras (5): + documentation: trivial whitespace cleanups + complete: zsh: trivial simplification + complete: zsh: use zsh completion for the main cmd + completion: zsh: don't override suffix on _detault + transport-helper: trivial style cleanup + +John Keeping (1): + t/Makefile: remove smoke test targets + +Jonathan Nieder (1): + glossary: a revision is just a commit + +Junio C Hamano (1): + Git 1.8.2.3 + +Ramkumar Ramachandra (3): + git-completion.bash: lexical sorting for diff.statGraphWidth + git-completion.bash: add diff.submodule to config list + git-completion.bash: complete branch.*.rebase as boolean + +René Scharfe (2): + t5004: ignore pax global header file + t5004: avoid using tar for checking emptiness of archive + +Thomas Rast (4): + read_revisions_from_stdin: make copies for handle_revision_arg + remote: add a test for extra arguments, according to docs + remote: check for superfluous arguments in 'git remote add' + remote: 'show' and 'prune' can take more than one remote + + +Version v1.8.2.2; changes since v1.8.2.1: +----------------------------------------- + +Adam Spiers (1): + t: make PIPE a standard test prerequisite + +Antoine Pelisse (2): + fix clang -Wtautological-compare with unsigned enum + Allow combined diff to ignore white-spaces + +Benoit Bourbie (1): + Typo fix: replacing it's -> its + +Carlos Martín Nieto (1): + Documentation/git-commit: reword the --amend explanation + +David Aguilar (1): + help.c: add a compatibility comment to cmd_version() + +Felipe Contreras (2): + remote-hg: fix commit messages + prompt: fix untracked files for zsh + +Jakub Narębski (1): + gitweb/INSTALL: Simplify description of GITWEB_CONFIG_SYSTEM + +Jeff King (13): + submodule: clarify logic in show_submodule_summary + filter-branch: return to original dir after filtering + diffcore-pickaxe: remove fill_one() + diffcore-pickaxe: unify code for log -S/-G + show-branch: use strbuf instead of static buffer + doc/http-backend: clarify "half-auth" repo configuration + doc/http-backend: give some lighttpd config examples + doc/http-backend: match query-string in apache half-auth example + t/test-lib.sh: drop "$test" variable + usage: allow pluggable die-recursion checks + run-command: use thread-aware die_is_recursing routine + cat-file: print tags raw for "cat-file -p" + receive-pack: close sideband fd on early pack errors + +Jiang Xin (1): + i18n: make the translation of -u advice in one go + +Johannes Sixt (3): + rerere forget: grok files containing NUL + rerere forget: do not segfault if not all stages are present + t6200: avoid path mangling issue on Windows + +John Keeping (5): + diffcore-break: don't divide by zero + bisect: avoid signed integer overflow + git-merge(1): document diff-algorithm option to merge-recursive + diff: allow unstuck arguments with --diff-algorithm + t/test-lib.sh: fix TRASH_DIRECTORY handling + +Jonathan Nieder (1): + gitweb/INSTALL: GITWEB_CONFIG_SYSTEM is for backward compatibility + +Junio C Hamano (13): + merge: a random object may not necssarily be a commit + apply --whitespace=fix: avoid running over the postimage buffer + t5516: test interaction between pushURL and pushInsteadOf correctly + test: resurrect q_to_tab + t6200: use test_config/test_unconfig + t6200: test message for merging of an annotated tag + diffcore-pickaxe: port optimization from has_changes() to diff_grep() + diffcore-pickaxe: fix leaks in "log -S<block>" and "log -G<pattern>" + glossary: extend "detached HEAD" description + doc: clarify that "git daemon --user=<user>" option does not export HOME=~user + Start preparing for 1.8.2.2 + Update draft release notes to 1.8.2.2 + Git 1.8.2.2 + +Kevin Bracey (1): + cherry-pick/revert: make usage say '<commit-ish>...' + +Lukas Fleischer (1): + bundle: Accept prerequisites without commit messages + +Martin von Gagern (1): + Documentation: Strip texinfo anchors to avoid duplicates + +Mårten Kongstad (1): + completion: remove duplicate block for "git commit -c" + +Paul Price (1): + fast-export: fix argument name in error messages + +Peter Eisentraut (1): + pull: Apply -q and -v options to rebase mode as well + +Ralf Thielow (2): + fmt-merge-msg: respect core.commentchar in people credits + fmt-merge-msg: use core.commentchar in tag signatures completely + +Ramkumar Ramachandra (4): + t3200 (branch): modernize style + send-email: use "return;" not "return undef;" on error codepaths + send-email: drop misleading function prototype + send-email: use the three-arg form of open in recipients_cmd + +René Scharfe (5): + match-trees: simplify score_trees() using tree_entry() + t5004: fix issue with empty archive test and bsdtar + archive: clarify explanation of --worktree-attributes + pretty: handle broken commit headers gracefully + blame: handle broken commit headers gracefully + +Robin Rosenberg (1): + bash: teach __git_ps1 about REVERT_HEAD + +Simon Ruderich (3): + diffcore-pickaxe: remove unnecessary call to get_textconv() + diffcore-pickaxe: respect --no-textconv + t/README: --immediate skips cleanup commands for failed tests + +Stefan Saasen (1): + Documentation: distinguish between ref and offset deltas in pack-format + +Stefano Lattarini (9): + doc: various spelling fixes + git-remote-mediawiki: spelling fixes + contrib/subtree: fix spelling of accidentally + obstack: fix spelling of similar + compat/regex: fix spelling and grammar in comments + compat/nedmalloc: fix spelling in comments + precompose-utf8: fix spelling of "want" in error message + kwset: fix spelling in comments + Correct common spelling mistakes in comments and tests + +Thomas Ackermann (4): + glossary: remove outdated/misleading/irrelevant entries + glossary: improve description of SHA-1 related topics + The name of the hash function is "SHA-1", not "SHA1" + glossary: improve definitions of refspec and pathspec + +Thomas Rast (2): + perl: redirect stderr to /dev/null instead of closing + t9700: do not close STDERR + +Torsten Bögershausen (5): + t9020: do not use export X=Y + t9501: do not use export X=Y + test-hg-bidi.sh: do not use export X=Y + test-hg-hg-git.sh: do not use export X=Y + t7409: do not use export X=Y + + +Version v1.8.2.1; changes since v1.8.2: +--------------------------------------- + +Andrew Wong (2): + setup.c: stop prefix_pathspec() from looping past the end of string + setup.c: check that the pathspec magic ends with ")" + +Antoine Pelisse (3): + update-index: allow "-h" to also display options + diff: Fix rename pretty-print when suffix and prefix overlap + tests: make sure rename pretty print works + +Brandon Casey (4): + t/t7502: compare entire commit message with what was expected + t7502: demonstrate breakage with a commit message with trailing newlines + git-commit: only append a newline to -m mesg if necessary + Documentation/git-commit.txt: rework the --cleanup section + +Christian Helmuth (1): + git-commit doc: describe use of multiple `-m` options + +Dan Bornstein (1): + Correct the docs about GIT_SSH. + +David Aguilar (20): + git-sh-setup: use a lowercase "usage:" string + git-svn: use a lowercase "usage:" string + git-relink: use a lowercase "usage:" string + git-merge-one-file: use a lowercase "usage:" string + git-archimport: use a lowercase "usage:" string + git-cvsexportcommit: use a lowercase "usage:" string + git-cvsimport: use a lowercase "usage:" string + git-cvsimport: use a lowercase "usage:" string + contrib/credential: use a lowercase "usage:" string + contrib/fast-import: use a lowercase "usage:" string + contrib/fast-import/import-zips.py: fix broken error message + contrib/fast-import/import-zips.py: use spaces instead of tabs + contrib/examples: use a lowercase "usage:" string + contrib/hooks/setgitperms.perl: use a lowercase "usage:" string + templates/hooks--update.sample: use a lowercase "usage:" string + Documentation/user-manual.txt: use a lowercase "usage:" string + git-svn: use a lowercase "usage:" string + tests: use a lowercase "usage:" string + contrib/examples/git-remote.perl: use a lowercase "usage:" string + contrib/mw-to-git/t/install-wiki.sh: use a lowercase "usage:" string + +David Michael (1): + git-compat-util.h: Provide missing netdb.h definitions + +Greg Price (2): + Fix ".git/refs" stragglers + describe: Document --match pattern format + +Jeff King (23): + utf8: accept alternate spellings of UTF-8 + mailsplit: sort maildir filenames more cleverly + cache.h: drop LOCAL_REPO_ENV_SIZE + environment: add GIT_PREFIX to local_repo_env + setup: suppress implicit "." work-tree for bare repos + test-lib: factor out $GIT_UNZIP setup + archive: handle commits with an empty tree + upload-pack: drop lookup-before-parse optimization + upload-pack: make sure "want" objects are parsed + upload-pack: load non-tip "want" objects from disk + avoid segfaults on parse_object failure + use parse_object_or_die instead of die("bad object") + pack-refs: write peeled entry for non-tags + index-pack: always zero-initialize object_entry list + fast-import: use pointer-to-pointer to keep list tail + drop some obsolete "x = x" compiler warning hacks + transport: drop "int cmp = cmp" hack + run-command: always set failed_errno in start_command + fast-import: clarify "inline" logic in file_change_m + wt-status: fix possible use of uninitialized variable + dir.c::match_pathname(): adjust patternlen when shifting pattern + dir.c::match_pathname(): pay attention to the length of string parameters + t: check that a pattern without trailing slash matches a directory + +Johannes Sixt (1): + t2003: work around path mangling issue on Windows + +John Keeping (4): + Revert "graph.c: mark private file-scope symbols as static" + t2003: modernize style + entry: fix filter lookup + merge-tree: fix typo in merge-tree.c::unresolved + +Joshua Clayton (1): + Git.pm: fix cat_blob crashes on large files + +Junio C Hamano (21): + imap-send: support Server Name Indication (RFC4366) + diff-options: unconfuse description of --color + describe: --match=<pattern> must limit the refs even when used with --all + reflog: fix typo in "reflog expire" clean-up codepath + Documentation/git-push: clarify the description of defaults + git status: document trade-offs in choosing parameters to the -u option + CodingGuidelines: our documents are in AsciiDoc + Documentation: merging a tag is a special case + transport.c: help gcc 4.6.3 users by squelching compiler warning + Start preparing for 1.8.2.1 + attr.c::path_matches(): the basename is part of the pathname + More corrections for 1.8.2.1 + More fixes for 1.8.2.1 + attr.c::path_matches(): special case paths that end with a slash + dir.c::match_basename(): pay attention to the length of string parameters + Update draft release notes to 1.8.2.1 + Start preparing for 1.8.1.6 + Update draft release notes to 1.8.2.1 + mailmap: update Pasky's address + Git 1.8.1.6 + Git 1.8.2.1 + +Kacper Kornet (3): + rev-parse: clarify documentation of $name@{upstream} syntax + t1507: Test that branchname@{upstream} is interpreted as branch + Fix revision walk for commits with the same dates + +Karsten Blees (1): + name-hash.c: fix endless loop with core.ignorecase=true + +Kirill Smelkov (1): + format-patch: RFC 2047 says multi-octet character may not be split + +Lukas Fleischer (2): + bundle: Fix "verify" output if history is complete + bundle: Add colons to list headings in "verify" + +Matthias Krüger (1): + git help config: s/insn/instruction/ + +Matthieu Moy (1): + git-remote-mediawiki: new wiki URL in documentation + +Max Nanasy (1): + diff.c: diff.renamelimit => diff.renameLimit in message + +Michael Haggerty (1): + pack-refs: add fully-peeled trait + +Michael J Gruber (5): + gpg-interface: check good signature in a reliable way + log-tree: rely upon the check in the gpg_interface + gpg_interface: allow to request status return + pretty: parse the gpg status lines rather than the output + pretty: make %GK output the signing key for signed commits + +Mihai Capotă (1): + git-pull doc: fix grammo ("conflicts" is plural) + +Nguyễn Thái Ngọc Duy (7): + index-format.txt: mention of v4 is missing in some places + read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr() + branch: segfault fixes and validation + update-index: list supported idx versions and their features + status: advise to consider use of -u when read_directory takes too long + index-pack: fix buffer overflow caused by translations + index-pack: protect deepest_delta in multithread code + +Phil Hord (1): + tag: --force does not have to warn when creating tags + +Ramkumar Ramachandra (1): + t4018,7810,7811: remove test_config() redefinition + +Ramsay Jones (2): + fast-import: Fix an gcc -Wuninitialized warning + cat-file: Fix an gcc -Wuninitialized warning + +René Scharfe (4): + archive-zip: fix compressed size for stored export-subst files + Makefile: keep LIB_H entries together and sorted + sha1_name: pass object name length to diagnose_invalid_sha1_path() + submodule summary: support --summary-limit=<n> + +Tadeusz Andrzej Kadłubowski (2): + git-filter-branch.txt: clarify ident variables usage + Documentation: filter-branch env-filter example + +Thomas Rast (3): + diff: prevent pprint_rename from underrunning input + index-pack: guard nr_resolved_deltas reads by lock + git-tag(1): we tag HEAD by default + +Torsten Bögershausen (1): + remote-helpers/test-bzr.sh: do not use "grep '\s'" + +W. Trevor King (2): + Documentation/githooks: Explain pre-rebase parameters + user-manual: Standardize backtick quoting + +William Entriken (1): + submodule update: when using recursion, show full path + + +Version v1.8.2; changes since v1.8.2-rc3: +----------------------------------------- + +Antoine Pelisse (1): + perf: update documentation of GIT_PERF_REPEAT_COUNT + +Eric Wong (1): + git svn: consistent spacing after "W:" in warnings + +Greg Price (1): + add: Clarify documentation of -A and -u + +Jan Pešta (1): + git svn: ignore partial svn:mergeinfo + +Junio C Hamano (2): + Update draft release notes to 1.8.2 + Git 1.8.2 + +Kevin Bracey (2): + Translate git_more_info_string consistently + git.c: make usage match manual page + +Matthieu Moy (2): + add: update pathless 'add [-u|-A]' warning to reflect change of plan + git-completion.bash: zsh does not implement function redirection correctly + + +Version v1.8.2-rc3; changes since v1.8.2-rc2: +--------------------------------------------- + +Fredrik Gustafsson (1): + gitweb/README: remove reference to git.kernel.org + +Jiang Xin (2): + l10n: git.pot: v1.8.2 round 4 (1 changed) + l10n: zh_CN.po: translate 1 new message + +Junio C Hamano (1): + Git 1.8.2-rc3 + +Matthieu Moy (1): + git-completion.zsh: define __gitcomp_file compatibility function + +Peter Krefting (1): + l10n: Update Swedish translation (2009t0f0u) + +Ralf Thielow (4): + l10n: de.po: translate 35 new messages + l10n: de.po: translate 5 new messages + l10n: de.po: correct translation of "bisect" messages + l10n: de.po: translate 1 new message + +Trần Ngọc Quân (1): + l10n: vi.po: Update translation (2009t0f0u) + + +Version v1.8.2-rc2; changes since v1.8.2-rc1: +--------------------------------------------- + +Andrew Wong (1): + Documentation/githooks: Fix linkgit + +Brad King (1): + Documentation/submodule: Add --force to update synopsis + +Erik Faye-Lund (1): + Revert "compat: add strtok_r()" + +Junio C Hamano (3): + Update draft release notes to 1.8.1.5 + Git 1.8.1.5 + Git 1.8.2-rc2 + +Karsten Blees (2): + wincred: accept CRLF on stdin to simplify console usage + wincred: improve compatibility with windows versions + +Michael Haggerty (1): + Provide a mechanism to turn off symlink resolution in ceiling paths + +Thomas Rast (1): + Make !pattern in .gitattributes non-fatal + + +Version v1.8.2-rc1; changes since v1.8.2-rc0: +--------------------------------------------- + +Adam Spiers (1): + t0008: document test_expect_success_multi + +Greg Price (1): + Documentation: "advice" is uncountable + +Jeff King (1): + Makefile: avoid infinite loop on configure.ac change + +Jiang Xin (5): + l10n: Update git.pot (35 new, 14 removed messages) + l10n: zh_CN.po: translate 35 new messages + l10n: git.pot: v1.8.2 round 3 (5 new) + l10n: zh_CN.po: translate 5 new messages + Bugfix: undefined htmldir in config.mak.autogen + +Junio C Hamano (8): + doc: mention tracking for pull.default + user-manual: typofix (ofthe->of the) + RelNotes 1.8.2: push-simple will not be in effect in this release + imap-send: move #ifdef around + name-hash: allow hashing an empty string + Git 1.8.1.4 + Prepare for 1.8.1.5 + Git 1.8.2-rc1 + +Martin Erik Werner (1): + shell-prompt: clean up nested if-then + +Matthieu Moy (1): + git.txt: update description of the configuration mechanism + +Oswald Buddenhagen (2): + imap-send: the subject of SSL certificate must match the host + imap-send: support subjectAltName as well + +Peter Krefting (2): + l10n: Update Swedish translation (2004t0f0u) + l10n: Update Swedish translation (2009t0f0u) + +Trần Ngọc Quân (2): + l10n: vi.po: update new strings (2004t0u0f) + l10n: vi.po: Updated 5 new messages (2009t0f0u) + +W. Trevor King (8): + user-manual: use 'remote add' to setup push URLs + user-manual: give 'git push -f' as an alternative to +master + user-manual: mention 'git remote add' for remote branch config + user-manual: use 'git config --global user.*' for setup + user-manual: use -o latest.tar.gz to create a gzipped tarball + user-manual: Reorganize the reroll sections, adding 'git rebase -i' + user-manual: Use request-pull to generate "please pull" text + user-manual: Flesh out uncommitted changes and submodule updates + + +Version v1.8.2-rc0; changes since v1.8.1.6: +------------------------------------------- + +Aaron Schrab (3): + hooks: Add function to check if a hook exists + push: Add support for pre-push hooks + Add sample pre-push hook script + +Adam Spiers (29): + tests: test number comes first in 'not ok $count - $message' + tests: paint known breakages in yellow + tests: paint skipped tests in blue + tests: change info messages from yellow/brown to cyan + tests: refactor mechanics of testing in a sub test-lib + tests: test the test framework more thoroughly + tests: paint unexpectedly fixed known breakages in bold red + api-directory-listing.txt: update to match code + Improve documentation and comments regarding directory traversal API + dir.c: rename cryptic 'which' variable to more consistent name + dir.c: rename path_excluded() to is_path_excluded() + dir.c: rename excluded_from_list() to is_excluded_from_list() + dir.c: rename excluded() to is_excluded() + dir.c: refactor is_excluded_from_list() + dir.c: refactor is_excluded() + dir.c: refactor is_path_excluded() + dir.c: rename free_excludes() to clear_exclude_list() + dir.c: use a single struct exclude_list per source of excludes + dir.c: keep track of where patterns came from + dir.c: provide clear_directory() for reclaiming dir_struct memory + dir.c: improve docs for match_pathspec() and match_pathspec_depth() + add.c: remove unused argument from validate_pathspec() + add.c: move pathspec matchers into new pathspec.c for reuse + pathspec.c: rename newly public functions for clarity + add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse + add.c: extract new die_if_path_beyond_symlink() for reuse + setup.c: document get_pathspec() + add git-check-ignore sub-command + clean.c, ls-files.c: respect encapsulation of exclude_list_groups + +Adam Tkac (1): + contrib/subtree: honor DESTDIR + +Alexey Shumkin (1): + t7102 (reset): don't hardcode SHA-1 in expected outputs + +Andrew Wong (3): + rebase: Handle cases where format-patch fails + gitk: Refactor code for binding modified function keys + gitk: Use bindshiftfunctionkey to bind Shift-F5 + +Antoine Pelisse (8): + Use split_ident_line to parse author and committer + mailmap: simplify map_user() interface + mailmap: add mailmap structure to rev_info and pp + pretty: use mailmap to display username and email + log: add --use-mailmap option + test: add test for --use-mailmap option + log: grep author/committer using mailmap + log: add log.mailmap configuration option + +Barry Wardell (1): + git-svn: Simplify calculation of GIT_DIR + +Chris Hiestand (1): + Add Auto-Submitted header to post-receive-email + +Chris Rorvick (10): + push: return reject reasons as a bitset + push: add advice for rejected tag reference + push: keep track of "update" state separately + push: flag updates that require force + push: require force for refs under refs/tags/ + push: require force for annotated tags + push: clarify rejection of update to non-commit-ish + push: cleanup push rules comment + push: rename config variable for more general use + push: allow already-exists advice to be disabled + +Christian Couder (4): + Makefile: remove tracking of TCLTK_PATH + Makefile: detect when PYTHON_PATH changes + Makefile: replace "echo 1>..." with "echo >..." + gitk: Ignore gitk-wish buildproduct + +Christoph J. Thompson (1): + Honor configure's htmldir switch + +David A. Greene (3): + contrib/subtree: remove test number comments + contrib/subtree: better error handling for 'subtree add' + contrib/subtree: fix synopsis + +David Aguilar (7): + mergetools/vim: remove redundant diff command + mergetool--lib: improve show_tool_help() output + mergetools: simplify how we handle "vim" and "defaults" + mergetool--lib: simplify command expressions + mergetool--lib: improve the help text in guess_merge_tool() + mergetool--lib: add functions for finding available tools + doc: generate a list of valid merge tools + +David Michael (3): + Support builds when sys/param.h is missing + Detect when the passwd struct is missing pw_gecos + Generalize the inclusion of strings.h + +Eric S. Raymond (1): + Add checks to Python scripts for version dependencies. + +Eric Wong (1): + git-svn: cleanup sprintf usage for uppercasing hex + +Felipe Contreras (26): + remote-testgit: properly check for errors + fast-export: avoid importing blob marks + remote-testgit: fix direction of marks + remote-helpers: fix failure message + Add new remote-bzr transport helper + remote-bzr: add support for pushing + remote-bzr: add support for remote repositories + Rename git-remote-testgit to git-remote-testpy + Add new simplified git-remote-testgit + remote-testgit: remove non-local functionality + remote-testgit: remove irrelevant test + remote-testgit: cleanup tests + remote-testgit: exercise more features + remote-testgit: report success after an import + remote-testgit: implement the "done" feature manually + fast-export: trivial cleanup + fast-export: fix comparison in tests + fast-export: don't handle uninteresting refs + fast-export: make sure updated refs get updated + remote-bzr: update working tree upon pushing + remote-bzr: add simple tests + remote-bzr: add support for fecthing special modes + remote-bzr: add support to push special modes + remote-bzr: add support for older versions of bzr + remote-bzr: detect local repositories + remote-hg: store converted URL + +Jeff King (28): + fsck: warn about '.' and '..' in trees + fsck: warn about ".git" in trees + mailmap: refactor mailmap parsing for non-file sources + mailmap: support reading mailmap from blobs + mailmap: clean up read_mailmap error handling + mailmap: fix some documentation loose-ends for mailmap.blob + mailmap: default mailmap.blob in bare repositories + make error()'s constant return value more visible + silence some -Wuninitialized false positives + add global --literal-pathspecs option + Makefile: hoist uname autodetection to config.mak.uname + config: add helper function for parsing key names + archive-tar: use parse_config_key when parsing config + convert some config callbacks to parse_config_key + userdiff: drop parse_driver function + submodule: use parse_config_key when parsing config + submodule: simplify memory handling in config parsing + help: use parse_config_key for man config + reflog: use parse_config_key in config callback + commit: drop useless xstrdup of commit message + logmsg_reencode: never return NULL + logmsg_reencode: lazily load missing commit buffers + fetch: run gc --auto after fetching + fetch-pack: avoid repeatedly re-scanning pack directory + docs: clarify git-branch --list behavior + branch: let branch filters imply --list + Documentation/Makefile: clean up MAN*_TXT lists + log: re-encode commit messages before grepping + +Jesper L. Nielsen (1): + contrib/subtree: make the manual directory if needed + +Jiang Xin (1): + l10n: Update git.pot (11 new, 7 removed messages) + +Johannes Sixt (1): + t6130-pathspec-noglob: Windows does not allow a file named "f*" + +John Keeping (24): + git-svn: teach find-rev to find near matches + git_remote_helpers: allow building with Python 3 + git_remote_helpers: fix input when running under Python 3 + git_remote_helpers: force rebuild if python version changes + git_remote_helpers: use 2to3 if building with Python 3 + svn-fe: allow svnrdump_sim.py to run with Python 3 + git-remote-testpy: hash bytes explicitly + git-remote-testpy: don't do unbuffered text I/O + git-remote-testpy: call print as a function + git-mergetool: move show_tool_help to mergetool--lib + git-mergetool: remove redundant assignment + git-mergetool: don't hardcode 'mergetool' in show_tool_help + git-difftool: use git-mergetool--lib for "--tool-help" + mergetool--lib: don't call "exit" in setup_tool + git-remote-testpy: fix path hashing on Python 3 + CodingGuidelines: add Python coding guidelines + mergetool--lib: list user configured tools in '--tool-help' + graph: output padding for merge subsequent parents + diff: write prefix to the correct file + diff.c: make constant string arguments const + diff: add diff_line_prefix function + diff.c: use diff_line_prefix() where applicable + combine-diff.c: teach combined diffs about line prefix + rebase -i: respect core.commentchar + +Jonathan Nieder (2): + Git::SVN::Editor::T: pass $deletions to ->A and ->D + git svn: do not overescape URLs (fallback case) + +Junio C Hamano (52): + diff: accept --no-follow option + blame: pay attention to --no-follow + t6006: clean up whitespace + log --format: teach %C(auto,black) to respect color config + git-compat-util.h: do not #include <sys/param.h> by default + builtin/log.c: drop unused "numbered" parameter from make_cover_letter() + builtin/log.c: drop redundant "numbered_files" parameter from make_cover_letter() + builtin/log.c: stop using global patch_suffix + get_patch_filename(): simplify function signature + get_patch_filename(): drop "just-numbers" hack + get_patch_filename(): split into two functions + format-patch: add --reroll-count=$N option + Start 1.8.2 cycle + format-patch: document and test --reroll-count + Update draft release notes to 1.8.2 + format-patch: give --reroll-count a short synonym -v + Update draft release notes to 1.8.2 + string-list: allow case-insensitive string list + Update draft release notes to 1.8.2 + mailmap: remove email copy and length limitation + log --use-mailmap: optimize for cases without --author/--committer search + Update draft release notes to 1.8.2 + clone: do not export and unexport GIT_CONFIG + Update draft release notes to 1.8.2 + Makefile: add description on PERL/PYTHON_PATH + Update draft release notes to 1.8.2 + Allow custom "comment char" + push: fix "refs/tags/ hierarchy cannot be updated without --force" + Update draft release notes to 1.8.2 + upload-pack: share more code + Update draft release notes to 1.8.2 + Update draft release notes to 1.8.2 + push: further clean up fields of "struct ref" + push: further simplify the logic to assign rejection reason + push: introduce REJECT_FETCH_FIRST and REJECT_NEEDS_FORCE + push: finishing touches to explain REJECT_ALREADY_EXISTS better + Update draft release notes to 1.8.2 + Update draft release notes to 1.8.2 + upload-pack: simplify request validation + git_remote_helpers: remove GIT-PYTHON-VERSION upon "clean" + Update draft release notes to 1.8.2 + Documentation: describe the "repository" in repository-layout + Update draft release notes to 1.8.2 + apply: verify submodule commit object name better + Update draft release notes to 1.8.2 + upload/receive-pack: allow hiding ref hierarchies + Update draft release notes to 1.8.2 + Update draft release notes to 1.8.2 + Update draft release notes to 1.8.2 + Documentation/git-add: kill remaining <filepattern> + Update draft release notes to 1.8.2 + Git 1.8.2-rc0 + +Manlio Perillo (1): + git-completion.bash: add support for path completion + +Marc Khouzam (1): + completion: handle path completion and colon for tcsh script + +Marcus Karlsson (1): + gitk: Fix crash when not using themed widgets + +Martin Erik Werner (3): + shell prompt: add bash.showUntrackedFiles option + t9903: add tests for bash.showUntrackedFiles + t9903: add extra tests for bash.showDirtyState + +Martin von Zweigbergk (21): + oneway_merge(): only lstat() when told to update worktree + reset $pathspec: no need to discard index + reset $pathspec: exit with code 0 if successful + reset.c: pass pathspec around instead of (prefix, argv) pair + reset: don't allow "git reset -- $pathspec" in bare repo + reset.c: extract function for parsing arguments + reset.c: remove unnecessary variable 'i' + reset.c: extract function for updating {ORIG_,}HEAD + reset.c: share call to die_if_unmerged_cache() + reset --keep: only write index file once + reset: avoid redundant error message + reset.c: replace switch by if-else + reset.c: move update_index_refresh() call out of read_from_tree() + reset.c: move lock, write and commit out of update_index_refresh() + reset [--mixed]: only write index file once + reset.c: finish entire cmd_reset() whether or not pathspec is given + reset.c: inline update_index_refresh() + reset $sha1 $pathspec: require $sha1 only to be treeish + reset: allow reset on unborn branch + reset [--mixed]: use diff-based reset whether or not pathspec was given + reset: update documentation to require only tree-ish with paths + +Matt Kraai (5): + Make lock local to fetch_pack + Port to QNX + Use __VA_ARGS__ for all of error's arguments + Allow building with xmlparse.h + Makefile: don't run "rm" without any files + +Matthew Ogilvie (10): + cvsserver: factor out git-log parsing logic + cvsserver: cleanup extra slashes in filename arguments + cvsserver: define a tag name character escape mechanism + cvsserver: add misc commit lookup, file meta data, and file listing functions + cvsserver: implement req_Sticky and related utilities + cvsserver: generalize getmeta() to recognize commit refs + cvsserver: Add version awareness to argsfromdir + cvsserver: support -r and sticky tags for most operations + cvsserver: add t9402 to test branch and tag refs + cvsserver Documentation: new cvs ... -r support + +Matthieu Moy (4): + add: warn when -u or -A is used without pathspec + Makefile: make script-related rules usable from subdirectories + git-remote-mediawiki: use toplevel's Makefile + completion: support 'git config --local' + +Max Horn (2): + remote-hg: fix handling of file perms when pushing + fix clang -Wunused-value warnings for error functions + +Michael Haggerty (22): + Add new function strbuf_add_xml_quoted() + xml_entities(): use function strbuf_addstr_xml_quoted() + lf_to_crlf(): NUL-terminate msg_data::data + imap-send: store all_msgs as a strbuf + imap-send: correctly report errors reading from stdin + imap-send: change msg_data from storing (ptr, len) to storing strbuf + wrap_in_html(): use strbuf_addstr_xml_quoted() + wrap_in_html(): process message in bulk rather than line-by-line + imap-send.c: remove msg_data::flags, which was always zero + imap-send.c: remove struct msg_data + iamp-send.c: remove unused struct imap_store_conf + imap-send.c: remove struct store_conf + imap-send.c: remove struct message + imap-send.c: remove some unused fields from struct store + imap-send.c: inline parse_imap_list() in parse_list() + imap-send.c: remove struct imap argument to parse_imap_list_l() + imap-send.c: remove namespace fields from struct imap + imap-send.c: remove unused field imap_store::trashnc + imap-send.c: use struct imap_store instead of struct store + imap-send.c: remove unused field imap_store::uidvalidity + imap-send.c: fold struct store into struct imap_store + imap-send.c: simplify logic in lf_to_crlf() + +Michal Privoznik (3): + git-completion.bash: Autocomplete --minimal and --histogram for git-diff + config: Introduce diff.algorithm variable + diff: Introduce --diff-algorithm command line option + +Nguyễn Thái Ngọc Duy (43): + ctype: make sane_ctype[] const array + ctype: support iscntrl, ispunct, isxdigit and isprint + Import wildmatch from rsync + wildmatch: remove unnecessary functions + wildmatch: follow Git's coding convention + Integrate wildmatch to git + t3070: disable unreliable fnmatch tests + wildmatch: make wildmatch's return value compatible with fnmatch + wildmatch: remove static variable force_lower_case + wildmatch: fix case-insensitive matching + wildmatch: adjust "**" behavior + wildmatch: make /**/ match zero or more directories + Support "**" wildcard in .gitignore and .gitattributes + pathspec: save the non-wildcard length part + test-wildmatch: avoid Windows path mangling + pathspec: do exact comparison on the leading non-wildcard part + pathspec: apply "*.c" optimization from exclude + tree_entry_interesting: do basedir compare on wildcard patterns when possible + config.txt: a few lines about branch.<name>.description + wildmatch: fix "**" special case + wildmatch: rename constants and update prototype + compat/fnmatch: respect NO_FNMATCH* even on glibc + wildmatch: make dowild() take arbitrary flags + wildmatch: replace variable 'special' with better named ones + wildmatch: support "no FNM_PATHNAME" mode + test-wildmatch: add "perf" command to compare wildmatch and fnmatch + wildmatch: make a special case for "*/" with FNM_PATHNAME + wildmatch: advance faster in <asterisk> + <literal> patterns + Makefile: add USE_WILDMATCH to use wildmatch as fnmatch + branch: delete branch description if it's empty + t4014: a few more tests on cover letter using branch description + format-patch: pick up correct branch name from symbolic ref + format-patch: pick up branch description when no ref is specified + upload-pack: only accept commits from "shallow" line + fetch: add --unshallow for turning shallow repo into complete one + upload-pack: fix off-by-one depth calculation in shallow clone + fetch: elaborate --depth action + Update :/abc ambiguity check + grep: avoid accepting ambiguous revision + branch: reject -D/-d without branch name + branch: give a more helpful message on redundant arguments + branch: mark more strings for translation + status: show the branch name if possible in in-progress info + +Paul Mackerras (3): + gitk: Fix display of branch names on some commits + gitk: Improve display of list of nearby tags and heads + gitk: Display important heads even when there are many + +Pete Wyckoff (35): + git p4: test sync/clone --branch behavior + git p4: rearrange and simplify hasOrigin handling + git p4: add comments to p4BranchesInGit + git p4: inline listExistingP4GitBranches + git p4: create p4/HEAD on initial clone + git p4: verify expected refs in clone --bare test + git p4: clone --branch should checkout master + git p4 doc: fix branch detection example + git p4: allow short ref names to --branch + git p4: rearrange self.initialParent use + git p4: fail gracefully on sync with no master branch + git p4: fix sync --branch when no master branch + git p4 test: keep P4CLIENT changes inside subshells + git p4: fix submit when no master branch + git p4: temp branch name should use / even on windows + git p4: remove unused imports + git p4: generate better error message for bad depot path + git p4 test: use client_view to build the initial client + git p4 test: avoid loop in client_view + git p4 test: use client_view in t9806 + git p4 test: start p4d inside its db dir + git p4 test: translate windows paths for cygwin + git p4: remove unreachable windows \r\n conversion code + git p4: scrub crlf for utf16 files on windows + git p4 test: newline handling + git p4 test: use LineEnd unix in windows tests too + git p4 test: avoid wildcard * in windows + git p4: cygwin p4 client does not mark read-only + git p4 test: use test_chmod for cygwin + git p4: disable read-only attribute before deleting + git p4: avoid shell when mapping users + git p4: avoid shell when invoking git rev-list + git p4: avoid shell when invoking git config --get-all + git p4: avoid shell when calling git config + git p4: introduce gitConfigBool + +Peter Krefting (2): + gitk: Update Swedish translation (296t) + l10n: Update Swedish translation (1983t0f0u) + +Peter Wu (1): + git-svn: do not escape certain characters in paths + +Ralf Thielow (6): + l10n: de.po: address the user formally + commit: make default of "cleanup" option configurable + l10n: de.po: fix some minor issues + l10n: de.po: translate 11 new messages + l10n: de.po: translate "revision" consistently as "Revision" + l10n: de.po: translate "reset" as "neu setzen" + +Ramsay Jones (1): + t3070: Disable some failing fnmatch tests + +René Scharfe (3): + t0008: avoid brace expansion + pretty: use prefixcmp instead of memcmp on NUL-terminated strings + refs: use strncmp() instead of strlen() and memcmp() + +Robin Rosenberg (1): + Enable minimal stat checking + +Stefan Haller (6): + gitk: Synchronize highlighting in file view when scrolling diff + gitk: Highlight current search hit in orange + gitk: Highlight first search result immediately on incremental search + gitk: Work around empty back and forward images when buttons are disabled + gitk: Fix error message when clicking on a connecting line + gitk: When searching, only highlight files when in Patch mode + +Stephen Boyd (2): + gpg: allow translation of more error messages + run-command: be more informative about what failed + +Sven Strickroth (2): + mergetools: support TortoiseGitMerge + mergetools: teach tortoisemerge to handle filenames with SP correctly + +Techlive Zheng (1): + contrib/subtree: use %B for split subject/body + +Ted Zlatanov (1): + Update CodingGuidelines for Perl + +Thomas Ackermann (5): + Documentation: avoid poor-man's small caps GIT + Documentation: the name of the system is 'Git', not 'git' + Documentation: do not use undefined terms git-dir and git-file + Documentation: add a description for 'gitfile' to glossary + Documentation: StGit is the right spelling, not StGIT + +Torsten Bögershausen (9): + t9402: sed -i is not portable + t9402: improve check_end_tree() and check_end_full_tree() + t9402: Dont use test_must_fail cvs + t9402: No space after IO-redirection + t9402: Add missing &&; Code style + t9402: Simplify git ls-tree + t9402: Rename check.cvsCount and check.list + t9402: Use TABs for indentation + test: Add check-non-portable-shell.pl + +Trần Ngọc Quân (1): + l10n: vi.po: updated Vietnamese translation + +W. Trevor King (3): + submodule: add get_submodule_config helper funtion + submodule update: add --remote for submodule's upstream changes + submodule add: If --branch is given, record it in .gitmodules + +Wang Sheng (1): + l10n: zh_CN.po: 800+ new translations on command usages + + +Version v1.8.1.6; changes since v1.8.1.5: +----------------------------------------- + +Antoine Pelisse (4): + update-index: allow "-h" to also display options + diff: Fix rename pretty-print when suffix and prefix overlap + tests: make sure rename pretty print works + perf: update documentation of GIT_PERF_REPEAT_COUNT + +Christian Helmuth (1): + git-commit doc: describe use of multiple `-m` options + +Dan Bornstein (1): + Correct the docs about GIT_SSH. + +David Michael (1): + git-compat-util.h: Provide missing netdb.h definitions + +Fredrik Gustafsson (1): + gitweb/README: remove reference to git.kernel.org + +Greg Price (1): + describe: Document --match pattern format + +Jeff King (6): + avoid segfaults on parse_object failure + use parse_object_or_die instead of die("bad object") + pack-refs: write peeled entry for non-tags + dir.c::match_pathname(): adjust patternlen when shifting pattern + dir.c::match_pathname(): pay attention to the length of string parameters + t: check that a pattern without trailing slash matches a directory + +Johannes Sixt (1): + t2003: work around path mangling issue on Windows + +John Keeping (3): + t2003: modernize style + entry: fix filter lookup + merge-tree: fix typo in merge-tree.c::unresolved + +Joshua Clayton (1): + Git.pm: fix cat_blob crashes on large files + +Junio C Hamano (8): + imap-send: support Server Name Indication (RFC4366) + diff-options: unconfuse description of --color + Documentation: merging a tag is a special case + attr.c::path_matches(): the basename is part of the pathname + attr.c::path_matches(): special case paths that end with a slash + dir.c::match_basename(): pay attention to the length of string parameters + Start preparing for 1.8.1.6 + Git 1.8.1.6 + +Kacper Kornet (3): + rev-parse: clarify documentation of $name@{upstream} syntax + t1507: Test that branchname@{upstream} is interpreted as branch + Fix revision walk for commits with the same dates + +Karsten Blees (1): + name-hash.c: fix endless loop with core.ignorecase=true + +Kevin Bracey (2): + Translate git_more_info_string consistently + git.c: make usage match manual page + +Lukas Fleischer (2): + bundle: Fix "verify" output if history is complete + bundle: Add colons to list headings in "verify" + +Matthias Krüger (1): + git help config: s/insn/instruction/ + +Michael Haggerty (2): + Provide a mechanism to turn off symlink resolution in ceiling paths + pack-refs: add fully-peeled trait + +Mihai Capotă (1): + git-pull doc: fix grammo ("conflicts" is plural) + +Nguyễn Thái Ngọc Duy (4): + index-format.txt: mention of v4 is missing in some places + read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr() + update-index: list supported idx versions and their features + index-pack: fix buffer overflow caused by translations + +René Scharfe (2): + Makefile: keep LIB_H entries together and sorted + sha1_name: pass object name length to diagnose_invalid_sha1_path() + +Tadeusz Andrzej Kadłubowski (2): + git-filter-branch.txt: clarify ident variables usage + Documentation: filter-branch env-filter example + +Thomas Rast (2): + diff: prevent pprint_rename from underrunning input + git-tag(1): we tag HEAD by default + +Torsten Bögershausen (1): + remote-helpers/test-bzr.sh: do not use "grep '\s'" + +W. Trevor King (1): + Documentation/githooks: Explain pre-rebase parameters + + +Version v1.8.1.5; changes since v1.8.1.4: +----------------------------------------- + +Andrej E Baranov (1): + gitweb: refer to picon/gravatar images over the same scheme + +Andrew Wong (1): + Documentation/githooks: Fix linkgit + +Asheesh Laroia (1): + git-mergetool: print filename when it contains % + +Ben Walton (3): + Move Git::SVN::get_tz to Git::get_tz_offset + perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases + cvsimport: format commit timestamp ourselves without using strftime + +Brad King (1): + Documentation/submodule: Add --force to update synopsis + +David Aguilar (3): + mergetools/p4merge: Honor $TMPDIR for the /dev/null placeholder + difftool--helper: fix printf usage + p4merge: fix printf usage + +Erik Faye-Lund (1): + parse-options: report uncorrupted multi-byte options + +Greg Price (1): + Documentation: "advice" is uncountable + +Jeff King (2): + http_request: reset "type" strbuf before adding + Makefile: avoid infinite loop on configure.ac change + +Jiang Xin (1): + Add utf8_fprintf helper that returns correct number of columns + +John Keeping (3): + Rename {git- => git}remote-helpers.txt + builtin/apply: tighten (dis)similarity index parsing + t4038: add tests for "diff --cc --raw <trees>" + +Junio C Hamano (7): + doc: mention tracking for pull.default + combine-diff: lift 32-way limit of combined diff + t5551: fix expected error output + user-manual: typofix (ofthe->of the) + Prepare for 1.8.1.5 + Update draft release notes to 1.8.1.5 + Git 1.8.1.5 + +Matthieu Moy (1): + git.txt: update description of the configuration mechanism + +Michael J Gruber (1): + git-bisect.txt: clarify that reset quits bisect + +Nguyễn Thái Ngọc Duy (1): + clone: forbid --bare --separate-git-dir <dir> + +Shawn O. Pearce (1): + Verify Content-Type from smart HTTP servers + +Thomas Rast (1): + Make !pattern in .gitattributes non-fatal + +W. Trevor King (4): + user-manual: Update for receive.denyCurrentBranch=refuse + user-manual: Reorganize the reroll sections, adding 'git rebase -i' + user-manual: Use request-pull to generate "please pull" text + user-manual: Flesh out uncommitted changes and submodule updates + +Zoltan Klinger (1): + git-clean: Display more accurate delete messages + + +Version v1.8.1.4; changes since v1.8.1.3: +----------------------------------------- + +Junio C Hamano (2): + imap-send: move #ifdef around + Git 1.8.1.4 + +Matthieu Moy (1): + Replace filepattern with pathspec for consistency + +Oswald Buddenhagen (2): + imap-send: the subject of SSL certificate must match the host + imap-send: support subjectAltName as well + +W. Trevor King (9): + user-manual: Fix 'both: so' -> 'both; so' typo + user-manual: Fix 'http' -> 'HTTP' typos + user-manual: Fix 'you - Git' -> 'you--Git' typo + user-manual: Rewrite git-gc section for automatic packing + user-manual: use 'remote add' to setup push URLs + user-manual: give 'git push -f' as an alternative to +master + user-manual: mention 'git remote add' for remote branch config + user-manual: use 'git config --global user.*' for setup + user-manual: use -o latest.tar.gz to create a gzipped tarball + + +Version v1.8.1.3; changes since v1.8.1.2: +----------------------------------------- + +Brandon Casey (3): + git-completion.bash: replace zsh notation that breaks bash 3.X + git-p4.py: support Python 2.5 + git-p4.py: support Python 2.4 + +Dmitry V. Levin (1): + am: invoke perl's strftime in C locale + +Fraser Tweedale (1): + push: fix segfault when HEAD points nowhere + +John Keeping (1): + git-cvsimport.txt: cvsps-2 is deprecated + +Jonathan Nieder (2): + ident: do not drop username when reading from /etc/mailname + Makefile: explicitly set target name for autogenerated dependencies + +Junio C Hamano (17): + Which merge_file() function do you mean? + merge-tree: lose unused "flags" from merge_list + merge-tree: lose unused "resolve_directories" + merge-tree: add comments to clarify what these functions are doing + merge-tree: fix d/f conflicts + Documentation: update "howto maintain git" + howto/maintain: mark titles for asciidoc + help: include <common-cmds.h> only in one file + t9902: protect test from stray build artifacts + howto/maintain: document "### match next" convention in jch/pu branch + README: update stale and/or incorrect information + INSTALL: git-p4 does not support Python 3 + git-am: record full index line in the patch used while rebasing + apply: simplify build_fake_ancestor() + apply: diagnose incomplete submodule object name better + Start preparing for 1.8.1.3 + Git 1.8.1.3 + +Martin von Zweigbergk (2): + tests: move test_cmp_rev to test-lib-functions + learn to pick/revert into unborn branch + +Nguyễn Thái Ngọc Duy (4): + attr: fix off-by-one directory component length calculation + test-lib.sh: unfilter GIT_PERF_* + attr: avoid calling find_basename() twice per path + branch: no detached HEAD check when editing another branch's description + +Phil Hord (1): + rebase --preserve-merges: keep all merge commits including empty ones + +Ramsay Jones (1): + Makefile: Replace merge-file.h with merge-blobs.h in LIB_H + +Stephen Boyd (1): + gpg: close stderr once finished with it in verify_signed_buffer() + +Torsten Bögershausen (3): + t0050: known breakage vanished in merge (case change) + t0050: honor CASE_INSENSITIVE_FS in add (with different case) + t0050: Use TAB for indentation + + +Version v1.8.1.2; changes since v1.8.1.1: +----------------------------------------- + +Antoine Pelisse (3): + dir.c: Make git-status --ignored more consistent + git-status: Test --ignored behavior + status: always report ignored tracked directories + +Dylan Smith (1): + git-completion.bash: silence "not a valid object" errors + +Eric S. Raymond (1): + Remove the suggestion to use parsecvs, which is currently broken. + +John Keeping (1): + git-for-each-ref.txt: 'raw' is a supported date format + +Jonathan Nieder (1): + contrib/vim: simplify instructions for old vim support + +Junio C Hamano (2): + Start preparing for 1.8.1.2 + Git 1.8.1.2 + +Marc Khouzam (1): + Prevent space after directories in tcsh completion + +Michael Haggerty (8): + Introduce new static function real_path_internal() + real_path_internal(): add comment explaining use of cwd + Introduce new function real_path_if_valid() + longest_ancestor_length(): use string_list_split() + longest_ancestor_length(): take a string_list argument for prefixes + longest_ancestor_length(): require prefix list entries to be normalized + setup_git_directory_gently_1(): resolve symlinks in ceiling paths + string_list_longest_prefix(): remove function + +Nguyễn Thái Ngọc Duy (1): + attr: make it build with DEBUG_ATTR again + +Nickolai Zeldovich (1): + git-send-email: treat field names as case-insensitively + +Peter Eisentraut (1): + git-commit-tree(1): correct description of defaults + +René Scharfe (5): + archive-zip: write uncompressed size into header even with streaming + t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead + t0024, t5000: use test_lazy_prereq for UNZIP + t5000, t5003: move ZIP tests into their own script + t5003: check if unzip supports symlinks + +Sebastian Staudt (1): + config.txt: Document help.htmlpath config parameter + + +Version v1.8.1.1; changes since v1.8.1: +--------------------------------------- + +Aaron Schrab (1): + Use longer alias names in subdirectory tests + +Adam Spiers (1): + api-allocation-growing.txt: encourage better variable naming + +Antoine Pelisse (1): + merge: Honor prepare-commit-msg return code + +Christian Couder (1): + Makefile: detect when PYTHON_PATH changes + +Jean-Noël AVILA (1): + Add directory pattern matching to attributes + +Jeff King (9): + run-command: drop silent_exec_failure arg from wait_or_whine + launch_editor: refactor to use start/finish_command + run-command: do not warn about child death from terminal + launch_editor: propagate signals from editor to git + completion: complete refs for "git commit -c" + refs: do not use cached refs in repack_without_ref + tests: turn on test-lint by default + fix compilation with NO_PTHREADS + run-command: encode signal death as a positive integer + +Jens Lehmann (1): + clone: support atomic operation with --separate-git-dir + +John Keeping (4): + git-fast-import(1): remove duplicate '--done' option + git-shortlog(1): document behaviour of zero-width wrap + git-fast-import(1): combine documentation of --[no-]relative-marks + git-fast-import(1): reorganise options + +Jonathan Nieder (6): + config, gitignore: failure to access with ENOTDIR is ok + config: treat user and xdg config permission problems as errors + doc: advertise GIT_CONFIG_NOSYSTEM + config: exit on error accessing any config file + build: do not automatically reconfigure unless configure.ac changed + docs: manpage XML depends on asciidoc.conf + +Junio C Hamano (20): + apply.c:update_pre_post_images(): the preimage can be truncated + format_commit_message(): simplify calls to logmsg_reencode() + sh-setup: work around "unset IFS" bug in some shells + fetch: ignore wildcarded refspecs that update local symbolic refs + xmkstemp(): avoid showing truncated template more carefully + t0200: "locale" may not exist + t9502: do not assume GNU tar + t4014: fix arguments to grep + t3600: Avoid "cp -a", which is a GNUism + t9020: use configured Python to run the test helper + compat/fnmatch: update old-style definition to ANSI + t9200: let "cvs init" create the test repository + merge --no-edit: do not credit people involved in the side branch + SubmittingPatches: who am I and who cares? + SubmittingPatches: mention subsystems with dedicated repositories + Documentation: full-ness of a bundle is significant for cloning + SubmittingPatches: remove overlong checklist + SubmittingPatches: give list and maintainer addresses + Prepare for 1.8.1.1 + Git 1.8.1.1 + +Kirill Brilliantov (1): + Documentation: correct example restore from bundle + +Mark Levedahl (1): + Makefile: add comment on CYGWIN_V15_WIN32API + +Matthew Daley (1): + gitweb: Sort projects with undefined ages last + +Max Horn (1): + configure.ac: fix pthreads detection on Mac OS X + +Michael Schubert (2): + git-subtree: ignore git-subtree executable + git-subtree: fix typo in manpage + +Michał Kiedrowicz (1): + graph.c: infinite loop in git whatchanged --graph -m + +Nguyễn Thái Ngọc Duy (4): + cache-tree: remove dead i-t-a code in verify_cache() + cache-tree: replace "for" loops in update_one with "while" loops + cache-tree: fix writing cache-tree when CE_REMOVE is present + cache-tree: invalidate i-t-a paths after generating trees + +Orgad Shaneh (1): + gitweb: fix error in sanitize when highlight is enabled + +Paul Fox (1): + launch_editor: ignore terminal signals while editor has control + +Rene Bredlau (1): + http.c: Avoid username prompt for certifcate credentials + +René Scharfe (2): + archive-tar: split long paths more carefully + t1402: work around shell quoting issue on NetBSD + +Sebastian Schuberth (1): + nedmalloc: Fix a compile warning (exposed as error) with GCC 4.7.2 + +Steffen Prohaska (2): + shortlog: fix wrapping lines of wraplen + strbuf_add_wrapped*(): Remove unused return value + +Sven Strickroth (3): + git-svn, perl/Git.pm: add central method for prompting passwords + perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set + git-svn, perl/Git.pm: extend and use Git->prompt method for querying users + +Thomas Ackermann (1): + Remove Documentation/pt_BR/gittutorial.txt + +Torsten Bögershausen (2): + t9810: Do not use sed -i + t9020: which is not portable + +W. Trevor King (1): + remote-hg: Fix biridectionality -> bidirectionality typos + + +Version v1.8.1; changes since v1.8.1-rc3: +----------------------------------------- + +Junio C Hamano (3): + git(1): show link to contributor summary page + Git 1.8.0.3 + Git 1.8.1 + +Max Horn (1): + git-remote-helpers.txt: document invocation before input format + +Ramkumar Ramachandra (1): + Documentation: move diff.wordRegex from config.txt to diff-config.txt + +Sebastian Leske (4): + git-svn: Document branches with at-sign(@). + git-svn: Recommend use of structure options. + git-svn: Expand documentation for --follow-parent + git-svn: Note about tags. + +Simon Oosthoek (1): + make __git_ps1 accept a third parameter in pcmode + +Thomas Ackermann (1): + Sort howto documents in howto-index.txt + + +Version v1.8.1-rc3; changes since v1.8.1-rc2: +--------------------------------------------- + +Adam Spiers (2): + SubmittingPatches: add convention of prefixing commit messages + Documentation: move support for old compilers to CodingGuidelines + +Chris Rorvick (2): + Documentation/git-checkout.txt: clarify usage + Documentation/git-checkout.txt: document 70c9ac2 behavior + +Jeff King (5): + .mailmap: match up some obvious names/emails + .mailmap: fix broken entry for Martin Langhoff + .mailmap: normalize emails for Jeff King + .mailmap: normalize emails for Linus Torvalds + contrib: update stats/mailmap script + +John Keeping (1): + Documentation: don't link to example mail addresses + +Junio C Hamano (5): + fetch --tags: clarify documentation + README: it does not matter who the current maintainer is + t7004: do not create unneeded gpghome/gpg.conf when GPG is not used + Documentation: Describe "git diff <blob> <blob>" separately + Git 1.8.1-rc3 + +Nguyễn Thái Ngọc Duy (1): + index-format.txt: clarify what is "invalid" + +Sebastian Leske (4): + git-svn: Document branches with at-sign(@). + git-svn: Recommend use of structure options. + git-svn: Expand documentation for --follow-parent + git-svn: Note about tags. + +Sitaram Chamarty (1): + clarify -M without % symbol in diff-options + +Stefano Lattarini (1): + README: Git is released under the GPLv2, not just "the GPL" + +Thomas Ackermann (3): + Remove misleading date from api-index-skel.txt + Remove duplicate entry in ./Documentation/Makefile + Move ./technical/api-command.txt to ./howto/new-command.txt + + +Version v1.8.1-rc2; changes since v1.8.1-rc1: +--------------------------------------------- + +Anders Kaseorg (1): + git-prompt: Document GIT_PS1_DESCRIBE_STYLE + +Erik Faye-Lund (7): + mingw: correct exit-code for SIGALRM's SIG_DFL + mingw: make fgetc raise SIGINT if apropriate + compat/terminal: factor out echo-disabling + compat/terminal: separate input and output handles + mingw: reuse tty-version of git_terminal_prompt + mingw: get rid of getpass implementation + mingw_rmdir: do not prompt for retry when non-empty + +Jeff King (1): + remote-testsvn: fix unitialized variable + +Junio C Hamano (5): + git(1): remove a defunct link to "list of authors" + Git 1.8.0.2 + git-prompt.sh: update PROMPT_COMMAND documentation + git(1): show link to contributor summary page + Git 1.8.1-rc2 + +Manlio Perillo (1): + git.txt: add missing info about --git-dir command-line option + +Marc Khouzam (1): + Add file completion to tcsh git completion. + +Matthew Daley (1): + Fix sizeof usage in get_permutations + +Max Horn (6): + git-remote-helpers.txt: document invocation before input format + git-remote-helpers.txt: document missing capabilities + git-remote-helpers.txt: minor grammar fix + git-remote-helpers.txt: rearrange description of capabilities + git-remote-helpers.txt: clarify command <-> capability correspondences + git-remote-helpers.txt: clarify options & ref list attributes + +Stefano Lattarini (1): + Makefile: whitespace style fixes in macro definitions + +Sébastien Loriot (1): + Documentation/git-stash.txt: add a missing verb + +Thomas Ackermann (1): + Renumber list in api-command.txt + + +Version v1.8.1-rc1; changes since v1.8.1-rc0: +--------------------------------------------- + +Jiang Xin (1): + l10n: Update git.pot (5 new, 1 removed messages) + +Junio C Hamano (3): + Update draft release notes to 1.8.0.2 + Documentation/diff-config: work around AsciiDoc misfortune + Git 1.8.1-rc1 + +Matthieu Moy (1): + document that statusHints affects git checkout + +Peter Krefting (1): + l10n: Update Swedish translation (1979t0f0u) + +Ralf Thielow (2): + l10n: de.po: translate 825 new messages + l10n: de.po: translate 22 new messages + +Ramkumar Ramachandra (4): + t4041 (diff-submodule-option): don't hardcode SHA-1 in expected outputs + t4041 (diff-submodule-option): parse digests sensibly + t4041 (diff-submodule-option): rewrite add_file() routine + t4041 (diff-submodule-option): modernize style + +Trần Ngọc Quân (1): + l10n: vi.po: update to git-v1.8.0.1-347-gf94c3 + + +Version v1.8.1-rc0; changes since v1.8.0.3: +------------------------------------------- + +Ben Walton (1): + Use character class for sed expression instead of \s + +Brandon Casey (1): + usage.c: detect recursion in die routines and bail out immediately + +Chris Rorvick (1): + git-cvsimport: allow author-specific timezones + +Dmitry Ivankov (1): + vcs-svn: add fast_export_note to create notes + +Enrico Scholz (1): + emacs: make 'git-status' work with separate git dirs + +Eric S. Raymond (1): + Documentation: how to add a new command + +Felipe Contreras (32): + completion: add format-patch options to send-email + Add new remote-hg transport helper + remote-hg: add support for pushing + remote-hg: add support for remote pushing + remote-hg: add support to push URLs + remote-hg: make sure the encoding is correct + remote-hg: match hg merge behavior + remote-hg: add support for hg-git compat mode + remote-hg: add compat for hg-git author fixes + remote-hg: fake bookmark when there's none + remote-hg: add basic tests + test-lib: avoid full path to store test results + remote-hg: add bidirectional tests + remote-hg: add tests to compare with hg-git + remote-hg: add extra author test + remote-hg: add option to not track branches + remote-hg: the author email can be null + remote-hg: fix compatibility with older versions of hg + remote-hg: try the 'tip' if no checkout present + remote-hg: avoid bad refs + completion: add comment for test_completion() + completion: standardize final space marker in tests + completion: simplify tests using test_completion_long() + completion: consolidate test_completion*() tests + completion: refactor __gitcomp related tests + completion: simplify __gitcomp() test helper + completion: add new zsh completion + completion: start moving to the new zsh completion + send-email: avoid questions when user has an ident + remote-hg: fix for files with spaces + remote-hg: fix for older versions of python + completion: fix warning for zsh + +Florian Achleitner (15): + Implement a remote helper for svn in C + Add git-remote-testsvn to Makefile + Add svndump_init_fd to allow reading dumps from arbitrary FDs + Add argv_array_detach and argv_array_free_detached + Connect fast-import to the remote-helper via pipe, adding 'bidi-import' capability + Add documentation for the 'bidi-import' capability of remote-helpers + When debug==1, start fast-import with "--stats" instead of "--quiet" + remote-svn, vcs-svn: Enable fetching to private refs + Allow reading svn dumps from files via file:// urls + Create a note for every imported commit containing svn metadata + remote-svn: Activate import/export-marks for fast-import + remote-svn: add incremental import + Add a svnrdump-simulator replaying a dump file for testing + remote-svn: add marks-file regeneration + Add a test script for remote-svn + +Jeff King (30): + pager: drop "wait for output to run less" hack + peel_ref: use faster deref_tag_noverify + peel_ref: do not return a null sha1 + peel_ref: check object type before loading + upload-pack: use peel_ref for ref advertisements + remote-curl: do not call run_slot repeatedly + http: do not set up curl auth after a 401 + strbuf: always return a non-NULL value from strbuf_detach + status: add --long output format option + git-sh-setup: refactor ident-parsing functions + filter-branch: use git-sh-setup's ident parsing functions + t1300: style updates + t1300: remove redundant test + t1300: test "git config --get-all" more thoroughly + git-config: remove memory leak of key regexp + git-config: fix regexp memory leaks on error conditions + git-config: collect values instead of immediately printing + git-config: do not complain about duplicate entries + git-config: use git_config_with_options + remote-curl: hoist gzip buffer size to top of post_rpc + remote-curl: retry failed requests for auth even with gzip + cvsimport: work around perl tzset issue + test-lib: allow negation of prerequisites + t7502: factor out autoident prerequisite + ident: make user_ident_explicitly_given static + ident: keep separate "explicit" flags for author and committer + diff: rename "set" variable + t: add tests for "git var" + t9001: check send-email behavior with implicit sender + status: respect advice.statusHints for ahead/behind advice + +Jeff Muizelaar (1): + diff: diff.context configuration gives default to -U + +Jens Lehmann (5): + submodule: teach rm to remove submodules unless they contain a git directory + Teach "git submodule add" the --name option + submodule add: Fail when .git/modules/<name> already exists unless forced + submodule status: remove unused orig_* variables + Teach rm to remove submodules when given with a trailing '/' + +Jiang Xin (1): + l10n: Update git.pot (14 new, 3 removed messages) + +Joachim Schmitz (1): + fix 'make test' for HP NonStop + +Johan Herland (1): + git symbolic-ref --delete $symref + +Johannes Sixt (1): + maybe_flush_or_die: move a too-loose Windows specific error + +Junio C Hamano (20): + t4055: avoid use of sed 'a' command + log --grep: accept --basic-regexp and --perl-regexp + log: honor grep.* configuration + coloured git-prompt: paint detached HEAD marker in red + pretty: remove reencode_commit_message() + format_note(): simplify API + pretty: prepare notes message at a centralized place + pretty_print_commit(): do not append notes message + format-patch: append --signature after notes + format-patch --notes: show notes after three-dashes + Documentation: decribe format-patch --notes + get_fetch_map(): tighten checks on dest refs + format-patch: add a blank line between notes and diffstat + Start 1.8.1 cycle + Sixth batch for 1.8.1 + Update draft release notes for 1.8.1 + Update draft release notes to 1.8.1 + Update draft release notes to 1.8.1 + Update draft release notes to 1.8.1 + Git 1.8.1-rc0 + +Karsten Blees (1): + update-index/diff-index: use core.preloadindex to improve performance + +Krzysztof Mazur (10): + git-send-email: introduce compose-encoding + git-send-email: use compose-encoding for Subject + git-send-email: skip RFC2047 quoting for ASCII subjects + git-send-email: introduce quote_subject() + git-send-email: add rfc2047 quoting for "=?" + git-send-email: remove garbage after email address + git-send-email: fix fallback code in extract_valid_address() + git-send-email: remove invalid addresses earlier + git-send-email: ask what to do with an invalid email address + git-send-email: allow edit invalid email address + +Marc Khouzam (2): + tcsh-completion re-using git-completion.bash + Support for git aliasing for tcsh completion + +Mark Levedahl (2): + Update cygwin.c for new mingw-64 win32 api headers + USE CGYWIN_V15_WIN32API as macro to select api for cygwin + +Matt Kraai (1): + docs: move submodule section + +Matthew Ogilvie (10): + cvsserver t9400: add basic 'cvs log' test + cvsserver: removed unused sha1Or-k mode from kopts_from_path + cvsserver: add comments about database schema/usage + cvsserver update: comment about how we shouldn't remove a user-modified file + cvsserver: remove unused functions _headrev and gethistory + cvsserver: clean up client request handler map comments + cvsserver: split up long lines in req_{status,diff,log} + cvsserver: use whole CVS rev number in-process; don't strip "1." prefix + cvsserver: cvs add: do not expand directory arguments + cvsserver status: provide real sticky info + +Matthieu Moy (1): + status: add advice on how to push/pull to tracking branch + +Michael Haggerty (12): + parse_dirstat_params(): use string_list to split comma-separated string + strbuf_split_buf(): use ALLOC_GROW() + strbuf_split_buf(): simplify iteration + strbuf_split*(): rename "delim" parameter to "terminator" + strbuf_split*(): document functions + string_list: add a function string_list_remove_empty_items() + Initialize sort_uniq_list using named constant + combine_notes_cat_sort_uniq(): sort and dedup lines all at once + notes: fix handling of colon-separated values + string_list_add_refs_from_colon_sep(): use string_list_split() + link_alt_odb_entries(): use string_list_split_in_place() + link_alt_odb_entries(): take (char *, len) rather than two pointers + +Michael J Gruber (1): + replace: parse revision argument for -d + +Nguyễn Thái Ngọc Duy (16): + attr: avoid strlen() on every match + attr: avoid searching for basename on every match + exclude: stricten a length check in EXC_FLAG_ENDSWITH case + exclude: split basename matching code into a separate function + exclude: fix a bug in prefix compare optimization + exclude: split pathname matching code into a separate function + gitignore: make pattern parsing code a separate function + attr: more matching optimizations from .gitignore + tree-walk: use enum interesting instead of integer + Move try_merge_command and checkout_fast_forward to libgit.a + Move estimate_bisect_steps to libgit.a + Move print_commit_list to libgit.a + Move setup_diff_pager to libgit.a + send-pack: move core code to libgit.a + fetch-pack: remove global (static) configuration variable "args" + fetch-pack: move core code to libgit.a + +Patrick Palka (1): + Documentation: improve the example of overriding LESS via core.pager + +Pete Wyckoff (6): + git p4: catch p4 describe errors + git p4: handle servers without move support + git p4: catch p4 errors when streaming file contents + git p4 test: display unresolvable host error + git p4: fix labelDetails typo in exception + git p4: remove unneeded cmd initialization + +Peter Krefting (1): + l10n: Update Swedish translation (1975t0f0u) + +Phil Hord (3): + t7407: Fix recursive submodule test + Teach --recursive to submodule sync + Add tests for submodule sync --recursive + +Phil Pennock (1): + gitweb: make remote_heads config setting work + +Philip Oakley (4): + Doc SubmittingPatches: Mention --notes option after "cover letter" + Doc notes: Include the format-patch --notes option + Doc format-patch: clarify --notes use case + Doc User-Manual: Patch cover letter, three dashes, and --notes + +Ramkumar Ramachandra (4): + remote-hg: add missing config for basic tests + Documentation: move diff.wordRegex from config.txt to diff-config.txt + diff: introduce diff.submodule configuration variable + submodule: display summary header in bold + +Ramsay Jones (2): + builtin/config.c: Fix a sparse warning + remote-curl.c: Fix a compiler warning + +SZEDER Gábor (1): + completion: remove 'help' duplicate from porcelain commands + +Simon Oosthoek (3): + Allow __git_ps1 to be used in PROMPT_COMMAND + show color hints based on state of the git tree + Fix up colored git-prompt + +Stefan Zager (1): + submodule add: fix handling of --reference=<repo> option + +Stefano Lattarini (1): + configure: fix some output message + +Torsten Bögershausen (1): + Fix t9200 on case insensitive file systems + +Trần Ngọc Quân (2): + l10n: vi.po: update to git-v1.7.12-437-g1084f + l10n: vi.po: Update follow git-v1.8.0-273-g2d242 + + +Version v1.8.0.3; changes since v1.8.0.2: +----------------------------------------- + +Adam Spiers (2): + SubmittingPatches: add convention of prefixing commit messages + Documentation: move support for old compilers to CodingGuidelines + +Anders Kaseorg (1): + git-prompt: Document GIT_PS1_DESCRIBE_STYLE + +Chris Rorvick (2): + Documentation/git-checkout.txt: clarify usage + Documentation/git-checkout.txt: document 70c9ac2 behavior + +Gunnlaugur Þór Briem (1): + Document git-svn fetch --log-window-size parameter + +Jeff King (7): + pickaxe: hoist empty needle check + pickaxe: use textconv for -S counting + .mailmap: match up some obvious names/emails + .mailmap: fix broken entry for Martin Langhoff + .mailmap: normalize emails for Jeff King + .mailmap: normalize emails for Linus Torvalds + contrib: update stats/mailmap script + +John Keeping (1): + Documentation: don't link to example mail addresses + +Junio C Hamano (6): + fetch --tags: clarify documentation + README: it does not matter who the current maintainer is + t7004: do not create unneeded gpghome/gpg.conf when GPG is not used + Documentation: Describe "git diff <blob> <blob>" separately + git(1): show link to contributor summary page + Git 1.8.0.3 + +Krzysztof Mazur (1): + doc: git-reset: make "<mode>" optional + +Manlio Perillo (1): + git.txt: add missing info about --git-dir command-line option + +Matthew Daley (1): + Fix sizeof usage in get_permutations + +Max Horn (1): + git-remote-helpers.txt: document invocation before input format + +Nguyễn Thái Ngọc Duy (1): + index-format.txt: clarify what is "invalid" + +Ramkumar Ramachandra (1): + Documentation: move diff.wordRegex from config.txt to diff-config.txt + +Sebastian Leske (4): + git-svn: Document branches with at-sign(@). + git-svn: Recommend use of structure options. + git-svn: Expand documentation for --follow-parent + git-svn: Note about tags. + +Sitaram Chamarty (1): + clarify -M without % symbol in diff-options + +Stefano Lattarini (1): + README: Git is released under the GPLv2, not just "the GPL" + +Thomas Ackermann (8): + Split over-long synopsis in git-fetch-pack.txt into several lines + Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1 + Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt + Documentation/technical: convert plain text files to asciidoc + Documentation/howto: convert plain text files to asciidoc + Documentation: build html for all files in technical and howto + Remove misleading date from api-index-skel.txt + Sort howto documents in howto-index.txt + +Tom Jones (1): + Add -S, --gpg-sign option to manpage of "git commit" + + +Version v1.8.0.2; changes since v1.8.0.1: +----------------------------------------- + +Antoine Pelisse (1): + Fix typo in remote set-head usage + +Eric S. Raymond (1): + doc/fast-import: clarify how content states are built + +Johan Herland (2): + t1400-update-ref: Add test verifying bug with symrefs in delete_ref() + Fix failure to delete a packed ref through a symref + +Junio C Hamano (13): + reencode_string(): introduce and use same_encoding() + test: add failing tests for "diff --stat" to t4049 + diff --stat: status of unmodified pair in diff-q is not zero + diff --stat: use "file" temporary variable to refer to data->files[i] + diff --stat: move the "total count" logic to the last loop + diff --stat: do not count "unmerged" entries + diff --shortstat: do not count "unmerged" entries + Documentation/git-push.txt: clarify the "push from satellite" workflow + Start preparing for 1.8.0.2 + t4049: refocus tests + Update draft release notes to 1.8.0.2 + git(1): remove a defunct link to "list of authors" + Git 1.8.0.2 + +Linus Torvalds (1): + Fix "git diff --stat" for interesting - but empty - file changes + +Mark Szepieniec (1): + Documentation: improve phrasing in git-push.txt + +Matthieu Moy (2): + git-remote-mediawiki: escape ", \, and LF in file names + git-fast-import.txt: improve documentation for quoted paths + +Nguyễn Thái Ngọc Duy (1): + compat/fnmatch: fix off-by-one character class's length check + +Paul Gortmaker (1): + Makefile: hide stderr of curl-config test + +Pete Wyckoff (1): + git p4: RCS expansion should not span newlines + +Ralf Thielow (1): + completion: add options --single-branch and --branch to "git clone" + +Richard Hubbell (1): + gitweb.perl: fix %highlight_ext mappings + +Sébastien Loriot (1): + Documentation/git-stash.txt: add a missing verb + +W. Trevor King (1): + git-submodule: wrap branch option with "<>" in usage strings. + + +Version v1.8.0.1; changes since v1.8.0: +--------------------------------------- + +Andreas Schwab (1): + commit: fixup misplacement of --no-post-rewrite description + +Ben Walton (1): + Remove the hard coded length limit on variable names in config files + +Carlos Martín Nieto (1): + config: don't segfault when given --path with a missing value + +David Aguilar (1): + mergetools/p4merge: Handle "/dev/null" + +Jan H. Schönherr (7): + utf8: fix off-by-one wrapping of text + format-patch: do not wrap non-rfc2047 headers too early + format-patch: do not wrap rfc2047 encoded headers too late + format-patch: introduce helper function last_line_length() + format-patch: make rfc2047 encoding more strict + format-patch: fix rfc2047 address encoding with respect to rfc822 specials + format-patch tests: check quoting/encoding in To: and Cc: headers + +Jeff King (3): + diff_grep: use textconv buffers for add/deleted files + gitweb: escape html in rss title + checkout: print a message when switching unborn branches + +Junio C Hamano (9): + builtin/grep.c: make configuration callback more reusable + grep: move the configuration parsing logic to grep.[ch] + grep: move pattern-type bits support to top-level grep.[ch] + revisions: initialize revs->grep_filter using grep_init() + log --grep: use the same helper to set -E/-F options as "git grep" + test-lib: Fix say_color () not to interpret \a\b\c in the message + Start preparing for 1.8.0.1 + Further preparation for 1.8.0.1 + Git 1.8.0.1 + +Marc Khouzam (1): + Completion must sort before using uniq + +Matthieu Moy (2): + Documentation: remote tracking branch -> remote-tracking branch + Document 'git commit --no-edit' explicitly + +Michael J Gruber (1): + push/pull: adjust missing upstream help text to changed interface + +Nguyễn Thái Ngọc Duy (1): + grep: stop looking at random places for .gitattributes + +Phil Hord (1): + git-pull: Avoid merge-base on detached head + +Philip Oakley (1): + Doc repository-layout: Show refs/replace + +René Scharfe (6): + refs: lock symref that is to be deleted, not its target + branch: factor out check_branch_commit() + branch: factor out delete_branch_config() + branch: delete symref branch, not its target + branch: skip commit checks when deleting symref branches + branch: show targets of deleted symrefs, not sha1s + +Romain Francoise (1): + mailmap: avoid out-of-bounds memory access + +Stefan Zager (1): + Fix potential hang in https handshake + + +Version v1.8.0; changes since v1.8.0-rc3: +----------------------------------------- + +Andrew Wong (2): + git-gui: Detect full path when parsing arguments + git-gui: Don't prepend the prefix if value looks like a full path + +Beat Bolli (2): + git-gui: Fix a loose/lose mistake + git-gui: remove .git/CHERRY_PICK_HEAD after committing + +Benjamin Kerensa (1): + git-gui: fix a typo in po/ files + +Clemens Buchacher (1): + git-gui: fix git-gui crash due to uninitialized variable + +Heiko Voigt (1): + git-gui: open console when using --trace on windows + +Junio C Hamano (1): + Git 1.8.0 + +Marcus Karlsson (1): + git-gui: Use PWD if it exists on Mac OS X + +Pat Thoyts (2): + git-gui: preserve commit messages in utf-8 + git-gui 0.17 + +Ralf Thielow (3): + git-gui: de.po: consistently add untranslated hook names within braces + git-gui: de.po: translate "bare" as "bloß" + git-gui: de.po: translate "remote" as "extern" + +Vitaly "_Vi" Shukela (1): + git-gui: Fix semi-working shortcuts for unstage and revert + + +Version v1.8.0-rc3; changes since v1.8.0-rc2: +--------------------------------------------- + +Dylan Alex Simon (1): + gitweb.cgi: fix "comitter_tz" typo in feed + +Jeff King (1): + http: fix segfault in handle_curl_result + +Jiang Xin (1): + l10n: Update git.pot (3 new, 6 removed messages) + +Junio C Hamano (3): + Update draft release notes to 1.8.0 + Git 1.7.12.4 + Git 1.8.0-rc3 + +Peter Krefting (1): + l10n: Update Swedish translation (1964t0f0u) + +Richard Fearn (1): + Fix spelling error in post-receive-email hook + +Thomas Ackermann (1): + Documentation/RelNotes: remove "updated up to this revision" markers + +Trần Ngọc Quân (2): + l10n: vi.po: update translation upto cc76011 + l10n: vi.po: update from v1.8.0-rc2-4-g42e55 + + +Version v1.8.0-rc2; changes since v1.8.0-rc1: +--------------------------------------------- + +Ben Walton (1): + tests: "cp -a" is a GNUism + +Jonathan Nieder (2): + git svn: work around SVN 1.7 mishandling of svn:special changes + svn test: escape peg revision separator using empty peg rev + +Junio C Hamano (2): + gitcli: parse-options lets you omit tail of long options + Git 1.8.0-rc2 + +Nguyễn Thái Ngọc Duy (2): + gitignore.txt: suggestions how to get literal # or ! at the beginning + attr: a note about the order of .gitattributes lookup + +Ramkumar Ramachandra (1): + Git url doc: mark ftp/ftps as read-only and deprecate them + +Ramsay Jones (1): + MALLOC_CHECK: Allow checking to be disabled from config.mak + +Simon Ruderich (1): + l10n: de.po: fix a few minor typos + +Øyvind A. Holm (1): + configure.ac: Add missing comma to CC_LD_DYNPATH + + +Version v1.8.0-rc1; changes since v1.8.0-rc0: +--------------------------------------------- + +Ammon Riley (1): + Make git-svn branch patterns match complete URL + +Eric Wong (1): + git-svn: use path accessor for Git::SVN objects + +Jonathan Nieder (2): + Git::SVN: rename private path field + git-svn: keep leading slash when canonicalizing paths (fallback case) + +Junio C Hamano (7): + log --grep-reflog: reject the option without -g + Start preparing for 1.7.12.3 + t1450: the order the objects are checked is undefined + Update draft release notes to 1.8.0 + paint_down_to_common(): parse commit before relying on its timestamp + Git 1.7.12.3 + Git 1.8.0-rc1 + +Linus Torvalds (1): + mailinfo: don't require "text" mime type for attachments + +Michael J Gruber (1): + RelNotes/1.8.0: various typo and style fixes + +Nguyễn Thái Ngọc Duy (3): + grep: prepare for new header field filter + revision: add --grep-reflog to filter commits by reflog messages + revision: make --grep search in notes too if shown + +Peter Krefting (1): + l10n: Fix to Swedish translation + +Ramkumar Ramachandra (1): + Documentation: mention `push.default` in git-push.txt + +Robert Luberda (1): + t9164: Add missing quotes in test + +Steven Walter (2): + git-svn.perl: consider all ranges for a given merge, instead of only tip-by-tip + git-svn.perl: keep processing all commits in parents_exclude + +Tobias Ulmer (1): + silence git gc --auto --quiet output + + +Version v1.8.0-rc0; changes since v1.7.12.4: +-------------------------------------------- + +Adrian Johnson (1): + Add userdiff patterns for Ada + +Andrew Wong (3): + rebase -i: Refactor help messages for todo file + rebase -i: Teach "--edit-todo" action + rebase -i: Add tests for "--edit-todo" + +Aske Olsson (1): + gitk: Fix GIT_TRACE issues + +Carlos Martín Nieto (4): + branch: introduce --set-upstream-to + branch: add --unset-upstream option + branch: deprecate --set-upstream and show help if we detect possible mistaken use + completion: add --set-upstream-to and --unset-upstream + +Chris Webb (1): + cherry-pick: add --allow-empty-message option + +David Aguilar (12): + difftool: Simplify print_tool_help() + difftool: Eliminate global variables + difftool: Move option values into a hash + difftool: Call the temp directory "git-difftool" + difftool: Use symlinks when diffing against the worktree + difftool: Handle finding mergetools/ in a path with spaces + difftool: Check all return codes from compare() + difftool: Wrap long lines for readability + difftool: Handle compare() returning -1 + difftool: Disable --symlinks on cygwin + mergetool,difftool: Document --tool-help consistently + mergetool--lib: Allow custom commands to override built-ins + +Elia Pinto (1): + Add MALLOC_CHECK_ and MALLOC_PERTURB_ libc env to the test suite for detecting heap corruption + +Erik Faye-Lund (1): + contrib: add win32 credential-helper + +J Smith (1): + grep: add a grep.patternType configuration setting + +Jeff King (4): + remote-curl: rename is_http variable + remote-curl: let users turn off smart http + t9902: add a few basic completion tests + t9902: add completion tests for "odd" filenames + +Jiang Xin (11): + Fix tests under GETTEXT_POISON on relative dates + Fix tests under GETTEXT_POISON on git-stash + Fix tests under GETTEXT_POISON on diffstat + Fix tests under GETTEXT_POISON on git-apply + Fix tests under GETTEXT_POISON on pack-object + Fix tests under GETTEXT_POISON on git-remote + Fix tests under GETTEXT_POISON on parseopt + l10n: Update git.pot (2 new, 4 removed messages) + l10n: zh_CN.po: translate 2 new messages + l10n: Update git.pot (825 new, 24 removed messages) + l10n: zh.CN.po: msgmerge git.pot (1142t195f630u) + +Joachim Schmitz (8): + compat: some mkdir() do not like a slash at the end + Add a no-op setitimer() wrapper + Document MKDIR_WO_TRAILING_SLASH in Makefile + make poll available for other platforms lacking it + fix some win32 specific dependencies in poll.c + poll() exits too early with EFAULT if 1st arg is NULL + make poll() work on platforms that can't recv() on a non-socket + Port to HP NonStop + +Johannes Sixt (3): + t0060: split absolute path test in two to exercise some of it on Windows + rebase -i: fix misleading error message after 'exec no-such' instruction + rebase -i: suggest using --edit-todo to fix an unknown instruction + +Junio C Hamano (42): + daemon: --access-hook option + Kick off cycle towards 1.8.0 + First half of the second batch for 1.8.0 + in_merge_bases(): support only one "other" commit + receive-pack: use in_merge_bases() for fast-forward check + http-push: use in_merge_bases() for fast-forward check + Latter half of the second batch for 1.8.0 + merge_bases_many(): split out the logic to paint history + in_merge_bases(): use paint_down_to_common() + get_merge_bases_many(): walk from many tips in parallel + merge-base: "--is-ancestor A B" + reduce_heads(): reimplement on top of remove_redundant() + The third batch for 1.8.0 + Update mailmap for a handful of folks + The fourth batch for 1.8.0 + Cull items fixed in maintenance branches + First half of the fifth batch for 1.8.0 + Second half of the fifth batch for 1.8.0 + Start merging the sixth batch for 1.8.0 + The sixth batch for 1.8.0 + Draft release notes to 1.8.0 + builtin/notes.c: mark file-scope private symbols as static + commit.c: mark a file-scope private symbol as static + diff.c: mark a private file-scope symbol as static + graph.c: mark private file-scope symbols as static + rerere.c: mark private file-scope symbols as static + notes.c: mark a private file-scope symbol as static + symlinks.c: mark private file-scope symbols as static + sha1-array.c: mark a private file-scope symbol as static + strbuf.c: mark a private file-scope symbol as static + read-cache.c: mark a private file-scope symbol as static + wt-status.c: mark a private file-scope symbol as static + trace.c: mark a private file-scope symbol as static + ident.c: mark private file-scope symbols as static + sequencer.c: mark a private file-scope symbol as static + The seventh batch for 1.8.0 + MALLOC_CHECK: various clean-ups + Revert "archive-zip: support UTF-8 paths" + Update draft release notes to 1.8.0 + Update draft release notes to 1.8.0 + Update draft release notes to 1.8.0 + Git 1.8.0-rc0 + +Ken Dreyer (1): + cvsimport: strip all inappropriate tag strings + +Linus Torvalds (1): + commit/commit-tree: correct latin1 to utf-8 + +Martin von Zweigbergk (4): + remove unnecessary parameter from get_patch_ids() + cherry: don't set ignored rev_info options + cherry: remove redundant check for merge commit + rebase usage: subcommands can not be combined with -i + +Matthieu Moy (1): + push: start warning upcoming default change for push.default + +Michael G. Schwern (20): + Git::SVN: use accessors internally for path + Git::SVN: use accessor for URLs internally + Git::SVN::Ra: use accessor for URLs + use Git::SVN->path accessor globally + use Git::SVN{,::RA}->url accessor globally + git-svn: move canonicalization to Git::SVN::Utils + git-svn: use SVN 1.7 to canonicalize when possible + git-svn: factor out _collapse_dotdot function + git-svn: add join_paths() to safely concatenate paths + Git::SVN::Utils: remove irrelevant comment + git-svn: path canonicalization uses SVN API + Git::SVN{,::Ra}: canonicalize earlier + t9118: workaround inconsistency between SVN versions + t9107: fix typo + git-svn: attempt to mimic SVN 1.7 URL canonicalization + git-svn: replace URL escapes with canonicalization + git-svn: canonicalize earlier + git-svn: introduce add_path_to_url function + git-svn: canonicalize newly-minted URLs + git-svn: remove ad-hoc canonicalizations + +Michael Haggerty (29): + t0060: move tests of real_path() from t0000 to here + t0060: verify that absolute_path() fails if passed the empty string + absolute_path(): reject the empty string + t0060: verify that real_path() fails if passed the empty string + real_path(): reject the empty string + t0060: verify that real_path() works correctly with absolute paths + real_path(): properly handle nonexistent top-level paths + t0060: verify that real_path() removes extra slashes + string_list: add function string_list_append_nodup() + string_list: add two new functions for splitting strings + string_list: add a new function, filter_string_list() + string_list: add a new function, string_list_remove_duplicates() + string_list: add a function string_list_longest_prefix() + api-string-list.txt: initialize the string_list the easy way + t5500: add tests of error output for missing refs + t5500: add tests of fetch-pack --all --depth=N $URL $REF + Rename static function fetch_pack() to http_fetch_pack() + fetch_pack(): reindent function decl and defn + Change fetch_pack() and friends to take string_list arguments + filter_refs(): do not check the same sought_pos twice + fetch_pack(): update sought->nr to reflect number of unique entries + filter_refs(): delete matched refs from sought list + filter_refs(): build refs list as we go + filter_refs(): simplify logic + cmd_fetch_pack(): return early if finish_connect() fails + fetch-pack: report missing refs even if no existing refs were received + cmd_fetch_pack(): simplify computation of return value + fetch-pack: eliminate spurious error messages + string_list API: document what "sorted" means + +Michael J Gruber (1): + completion: complete branch name for "branch --set-upstream-to=" + +Miklos Vajna (1): + cherry-pick: don't forget -s on failure + +Nguyễn Thái Ngọc Duy (74): + i18n: mark "style" in OPT_COLUMN() for translation + i18n: archive: mark parseopt strings for translation + i18n: bisect--helper: mark parseopt strings for translation + i18n: add: mark parseopt strings for translation + i18n: blame: mark parseopt strings for translation + i18n: branch: mark parseopt strings for translation + i18n: cat-file: mark parseopt strings for translation + i18n: check-attr: mark parseopt strings for translation + i18n: checkout-index: mark parseopt strings for translation + i18n: checkout: mark parseopt strings for translation + i18n: cherry: mark parseopt strings for translation + i18n: clean: mark parseopt strings for translation + i18n: clone: mark parseopt strings for translation + i18n: column: mark parseopt strings for translation + i18n: commit: mark parseopt strings for translation + i18n: count-objects: mark parseopt strings for translation + i18n: config: mark parseopt strings for translation + i18n: describe: mark parseopt strings for translation + i18n: fast-export: mark parseopt strings for translation + i18n: fetch: mark parseopt strings for translation + i18n: fmt-merge-msg: mark parseopt strings for translation + i18n: for-each-ref: mark parseopt strings for translation + i18n: format-patch: mark parseopt strings for translation + i18n: fsck: mark parseopt strings for translation + i18n: gc: mark parseopt strings for translation + i18n: grep: mark parseopt strings for translation + i18n: hash-object: mark parseopt strings for translation + i18n: help: mark parseopt strings for translation + i18n: init-db: mark parseopt strings for translation + i18n: log: mark parseopt strings for translation + i18n: ls-files: mark parseopt strings for translation + i18n: ls-tree: mark parseopt strings for translation + i18n: merge-base: mark parseopt strings for translation + i18n: merge-file: mark parseopt strings for translation + i18n: merge: mark parseopt strings for translation + i18n: mktree: mark parseopt strings for translation + i18n: mv: mark parseopt strings for translation + i18n: name-rev: mark parseopt strings for translation + i18n: notes: mark parseopt strings for translation + i18n: pack-objects: mark parseopt strings for translation + i18n: pack-refs: mark parseopt strings for translation + i18n: prune-packed: mark parseopt strings for translation + i18n: prune: mark parseopt strings for translation + i18n: push: mark parseopt strings for translation + i18n: read-tree: mark parseopt strings for translation + i18n: remote: mark parseopt strings for translation + i18n: replace: mark parseopt strings for translation + i18n: status: mark parseopt strings for translation + i18n: rerere: mark parseopt strings for translation + i18n: reset: mark parseopt strings for translation + i18n: rev-parse: mark parseopt strings for translation + i18n: revert, cherry-pick: mark parseopt strings for translation + i18n: rm: mark parseopt strings for translation + i18n: shortlog: mark parseopt strings for translation + am: quote string for translation before passing to eval_gettextln + i18n: show-branch: mark parseopt strings for translation + i18n: show-ref: mark parseopt strings for translation + i18n: symbolic-ref: mark parseopt strings for translation + i18n: tag: mark parseopt strings for translation + i18n: update-index: mark parseopt strings for translation + i18n: update-ref: mark parseopt strings for translation + i18n: update-server-info: mark parseopt strings for translation + i18n: verify-pack: mark parseopt strings for translation + i18n: verify-tag: mark parseopt strings for translation + i18n: write-tree: mark parseopt strings for translation + Reduce translations by using same terminologies + Use imperative form in help usage to describe an action + branch -v: align even when branch names are in UTF-8 + checkout: pass "struct checkout_opts *" as const pointer + checkout: move more parameters to struct checkout_opts + i18n: mark more index-pack strings for translation + status: remove i18n legos + checkout: reorder option handling + fetch: align per-ref summary report in UTF-8 locales + +Pete Wyckoff (17): + git p4 test: move client_view() function to library + git p4 test: add broken --use-client-spec --detect-branches tests + git p4: set self.branchPrefixes in initialization + git p4: do wildcard decoding in stripRepoPath + git p4: make branch detection work with --use-client-spec + git p4 test: remove bash-ism of combined export/assignment + git p4: gracefully fail if some commits could not be applied + git p4: remove submit failure options [a]pply and [w]rite + git p4: move conflict prompt into run, add [q]uit input + git p4: standardize submit cancel due to unchanged template + git p4: test clean-up after failed submit, fix added files + git p4: rearrange submit template construction + git p4: revert deleted files after submit cancel + git p4: accept -v for --verbose + git p4: add submit --dry-run option + git p4: add submit --prepare-p4-only option + git-p4: add submit --conflict option and config varaiable + +Peter Krefting (3): + l10n: Update Swedish translation (1166t0f0u) + Update Swedish translation (1967t0f0u) + l10n: Fixes to Swedish translation + +Philipp A. Hartmann (1): + contrib: add credential helper for GnomeKeyring + +Ralf Thielow (1): + l10n: de.po: translate 2 new messages + +Ramsay Jones (12): + t3300-*.sh: Fix a TAP parse error + t3902-*.sh: Skip all tests rather than each test + t4016-*.sh: Skip all tests rather than each test + test-lib.sh: Fix some shell coding style violations + test-lib.sh: Add check for invalid use of 'skip_all' facility + test-lib.sh: Suppress the "passed all ..." message if no tests run + path.c: Remove the 'git_' prefix from a file scope function + path.c: Don't discard the return value of vsnpath() + path.c: Use vsnpath() in the implementation of git_path() + Call git_pathdup() rather than xstrdup(git_path("...")) + Call mkpathdup() rather than xstrdup(mkpath(...)) + test-string-list.c: Fix some sparse warnings + +René Scharfe (4): + archive-zip: support UTF-8 paths + archive-zip: support UTF-8 paths + archive-zip: write extended timestamp + MALLOC_CHECK: enable it, unless disabled explicitly + +Ross Lagerwall (1): + difftool: silence warning + +Sebastian Schuberth (1): + Add Code Compare v2.80.4 as a merge / diff tool for Windows + +Stefano Lattarini (2): + build: improve GIT_CONF_SUBST signature + build: don't duplicate substitution of make variables + +Thomas Rast (2): + gettext: do not translate empty string + in_merge_bases(): omit unnecessary redundant common ancestor reduction + +Trần Ngọc Quân (2): + l10n: vi.po & TEAMS: review Vietnamese translation + l10n: vi.po: update to v1.7.12-146-g16d26 + + +Version v1.7.12.4; changes since v1.7.12.3: +------------------------------------------- + +Ben Walton (1): + tests: "cp -a" is a GNUism + +Dave Borowitz (1): + Documentation/Makefile: Allow custom XMLTO binary + +Dylan Alex Simon (1): + gitweb.cgi: fix "comitter_tz" typo in feed + +Jeff King (1): + http: fix segfault in handle_curl_result + +Junio C Hamano (6): + merge: teach -Xours/-Xtheirs to binary ll-merge driver + attr: "binary" attribute should choose built-in "binary" merge driver + ll-merge: warn about inability to merge binary files only when we can't + t1450: the order the objects are checked is undefined + gitcli: parse-options lets you omit tail of long options + Git 1.7.12.4 + +Nguyễn Thái Ngọc Duy (2): + gitignore.txt: suggestions how to get literal # or ! at the beginning + attr: a note about the order of .gitattributes lookup + +Philip Oakley (5): + Doc: shallow clone deepens _to_ new depth + Doc: separate gitignore pattern sources + Doc add: link gitignore + Doc clean: add See Also link + Doc branch: show -vv option and alternative + +Ramkumar Ramachandra (3): + t/test-lib: make sure Git has already been built + test-lib: use $SHELL_PATH, not $SHELL + Git url doc: mark ftp/ftps as read-only and deprecate them + +Richard Fearn (1): + Fix spelling error in post-receive-email hook + +Simon Ruderich (1): + l10n: de.po: fix a few minor typos + + +Version v1.7.12.3; changes since v1.7.12.2: +------------------------------------------- + +Jeff King (3): + receive-pack: redirect unpack-objects stdout to /dev/null + receive-pack: send pack-processing stderr over sideband + receive-pack: drop "n/a" on unpacker errors + +Junio C Hamano (3): + git blame: document that it always follows origin across whole-file renames + Start preparing for 1.7.12.3 + Git 1.7.12.3 + +Linus Torvalds (1): + mailinfo: don't require "text" mime type for attachments + +Orgad Shaneh (1): + commit: pay attention to submodule.$name.ignore in .gitmodules + +Peter Krefting (1): + l10n: Fix to Swedish translation + +Ralf Thielow (1): + clone --single: limit the fetch refspec to fetched branch + +Ramkumar Ramachandra (1): + submodule: if $command was not matched, don't parse other args + +Shawn O. Pearce (2): + Revert "retry request without query when info/refs?query fails" + Enable info/refs gzip decompression in HTTP client + + +Version v1.7.12.2; changes since v1.7.12.1: +------------------------------------------- + +Dan Johnson (1): + fetch --all: pass --tags/--no-tags through to each remote + +David Gould (1): + run-command.c: fix broken list iteration in clear_child_for_cleanup + +Felipe Contreras (1): + completion: fix shell expansion of items + +Jeff King (4): + argv-array: add pop function + argv-array: fix bogus cast when freeing array + fetch: use argv_array instead of hand-building arrays + Revert "completion: fix shell expansion of items" + +Jens Lehmann (1): + submodule: use argv_array instead of hand-building arrays + +Jeremy White (1): + Documentation: describe subject more precisely + +Jonathan "Duke" Leto (1): + Improve the description of GIT_PS1_SHOWUPSTREAM + +Junio C Hamano (11): + mailinfo: strip "RE: " prefix + blame $path: avoid getting fooled by case insensitive filesystems + blame: allow "blame file" in the middle of a conflicted merge + grep: teach --debug option to dump the parse tree + log --grep/--author: honor --all-match honored for multiple --grep patterns + log: document use of multiple commit limiting options + grep.c: mark private file-scope symbols as static + mailinfo: do not concatenate charset= attribute values from mime headers + grep.c: make two symbols really file-scope static this time + Start preparation for 1.7.12.2 + Git 1.7.12.2 + +Michael J Gruber (6): + grep: show --debug output only once + t7810-grep: bring log --grep tests in common form + t7810-grep: test multiple --grep with and without --all-match + t7810-grep: test multiple --author with --all-match + t7810-grep: test interaction of multiple --grep and --author options + t7810-grep: test --all-match with multiple --grep and --author options + +Nguyễn Thái Ngọc Duy (3): + remote: prefer subcommand name 'remove' to 'rm' + doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt + Revert diffstat back to English + +Ralf Thielow (1): + l10n: de.po: correct translation of a 'rebase' message + +Stefan Naewe (1): + ls-remote: document the '--get-url' option + +Stephen Boyd (1): + Documentation: Document signature showing options + +Thynson (2): + l10n: Unify the translation for '(un)expected' + l10n: Improve many translation for zh_CN + + +Version v1.7.12.1; changes since v1.7.12: +----------------------------------------- + +Adam Butcher (1): + Fix '\ No newline...' annotation in rewrite diffs + +Adam Spiers (1): + Add missing -z to git check-attr usage text for consistency with man page + +Andreas Schwab (1): + Documentation/git-filter-branch: Move note about effect of removing commits + +Brandon Casey (2): + t/t5400: demonstrate breakage caused by informational message from prune + prune.c: only print informational message in show_only or verbose mode + +David Aguilar (2): + gitk: Teach "Reread references" to reload tags + gitk: Rename 'tagcontents' to 'cached_tagcontent' + +Eric S. Raymond (4): + fast-import: document the --done option + contrib/ciabot: Get ciabot configuration from git variables + Improved documentation for the ciabot scripts. + Make the ciabot scripts completely self-configuring in the normal case. + +Felipe Contreras (1): + gitk: Avoid Meta1-F5 + +Heiko Voigt (2): + Let submodule command exit with error status if path does not exist + Documentation/CodingGuidelines: spell out more shell guidelines + +Jay Soffian (1): + gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO + +Jeff King (29): + diff: do not use null sha1 as a sentinel value + do not write null sha1s to on-disk index + fsck: detect null sha1 in tree entries + include agent identifier in capability string + docs: monospace listings in docbook output + check-docs: mention gitweb specially + check-docs: update non-command documentation list + command-list: add git-sh-i18n + command-list: mention git-credential-* helpers + check-docs: factor out command-list + check-docs: list git-gui as a command + check-docs: drop git-help special-case + check-docs: get documented command list from Makefile + send-pack: fix capability-sending logic + do not send client agent unless server does first + parse_feature_request: make it easier to see feature values + fetch-pack: mention server version with verbose output + config: warn on inaccessible files + gitignore: report access errors of exclude files + attr: warn on inaccessible attribute files + t5550: put auth-required repo in auth/dumb + t5550: factor out http auth setup + t/lib-httpd: only route auth/dumb to dumb repos + t/lib-httpd: recognize */smart/* repos as smart-http + t: test basic smart-http authentication + t: test http access to "half-auth" repositories + http: factor out http error code handling + http: prompt for credentials on failed POST + log: fix --quiet synonym for -s + +Joachim Schmitz (2): + http.c: don't use curl_easy_strerror prior to curl-7.12.0 + sha1_file.c: introduce get_max_fd_limit() helper + +Junio C Hamano (34): + test: rename $satisfied to $satisfied_prereq + test: allow prerequisite to be evaluated lazily + config: "git config baa" should exit with status 1 + t7406: fix misleading "rev-parse --max-count=1 HEAD" + sane_execvp(): ignore non-directory on $PATH + Documentation: do not mention .git/refs/* directories + receive-pack: do not leak output from auto-gc to standard output + sh-setup: protect from exported IFS + fetch-pack: do not ask for unadvertised capabilities + send-email: validate & reconfirm interactive responses + rev-list docs: clarify --topo-order description + gitcli: describe abbreviation of long options + Documentation: update the introductory section + git-config doc: unconfuse an example + precompose-utf8: do not call checks for non-ascii "utf8" + warn_on_inaccessible(): a helper to warn on inaccessible paths + specifying ranges: we did not mean to make ".." an empty set + mergetool: style fixes + Prepare for 1.7.11.6 + apply: compute patch->def_name correctly under -p0 + doc: "git checkout -b/-B/--orphan" always takes a branch name + split_ident_line(): make best effort when parsing author/committer line + Document file-glob for "git checkout -- '*.c'" + gitcli: formatting fix + gitcli: contrast wildcard given to shell and to git + Almost 1.7.11.6 + Start preparing for 1.7.12.1 + Git 1.7.11.6 + Further merging down for 1.7.12.1 + Further merging in preparation for 1.7.12.1 + attr: failure to open a .gitattributes file is OK with ENOTDIR + Git 1.7.11.7 + Draft release notes to 1.7.12.1 + Git 1.7.12.1 + +Kacper Kornet (2): + t6300: test sort with multiple keys + for-each-ref: Fix sort with multiple keys + +Martin von Zweigbergk (4): + add tests for 'git rebase --keep-empty' + teach log --no-walk=unsorted, which avoids sorting + demonstrate broken 'git cherry-pick three one two' + cherry-pick/revert: respect order of revisions to pick + +Matthieu Moy (1): + setup: clarify error messages for file/revisions ambiguity + +Michael Haggerty (1): + git-config.txt: fix example + +Michael J Gruber (6): + test-lib: provide case insensitivity as a prerequisite + t0050: use the CASE_INSENSITIVE_FS test prereq + t0050: use the SYMLINKS test prereq + test-lib: provide UTF8 behaviour as a prerequisite + rebase -i: use full onto sha1 in reflog + t3910: use the UTF8_NFD_TO_NFC test prereq + +Michał Kiedrowicz (1): + tests: Introduce test_seq + +Miklos Vajna (1): + man: git pull -r is a short for --rebase + +Mischa POSLAWSKY (1): + git-jump: ignore (custom) prefix in diff mode + +Nguyễn Thái Ngọc Duy (1): + read_index_from: remove bogus errno assignments + +Paul Gortmaker (1): + apply: delete unused deflate_origlen from patch struct + +Phil Hord (2): + test: git-stash conflict sets up rerere + stash: invoke rerere in case of conflict + +Philip Oakley (1): + Doc: Improve shallow depth wording + +Ramkumar Ramachandra (1): + t/perf: add "trash directory" to .gitignore + +Ramsay Jones (1): + test-regex: Add a test to check for a bug in the regex routines + +Robin Rosenberg (1): + cleanup precompose_utf8 + +Stefan Zager (1): + Make 'git submodule update --force' always check out submodules. + +Stephen Boyd (1): + send-email: initial_to and initial_reply_to are both optional + +Thomas Rast (3): + send-email: improve RFC2047 quote parsing + diff_setup_done(): return void + merge-recursive: eliminate flush_buffer() in favor of write_in_full() + +Wesley J. Landaker (1): + Documentation: indent-with-non-tab uses "equivalent tabs" not 8 + +Yacine Belkadi (1): + completion: add --no-edit to git-commit + + +Version v1.7.12; changes since v1.7.12-rc3: +------------------------------------------- + +Junio C Hamano (2): + Documentation: update URL for formatted pages + Git 1.7.12 + +Peter Krefting (1): + l10n: Fixes to Swedish translation + + +Version v1.7.12-rc3; changes since v1.7.12-rc2: +----------------------------------------------- + +Ben Walton (1): + Enable HAVE_DEV_TTY for Solaris + +Jeff King (1): + terminal: seek when switching between reading and writing + +Jiang Xin (2): + l10n: Update one message in git.pot + l10n: zh_CN.po: update one translation + +Junio C Hamano (2): + Git 1.7.11.5 + Git 1.7.12-rc3 + +Matthieu Moy (1): + Documentation: list git-credential in plumbing commands + +Peter Baumann (1): + git svn: reset invalidates the memoized mergeinfo caches + +Peter Krefting (1): + l10n: Update Swedish translation (1168t0f0u) + +Ralf Thielow (1): + l10n: de.po: translate 77 new messages + +Robert Luberda (1): + git svn: handle errors and concurrent commits in dcommit + +Trần Ngọc Quân (1): + l10n: vi.po: update one message + + +Version v1.7.12-rc2; changes since v1.7.12-rc1: +----------------------------------------------- + +Jiang Xin (11): + i18n: New keywords for xgettext extraction from sh + i18n: rebase: mark messages for translation + i18n: Rewrite gettext messages start with dash + rebase: remove obsolete and unused LONG_USAGE which breaks xgettext + i18n: am: mark more strings for translation + Remove dead code which contains bad gettext block + i18n: merge-recursive: mark strings for translation + l10n: Update git.pot (4 new, 3 removed messages) + l10n: zh_CN.po: translate 4 new messages + l10n: Update git.pot (76 new, 4 removed messages) + l10n: zh_CN.po: translate 76 new messages + +Johannes Sixt (1): + Makefile: use overridable $(FIND) instead of hard-coded 'find' + +Junio C Hamano (3): + Prepare for 1.7.11.5 + Drop 1.7.11.x items from 1.7.12 release notes + Git 1.7.12-rc2 + +Matthieu Moy (1): + git-remote-mediawiki: replace TODO-list in comment by appropriate link + +Nguyễn Thái Ngọc Duy (1): + i18n: leave \n out of translated diffstat + +Ralf Thielow (3): + l10n: de.po: translate 4 new messages + git-rebase.sh: fix typo in an error message + merge-recursive: separate message for common ancestors + +Trần Ngọc Quân (2): + l10n: vi.po: translate 4 new messages + l10n: vi.po update to follow POT in 3b613 + +Štěpán Němec (1): + doc: A few minor copy edits. + + +Version v1.7.12-rc1; changes since v1.7.12-rc0: +----------------------------------------------- + +Chris Webb (1): + rebase -i: handle fixup of root commit correctly + +Daniel Graña (2): + git-submodule: work with GIT_DIR/GIT_WORK_TREE + t7409: make sure submodule is initialized and updated in more detail + +Florian Achleitner (1): + Add explanatory comment for transport-helpers refs mapping. + +Heiko Voigt (1): + link_alt_odb_entry: fix read over array bounds reported by valgrind + +Jeff King (16): + advice: pass varargs to strbuf_vaddf, not strbuf_addf + commit: check committer identity more strictly + commit: document the temporary commit message file + test-lib.sh: unset XDG_CONFIG_HOME + attr: make sure we have an xdg path before using it + t1306: check that XDG_CONFIG_HOME works + t/lib-httpd: handle running under --valgrind + help.c::uniq: plug a leak + checkout: don't confuse ref and object flags + t7502: clean up fake_editor tests + t7502: properly quote GIT_EDITOR + t7502: narrow checks for author/committer name in template + t7502: drop confusing test_might_fail call + t7502: handle systems where auto-identity is broken + t7502: test early quit from commit with bad ident + t: add missing executable bit to t7409 + +Junio C Hamano (9): + test-lib: reorder and include GIT-BUILD-OPTIONS a lot earlier + mergetool: support --tool-help option like difftool does + Update draft release notes to 1.7.12 + Enumerate revision range specifiers in the documentation + help.c::exclude_cmds(): plug a leak + perl: detect new files in MakeMaker builds + Update draft release notes to 1.7.12 + Git 1.7.11.4 + Git 1.7.12-rc1 + +Matthieu Moy (1): + ignore: make sure we have an xdg path before using it + +Max Horn (1): + Make <refname> documentation more consistent. + +Michael G. Schwern (14): + Quiet warning if Makefile.PL is run with -w and no --localedir + Don't lose Error.pm if $@ gets clobbered. + The Makefile.PL will now find .pm files itself. + Extract some utilities from git-svn to allow extracting Git::SVN. + Prepare Git::SVN for extraction into its own file. + Extract Git::SVN from git-svn into its own .pm file. + Move initialization of Git::SVN variables into Git::SVN. + Prepare Git::SVN::Log for extraction from git-svn. + Extract Git::SVN::Log from git-svn. + Prepare Git::SVN::Migration for extraction from git-svn. + Extract Git::SVN::Migration from git-svn. + Load all the modules in one place and before running code. + Move Git::IndexInfo into its own file. + Extract Git::SVN::GlobSpec from git-svn. + +Ramsay Jones (2): + t1100-*.sh: Fix an intermittent test failure + t7810-*.sh: Remove redundant test + + +Version v1.7.12-rc0; changes since v1.7.11.7: +--------------------------------------------- + +Alexander Strasser (7): + t4012: modernize style for quoting + t4012: Unquote git command fragment in test title + t4012: Actually quote the sed script + t4012: Break up pipe into serial redirections + t4012: Make --shortstat test more robust + t4012: Re-indent test snippets + t4012: Use test_must_fail instead of if-else + +Andreas Schwab (1): + Fix formatting in git-config(1) + +Chris Webb (4): + rebase -i: support --root without --onto + Add tests for rebase -i --root without --onto + Add config variable to set HTML path for git-help --web + Allow help.htmlpath to be a URL prefix + +David Barr (7): + vcs-svn: drop no-op reset methods + vcs-svn: avoid self-assignment in dummy initialization of pre_off + vcs-svn: simplify cleanup in apply_one_window + vcs-svn: use constcmp instead of prefixcmp + vcs-svn: use strstr instead of memmem + vcs-svn: suppress signed/unsigned comparison warnings + vcs-svn: suppress a signed/unsigned comparison warning + +Felipe Contreras (2): + completion: remove executable mode + completion: split __git_ps1 into a separate script + +Gary Gibbons (2): + git p4: refactor diffOpts calculation + git p4: add support for 'p4 move' in P4Submit + +Guillaume Sasdy (4): + git-remote-mediawiki: scripts to install, delete and clear a MediaWiki + git-remote-mediawiki: test environment of git-remote-mediawiki + git-remote-mediawiki (t9360): test git-remote-mediawiki clone + git-remote-mediawiki (t9361): test git-remote-mediawiki pull and push + +Heiko Voigt (1): + remove the impression of unexpectedness when access is denied + +Huynh Khoi Nguyen Nguyen (4): + config: read (but not write) from $XDG_CONFIG_HOME/git/config file + Let core.excludesfile default to $XDG_CONFIG_HOME/git/ignore + Let core.attributesfile default to $XDG_CONFIG_HOME/git/attributes + config: write to $XDG_CONFIG_HOME/git/config file when appropriate + +Javier Roucher Iglesias (1): + add 'git credential' plumbing command + +Jeff King (26): + docs: drop asciidoc7compatible flag + docs: drop antique comment from Makefile + docs/clone: mention that --local may be ignored + clone: allow --no-local to turn off local optimizations + move git_version_string into version.c + version: add git_user_agent function + http: get default user-agent from git_user_agent + t1304: improve setfacl prerequisite setup + Makefile: sort LIB_H list + Makefile: fold MISC_H into LIB_H + Makefile: do not have git.o depend on common-cmds.h + Makefile: apply dependencies consistently to sparse/asm targets + Makefile: do not replace @@GIT_USER_AGENT@@ in scripts + Makefile: split GIT_USER_AGENT from GIT-CFLAGS + Makefile: split prefix flags from GIT-CFLAGS + Makefile: do not replace @@GIT_VERSION@@ in shell scripts + Makefile: update scripts when build-time parameters change + Makefile: build instaweb similar to other scripts + Makefile: move GIT-VERSION-FILE dependencies closer to use + index-pack: loop while inflating objects in unpack_data + revision: avoid work after --max-count is reached + status: color in-progress message like other header messages + docs/credential: minor clarity fixups + mw-to-git: check blank credential attributes via length + credential: convert "url" attribute into its parsed subparts + mw-to-git: use git-credential's URL parser + +Jiang Xin (2): + l10n: Update git.pot (29 new messages) + l10n: zh_CN.po: translate 29 new messages + +Johannes Sixt (3): + t7400: avoid path mangling issues + perl/Makefile: Fix a missing double-quote + t4012: use 'printf' instead of 'dd' to generate a binary file + +Jon Seymour (4): + submodule: additional regression tests for relative URLs + submodule: document failure to handle relative superproject origin URLs + submodule: fix sync handling of some relative superproject origin URLs + submodule: fix handling of superproject origin URLs like foo, ./foo and ./foo/bar + +Jonathan Nieder (8): + vcs-svn: allow import of > 4GiB files + vcs-svn: suppress -Wtype-limits warning + perl/Makefile: move "mkdir -p" to module installation loop for maintainability + vcs-svn: suppress a signed/unsigned comparison warning + vcs-svn: allow 64-bit Prop-Content-Length + Makefile: fold XDIFF_H and VCSSVN_H into LIB_H + Makefile: be silent when only GIT_USER_AGENT changes + Makefile: document ground rules for target-specific dependencies + +Junio C Hamano (58): + completion: warn people about duplicated function + sha1_name.c: indentation fix + Kick off post 1.7.11 cycle + The first batch for 1.7.12 + Second batch for 1.7.12 + Third batch for 1.7.12 + sha1_name.c: hide get_sha1_with_context_1() ugliness + sha1_name.c: get rid of get_sha1_with_mode_1() + sha1_name.c: get rid of get_sha1_with_mode() + sha1_name.c: clarify what "fake" is for in find_short_object_filename() + sha1_name.c: rename "now" to "current" + sha1_name.c: refactor find_short_packed_object() + sha1_name.c: correct misnamed "canonical" and "res" + sha1_name.c: restructure disambiguation of short names + get_sha1(): fix error status regression + sha1_name.c: allow get_short_sha1() to take other flags + sha1_name.c: teach get_short_sha1() a commit-only option + Fourth batch for 1.7.12 + Fifth batch for 1.7.12 + apply: fix an incomplete comment in check_patch() + apply: a bit more comments on PATH_TO_BE_DELETED + apply: clear_image() clears things a bit more + apply: refactor read_file_or_gitlink() + apply: factor out checkout_target() helper function + apply: split load_preimage() helper function out + apply: refactor "previous patch" logic + apply: further split load_preimage() + apply: move check_to_create_blob() closer to its sole caller + apply: move "already exists" logic to check_to_create() + apply: accept -3/--3way command line option + apply: fall back on three-way merge + apply: plug the three-way merge logic in + apply: move verify_index_match() higher + apply: --3way with add/add conflict + apply: register conflicted stages to the index + apply: allow rerere() to work on --3way results + apply: document --3way option + sha1_name.c: get_describe_name() by definition groks only commits + sha1_name.c: get_sha1_1() takes lookup flags + sha1_name.c: many short names can only be committish + sha1_name.c: teach lookup context to get_sha1_with_context() + sha1_name.c: introduce get_sha1_committish() + revision.c: allow handle_revision_arg() to take other flags + revision.c: the "log" family, except for "show", takes committish + sha1_name.c: add support for disambiguating other types + apply: --build-fake-ancestor expects blobs + commit-tree: the command wants a tree and commits + reset: the command takes committish + rev-parse: A and B in "rev-parse A..B" refer to committish + rev-parse --disambiguate=<prefix> + apply: tests for the --3way option + Reduce draft release notes to 1.7.12 + t1512: ignore whitespaces in wc -l output + t1512: match the "other" object names + Sixth batch for 1.7.12 + Update draft release notes for 7th batch + Update draft release notes to 1.7.12 + Git 1.7.12-rc0 + +Lucien Kong (5): + rebase -i: teach "--exec <cmd>" + wt-status.*: better advices for git status added + t7512-status-help.sh: better advices for git status + status: don't suggest "git rm" or "git add" if not appropriate + status: better advices when splitting a commit (during rebase -i) + +Marcin Owsiany (1): + git-svn: don't create master if another head exists + +Martin von Zweigbergk (4): + rebase: don't source git-sh-setup twice + rebase --root: print usage on too many args + am --rebasing: get patch body from commit, not from mailbox + am: don't call mailinfo if $rebasing + +Matthieu Moy (24): + git credential fill: output the whole 'struct credential' + git-remote-mediawiki: add credential support + git-remote-mediawiki: don't compute the diff when getting commit message + git-remote-mediawiki: don't "use encoding 'utf8';" + git-remote-mediawiki: split get_mw_pages into smaller functions + git-remote-mediawiki: improve support for non-English Wikis + git-remote-mediawiki: support for uploading file in test environment + git-remote-mediawiki: change return type of get_mw_pages + git-remote-mediawiki: refactor loop over revision ids + git-remote-mediawiki: extract revision-importing loop to a function + git-remote-mediawiki: more efficient 'pull' in the best case + git-remote-mediawiki: be more defensive when requests fail + git-remote-mediawiki: update comments to reflect credential support + config: fix several access(NULL) calls + git-remote-mediawiki: don't split namespaces with spaces + git-remote-mediawiki: actually send empty comment when they're empty + git-remote-mediawiki: make mediafiles export optional + git-remote-mediawiki: get rid of O(N^2) loop + git-remote-mediawiki: use --force when adding notes + git-remote-mediawiki: show progress information when listing pages + git-remote-mediawiki: show progress information when getting last remote revision + git-remote-mediawiki: properly deal with invalid remote revisions + git-remote-mediawiki: fix incorrect test usage in test + git-remote-mediawiki: allow page names with a ':' + +Michael J Gruber (1): + t3404: make test 57 work with dash and others + +NGUYEN Kim Thuat (2): + git-remote-mediawiki: send "File:" attachments to a remote wiki + git-remote-mediawiki (t9363): test 'File:' import and export + +Namhyung Kim (3): + gitweb: Cleanup git_print_log() + gitweb: Handle other types of tag in git_print_log + gitweb: Add support to Link: tag + +Nguyễn Thái Ngọc Duy (12): + index-pack: hash non-delta objects while reading from stream + index-pack: use streaming interface on large blobs (most of the time) + index-pack: factor out unpack core from get_data_from_pack + index-pack: use streaming interface for collision test on large blobs + pack-objects: use streaming interface for reading large loose blobs + Unindent excluded_from_list() + dir.c: get rid of the wildcard symbol set in no_wildcard() + exclude: do strcmp as much as possible before fnmatch + Remove i18n legos in notifying new branch tracking setup + reflog: remove i18n legos in pruning message + notes-merge: remove i18n legos in merge result message + rerere: remove i18n legos in result message + +Pat Thoyts (1): + Restore use of 'help.format' configuration property in 'git help' + +Pavel Volek (1): + git-remote-mediawiki: import "File:" attachments + +Pete Wyckoff (13): + git p4 test: wait longer for p4d to start and test its pid + git p4 test: use real_path to resolve p4 client symlinks + git p4 test: simplify quoting involving TRASH_DIRECTORY + git p4 test: never create default test repo + git p4 test: rename some "git-p4 command" strings + git p4 test: check for error message in failed test + git p4 test: copy source indeterminate + git p4 test: cleanup_git should make a new $git + git p4 test: split up big t9800 test + git p4 test: fix badp4dir test + git p4: remove unused P4Submit interactive setting + git p4 test: refactor marshal_dump + git p4: notice Jobs lines in git commit messages + +Peter Krefting (1): + Update Swedish translation (1095t0f0u) + +Ralf Thielow (1): + l10n: de.po: translate 29 new messages + +Ramsay Jones (1): + vcs-svn: rename check_overflow and its arguments for clarity + +SZEDER Gábor (3): + tests: move code to run tests under bash into a helper library + tests: add tests for the bash prompt functions in the completion script + completion: respect $GIT_DIR + +Simon Cathebras (1): + git-remote-mediawiki (t9362): test git-remote-mediawiki with UTF8 characters + +Stefano Lattarini (7): + autoconf: GIT_CONF_APPEND_LINE: change signature + autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST + autoconf: remove some redundant shell indirections + autoconf: remove few redundant semicolons + autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append' + build: "make clean" should not remove configure-generated files + build: reconfigure automatically if configure.ac changes + +Thomas Gummerer (2): + Replace strlen() with ce_namelen() + Strip namelen out of ce_flags into a ce_namelen field + +Tim Henigan (1): + difftool: only copy back files modified during directory diff + +Torsten Bögershausen (1): + git on Mac OS and precomposed unicode + +Trần Ngọc Quân (1): + l10n: Update translation for Vietnamese + +Vincent van Ravesteijn (1): + help: use HTML as the default help format on Windows + +Štěpán Němec (1): + doc: A few minor copy edits. + + +Version v1.7.11.7; changes since v1.7.11.6: +------------------------------------------- + +David Aguilar (2): + gitk: Teach "Reread references" to reload tags + gitk: Rename 'tagcontents' to 'cached_tagcontent' + +Felipe Contreras (1): + gitk: Avoid Meta1-F5 + +Jeff King (9): + t5550: put auth-required repo in auth/dumb + t5550: factor out http auth setup + t/lib-httpd: only route auth/dumb to dumb repos + t/lib-httpd: recognize */smart/* repos as smart-http + t: test basic smart-http authentication + t: test http access to "half-auth" repositories + http: factor out http error code handling + http: prompt for credentials on failed POST + log: fix --quiet synonym for -s + +Junio C Hamano (8): + specifying ranges: we did not mean to make ".." an empty set + apply: compute patch->def_name correctly under -p0 + doc: "git checkout -b/-B/--orphan" always takes a branch name + split_ident_line(): make best effort when parsing author/committer line + Document file-glob for "git checkout -- '*.c'" + gitcli: formatting fix + gitcli: contrast wildcard given to shell and to git + Git 1.7.11.7 + +Kacper Kornet (2): + t6300: test sort with multiple keys + for-each-ref: Fix sort with multiple keys + +Ramsay Jones (1): + test-regex: Add a test to check for a bug in the regex routines + + +Version v1.7.11.6; changes since v1.7.11.5: +------------------------------------------- + +Adam Butcher (1): + Fix '\ No newline...' annotation in rewrite diffs + +Ben Walton (1): + Enable HAVE_DEV_TTY for Solaris + +Brandon Casey (1): + t/t5400: demonstrate breakage caused by informational message from prune + +Eric S. Raymond (3): + contrib/ciabot: Get ciabot configuration from git variables + Improved documentation for the ciabot scripts. + Make the ciabot scripts completely self-configuring in the normal case. + +Heiko Voigt (2): + Let submodule command exit with error status if path does not exist + Documentation/CodingGuidelines: spell out more shell guidelines + +Jay Soffian (1): + gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO + +Jeff King (6): + commit: check committer identity more strictly + diff: do not use null sha1 as a sentinel value + do not write null sha1s to on-disk index + fsck: detect null sha1 in tree entries + terminal: seek when switching between reading and writing + docs: monospace listings in docbook output + +Junio C Hamano (13): + config: "git config baa" should exit with status 1 + t7406: fix misleading "rev-parse --max-count=1 HEAD" + sane_execvp(): ignore non-directory on $PATH + Documentation: do not mention .git/refs/* directories + receive-pack: do not leak output from auto-gc to standard output + sh-setup: protect from exported IFS + rev-list docs: clarify --topo-order description + gitcli: describe abbreviation of long options + git-config doc: unconfuse an example + mergetool: style fixes + Prepare for 1.7.11.6 + Almost 1.7.11.6 + Git 1.7.11.6 + +Luka Perkov (1): + builtin.h: remove unused cmd_<foo> declarations + +Martin von Zweigbergk (1): + add tests for 'git rebase --keep-empty' + +Matthieu Moy (1): + setup: clarify error messages for file/revisions ambiguity + +Michael Haggerty (1): + git-config.txt: fix example + +Michael J Gruber (1): + rebase -i: use full onto sha1 in reflog + +Michał Kiedrowicz (1): + tests: Introduce test_seq + +Miklos Vajna (1): + man: git pull -r is a short for --rebase + +Nguyễn Thái Ngọc Duy (1): + read_index_from: remove bogus errno assignments + +Paul Gortmaker (1): + apply: delete unused deflate_origlen from patch struct + +Phil Hord (2): + test: git-stash conflict sets up rerere + stash: invoke rerere in case of conflict + +Stefan Zager (1): + Make 'git submodule update --force' always check out submodules. + +Thomas Rast (3): + send-email: improve RFC2047 quote parsing + diff_setup_done(): return void + merge-recursive: eliminate flush_buffer() in favor of write_in_full() + + +Version v1.7.11.5; changes since v1.7.11.4: +------------------------------------------- + +Heiko Voigt (1): + link_alt_odb_entry: fix read over array bounds reported by valgrind + +Jeff King (1): + checkout: don't confuse ref and object flags + +Jonathan Nieder (4): + block-sha1: avoid pointer conversion that violates alignment constraints + block-sha1: put expanded macro parameters in parentheses + Makefile: fix location of listing produced by "make subdir/foo.s" + Makefile: BLK_SHA1 does not require fast htonl() and unaligned loads + +Junio C Hamano (4): + mergetool: support --tool-help option like difftool does + Enumerate revision range specifiers in the documentation + Prepare for 1.7.11.5 + Git 1.7.11.5 + +Lawrence Mitchell (2): + git-blame.el: Use with-current-buffer where appropriate + git-blame.el: Do not use bare 0 to mean (point-min) + +Max Horn (1): + Make <refname> documentation more consistent. + +Michael Schubert (1): + Documentation/git-daemon: add missing word + +Ramkumar Ramachandra (1): + commit: document a couple of options + +Ramsay Jones (1): + t7810-*.sh: Remove redundant test + +René Scharfe (1): + git: Wrong parsing of ssh urls with IPv6 literals ignores port + +Rüdiger Sonderfeld (2): + git-blame.el: use mapc instead of mapcar + git-blame.el: Do not use goto-line in lisp code + +Štěpán Němec (1): + doc: A few minor copy edits. + + +Version v1.7.11.4; changes since v1.7.11.3: +------------------------------------------- + +Jeff King (3): + diff: test precedence of external diff drivers + advice: pass varargs to strbuf_vaddf, not strbuf_addf + commit: document the temporary commit message file + +Jens Lehmann (1): + submodules: don't stumble over symbolic links when cloning recursively + +Junio C Hamano (7): + filter-branch: do not forget the '@' prefix to force git-timestamp + date.c: Fix off by one error in object-header date parsing + t7003: add test to filter a branch with a commit at epoch + commit-tree: resurrect command line parsing updates + Revert "git-commit-tree(1): update synopsis" + diff: correctly disable external_diff with --no-ext-diff + Git 1.7.11.4 + +Paul Gortmaker (1): + am: indicate where a failed patch is to be found + + +Version v1.7.11.3; changes since v1.7.11.2: +------------------------------------------- + +Alex Riesen (1): + Restore umasks influence on the permissions of work tree created by clone + +Chris Webb (2): + git-checkout: disallow --detach on unborn branch + Allow edit of empty message with commit --amend + +Jay Soffian (1): + fast-export: quote paths with spaces + +Jeff King (3): + push: don't guess at qualifying remote refs on deletion + add: create ADD_EDIT.patch with mode 0666 + commit: fix "--amend --only" with no pathspec + +Junio C Hamano (10): + show: fix "range implies walking" + t/test-lib.sh: export PERL_PATH for use in scripts + tests: enclose $PERL_PATH in double quotes + t/README: add a bit more Don'ts + diff-index.c: do not pretend paths are pathspecs + diff-index.c: unify handling of command line paths + diff-index.c: "git diff" has no need to read blob from the standard input + rerere: make rr-cache fanout directory honor umask + cache_name_compare(): do not truncate while comparing paths + Git 1.7.11.3 + +Martin von Zweigbergk (1): + add test case for rebase of empty commit + +Thomas Rast (1): + Demonstrate git-show is broken with ranges + +Vincent van Ravesteijn (1): + t: Replace 'perl' by $PERL_PATH + + +Version v1.7.11.2; changes since v1.7.11.1: +------------------------------------------- + +Carlos Martín Nieto (2): + Documentation: --no-walk is no-op if range is specified + git-cherry-pick.txt: clarify the use of revision range notation + +Heiko Voigt (1): + update-index: allow overwriting existing submodule index entries + +Jeff King (3): + fix pager.diff with diff --no-index + do not run pager with diff --no-index --quiet + diff: handle relative paths in no-index + +Junio C Hamano (15): + request-pull: really favor a matching tag + ls-files -i: pay attention to exclusion of leading paths + ls-files -i: micro-optimize path_excluded() + tweak "bundle verify" of a complete history + path_excluded(): update API to less cache-entry centric + builtin/add.c: use path_excluded() + unpack-trees.c: use path_excluded() in check_ok_to_remove() + dir.c: make excluded() file scope static + revision: "simplify" options imply topo-order sort + revision: note the lack of free() in simplify_merges() + archive: ustar header checksum is computed unsigned + revision: ignore side parents while running simplify-merges + index-pack: Disable threading on cygwin + blame: compute abbreviation width that ensures uniqueness + Git 1.7.11.2 + +Leila Muhtasib (1): + Documentation: Fix misspellings + +Matthieu Moy (2): + sha1_name: do not trigger detailed diagnosis for file arguments + verify_filename(): ask the caller to chose the kind of diagnosis + +Michał Górny (1): + git-submodule.sh: fix filename in comment. + +Nguyễn Thái Ngọc Duy (1): + clone: fix ref selection in --single-branch --branch=xxx + +Peter Krefting (1): + Update Swedish translation (1066t0f0u) + +Thomas Badie (1): + git-add--interactive.perl: Remove two unused variables + +Tim Henigan (1): + diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes + + +Version v1.7.11.1; changes since v1.7.11: +----------------------------------------- + +Jeff King (1): + docs: always define git-relative-html-prefix attribute + +Junio C Hamano (2): + git-commit-tree(1): update synopsis + Git 1.7.11.1 + +Miklos Vajna (1): + Documentation: spelling fixes + + +Version v1.7.11; changes since v1.7.11-rc3: +------------------------------------------- + +Alexander Strasser (1): + diff: Only count lines in show_shortstats + +Jonathan Nieder (2): + perl/Makefile.PL: warn about duplicate module list in perl/Makefile + perl/Makefile: install Git::SVN::* when NO_PERL_MAKEMAKER=yes, too + +Junio C Hamano (2): + Git 1.7.10.5 + Git 1.7.11 + +Marco Paolone (1): + l10n: it.po: translate 212 new messages + +Ramsay Jones (1): + gitweb: Skip 'modification times' tests when no date parser available + +SZEDER Gábor (2): + completion: put main git and gitk completion functions back into git namespace + completion: remove credential helpers from porcelain commands + +Vincent van Ravesteijn (1): + Do not autosquash in case of an implied interactive rebase + + +Version v1.7.11-rc3; changes since v1.7.11-rc2: +----------------------------------------------- + +Jeff King (1): + docs: fix cross-directory linkgit references + +Jiang Xin (2): + l10n: Update git.pot (27 new, 1 removed messages) + l10n: zh_CN.po: translate 27 new messages + +Johannes Schindelin (1): + fast-export: report SHA-1 instead of gibberish when marks exist already + +Jonathan Nieder (3): + git-svn: make Git::SVN::Editor a separate file + git-svn: make Git::SVN::RA a separate file + git-svn: use YAML format for mergeinfo cache when possible + +Junio C Hamano (2): + fmt-merge-msg: make attribution into comment lines + Git 1.7.11-rc3 + +Matthieu Moy (1): + api-credential.txt: document that helpers field is filled-in automatically + +Ralf Thielow (1): + l10n: de.po: translate 27 new messages + +Trần Ngọc Quân (1): + l10n: Update po/vi.po to v1.7.11.rc2.2.gb694fbb + + +Version v1.7.11-rc2; changes since v1.7.11-rc1: +----------------------------------------------- + +Colby Ranger (1): + Add persistent-https to contrib + +Jiang Xin (2): + l10n: Update git.pot (5 new, 3 removed messages) + l10n: zh_CN.po: translate 2 new, 3 fuzzy messages + +Junio C Hamano (3): + git-svn: platform auth providers are working only on 1.6.15 or newer + doc: fix xref link from api docs to manual pages + Git 1.7.11-rc2 + +Matthieu Moy (3): + api-credentials.txt: show the big picture first + api-credentials.txt: mention credential.helper explicitly + api-credentials.txt: add "see also" section + +Ralf Thielow (4): + l10n: de.po: translate 265 new messages + l10n: de.po: translate 41 new messages + l10n: de.po: translate 2 new, 3 fuzzy messages + l10n: de.po: add additional newline + +Ramkumar Ramachandra (1): + t3510 (cherry-pick-sequence): add missing '&&' + +Trần Ngọc Quân (1): + l10n: Update translation for Vietnamese + + +Version v1.7.11-rc1; changes since v1.7.11-rc0: +----------------------------------------------- + +Erik Faye-Lund (2): + rebase: report invalid commit correctly + Makefile: add missing GIT-VERSION-FILE dependency + +Jeff King (30): + ident: split setup_ident into separate functions + http-push: do not access git_default_email directly + fmt-merge-msg: don't use static buffer in record_person + move identity config parsing to ident.c + move git_default_* variables to ident.c + ident: trim trailing newline from /etc/mailname + format-patch: use default email for generating message ids + fmt_ident: drop IDENT_WARN_ON_NO_NAME code + ident: don't write fallback username into git_default_name + drop length limitations on gecos-derived names and emails + ident: report passwd errors with a more friendly message + ident: use full dns names to generate email addresses + ident: use a dynamic strbuf in fmt_ident + ident: trim whitespace from default name/email + format-patch: refactor get_patch_filename + fetch-pack: sort incoming heads + fetch-pack: avoid quadratic behavior in remove_duplicates + add sorting infrastructure for list refs + fetch-pack: sort the list of incoming refs + fetch-pack: avoid quadratic loop in filter_refs + fetch-pack: sort incoming heads list earlier + ident: reword empty ident error message + ident: refactor NO_DATE flag in fmt_ident + ident: let callers omit name with fmt_indent + format-patch: use GIT_COMMITTER_EMAIL in message ids + ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT + ident: reject bogus email addresses with IDENT_STRICT + format-patch: do not use bogus email addresses in message ids + t5701: modernize style + INSTALL: update asciidoc recommendation + +Jens Lehmann (1): + submodules: print "registered for path" message only once + +Jiang Xin (5): + l10n: Update git.pot (41 new messages) + l10n: zh.CN.po: update by msgmerge git.pot + l10n: zh_CN.po: translate 323 new messages + l10n: Set nplurals of zh_CN.po from 1 to 2 + i18n: apply: split to fix a partial i18n message + +Jonathan Nieder (3): + git-svn: move Git::SVN::Prompt into its own file + git-svn: rename SVN::Git::* packages to Git::SVN::* + git-svn: make Git::SVN::Fetcher a separate file + +Junio C Hamano (6): + refs: do not create ref_entry when searching + cherry-pick: regression fix for empty commits + Start preparing for 1.7.10.4 + Update draft release notes to 1.7.11 + Git 1.7.10.4 + Git 1.7.11-rc1 + +Marco Paolone (1): + l10n: New it.po file with 504 translations + +Matthieu Moy (1): + Reduce cost of deletion in levenstein distance (4 -> 3) + +Michael Haggerty (5): + free_ref_entry(): do not trigger reading of loose refs + cmd_fetch_pack(): declare dest to be const + cmd_fetch_pack(): handle non-option arguments outside of the loop + cmd_fetch_pack(): combine the loop termination conditions + cmd_fetch_pack(): respect constness of argv parameter + +Nguyễn Thái Ngọc Duy (2): + pack-objects, streaming: turn "xx >= big_file_threshold" to ".. > .." + pack-objects: refactor write_object() into helper functions + +Peter Krefting (1): + Update Swedish translation (728t0f0u) + +René Scharfe (3): + refs: convert parameter of search_ref_dir() to length-limited string + refs: convert parameter of create_dir_entry() to length-limited string + refs: use strings directly in find_containing_dir() + +Trần Ngọc Quân (2): + Init translation for Vietnamese + First release translation for Vietnamese + +Vincent van Ravesteijn (1): + Do not autosquash in case of an implied interactive rebase + +Vitor Antunes (3): + git-p4: Test changelists touching two branches + git-p4: Verify detection of "empty" branch creation + git-p4: Clean up branch test cases + + +Version v1.7.11-rc0; changes since v1.7.10.5: +--------------------------------------------- + +Amiel Martin (2): + fixed order of assertion in tests + sort assertion to make it more generic + +Arlen Cuss (1): + Fix refspecs in given example for git subtree pull. + +Avery Pennarun (72): + basic options parsing and whatnot. + 'git subtree split' now basically works. + We now copy the other stuff about a commit (changelog, author, etc). + Print out the newly created commitid at the end, for use in other scripts. + Add a new --rejoin option. + Use information about prior splits to make sure merges work right. + Added a --onto option, but it's so complicated I can't tell if it works. + Hmm... can't actually filter rev-list on the subdir name. + Skip over empty commits. + Quick test script for generating reasonably complex merge scenarios. + Prune out some extra merge commits by comparing their parents correctly. + Even more aggressive commit trimming. + Okay, that was a little too aggressive. + Pass the path using the --prefix option instead of on the command line. + Add a new 'git subtree add' command for adding subtrees from a given rev. + Add 'git subtree merge' and 'git subtree pull'. + Handle it successfully if a given parent commit has no parents. + Change test.sh to test the new add, merge, and pull commands. + todo list + Add --annotate option, and create recognizable file content during tests. + Typo when searching for existing splits. + Clarify why we can't do 'git rev-list' with a path. + Add a 'create' helper function in test.sh. + Add some basic assertions to test.sh. + test.sh tweak + Trim some extra merge commits that don't need to go into the split tree. + Only copy a commit if it has at least one nonidentical parent. + test.sh: make sure no commit changes more than one file at a time. + Simplify merges even more aggressively. + test.sh: oops, never intended to count the raw number of commits. + debug messages are off by default; use -d to enable. + Abort if --rejoin fails. + More to-do items based on feedback + typo in comment + New --branch option to split command. + slightly rearrange help message for split. + FIXME help for --squash option + merge_msg() is really more like rejoin_msg(). + Basic "subtree merge --squash" support. + Don't squash-merge if the old and new commits are the same. + Fix splitting after using a squash merge. + Make --squash work with the 'add' command too. + Add basic git-subtree manpage in asciidoc format. + man page: add an EXAMPLES section. + update todo + Some todo items reported by pmccurdy + todo + Docs: when pushing to github, the repo path needs to end in .git + todo + todo^ + todo + todo: idea for a 'git subtree grafts' command + Improve patch to use git --exec-path: add to PATH instead. + Fix behaviour if you have a branch named the same as your --prefix + Add a README that says to email me instead of using github mail. + If someone provides a --prefix that ends with slash, strip the slash. + Fix a minor problem in identifying squashes vs. normal splits. + cmd_pull didn't support --squash correctly. + Add some tips for how to install. + Oops, forgot a COPYING file. It's GPLv2. + Weird, I forgot to have 'make test' call test.sh. + Jakub's changes broke the progress message slightly. + Make tests pass with recent git (1.7.0 and up). + Improve checking for existence of the --prefix directory. + Oops. Apparently I didn't run 'make test' after most recent change. + Some recent tests accidentally depended on very new versions of git. + (Hopefully) fix PATH setting for msysgit. + Another fix for PATH and msysgit. + Fix typo: an -> a + Fix a few typos/grammar-o's in the preceding commit. + It's also okay if an expected tree object is actually a commit. + Skip commit objects that should be trees, rather than copying them. + +Avishay Lavie (1): + git-svn: support rebase --preserve-merges + +Ben Walton (3): + add installation support to Makefile + make git version dynamic when building documentation + Use SHELL_PATH from build system in run_command.c:prepare_shell_cmd + +Bryan Larsen (1): + docs: simplify example 1 + +Clemens Buchacher (2): + merge overwrites unstaged changes in renamed file + t5570: use explicit push refspec + +Cole Stanfield (1): + Fixing eval syntax error. + +Dan Sabath (2): + docs: add simple 'add' case to clarify setup. + Docs: cleaning up example textual redundancy + +David A. Greene (11): + Move Tests Into Subdirectory + Rename Test + Use Test Harness + Set TEST_DIRECTORY + Remove unnecessary git-subtree files + Use project config files + Use configure settings for git-subtree + Install git-subtree from contrib + Add subtree test Makefile + Use git-subtree test Makefile + Fix git-subtree install instructions + +David Aguilar (1): + t7800: Test difftool passing arguments to diff + +Felipe Contreras (8): + tests: add initial bash completion tests + completion: simplify __gitcomp_1 + completion: simplify by using $prev + completion: add missing general options + completion: simplify __git_complete_revlist_file + completion: add new __git_complete helper + completion: rename internal helpers _git and _gitk + completion: add support for backwards compatibility + +Heiko Voigt (3): + Teach revision walking machinery to walk multiple times sequencially + Refactor submodule push check to use string list instead of integer + push: teach --recurse-submodules the on-demand option + +Jakub Narębski (1): + gitweb: Pass esc_html_hl_regions() options to esc_html() + +Jakub Suder (9): + added -p alias for --prefix + added -m/--message option for setting merge commit message + allow using --branch with existing branches if it makes sense + fix for subtree split not finding proper base for new commits + changed alias for --prefix from -p to -P + fixed bug in commit message for split + added tests for recent changes + added temporary test dirs to gitignore + improved rev_is_descendant_of_branch() function + +Jared Hance (1): + apply: do not leak patches and fragments + +Jeff King (4): + checkout: suppress tracking message with "-q" + teach "git branch" a --quiet option + doc/config: fix inline literals + status: refactor colopts handling + +Jesse Greenwald (2): + Split cmd now processes commits in topo order. + Added check to order of processed commits. + +Jiang Xin (4): + l10n: Update git.pot (33 new, 24 deleted messages) + l10n: Update Simplified Chinese translation + l10n: Update git.pot (275 new, 15 removed messages) + l10n: Update git.pot (8 new, 4 removed messages) + +Johannes Berg (1): + am: support --include option + +Johannes Sixt (3): + Do not use SHELL_PATH from build system in prepare_shell_cmd on Windows + t4006: Windows do not have /dev/zero + Fix t3411.3 to actually rebase something + +John Yani (1): + docs: Description, synopsys, options and examples changes. + +Jon Seymour (2): + git-svn: clarify the referent of dcommit's optional argument + rev-parse doc: --git-dir does not always show a relative path + +Jonathan Nieder (15): + test: use test_i18ncmp when checking --stat output + test: use numstat instead of diffstat in funny-names test + test: modernize funny-names test style + test: test cherry-pick functionality and output separately + test: use --numstat instead of --stat in "git stash show" tests + test: use numstat instead of diffstat in binary-diff test + diffstat summary line varies by locale: miscellany + var doc: default editor and pager are configurable at build time + var doc: advertise current DEFAULT_PAGER and DEFAULT_EDITOR settings + test: do not rely on US English tracking-info messages + test: use test_i18ncmp for "Patch format detection failed" message + test: am of empty patch should not succeed + fast-import doc: cat-blob and ls responses need to be consumed quickly + completion: avoid trailing space for --exec-path + i18n: mark relative dates for translation + +Junio C Hamano (45): + streaming: make streaming-write-entry to be more reusable + fmt-merge-msg: show those involved in a merged series + apply: rename free_patch() to free_patch_list() + apply: free patch->{def,old,new}_name fields + apply: release memory for fn_table + apply: free patch->result + am -3: list the paths that needed 3-way fallback + apply: free unused fragments for submodule patch + varint: make it available outside the context of pack + cache.h: hide on-disk index details + read-cache.c: allow unaligned mapping of the index file + read-cache.c: make create_from_disk() report number of bytes it consumed + read-cache.c: report the header version we do not understand + read-cache.c: move code to copy ondisk to incore cache to a helper function + read-cache.c: move code to copy incore to ondisk cache to a helper function + read-cache.c: read prefix-compressed names in index on-disk version v4 + read-cache.c: write prefix-compressed names in the index + update-index: upgrade/downgrade on-disk index version + Kick off post 1.7.10 cycle + apply: drop unused macro + apply: tighten constness of line buffer + apply: document buffer ownership rules across functions + RelNotes: the first batch of topics graduated to 'master' + RelNotes: the second batch of topics graduated to 'master' + mergesort: rename it to llist_mergesort() + RelNotes: the third batch + RelNotes: the fourth batch of topics graduated to 'master' + The fifth batch of topics graduated to 'master' + push.default doc: explain simple after upstream + Update draft release notes to 1.7.11 + The sixth batch of topics graduated to 'master' + unpack-trees: preserve the index file version of original + index-v4: document the entry format + The seventh batch of topics graduated to 'master' + git-svn: introduce SVN version comparison function + The eighth batch of topics graduated to 'master' + refs: fix find_containing_dir() regression + Makefile: NO_INSTALL_HARDLINKS + The ninth batch of topics graduated to 'master' + The tenth batch of topics + Update draft release notes to 1.7.11 (11th batch) + Update draft release notes for 12th batch + git-sh-setup: define workaround wrappers before they are used + Update draft release notes to 1.7.11 + Git 1.7.11-rc0 + +Kacper Kornet (3): + gitweb: Don't set owner if got empty value from projects.list + gitweb: Option to omit column with time of the last change + gitweb: Option to not display information about owner + +Luke Diamand (10): + git p4: Fixing script editor checks + git p4: import/export of labels to/from p4 + git p4: fix-up "import/export of labels to/from p4" + git p4: Squash P4EDITOR in test harness + git p4: Ignore P4EDITOR if it is empty + git p4: move verbose to base class + git p4: fix unit tests + git p4: add test for tag import/export enabled via config + git p4: fix bug when verbose enabled with tag export + git p4: fix bug when enabling tag import/export via config variables + +Marco Sousa (1): + l10n: pt_PT.po translate new messages + +Matthieu Moy (5): + Documentation: explain push.default option a bit more + Undocument deprecated alias 'push.default=tracking' + t5528-push-default.sh: add helper functions + push: introduce new push.default mode "simple" + push: document the future default change for push.default (matching -> simple) + +Matthijs Kooijman (1): + git-svn: use platform specific auth providers + +Michael Haggerty (32): + refs.c: reorder definitions more logically + refs: manage current_ref within do_one_ref() + do_for_each_ref_in_array(): new function + do_for_each_ref_in_arrays(): new function + repack_without_ref(): reimplement using do_for_each_ref_in_array() + names_conflict(): simplify implementation + free_ref_entry(): new function + check_refname_component(): return 0 for zero-length components + struct ref_entry: nest the value part in a union + refs.c: rename ref_array -> ref_dir + sort_ref_dir(): simplify logic + refs: store references hierarchically + do_for_each_ref(): only iterate over the subtree that was requested + get_ref_dir(): return early if directory cannot be read + get_ref_dir(): use a strbuf to hold refname + get_ref_dir(): rename "base" parameter to "dirname" + get_ref_dir(): require that the dirname argument ends in '/' + refs.c: extract function search_for_subdir() + get_ref_dir(): take the containing directory as argument + do_for_each_reflog(): return early on error + do_for_each_reflog(): use a strbuf to hold logfile name + bisect: copy filename string obtained from git_path() + find_containing_dir(): use strbuf in implementation of this function + refs: wrap top-level ref_dirs in ref_entries + read_loose_refs(): rename function from get_ref_dir() + get_ref_dir(): add function for getting a ref_dir from a ref_entry + search_for_subdir(): return (ref_dir *) instead of (ref_entry *) + struct ref_dir: store a reference to the enclosing ref_cache + read_loose_refs(): eliminate ref_cache argument + refs: read loose references lazily + t/Makefile: retain cache t/.prove across prove runs + Avoid sorting if references are added to ref_cache in order + +Michael Schubert (1): + remote: update builtin usage + +Michał Kiedrowicz (7): + gitweb: Use descriptive names in esc_html_hl_regions() + gitweb: esc_html_hl_regions(): Don't create empty <span> elements + gitweb: Extract print_sidebyside_diff_lines() + gitweb: Use print_diff_chunk() for both side-by-side and inline diffs + gitweb: Push formatting diff lines to print_diff_chunk() + gitweb: Highlight interesting parts of diff + gitweb: Refinement highlightning in combined diffs + +Neil Horman (5): + git-cherry-pick: add allow-empty option + git-cherry-pick: Add keep-redundant-commits option + git-cherry-pick: Add test to validate new options + git-rebase: add keep_empty flag + git cherry-pick: do not dereference a potential NULL pointer + +Nguyễn Thái Ngọc Duy (37): + Add more large blob test cases + cat-file: use streaming API to print blobs + parse_object: avoid putting whole blob in core + show: use streaming API for showing blobs + fsck: use streaming API for writing lost-found blobs + update-server-info: respect core.bigfilethreshold + Makefile: feed all header files to xgettext + strbuf: convenience format functions with \n automatically appended + i18n: help: mark strings for translation + i18n: make warn_dangling_symref() automatically append \n + i18n: remote: mark strings for translation + i18n: apply: mark strings for translation + i18n: apply: update say_patch_name to give translators complete sentence + i18n: index-pack: mark strings for translation + i18n: bundle: mark strings for translation + help: replace underlining "help -a" headers using hyphens with a blank line + Add column layout skeleton and git-column + Stop starting pager recursively + column: add columnar layout + column: add dense layout support + help: reuse print_columns() for help -a + branch: add --column + status: add --column + column: support piping stdout to external git-column process + tag: add --column + archive-tar: turn write_tar_entry into blob-writing only + archive-tar: unindent write_tar_entry by one level + archive: delegate blob reading to backend + archive-tar: stream large blobs to tar file + branch: remove lego in i18n tracking info strings + Makefile: keep many variable list sorted + index-pack: restructure pack processing into three main functions + index-pack: support multithreaded delta resolving + index-pack: disable threading if NO_PREAD is defined + apply: remove lego in i18n string in gitdiff_verify_name + i18n: parseopt: lookup help and argument translations when showing usage + i18n: apply: mark parseopt strings for translation + +Pelle Wessman (3): + Check that the type of the tree really is a tree and not a commit as it seems to sometimes become when eg. a submodule has existed in the same position previously. + Use 'git merge -Xsubtree' when git version >= 1.7.0. + Fixed regression with splitting out new subtree + +Pete Wyckoff (9): + git-p4: move to toplevel + git p4: update name in script + git p4: use "git p4" directly in tests + remove superfluous newlines in error messages + remove blank filename in error message + git p4: bring back files in deleted client directory + git p4: test submit + git p4: fix writable file after rename or copy + git p4: submit files with wildcards + +Ralf Thielow (2): + l10n: Update German translation + remote: fix typo + +Ramsay Jones (5): + compat/win32/pthread.h: Add an pthread_key_delete() implementation + compat/mingw.h: Set S_ISUID to prevent a fast-import test failure + git-submodule.sh: Don't use $path variable in eval_gettext string + git-sh-setup.sh: Add an pwd() function for MinGW + builtin/blame.c: Fix a "Using plain integer as NULL pointer" warning + +René Scharfe (26): + add mergesort() for linked lists + commit: use mergesort() in commit_list_sort_by_date() + revision: insert unsorted, then sort in prepare_revision_walk() + sequencer: export commit_list_append() + revision: append to list instead of insert and reverse + commit: remove commit_list_reverse() + streaming: void pointer instead of char pointer + archive-zip: remove uncompressed_size + archive-zip: factor out helpers for writing sizes and CRC + archive-zip: streaming for stored files + archive-zip: streaming for deflated files + t5000: rationalize unzip tests + dir: convert to strbuf + xdiff: add hunk_func() + blame: use hunk_func(), part 1 + blame: use hunk_func(), part 2 + blame: factor out helper for calling xdi_diff() + xdiff: remove emit_func() and xdi_diff_hunks() + xdiff: remove unused functions + dir: respect string length argument of read_directory_recursive() + dir: simplify fill_directory() + archive: simplify refname handling + archive-tar: keep const in checksum calculation + xdiff: avoid compiler warnings with XDL_FAST_HASH on 32-bit machines + xdiff: avoid more compiler warnings with XDL_FAST_HASH on 32-bit machines + xdiff: import new 32-bit version of count_masked_bytes() + +Roman Kagan (3): + git-svn: use POSIX::sigprocmask to block signals + git-svn: ignore SIGPIPE + git-svn: drop redundant blocking of SIGPIPE + +SZEDER Gábor (2): + tests: add tests for the __gitcomp() completion helper function + completion: fix completion after 'git --option <TAB>' + +Sebastian Pipping (1): + gitweb: Fix unintended "--no-merges" for regular Atom feed + +Stefano Lattarini (3): + configure: move definitions of private m4 macros before AC_INIT invocation + configure: avoid some code repetitions thanks to m4_{push,pop}def + configure: be more idiomatic + +Thomas Rast (2): + xdiff: load full words in the inner loop of xdl_hash_record + xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE + +Tim Henigan (8): + difftool: parse options using Getopt::Long + difftool: add '--no-gui' option + difftool: exit(0) when usage is printed + difftool: remove explicit change of PATH + difftool: stop appending '.exe' to git + difftool: eliminate setup_environment function + difftool: teach difftool to handle directory diffs + difftool: print list of valid tools with '--tool-help' + +W. Trevor King (3): + gitweb: add `status` headers to git_feed() responses. + gitweb: refactor If-Modified-Since handling + gitweb: add If-Modified-Since handling to git_snapshot(). + +Wayne Walter (1): + Added new 'push' command and 2-parameter form of 'add'. + +Win Treese (2): + git-subtree.txt: add another example. + Make sure that <prefix> exists when splitting. + +Zbigniew Jędrzejewski-Szmek (13): + t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER + t0303: resurrect commit message as test documentation + t1507: add tests to document @{upstream} behaviour + Provide branch name in error message when using @{u} + Provide better message for barnhc_wiht_tpyo@{u} + Be more specific if upstream branch is not tracked + i18n: mark @{upstream} error messages for translation + t9002: work around shells that are unable to set COLUMNS to 1 + diff --stat: use less columns for change counts + test: modernize style of t4006 + tests: check --[short]stat output after chmod + diff --stat: report mode-only changes for binary files like text files + diff --stat: do not run diff on indentical files + +kTln2 (1): + Add explicit path of git installation by 'git --exec-path'. + +Ævar Arnfjörð Bjarmason (3): + git-branch: remove lego in i18n messages + git-commit: remove lego in i18n messages + git-commit: remove lego in i18n messages + + +Version v1.7.10.5; changes since v1.7.10.4: +------------------------------------------- + +Johannes Schindelin (1): + fast-export: report SHA-1 instead of gibberish when marks exist already + +Junio C Hamano (1): + Git 1.7.10.5 + +Vincent van Ravesteijn (1): + Do not autosquash in case of an implied interactive rebase + + +Version v1.7.10.4; changes since v1.7.10.3: +------------------------------------------- + +Avery Pennarun (1): + checkout: no progress messages if !isatty(2). + +Erik Faye-Lund (2): + rebase: report invalid commit correctly + Makefile: add missing GIT-VERSION-FILE dependency + +Jeff King (3): + fix off-by-one error in split_ident_line + pretty: avoid buffer overflow in format_person_part + avoid segfault when reading header of malformed commits + +Junio C Hamano (2): + Start preparing for 1.7.10.4 + Git 1.7.10.4 + +Peter Krefting (1): + Update Swedish translation (728t0f0u) + +René Scharfe (4): + grep: factor out create_grep_pat() + grep: factor out do_append_grep_pat() + grep: support newline separated pattern list + grep: stop leaking line strings with -f + + +Version v1.7.10.3; changes since v1.7.10.2: +------------------------------------------- + +Bobby Powers (2): + diff --no-index: reset temporary buffer lengths on directory iteration + diff --no-index: don't leak buffers in queue_diff + +Carlos Martín Nieto (1): + pack-protocol: fix first-want separator in the examples + +Erik Faye-Lund (2): + clone: fix progress-regression + checkout: do not corrupt HEAD on empty repo + +Heiko Voigt (2): + link to gitmodules page at the beginning of git-submodule documentation + teach add_submodule_odb() to look for alternates + +Jan Krüger (1): + log-tree: use custom line terminator in line termination mode + +Jeff King (10): + docs: stop using asciidoc no-inline-literal + t1411: add more selector index/date tests + log: respect date_mode_explicit with --format:%gd + reflog-walk: clean up "flag" field of commit_reflog struct + reflog-walk: always make HEAD@{0} show indexed selectors + commit: refactor option parsing + status: refactor null_termination option + status: fix null termination with "-b" + status: respect "-b" for porcelain format + osxkeychain: pull make config from top-level directory + +Jens Lehmann (1): + Consistently use "superproject" instead of "supermodule" + +Jiang Xin (4): + l10n: Update git.pot (1 new messages) + l10n: zh_CN.po: translate 1 new message + l10n: Update git.pot (3 new, 2 removed messages) + l10n: zh_CN.po: translate 3 new messages + +Johannes Sixt (3): + t2020-checkout-detach: check for the number of orphaned commits + checkout (detached): truncate list of orphaned commits at the new HEAD + t3404: begin "exchange commits with -p" test with correct preconditions + +Jonathan Nieder (1): + config doc: remove confusion about relative GIT_DIR from FILES section + +Junio C Hamano (5): + log-tree: the previous one is still not quite right + reflog-walk: tell explicit --date=default from not having --date at all + Start preparing for 1.7.10.3 + Update draft release notes to 1.7.10.3 + Git 1.7.10.3 + +Linus Torvalds (1): + fmt-merge-message: add empty line between tag and signature verification + +Ralf Thielow (7): + l10n: add new members to German translation team + l10n: de.po: translate "track" as "beobachten" + l10n: de.po: translate "remote" as "extern" + l10n: de.po: collection of improvements + l10n: de.po: unify translation of "ahead" and "behind" + l10n: de.po: translate one new message + l10n: de.po: translate 3 new messages + +Thomas Rast (4): + l10n: de.po: translate "bare" as "bloß" + l10n: de.po: hopefully uncontroversial fixes + l10n: de.po: translate "bad" as "ungültig" ("invalid") + l10n: de.po: collection of suggestions + + +Version v1.7.10.2; changes since v1.7.10.1: +------------------------------------------- + +Angus Hammond (1): + grep.c: remove redundant line of code + +Ben Walton (1): + Avoid bug in Solaris xpg4/sed as used in submodule + +Christian Couder (1): + revert: add missing va_end + +Christopher Tiwald (2): + push: Provide situational hints for non-fast-forward errors + Fix httpd tests that broke when non-ff push advice changed + +Clemens Buchacher (3): + http auth fails with multiple curl handles + properly keep track of current working directory + cherry-pick: do not expect file arguments + +Florian Achleitner (1): + Documentation/git-config: describe and clarify "--local <file>" option + +Heiko Voigt (1): + document submdule.$name.update=none option for gitmodules + +Jeff King (15): + clean up struct ref's nonfastforward field + http-backend: respect existing GIT_COMMITTER_* variables + fix http auth with multiple curl handles + gc: do not explode objects which will be immediately pruned + http: clean up leak in init_curl_http_auth + http: use newer curl options for setting credentials + argv-array: refactor empty_argv initialization + argv-array: add a new "pushl" method + gc: use argv-array for sub-commands + config: reject bogus section names for --rename-section + config: expand tildes in include.path variable + send-pack: show progress when isatty(2) + teach send-pack about --[no-]progress + t5541: test more combinations of --progress + t/gitweb-lib: use $PERL_PATH to run gitweb + +Jim Meyering (1): + diff: avoid stack-buffer-read-overrun for very long name + +Johannes Sixt (2): + t9300-fast-import: avoid 'exit' in test_expect_success snippets + t5570: fix forwarding of git-daemon messages via cat + +Junio C Hamano (13): + xdiff: remove XDL_PATCH_* macros + xdiff: PATIENCE/HISTOGRAM are not independent option bits + rebase -i: remind that the lines are top-to-bottom + builtin/merge.c: remove "remoteheads" global variable + builtin/merge.c: collect other parents early + builtin/merge.c: reduce parents early + fmt-merge-msg: discard needless merge parents + t9400: fix gnuism in grep + diff --no-index: use strbuf for temporary pathnames + contrib/rerere-train: use installed git-sh-setup + Start preparing for 1.7.10.2 + Update draft release notes to 1.7.10.2 + Git 1.7.10.2 + +Lucian Poston (5): + Add output_prefix_length to diff_options + Adjust stat width calculations to take --graph output into account + t4052: Adjust --graph --stat output for prefixes + t4052: Test diff-stat output with minimum columns + Prevent graph_width of stat width from falling below min + +Marc Branchaud (2): + fetch: Give remote_ref to update_local_ref() as well + fetch: describe new refs based on where it came from + +Michał Kiedrowicz (1): + merge tests: octopus with redundant parents + +Pete Wyckoff (2): + git-remote-testgit: fix race when spawning fast-import + git p4 doc: fix formatting + +Ralf Thielow (1): + sequencer: remove additional blank line + +René Scharfe (2): + unpack-trees: don't perform any index operation if we're not merging + unpack-trees: plug minor memory leak + +Ross Lagerwall (2): + rev-parse --show-prefix: add in trailing newline + stash: use eval_gettextln correctly + +Stefano Lattarini (1): + tests: modernise style: more uses of test_line_count + +Zbigniew Jędrzejewski-Szmek (4): + t4052: test --stat output with --graph + test-lib: skip test with COLUMNS=1 under mksh + t4052: work around shells unable to set COLUMNS to 1 + Consistently use perl from /usr/bin/ for scripts + + +Version v1.7.10.1; changes since v1.7.10: +----------------------------------------- + +Adam Monsen (1): + git-commit.txt: clarify -t requires editing message + +Byrial Jensen (2): + l10n: New da.po file with 0 translations + l10n: Add Danish team (da) to list of teams + +Ivan Todoroski (4): + fetch-pack: new --stdin option to read refs from stdin + remote-curl: send the refs to fetch-pack on stdin + fetch-pack: test cases for the new --stdin option + remote-curl: main test case for the OS command line overflow + +Jeff King (6): + drop casts from users EMPTY_TREE_SHA1_BIN + make is_empty_blob_sha1 available everywhere + teach diffcore-rename to optionally ignore empty content + merge-recursive: don't detect renames of empty files + add--interactive: ignore unmerged entries in patch mode + run-command: treat inaccessible directories as ENOENT + +Jens Lehmann (1): + submodules: recursive fetch also checks new tags for submodule commits + +Jiang Xin (2): + l10n: Update git.pot (2 new messages) + l10n: Update Simplified Chinese translation + +Johan Herland (3): + t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/ + notes-merge: use opendir/readdir instead of using read_directory() + notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd + +Johannes Sixt (1): + t4034: diff.*.wordregex should not be "sticky" in --word-diff + +John Keeping (1): + rebase -i continue: don't skip commits that only change submodules + +Jonathan Nieder (1): + bundle: remove stray single-quote from error message + +Junio C Hamano (16): + ident.c: add split_ident_line() to parse formatted ident line + t7503: does pre-commit-hook learn authorship? + commit: pass author/committer info to hooks + remove_dir_recursively(): Add flag for skipping removal of toplevel dir + clean: preserve nested git worktree in subdirectories + t7501: test the right kind of breakage + commit: do not trigger bogus "has templated message edited" check + commit: rephrase the error when user did not touch templated log message + Documentation/git-commit: rephrase the "initial-ness" of templates + push: error out when the "upstream" semantics does not make sense + blame: accept --need-minimal + Git 1.7.7.7 + Git 1.7.8.6 + Git 1.7.9.7 + Start preparing for 1.7.10.1 + Git 1.7.10.1 + +Lucian Poston (3): + log --graph --stat: three-dash separator should come after graph lines + log --graph: fix break in graph lines + t4202: add test for "log --graph --stat -p" separator lines + +Marco Sousa (1): + l10n: Updated pt_PT language + +Pete Wyckoff (1): + fast-import: tighten parsing of datarefs + +Ralf Thielow (2): + l10n: Add the German translation team and initialize de.po + l10n: Initial German translation + +Ramsay Jones (1): + compat/mingw.[ch]: Change return type of exec functions to int + +René Scharfe (3): + combine-diff: fix loop index underflow + submodule: fix prototype of gitmodules_config + test-subprocess: fix segfault without arguments + +Thomas Rast (2): + diff: refactor the word-diff setup from builtin_diff_cmd + diff: tweak a _copy_ of diff_options with word-diff + + +Version v1.7.10; changes since v1.7.10-rc4: +------------------------------------------- + +Felipe Contreras (1): + spec: add missing build dependency + +Junio C Hamano (1): + Git 1.7.10 + + +Version v1.7.10-rc4; changes since v1.7.10-rc3: +----------------------------------------------- + +Heiko Voigt (1): + string-list: document that string_list_insert() inserts unique strings + +Jiang Xin (1): + l10n: Improve zh_CN translation for Git 1.7.10-rc3 + +Junio C Hamano (3): + merge: backport GIT_MERGE_AUTOEDIT support + Git 1.7.9.6 + Git 1.7.10-rc4 + +Marco Sousa (1): + l10n: Inital Portuguese Portugal language (pt_PT) + +Pat Thoyts (2): + gitk: fix tabbed preferences construction when using tcl 8.4 + gitk: fix setting font display with new tabbed dialog layout. + +René Scharfe (1): + config: remove useless assignment + +Vincent van Ravesteijn (1): + l10n: Add the Dutch translation team and initialize nl.po + + +Version v1.7.10-rc3; changes since v1.7.10-rc2: +----------------------------------------------- + +Frédéric Brière (1): + gitk: Skip over AUTHOR/COMMIT_DATE when searching all fields + +Jiang Xin (4): + l10n: Update git.pot (1 new message) + l10n: Update zh_CN translation for Git 1.7.10-rc1 + l10n: Review zh_CN translation for Git 1.7.10-rc1 + Add url of Swedish l10n team in TEAMS file + +Jim Meyering (3): + gitk: Make "git describe" output clickable, too + correct spelling: an URL -> a URL + correct a few doubled-word nits in comments and documentation + +Jonathan Nieder (1): + gitk: Use symbolic font names "sans" and "monospace" when available + +Junio C Hamano (3): + Git 1.7.9.5 + Update draft release notes to 1.7.10 + Git 1.7.10-rc3 + +Marcus Karlsson (1): + gitk: Teach gitk to respect log.showroot + +Mark Lodato (1): + grep doc: add --break / --heading / -W to synopsis + +Nelson Benitez Leon (1): + documentation: fix alphabetic ordered list for git-rebase man page + +Pat Thoyts (2): + gitk: Use a tabbed dialog to edit preferences + gitk: Fix the display of files when filtered by path + +Paul Mackerras (2): + gitk: Speed up resolution of short SHA1 ids + gitk: Add menu items for comparing a commit with the marked commit + +Peter Krefting (1): + Update Swedish translation (724t0f0u). + +Rodrigo Silva (MestreLion) (1): + Documentation: improve description of GIT_EDITOR and preference order + +Zbigniew Jędrzejewski-Szmek (2): + gitk: Use "gitk: repo-top-level-dir" as window title + tests: unset COLUMNS inherited from environment + + +Version v1.7.10-rc2; changes since v1.7.10-rc1: +----------------------------------------------- + +Alex Merry (1): + contrib/completion: "local var=()" is misinterpreted as func-decl by zsh + +D Waitzman (1): + Documentation/gitweb: trivial English fixes + +Jonathan Nieder (2): + fast-import: leakfix for 'ls' of dirty trees + fast-import: don't allow 'ls' of path with empty components + +Junio C Hamano (4): + fetch/receive: remove over-pessimistic connectivity check + Update draft release notes to 1.7.10 + .mailmap: unify various old mail addresses of gitster + Git 1.7.10-rc2 + +Stefano Lattarini (1): + configure: allow user to prevent $PATH "sanitization" on Solaris + +Tim Henigan (7): + Documentation/diff-options: reword description of --submodule option + contrib/diffall: comment actual reason for 'cdup' + contrib/diffall: create tmp dirs without mktemp + contrib/diffall: eliminate use of tar + contrib/diffall: eliminate duplicate while loops + contrib/diffall: fix cleanup trap on Windows + Documentation/difftool: add deltawalker to list of valid diff tools + +Ævar Arnfjörð Bjarmason (2): + Git::I18N: compatibility with perl <5.8.3 + perl/Makefile: install Git::I18N under NO_PERL_MAKEMAKER + + +Version v1.7.10-rc1; changes since v1.7.10-rc0: +----------------------------------------------- + +Alex Zepeda (1): + verify-tag: Parse GPG configuration options. + +Jakub Narębski (1): + gitweb: Fix fixed string (non-regexp) project search + +Jens Lehmann (3): + submodules: always use a relative path to gitdir + submodules: always use a relative path from gitdir to work tree + submodules: refactor computation of relative gitdir path + +Jiang Xin (3): + l10n: Update zh_CN translation for 1.7.9.2 + l10n: Update git.pot (1 new message) + l10n: Update zh_CN translation for 1.7.10-rc0 + +Johannes Sixt (1): + submodules: fix ambiguous absolute paths under Windows + +Junio C Hamano (7): + Update draft release notes to 1.7.10 + t0204: clarify the "observe undefined behaviour" test + i18n: fix auto detection of gettext scheme for shell scripts + Git 1.7.9.4 + Update draft release notes to 1.7.10 before -rc1 + am: officially deprecate -b/--binary option + Git 1.7.10-rc1 + +Karsten Blees (1): + fix deletion of .git/objects sub-directories in git-prune/repack + +Martin Stenberg (1): + config: report errors at the EOL with correct line number + +Peter Krefting (2): + po/sv.po: add Swedish translation + Update Swedish translation (732t0f0u). + +Phil Hord (1): + rerere: Document 'rerere remaining' + +Thomas Rast (4): + perf: load test-lib-functions from the correct directory + perf: export some important test-lib variables + p4000: use -3000 when promising -3000 + git-am: error out when seeing -b/--binary + +Thynson (7): + l10n: Improve zh_CN translation for lines insertion and deletion. + l10n: Improve zh_CN translation for msg about branch deletion deny + l10n: Improve zh_CN translation for empty cherry-pick msg. + l10n: Improve zh_CN translation for msg that make empty commit when amend. + l10n: Improve commit msg for zh_CN translation + l10n: Improve zh_CN trans for msg that cannot fast-forward + l10n: Improve zh_CN translation for msg "not something we can merge" + +Vincent van Ravesteijn (3): + Documentation/git-branch: cleanups + Documentation/git-branch: fix a typo + Documentation/git-branch: add default for --contains + + +Version v1.7.10-rc0; changes since v1.7.9.7: +-------------------------------------------- + +Adrian Weimann (1): + completion: --edit and --no-edit for git-merge + +Alex Riesen (1): + add a Makefile switch to avoid gettext translation in shell scripts + +Bernhard R. Link (6): + gitweb: move hard coded .git suffix out of git_get_projects_list + gitweb: prepare git_get_projects_list for use outside 'forks'. + gitweb: add project_filter to limit project list to a subdirectory + gitweb: limit links to alternate forms of project_list to active project_filter + gitweb: show active project_filter in project_list page header + gitweb: place links to parent directories in page header + +Carlos Martín Nieto (1): + Make git-{pull,rebase} message without tracking information friendlier + +Clemens Buchacher (3): + git-daemon: add tests + git-daemon: produce output when ready + git-daemon tests: wait until daemon is ready + +David Barr (9): + vcs-svn: set up channel to read fast-import cat-blob response + vcs-svn: quote paths correctly for ls command + vcs-svn: use mark from previous import for parent commit + vcs-svn: pass paths through to fast-import + vcs-svn: drop string_pool + vcs-svn: drop treap + vcs-svn: drop obj_pool + vcs-svn: avoid using ls command twice + vcs-svn: implement text-delta handling + +Dmitry Ivankov (2): + vcs-svn: do not initialize report_buffer twice + vcs-svn: reset first_commit_done in fast_export_init + +Felipe Contreras (4): + remote: use a local variable in match_push_refs() + remote: reorganize check_pattern_match() + remote: refactor code into alloc_delete_ref() + push: add '--prune' option + +Frédéric Heitzmann (1): + completion: add --interactive option to git svn dcommit + +Jakub Narębski (11): + gitweb: improve usability of projects search form + gitweb: Make project search respect project_filter + gitweb: Harden and improve $project_filter page title + gitweb: Refactor checking if part of project info need filling + gitweb: Option for filling only specified info in fill_project_list_info + gitweb: Faster project search + gitweb: Introduce esc_html_match_hl and esc_html_hl_regions + gitweb: Highlight matched part of project name when searching projects + gitweb: Highlight matched part of project description when searching projects + gitweb: Highlight matched part of shortened project description + gitweb: Fix passing parameters to git_project_search_form + +Jan Krüger (1): + symbolic-ref --short: abbreviate the output unambiguously + +Jared Hance (1): + Add threaded versions of functions in symlinks.c. + +Jeff King (20): + parse_object: try internal cache before reading object db + upload-pack: avoid parsing objects during ref advertisement + upload-pack: avoid parsing tag destinations + t0300: use write_script helper + docs: add a basic description of the config API + drop odd return value semantics from userdiff_config + diff-highlight: make perl strict and warnings fatal + diff-highlight: don't highlight whole lines + diff-highlight: refactor to prepare for multi-line hunks + diff-highlight: match multi-line hunks + diff-highlight: document some non-optimal cases + docs/api-config: minor clarifications + t1300: add missing &&-chaining + config: copy the return value of prefix_filename + config: teach git_config_set_multivar_in_file a default path + config: teach git_config_rename_section a file argument + config: provide a version of git_config with more options + config: stop using config_exclusive_filename + config: eliminate config_exclusive_filename + config: add include directive + +Jehan Bing (1): + Add a setting to require a filter to be successful + +Jens Lehmann (1): + test-lib: add the test_pause convenience function + +Jiang Xin (5): + l10n: initial git.pot for 1.7.10 upcoming release + l10n: po for zh_CN + l10n: Update git.pot (12 new messages) + l10n: update Chinese translation to the new git.po + Update l10n guide: change the repository URL, etc + +Jonathan Nieder (23): + vcs-svn: use higher mark numbers for blobs + vcs-svn: save marks for imported commits + vcs-svn: add a comment before each commit + vcs-svn: eliminate repo_tree structure + vcs-svn: handle filenames with dq correctly + Makefile: list one vcs-svn/xdiff object or header per line + vcs-svn: learn to maintain a sliding view of a file + vcs-svn: make buffer_read_binary API more convenient + vcs-svn: skeleton of an svn delta parser + vcs-svn: parse svndiff0 window header + vcs-svn: read the preimage when applying deltas + vcs-svn: read inline data from deltas + vcs-svn: read instructions from deltas + vcs-svn: implement copyfrom_data delta instruction + vcs-svn: verify that deltas consume all inline data + vcs-svn: let deltas use data from postimage + vcs-svn: let deltas use data from preimage + test-svn-fe: split off "test-svn-fe -d" into a separate function + vcs-svn: cap number of bytes read from sliding view + vcs-svn: guard against overflow when computing preimage length + vcs-svn: avoid hangs from corrupt deltas + vcs-svn: allow import of > 4GiB files + vcs-svn: suppress a -Wtype-limits warning + +Junio C Hamano (28): + git-sh-i18n: restructure the logic to compute gettext.sh scheme + i18n: Make NO_GETTEXT imply fallthrough scheme in shell l10n + merge: use editor by default in interactive sessions + push: do not let configured foreign-vcs permanently clobbered + t9801: do not overuse test_must_fail + i18n: Do not force USE_GETTEXT_SCHEME=fallthrough on NO_GETTEXT + vcs-svn/svndiff.c: squelch false "unused" warning from gcc + Kick off the post 1.7.9 cycle + Update draft release notes to 1.7.10 + Update draft release notes to 1.7.10 + Update draft release notes to 1.7.10 + Update draft release notes to 1.7.10 + Update draft release notes to 1.7.10 + Update draft release notes to 1.7.10 + t9100: remove bogus " || test" after each test scriptlet + merge: do not trust fstat(2) too much when checking interactiveness + Update draft release notes to 1.7.10 + Update draft release notes to 1.7.10 + Update draft release notes to 1.7.10 + grep: use static trans-case table + fsck: --no-dangling omits "dangling object" information + pickaxe: allow -i to search in patch case-insensitively + Update l10n guide + diff --stat: tests for long filenames and big change counts + Update draft release notes to 1.7.10 + Update draft release notes to 1.7.10 + fsck doc: a minor typofix + Git 1.7.10-rc0 + +Linus Torvalds (1): + "git pull" doesn't know "--edit" + +Luke Diamand (6): + git-p4: handle p4 branches and labels containing shell chars + git-p4: cope with labels with empty descriptions + git-p4: importing labels should cope with missing owner + git-p4: add test for p4 labels + git-p4: label import fails with multiple labels at the same changelist + git-p4: add initial support for RCS keywords + +Michael Haggerty (11): + pack_refs(): remove redundant check + ref_array: keep track of whether references are sorted + add_packed_ref(): new function in the refs API. + write_remote_refs(): create packed (rather than extra) refs + t5700: document a failure of alternates to affect fetch + clone.c: move more code into the "if (refs)" conditional + fetch-pack.c: rename some parameters from "path" to "refname" + fetch-pack.c: inline insert_alternate_refs() + everything_local(): mark alternate refs as complete + clone: do not add alternate references to extra_refs + refs: remove the extra_refs API + +Michał Kiedrowicz (2): + pack-objects: Fix compilation with NO_PTHREDS + grep -P: add tests for matching ^ and $ + +Nelson Benitez Leon (1): + http: support proxies that require authentication + +Nguyễn Thái Ngọc Duy (20): + clone: add --single-branch to fetch only one branch + Fix incorrect ref namespace check + Eliminate recursion in setting/clearing marks in commit list + index-pack: eliminate recursion in find_unresolved_deltas + index-pack: eliminate unlimited recursion in get_base_data() + t5601: add missing && cascade + clone: write detached HEAD in bare repositories + clone: factor out checkout code + clone: factor out HEAD update code + clone: factor out remote ref writing + clone: delay cloning until after remote HEAD checking + clone: --branch=<branch> always means refs/heads/<branch> + clone: refuse to clone if --branch points to bogus ref + clone: allow --branch to take a tag + clone: print advice on checking out detached HEAD + clone: fix up delay cloning conditions + pack-objects: do not accept "--index-version=version," + pack-objects: remove bogus comment + pack-objects: convert to use parse_options() + cache-tree: update API to take abitrary flags + +Pete Wyckoff (6): + git-p4: only a single ... wildcard is supported + git-p4: fix verbose comment typo + git-p4: clarify comment + git-p4: adjust test to adhere to stricter useClientSpec + git-p4: add tests demonstrating spec overlay ambiguities + git-p4: Change p4 command invocation + +Phil Hord (1): + cherry-pick: No advice to commit if --no-commit + +Philip Jägenstedt (2): + completion: remote set-* <name> and <branch> + completion: normalize increment/decrement style + +Ramkumar Ramachandra (2): + revert: prepare to move replay_action to header + sequencer: factor code out of revert builtin + +Ramsay Jones (3): + vcs-svn: rename check_overflow arguments for clarity + builtin/tag.c: Fix a sparse warning + ctype.c: Fix a sparse warning + +René Scharfe (5): + xdiff: print post-image for common records instead of pre-image + test-parse-options: convert to OPT_BOOL() + parse-options: allow positivation of options starting, with no- + parse-options: remove PARSE_OPT_NEGHELP + parse-options: typo check for unknown switches + +Riku (1): + l10n: update zh_CN translation for "Fetching %s" + +Russell Myers (1): + git-p4: the option to specify 'host' is -H, not -h + +Stefano Lattarini (1): + t0000: modernise style + +Steven Walter (2): + git-svn.perl: perform deletions before anything else + git-svn.perl: fix a false-positive in the "already exists" test + +Thomas Rast (6): + am: learn passing -b to mailinfo + mailinfo: with -b, keep space after [foo] + Move the user-facing test library to test-lib-functions.sh + Introduce a performance testing framework + Add a performance test for git-grep + perf: compare diff algorithms + +Tim Henigan (2): + contrib: add git-diffall script + mergetools: add a plug-in to support DeltaWalker + +Tom Grennan (1): + tag: add --points-at list option + +Vitor Antunes (2): + git-p4: Search for parent commit on branch creation + git-p4: Add test case for complex branch import + +Wei-Yin Chen (陳威尹) (1): + git-svn: Fix time zone in --localtime + +Yichao Yu (1): + l10n: fast-forward here is ff-only merge, not push + +Zbigniew Jędrzejewski-Szmek (11): + make lineno_width() from blame reusable for others + send-email: document the --smtp-debug option + git-p4: missing she-bang line in t9804 confuses prove + diff --stat: use the full terminal width + show --stat: use the full terminal width + log --stat: use the full terminal width + merge --stat: use the full terminal width + diff --stat: use a maximum of 5/8 for the filename part + diff --stat: add a test for output with COLUMNS=40 + diff --stat: enable limiting of the graph part + diff --stat: add config option to limit graph width + +ws3389 (1): + l10n: leave leading space unchanged for zh_CN.po + +Ævar Arnfjörð Bjarmason (2): + git-svn: remove redundant porcelain option to rev-list + git-svn: un-break "git svn rebase" when log.abbrevCommit=true + + +Version v1.7.9.7; changes since v1.7.9.6: +----------------------------------------- + +D Waitzman (1): + Documentation/gitweb: trivial English fixes + +Jonathan Nieder (1): + bundle: remove stray single-quote from error message + +Junio C Hamano (4): + fetch/receive: remove over-pessimistic connectivity check + Git 1.7.7.7 + Git 1.7.8.6 + Git 1.7.9.7 + + +Version v1.7.9.6; changes since v1.7.9.5: +----------------------------------------- + +Heiko Voigt (1): + string-list: document that string_list_insert() inserts unique strings + +Junio C Hamano (2): + merge: backport GIT_MERGE_AUTOEDIT support + Git 1.7.9.6 + + +Version v1.7.9.5; changes since v1.7.9.4: +----------------------------------------- + +Jakub Narębski (1): + gitweb: Fix actionless dispatch for non-existent objects + +Jonathan Nieder (2): + fast-import: leakfix for 'ls' of dirty trees + fast-import: don't allow 'ls' of path with empty components + +Junio C Hamano (2): + i18n of multi-line advice messages + Git 1.7.9.5 + +Kirill Smelkov (1): + t/Makefile: Use $(sort ...) explicitly where needed + +Mark Lodato (1): + grep doc: add --break / --heading / -W to synopsis + +Martin Stenberg (1): + config: report errors at the EOL with correct line number + +Nelson Benitez Leon (1): + documentation: fix alphabetic ordered list for git-rebase man page + +Phil Hord (1): + rerere: Document 'rerere remaining' + +Rodrigo Silva (MestreLion) (1): + Documentation: improve description of GIT_EDITOR and preference order + + +Version v1.7.9.4; changes since v1.7.9.3: +----------------------------------------- + +Jakub Narębski (1): + gitweb: Fix fixed string (non-regexp) project search + +Junio C Hamano (6): + am -3: allow nonstandard -p<num> option + test: "am -3" can accept non-standard -p<num> + t4011: modernise style + t4011: illustrate "diff-index -p" on stat-dirty paths + diff -p: squelch "diff --git" header for stat-dirty paths + Git 1.7.9.4 + +Thomas Rast (5): + t5510: refactor bundle->pack conversion + t5510: ensure we stay in the toplevel test dir + bundle: keep around names passed to add_pending_object() + Document the --histogram diff option + t5704: fix nonportable sed/grep usages + + +Version v1.7.9.3; changes since v1.7.9.2: +----------------------------------------- + +Andrew Wong (1): + rebase -m: only call "notes copy" when rewritten exists and is non-empty + +Carlos Martín Nieto (2): + branch: don't assume the merge filter ref exists + Documentation: use {asterisk} in rev-list-options.txt when needed + +Clemens Buchacher (1): + http.proxy: also mention https_proxy and all_proxy + +Dmitry V. Levin (1): + Makefile: add thread-utils.h to LIB_H + +Jakub Narębski (2): + gitweb: Fix "heads" view when there is no current branch + gitweb: Handle invalid regexp in regexp search + +Jeff King (4): + disconnect from remote helpers more gently + teach convert_to_git a "dry run" mode + teach dry-run convert_to_git not to require a src buffer + do not stream large files to pack when filters are in use + +Jehan Bing (1): + Ignore SIGPIPE when running a filter driver + +Jim Meyering (1): + am: don't infloop for an empty input file + +John Szakmeister (1): + configure: don't use -lintl when there is no gettext support + +Jonathan Nieder (1): + mergetools/meld: Use --help output to detect --output support + +Junio C Hamano (9): + refresh_index: do not show unmerged path that is outside pathspec + Documentation/merge-options.txt: group "ff" related options together + Document merge.branchdesc configuration variable + Git 1.7.8.5 + Document accumulated fixes since 1.7.9.2 + Update draft release notes to 1.7.9.3 + Documentation: do not assume that n > 1 in <rev>~$n + Update draft release notes to 1.7.9.3 for the last time + Git 1.7.9.3 + +Libor Pechacek (1): + Documentation fixes in git-config + +Matthieu Moy (1): + README: point to Documentation/SubmittingPatches + +Michael Haggerty (2): + post-receive-email: remove unused variable + post-receive-email: match up $LOGBEGIN..$LOGEND pairs correctly + +Michael J Gruber (1): + t0300: work around bug in dash 0.5.6 + +Michał Kiedrowicz (1): + grep -P: Fix matching ^ and $ + +Nguyễn Thái Ngọc Duy (2): + rev-list: remove BISECT_SHOW_TRIED flag + rev-list: fix --verify-objects --quiet becoming --objects + +Pete Wyckoff (4): + git-p4: set useClientSpec variable on initial clone + git-p4: fix submit regression with clientSpec and subdir clone + git-p4: remove bash-ism in t9809 + git-p4: remove bash-ism in t9800 + +Philip Jägenstedt (1): + remote: fix set-branches usage and documentation + +Stefano Lattarini (1): + tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh + +Thomas Rast (6): + merge: add instructions to the commit message when editing + bundle: put strbuf_readline_fd in strbuf.c with adjustments + bundle: use a strbuf to scan the log for boundary commits + strbuf: improve strbuf_get*line documentation + t5704: match tests to modern style + fast-import: zero all of 'struct tag' to silence valgrind + +Tim Henigan (2): + CodingGuidelines: Add a note about spaces after redirection + CodingGuidelines: do not use 'which' in shell scripts + +Tom Grennan (1): + t5512 (ls-remote): modernize style + + +Version v1.7.9.2; changes since v1.7.9.1: +----------------------------------------- + +Christian Hammerl (1): + completion: Allow dash as the first character for __git_ps1 + +Clemens Buchacher (4): + git rev-list: fix invalid typecast + push/fetch/clone --no-progress suppresses progress output + t5541: check error message against the real port number used + do not override receive-pack errors + +Felipe Contreras (3): + completion: work around zsh option propagation bug + completion: use ls -1 instead of rolling a loop to do that ourselves + completion: simplify __gitcomp and __gitcomp_nl implementations + +Jakub Narębski (2): + gitweb: Allow UTF-8 encoded CGI query parameters and path_info + gitweb: Fix 'grep' search for multiple matches in file + +Jeff King (12): + grep: make locking flag global + grep: move sha1-reading mutex into low-level code + grep: refactor the concept of "grep source" into an object + convert git-grep to use grep_source interface + grep: drop grep_buffer's "name" parameter + grep: cache userdiff_driver in grep_source + grep: respect diff attributes for binary-ness + grep: load file data after checking binary-ness + grep: pre-load userdiff drivers when threaded + standardize and improve lookup rules for external local repos + prompt: clean up strbuf usage + prompt: fall back to terminal if askpass fails + +Jiang Xin (2): + i18n: git-commit whence_s "merge/cherry-pick" message + i18n: format_tracking_info "Your branch is behind" message + +Johannes Sixt (1): + Makefile: fix syntax for older make + +Junio C Hamano (8): + mailmap: always return a plain mail address from map_user() + git checkout -b: allow switching out of an unborn branch + commit: ignore intent-to-add entries instead of refusing + diff --stat: show bars of same length for paths with same amount of changes + Update draft release notes to 1.7.9.2 + Update draft release notes to 1.7.9.2 + Update draft release notes to 1.7.9.2 + Git 1.7.9.2 + +Matthieu Moy (1): + fsck: give accurate error message on empty loose object files + +Namhyung Kim (2): + ctype.c only wants git-compat-util.h + ctype: implement islower/isupper macro + +Nguyễn Thái Ngọc Duy (3): + sha1_file.c: move the core logic of find_pack_entry() into fill_pack_entry() + find_pack_entry(): do not keep packed_git pointer locally + Use correct grammar in diffstat summary line + +Philip Jägenstedt (2): + completion: remove stale "to submit patches" documentation + completion: use tabs for indentation + +Ralf Thielow (2): + completion: --edit-description option for git-branch + completion: --list option for git-branch + +Theodore Ts'o (1): + Fix build problems related to profile-directed optimization + +Zbigniew Jędrzejewski-Szmek (2): + pager: find out the terminal width before spawning the pager + man: rearrange git synopsis to fit in 80 lines + +Дилян Палаузов (1): + Makefile: introduce CHARSET_LIB to link with -lcharset + + +Version v1.7.9.1; changes since v1.7.9: +--------------------------------------- + +Adrian Weimann (1): + completion: --edit and --no-edit for git-merge + +Albert Yale (1): + grep: fix -l/-L interaction with decoration lines + +Ben Walton (1): + Drop system includes from inet_pton/inet_ntop compatibility wrappers + +Clemens Buchacher (2): + fix push --quiet: add 'quiet' capability to receive-pack + dashed externals: kill children on exit + +David Aguilar (1): + mergetool: Provide an empty file when needed + +Jakub Narębski (1): + git.spec: Workaround localized messages not put in any RPM + +Jeff King (4): + run-command: optionally kill children on exit + imap-send: remove dead code + tag: fix output of "tag -n" when errors occur + tag: die when listing missing or corrupt objects + +Jens Lehmann (1): + submodule add: fix breakage when re-adding a deep submodule + +Johannes Schindelin (1): + add -e: do not show difference in a submodule that is merely dirty + +Junio C Hamano (15): + server_supports(): parse feature list more carefully + Making pathspec limited log play nicer with --first-parent + request-pull: explicitly ask tags/$name to be pulled + tests: add write_script helper function + parse_date(): allow ancient git-timestamp + parse_date(): '@' prefix forces git-timestamp + merge: do not create a signed tag merge under --ff-only option + branch --edit-description: protect against mistyped branch name + Git 1.7.6.6 + Prepare for 1.7.9.1 + tag: do not show non-tag contents with "-n" + merge: do not launch an editor on "--no-edit $tag" + Update draft release notes to 1.7.9.1 + Update draft release notes to 1.7.9.1 + Git 1.7.9.1 + +Michael J Gruber (1): + t5541: avoid TAP test miscounting + +Michael Palimaka (1): + Explicitly set X to avoid potential build breakage + +Shawn O. Pearce (1): + remote-curl: Fix push status report when all branches fail + +Ævar Arnfjörð Bjarmason (3): + Makefile: Change the default compiler from "gcc" to "cc" + Remove Git's support for smoke testing + t: use sane_unset instead of unset + + +Version v1.7.9; changes since v1.7.9-rc2: +----------------------------------------- + +Felipe Contreras (1): + git-completion: workaround zsh COMPREPLY bug + +Jeff King (1): + docs: minor grammar fixes for v1.7.9 release notes + +Junio C Hamano (2): + INSTALL: warn about recent Fedora breakage + Git 1.7.9 + +Michael Haggerty (1): + Fix typo in 1.7.9 release notes + + +Version v1.7.9-rc2; changes since v1.7.9-rc1: +--------------------------------------------- + +Jakub Narębski (2): + gitweb: Fix file links in "grep" search + gitweb: Harden "grep" search against filenames with ':' + +Jeff King (3): + unix-socket: handle long socket pathnames + credential-cache: report more daemon connection errors + credential-cache: ignore "connection refused" errors + +Jonathan Nieder (1): + unix-socket: do not let close() or chdir() clobber errno during cleanup + +Junio C Hamano (4): + pulling signed tag: add howto document + Git 1.7.7.6 + Git 1.7.8.4 + Git 1.7.9-rc2 + +Michael Haggerty (2): + git-show-ref: fix escaping in asciidoc source + git-show-ref doc: typeset regexp in fixed width font + +Nguyễn Thái Ngọc Duy (3): + Document limited recursion pathspec matching with wildcards + diff-index: enable recursive pathspec matching in unpack_trees + diff-index: enable recursive pathspec matching in unpack_trees + +Thomas Rast (1): + word-diff: ignore '\ No newline at eof' marker + + +Version v1.7.9-rc1; changes since v1.7.9-rc0: +--------------------------------------------- + +Ben Walton (1): + Use perl instead of sed for t8006-blame-textconv test + +Carlos Martín Nieto (1): + archive: re-allow HEAD:Documentation on a remote invocation + +Clemens Buchacher (1): + credentials: unable to connect to cache daemon + +Jeff King (5): + send-email: multiedit is a boolean config option + attr: don't confuse prefixes with leading directories + attr: drop misguided defensive coding + attr: fix leak in free_attr_elem + thin-pack: try harder to use preferred base objects as base + +Junio C Hamano (11): + attr.c: make bootstrap_attr_stack() leave early + attr.c: clarify the logic to pop attr_stack + Documentation: rerere's rr-cache auto-creation and rerere.enabled + Prepare for 1.7.6.6 + Prepare for 1.7.7.6 + Prepare for 1.7.8.4 + request-pull: use the real fork point when preparing the message + Update draft release notes to 1.7.6.6 + Update draft release notes to 1.7.7.6 + Update draft release notes to 1.7.8.4 + Git 1.7.9-rc1 + +Matthieu Moy (1): + gitweb: accept trailing "/" in $project_list + +Michael Haggerty (3): + receive-pack: move more work into write_head_info() + show_ref(): remove unused "flag" and "cb_data" arguments + write_head_info(): handle "extra refs" locally + +Nguyễn Thái Ngọc Duy (1): + t2203: fix wrong commit command + +Sebastian Schuberth (2): + t9200: On MSYS, do not pass Windows-style paths to CVS + git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS + +Thomas Rast (1): + mailinfo documentation: accurately describe non -k case + + +Version v1.7.9-rc0; changes since v1.7.8.6: +------------------------------------------- + +Anders Kaseorg (2): + gitk: Remove unused $cdate array + gitk: Remember time zones from author and commit timestamps + +Bert Wesarg (14): + git-gui: fix multi selected file operation + git-gui: handle config booleans without value + git-gui: add smart case search mode in searchbar + git-gui: add regexp search mode to the searchbar + git-gui: add search history to searchbar + git-gui: fix unintended line break in message string + git-gui: use "untracked" for files which are not known to git + git-gui: new config to control staging of untracked files + git-gui: fix display of path in browser title + git-gui: use a tristate to control the case mode in the searchbar + git-gui: span widgets over the full file output area in the blame view + git-gui: include the file path in guitools confirmation dialog + git-gui: make config gui.warndetachedcommit a boolean + git-gui: don't warn for detached head when rebasing + +Dejan Ribič (1): + git-gui: fix spelling error in sshkey.tcl + +Gary Gibbons (5): + git-p4: ensure submit clientPath exists before chdir + git-p4: use absolute directory for PWD env var + git-p4: fix test for unsupported P4 Client Views + git-p4: sort client views by reverse View number + git-p4: support single file p4 client view maps + +Gustaf Hendeby (1): + Add built-in diff patterns for MATLAB code + +Jakub Narębski (6): + gitweb: Refactor diff body line classification + gitweb: Extract formatting of diff chunk header + gitweb: Give side-by-side diff extra CSS styling + t9500: Add test for handling incomplete lines in diff by gitweb + t9500: Add basic sanity tests for side-by-side diff in gitweb + gitweb: Use href(-replay=>1,...) for formats links in "commitdiff" + +Jeff King (28): + prune: handle --progress/no-progress + reachable: per-object progress + upload-archive: use start_command instead of fork + test-lib: add test_config_global variant + t5550: fix typo + introduce credentials API + credential: add function for parsing url components + http: use credential API to get passwords + credential: apply helper config + credential: add credential.*.username + credential: make relevance of http path configurable + docs: end-user documentation for the credential subsystem + credentials: add "cache" helper + strbuf: add strbuf_add*_urlencode + imap-send: avoid buffer overflow + imap-send: don't check return value of git_getpass + move git_getpass to its own source file + refactor git_getpass into generic prompt function + add generic terminal prompt function + credentials: add "store" helper + prompt: use git_terminal_prompt + t: add test harness for external credential helpers + credential: use git_prompt instead of git_getpass + Makefile: linux has /dev/tty + Makefile: OS X has /dev/tty + contrib: add credential helper for OS X Keychain + test-lib: redirect stdin of tests + pretty: give placeholders to reflog identity + +Joey Hess (1): + write first for-merge ref to FETCH_HEAD first + +Johannes Sixt (1): + Makefile: unix sockets may not available on some platforms + +Jonathan Nieder (6): + gitk: Make vi-style keybindings more vi-like + test: add missing "&&" after echo command + test: remove a porcelain test that hard-codes commit names + t7501 (commit): modernize style + test: commit --amend should honor --no-edit + test: errors preparing for a test are not special + +Jonathon Mah (1): + stash: Don't fail if work dir contains file named 'HEAD' + +Junio C Hamano (50): + branch: add read_branch_desc() helper function + format-patch: use branch description in cover letter + branch: teach --edit-description option + request-pull: modernize style + request-pull: state what commit to expect + request-pull: use the branch description + fmt-merge-msg: use branch.$name.description + write_pack_header(): a helper function + create_tmp_packfile(): a helper function + finish_tmp_packfile(): a helper function + Split GPG interface into its own helper library + merge: notice local merging of tags and keep it unwrapped + fetch: allow "git fetch $there v1.0" to fetch a tag + refs DWIMmery: use the same rule for both "git fetch" and others + fmt-merge-msg: avoid early returns + fmt-merge-msg: package options into a structure + fmt-merge-msg: Add contents of merged tag in the merge message + merge: make usage of commit->util more extensible + merge: record tag objects without peeling in MERGE_HEAD + request-pull: use the annotated tag contents + commit: copy merged signed tags to headers of merge commit + merge: force edit and no-ff mode when merging a tag object + commit: teach --amend to carry forward extra headers + commit-tree: update the command line parsing + commit-tree: teach -m/-F options to read logs from elsewhere + commit: teach --gpg-sign option + log: --show-signature + test "commit -S" and "log --show-signature" + pretty: %G[?GS] placeholders + gpg-interface: allow use of a custom GPG binary + csum-file: introduce sha1file_checkpoint + bulk-checkin: replace fast-import based implementation + Kick-off the 1.7.9 cycle + commit: honour --no-edit + Update draft release notes for 1.7.9 + Update draft release notes to 1.7.9 + request-pull: update the "pull" command generation logic + Update draft release notes to 1.7.9 + request-pull: do not emit "tag" before the tagname + Update draft release notes to 1.7.9 + commit: do not lose mergetag header when not amending + Update draft release notes to 1.7.9 + Update draft release notes in preparation for 1.7.9-rc0 + Update draft release notes to 1.7.9 + verify_signed_buffer: fix stale comment + commit --amend -S: strip existing gpgsig headers + log-tree.c: small refactor in show_signature() + log-tree: show mergetag in log --show-signature output + log --show-signature: reword the common two-head merge case + Git 1.7.9-rc0 + +Kato Kazuyoshi (2): + gitweb: Add a feature to show side-by-side diff + gitweb: Add navigation to select side-by-side diff + +Kirill A. Shutemov (1): + git-tag: introduce --cleanup option + +Linus Torvalds (1): + fetch: do not store peeled tag object names in FETCH_HEAD + +Martin von Zweigbergk (10): + gitk: Fix file highlight when run in subdirectory + gitk: Fix "show origin of this line" with separate work tree + gitk: Fix "blame parent commit" with separate work tree + gitk: Fix "External diff" with separate work tree + gitk: Put temporary directory inside .git + gitk: Run 'git rev-parse --git-dir' only once + gitk: Simplify calculation of gitdir + gitk: Show modified files with separate work tree + t3401: modernize style + t3401: use test_commit in setup + +Michael Haggerty (16): + struct ref_entry: document name member + refs: rename "refname" variables + refs: rename parameters result -> sha1 + clear_ref_array(): rename from free_ref_array() + is_refname_available(): remove the "quiet" argument + parse_ref_line(): add docstring + add_ref(): add docstring + is_dup_ref(): extract function from sort_ref_array() + refs: change signatures of get_packed_refs() and get_loose_refs() + get_ref_dir(): change signature + resolve_gitlink_ref(): improve docstring + Pass a (ref_cache *) to the resolve_gitlink_*() helper functions + resolve_gitlink_ref_recursive(): change to work with struct ref_cache + repack_without_ref(): remove temporary + create_ref_entry(): extract function from add_ref() + add_ref(): take a (struct ref_entry *) parameter + +Nguyễn Thái Ngọc Duy (14): + fsck: return error code when verify_pack() goes wrong + verify_packfile(): check as many object as possible in a pack + fsck: avoid reading every object twice + fsck: print progress + prune: show progress while marking reachable objects + Convert many resolve_ref() calls to read_ref*() and ref_exists() + checkout,merge: disallow overwriting ignored files with --no-overwrite-ignore + Copy resolve_ref() return value for longer use + revert: convert resolve_ref() to read_ref_full() + Convert resolve_ref+xstrdup to new resolve_refdup function + Rename resolve_ref() to resolve_ref_unsafe() + merge: abort if fails to commit + Convert commit_tree() to take strbuf as message + commit_tree(): refuse commit messages that contain NULs + +Pat Thoyts (11): + git-gui: include the number of untracked files to stage when asking the user + git-gui: theme the search and line-number entry fields on blame screen + git-gui: catch invalid or complete regular expressions and treat as no match. + git-gui: enable the smart case sensitive search only if gui.search.smartcase is true + git-gui: set suitable extended window manager hints. + git-gui: support underline style when parsing diff output + git-gui: sort the numeric ansi codes + git-gui: set whitespace warnings appropriate to this project + git-gui: added config gui.gcwarning to disable the gc hint message + git-gui: handle shell script text filters when loading for blame. + git-gui 0.16 + +Paul Mackerras (1): + gitk: Update copyright + +Pete Wyckoff (18): + git-p4: introduce skipSubmitEdit + git-p4: submit test for auto-creating clientPath + git-p4: test for absolute PWD problem + git-p4: fix skipSubmitEdit regression + rename git-p4 tests + git-p4: introduce asciidoc documentation + git-p4: clone does not use --git-dir + git-p4: test cloning with two dirs, clarify doc + git-p4: document and test clone --branch + git-p4: honor --changesfile option and test + git-p4: document and test --import-local + git-p4: test --max-changes + git-p4: test --keep-path + git-p4: test and document --use-client-spec + git-p4: document and test submit options + git-p4: test client view handling + git-p4: rewrite view handling + git-p4: view spec documentation + +Ramkumar Ramachandra (11): + t3200 (branch): fix '&&' chaining + test: fix '&&' chaining + t3030 (merge-recursive): use test_expect_code + t1510 (worktree): fix '&&' chaining + t3040 (subprojects-basic): fix '&&' chaining, modernize style + revert: free msg in format_todo() + revert: make commit subjects in insn sheet optional + revert: tolerate extra spaces, tabs in insn sheet + revert: simplify getting commit subject in format_todo() + t3510 (cherry-pick-sequencer): use exit status + t3502, t3510: clarify cherry-pick -m failure + +Ramsay Jones (3): + builtin/log.c: Fix an "Using plain integer as NULL pointer" warning + environment.c: Fix an sparse "symbol not declared" warning + fmt-merge-msg.c: Fix an "dubious one-bit signed bitfield" sparse error + +Raphael Zimmerer (1): + gitk: When a commit contains a note, mark it with a yellow box + +René Scharfe (5): + read-cache.c: allocate index entries individually + cache.h: put single NUL at end of struct cache_entry + use struct sha1_array in diff_tree_combined() + pass struct commit to diff_tree_combined_merge() + submodule: use diff_tree_combined_merge() instead of diff_tree_combined() + +SZEDER Gábor (9): + completion: document __gitcomp() + completion: optimize refs completion + completion: make refs completion consistent for local and remote repos + completion: improve ls-remote output filtering in __git_refs() + completion: support full refs from remote repositories + completion: query only refs/heads/ in __git_refs_remotes() + completion: improve ls-remote output filtering in __git_refs_remotes() + completion: fast initial completion for config 'remote.*.fetch' value + completion: remove broken dead code from __git_heads() and __git_tags() + +Samuel Bronson (1): + git-gui: Set both 16x16 and 32x32 icons on X to pacify Xming. + +Steven Walter (1): + git-svn.perl: close the edit for propedits even with no mods + +Thomas Rast (5): + grep: load funcname patterns for -W + grep: enable threading with -p and -W using lazy attribute lookup + grep: disable threading in non-worktree case + test-terminal: set output terminals to raw mode + bash completion: use read -r everywhere + +Tilman Vogel (1): + git-gui: add config value gui.diffopts for passing additional diff options + +Vincent van Ravesteijn (4): + Compile fix for MSVC: Do not include sys/resources.h + Compile fix for MSVC: Include <io.h> + MSVC: Remove unneeded header stubs + Show error for 'git merge' with unset merge.defaultToUpstream + +Yggy King (1): + gitk: Make "touching paths" search support backslashes + +Ævar Arnfjörð Bjarmason (5): + pull: introduce a pull.rebase option to enable --rebase + i18n: add infrastructure for translating Git with gettext + Fix an enum assignment issue spotted by Sun Studio + Fix a bitwise negation assignment issue spotted by Sun Studio + Appease Sun Studio by renaming "tmpfile" + + +Version v1.7.8.6; changes since v1.7.8.5: +----------------------------------------- + +Carlos Martín Nieto (1): + Documentation: use {asterisk} in rev-list-options.txt when needed + +Clemens Buchacher (1): + t5541: check error message against the real port number used + +D Waitzman (1): + Documentation/gitweb: trivial English fixes + +Jakub Narębski (1): + gitweb: Fix actionless dispatch for non-existent objects + +Johannes Sixt (1): + t0090: be prepared that 'wc -l' writes leading blanks + +Jonathan Nieder (1): + bundle: remove stray single-quote from error message + +Junio C Hamano (4): + i18n of multi-line advice messages + fetch/receive: remove over-pessimistic connectivity check + Git 1.7.7.7 + Git 1.7.8.6 + +Kirill Smelkov (1): + t/Makefile: Use $(sort ...) explicitly where needed + +Phil Hord (1): + rerere: Document 'rerere remaining' + +Shawn O. Pearce (1): + remote-curl: Fix push status report when all branches fail + +Thomas Rast (13): + Add test-scrap-cache-tree + Test the current state of the cache-tree optimization + Refactor cache_tree_update idiom from commit + commit: write cache-tree data when writing index anyway + reset: update cache-tree data when appropriate + bundle: put strbuf_readline_fd in strbuf.c with adjustments + bundle: use a strbuf to scan the log for boundary commits + strbuf: improve strbuf_get*line documentation + t5704: match tests to modern style + t5510: refactor bundle->pack conversion + t5510: ensure we stay in the toplevel test dir + bundle: keep around names passed to add_pending_object() + Document the --histogram diff option + + +Version v1.7.8.5; changes since v1.7.8.4: +----------------------------------------- + +Andrew Wong (1): + rebase -m: only call "notes copy" when rewritten exists and is non-empty + +Dmitry V. Levin (1): + Makefile: add thread-utils.h to LIB_H + +Jeff King (1): + imap-send: remove dead code + +Jim Meyering (1): + am: don't infloop for an empty input file + +Junio C Hamano (2): + Git 1.7.6.6 + Git 1.7.8.5 + +Michał Kiedrowicz (1): + grep -P: Fix matching ^ and $ + + +Version v1.7.8.4; changes since v1.7.8.3: +----------------------------------------- + +Jeff King (5): + send-email: multiedit is a boolean config option + attr: don't confuse prefixes with leading directories + attr: drop misguided defensive coding + attr: fix leak in free_attr_elem + thin-pack: try harder to use preferred base objects as base + +Junio C Hamano (11): + attr.c: make bootstrap_attr_stack() leave early + attr.c: clarify the logic to pop attr_stack + Documentation: rerere's rr-cache auto-creation and rerere.enabled + Prepare for 1.7.6.6 + Prepare for 1.7.7.6 + Prepare for 1.7.8.4 + Update draft release notes to 1.7.6.6 + Update draft release notes to 1.7.7.6 + Update draft release notes to 1.7.8.4 + Git 1.7.7.6 + Git 1.7.8.4 + +Nguyễn Thái Ngọc Duy (2): + t2203: fix wrong commit command + diff-index: enable recursive pathspec matching in unpack_trees + + +Version v1.7.8.3; changes since v1.7.8.2: +----------------------------------------- + +Brian Harring (1): + fix hang in git fetch if pointed at a 0 length bundle + +Clemens Buchacher (2): + Documentation: read-tree --prefix works with existing subtrees + t5550: repack everything into one file + +Jack Nagel (1): + Add MYMETA.json to perl/.gitignore + +Jakub Narębski (1): + gitweb: Fix fallback mode of to_utf8 subroutine + +Jens Lehmann (1): + docs: describe behavior of relative submodule URLs + +Junio C Hamano (1): + Git 1.7.8.3 + +Jürgen Kreileder (3): + gitweb: Call to_utf8() on input string in chop_and_escape_str() + gitweb: esc_html() site name for title in OPML + gitweb: Output valid utf8 in git_blame_common('data') + +Nguyễn Thái Ngọc Duy (1): + Catch invalid --depth option passed to clone or fetch + +Thomas Rast (1): + Documentation: rerere.enabled is the primary way to configure rerere + + +Version v1.7.8.2; changes since v1.7.8.1: +----------------------------------------- + +Andrew Wong (1): + rebase -i: interrupt rebase when "commit --amend" failed during "reword" + +Conrad Irwin (1): + Update documentation for stripspace + +Eric Wong (1): + enable SO_KEEPALIVE for connected TCP sockets + +Erik Faye-Lund (2): + compat/setenv.c: update errno when erroring out + compat/setenv.c: error if name contains '=' + +Jeff King (20): + read-cache: let refresh_cache_ent pass up changed flags + refresh_index: rename format variables + refresh_index: make porcelain output more specific + compat/snprintf: don't look at va_list twice + docs: mention "-k" for both forms of "git mv" + mv: honor --verbose flag + mv: make non-directory destination error more clear + mv: improve overwrite warning + mv: be quiet about overwriting + drop "match" parameter from get_remote_heads + t5500: give fully-qualified refs to fetch-pack + fetch-pack: match refs exactly + connect.c: drop path_match function + t5540: test DAV push with authentication + http-push: enable "proactive auth" + use custom rename score during --follow + docs: brush up obsolete bits of git-fsck manpage + make "git push -v" actually verbose + commit, merge: initialize static strbuf + remote-curl: don't pass back fake refs + +Jelmer Vernooij (1): + Fix an incorrect reference to --set-all. + +Johan Herland (3): + t9301: Fix testcase covering up a bug in fast-import's notes fanout handling + t9301: Add 2nd testcase exposing bugs in fast-import's notes fanout handling + fast-import: Fix incorrect fanout level when modifying existing notes refs + +Johannes Sixt (1): + Compatibility: declare strtoimax() under NO_STRTOUMAX + +Jonathan Nieder (9): + branch: allow a no-op "branch -M <current-branch> HEAD" + Allow checkout -B <current-branch> to update the current branch + revert: give --continue handling its own function + revert: allow cherry-pick --continue to commit before resuming + revert: pass around rev-list args in already-parsed form + revert: allow single-pick in the middle of cherry-pick sequence + revert: do not remove state until sequence is finished + Revert "reset: Make reset remove the sequencer state" + revert: stop creating and removing sequencer-old directory + +Junio C Hamano (5): + checkout -m: no need to insist on having all 3 stages + checkout_merged(): squelch false warning from some gcc + lf_to_crlf_filter(): resurrect CRLF->CRLF hack + advice: Document that they all default to true + Git 1.7.8.2 + +Nick Alcock (2): + Add strtoimax() compatibility function. + Support sizes >=2G in various config options accepting 'g' sizes. + +Pete Harlan (1): + Test 'checkout -m -- path' + +Thomas Jarosch (1): + imap-send: Remove unused 'use_namespace' variable + +Thomas Rast (1): + git-sh-setup: make require_clean_work_tree part of the interface + +Ævar Arnfjörð Bjarmason (1): + t/t2023-checkout-m.sh: fix use of test_must_fail + + +Version v1.7.8.1; changes since v1.7.8: +--------------------------------------- + +Brandon Casey (2): + t/t4131-apply-fake-ancestor.sh: fix broken test + builtin/apply.c: report error on failure to recognize input + +Carlos Martín Nieto (2): + convert: track state in LF-to-CRLF filter + clone: the -o option has nothing to do with <branch> + +Erik Faye-Lund (1): + mingw: give waitpid the correct signature + +Jack Nagel (1): + Documentation: fix formatting error in merge-options.txt + +Jeff King (5): + http: drop "local" member from request struct + archive: don't let remote clients get unreachable commits + stripspace: fix outdated comment + fetch: create status table using strbuf + blame: don't overflow time buffer + +Jens Lehmann (1): + diff/status: print submodule path when looking for changes fails + +Junio C Hamano (9): + get_tree_entry(): do not call find_tree_entry() on an empty tree + unpack_object_header_buffer(): clear the size field upon error + receive-pack, fetch-pack: reject bogus pack that records objects twice + pack-object: tolerate broken packs that have duplicated objects + Git 1.7.6.5 + Git 1.7.7.5 + Update draft release notes for 1.7.8.1 + lf_to_crlf_filter(): tell the caller we added "\n" when draining + Git 1.7.8.1 + +Martin von Zweigbergk (1): + am: don't persist keepcr flag + +Michael Haggerty (1): + git symbolic-ref: documentation fix + +Michael Schubert (2): + builtin/commit: add missing '/' in help message + builtin/log: remove redundant initialization + +Mika Fischer (3): + http.c: Use curl_multi_fdset to select on curl fds instead of just sleeping + http.c: Use timeout suggested by curl instead of fixed 50ms timeout + http.c: Rely on select instead of tracking whether data was received + +Nguyễn Thái Ngọc Duy (5): + tree-walk.c: do not leak internal structure in tree_entry_len() + read_directory_recursive: reduce one indentation level + tree_entry_interesting(): give meaningful names to return values + tree_entry_interesting: make use of local pointer "item" + checkout,merge: loosen overwriting untracked file check based on info/exclude + +Sebastian Morr (1): + Add MYMETA.yml to perl/.gitignore + +Thomas Rast (1): + userdiff: allow * between cpp funcname words + +Ævar Arnfjörð Bjarmason (3): + apply: get rid of useless x < 0 comparison on a size_t type + cast variable in call to free() in builtin/diff.c and submodule.c + builtin/init-db.c: eliminate -Wformat warning on Solaris + + +Version v1.7.8; changes since v1.7.8-rc4: +----------------------------------------- + +Junio C Hamano (1): + Git 1.7.8 + + +Version v1.7.8-rc4; changes since v1.7.8-rc3: +--------------------------------------------- + +Johannes Sixt (1): + Fix revert --abort on Windows + +Jonathan Nieder (11): + do not let git_path clobber errno when reporting errors + notes merge: eliminate OUTPUT macro + Makefile: add missing header file dependencies + Makefile: add option to disable automatic dependency generation + revert: rename --reset option to --quit + revert: rearrange pick_revisions() for clarity + revert: improve error message for cherry-pick during cherry-pick + revert: write REVERT_HEAD pseudoref during conflicted revert + revert: introduce --abort to cancel a failed cherry-pick + revert: remove --reset compatibility option + revert --abort: do not leave behind useless sequencer-old directory + +Junio C Hamano (5): + name-rev --all: do not even attempt to describe non-commit object + Git 1.7.7.4 + Hopefully final update of release notes before 1.7.8 final + Update 1.7.8 draft release notes in preparation for rc4 + Git 1.7.8-rc4 + +Marc-André Lureau (1): + mailmap: xcalloc mailmap_info + +Nguyễn Thái Ngọc Duy (1): + revert: do not pass non-literal string as format to git_path() + +Ramkumar Ramachandra (4): + http: remove unused function hex() + convert: don't mix enum with int + sha1_file: don't mix enum with int + git-compat-util: don't assume value for undefined variable + +Ramsay Jones (3): + t5501-*.sh: Fix url passed to clone in setup test + config.c: Fix a static buffer overwrite bug by avoiding mkpath() + convert.c: Fix return type of git_path_check_eol() + +Thomas Hochstein (1): + documentation fix: git difftool uses diff tools, not merge tools. + +Vincent van Ravesteijn (2): + builtin-branch: Fix crash on invalid use of --force + builtin-reset: Documentation update + + +Version v1.7.8-rc3; changes since v1.7.8-rc2: +--------------------------------------------- + +Junio C Hamano (3): + Revert "upload-archive: use start_command instead of fork" + refs: loosen over-strict "format" check + Git 1.7.8-rc3 + +Ramkumar Ramachandra (1): + revert: prettify fatal messages + + +Version v1.7.8-rc2; changes since v1.7.8-rc1: +--------------------------------------------- + +Felipe Contreras (1): + remote: fix remote set-url usage + +Jeff King (1): + docs: don't mention --quiet or --exit-code in git-log(1) + +Junio C Hamano (5): + remote: fix set-branches usage + docs: Update install-doc-quick + Git 1.7.7.3 + Update draft release notes to 1.7.8 + Git 1.7.8-rc2 + +Liu Yuan (1): + mktree: fix a memory leak in write_tree() + +SZEDER Gábor (1): + completion: don't leak variable from the prompt into environment + + +Version v1.7.8-rc1; changes since v1.7.8-rc0: +--------------------------------------------- + +Dan McGee (4): + pack-objects: mark add_to_write_order() as inline + pack-objects: use unsigned int for counter and offset values + pack-objects: rewrite add_descendants_to_write_order() iteratively + pack-objects: don't traverse objects unnecessarily + +Erik Faye-Lund (4): + mingw: move poll out of sys-folder + compat/win32/poll.c: upgrade from upstream + upload-archive: use start_command instead of fork + mingw: poll.h is no longer in sys/ + +Johannes Sixt (1): + name-hash.c: always initialize dir_next pointer + +Junio C Hamano (5): + (squash) test for previous + Git 1.7.7.2 + Update draft release notes to 1.7.8 + receive-pack: do not expect object 0{40} to exist + Git 1.7.8-rc1 + +Nguyễn Thái Ngọc Duy (2): + pretty.c: free get_header() return value + pretty.c: use original commit message if reencoding fails + +Pat Thoyts (1): + t7511: avoid use of reserved filename on Windows. + +Pete Wyckoff (1): + git-p4: ignore apple filetype + +Sebastian Schuberth (2): + blame.c: Properly initialize strbuf after calling, textconv_object() + blame.c: Properly initialize strbuf after calling textconv_object(), again + +Stefan Naewe (2): + t3200: add test case for 'branch -m' + http: don't always prompt for password + +Tay Ray Chuan (1): + branch -m: handle no arg properly + +Ted Percival (1): + svn: Quote repository root in regex match + +Ævar Arnfjörð Bjarmason (2): + t/t6030-bisect-porcelain.sh: use test_i18ngrep + t/t7508-status.sh: use test_i18ncmp + + +Version v1.7.8-rc0; changes since v1.7.7.7: +------------------------------------------- + +Bert Wesarg (7): + grep: do not use --index in the short usage output + grep --no-index: don't use git standard exclusions + git-gui: search and linenumber input are mutual exclusive in the blame view + git-gui: only accept numbers in the goto-line input + git-gui: clear the goto line input when hiding + git-gui: incremental goto line in blame view + grep: fix the error message that mentions --exclude + +Brad King (2): + submodule: Demonstrate known breakage during recursive merge + submodule: Search for merges only at end of recursive merge + +Brandon Casey (8): + t/t3905: use the name 'actual' for test output, swap arguments to test_cmp + git-stash.sh: fix typo in error message + t/t3905: add missing '&&' linkage + git-stash: remove untracked/ignored directories when stashed + refs.c: ensure struct whose member may be passed to realloc is initialized + refs.c: abort ref search if ref array is empty + refs.c: free duplicate entries in the ref array instead of leaking them + t/t3000-ls-files-others.sh: use $SHELL_PATH to run git-new-workdir script + +Carlos Martín Nieto (1): + Documentation: update [section.subsection] to reflect what git does + +Chris Packham (1): + git-web--browse: avoid the use of eval + +Christoffer Pettersson (1): + git-gui: Corrected a typo in the Swedish translation of 'Continue' + +Clemens Buchacher (5): + remove prefix argument from pathspec_prefix + rename pathspec_prefix() to common_prefix() and move to dir.[ch] + send-email: add option -h + use -h for synopsis and --help for manpage consistently + use test number as port number + +Cord Seele (3): + Add Git::config_path() + use new Git::config_path() for aliasesfile + send-email: Fix %config_path_settings handling + +Dan McGee (2): + tree-walk: drop unused parameter from match_dir_prefix + tree-walk: micro-optimization in tree_entry_interesting + +David Aguilar (1): + Makefile: Improve compiler header dependency check + +David Fries (2): + git-gui: Enable jumping to a specific line number in blame view. + git-gui: Add keyboard shortcuts for search and goto commands in blame view. + +Dmitry Ivankov (3): + Fix typo: existant->existent + fast-import: don't allow to tag empty branch + fast-import: don't allow to note on empty branch + +Drew Northup (1): + gitweb: Add gitweb.conf(5) manpage for gitweb configuration files + +Erik Faye-Lund (2): + enter_repo: do not modify input + mingw: avoid using strbuf in syslog + +Fredrik Gustafsson (2): + rev-parse: add option --resolve-git-dir <path> + Move git-dir for submodules + +Fredrik Kuivinen (1): + Makefile: Use computed header dependencies if the compiler supports it + +Frédéric Heitzmann (1): + git svn dcommit: new option --interactive. + +Giuseppe Bilotta (1): + am: preliminary support for hg patches + +Heiko Voigt (4): + git-gui: warn when trying to commit on a detached head + submodule: move update configuration variable further up + add update 'none' flag to disable update of submodule by default + git-gui: deal with unknown files when pressing the "Stage Changed" button + +Hui Wang (1): + sha1_file: normalize alt_odb path before comparing and storing + +Jakub Narębski (5): + gitweb: Add gitweb(1) manpage for gitweb itself + Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages + Documentation: Add gitweb config variables to git-config(1) + gitweb: Add gitweb manpages to 'gitweb' package in git.spec + Add simple test for Git::config_path() in t/t9700-perl-git.sh + +Jay Soffian (5): + Teach '--cached' option to check-attr + log --children + revert.c: defer writing CHERRY_PICK_HEAD till it is safe to do so + cherry-pick: do not give irrelevant advice when cherry-pick punted + Teach merge the '[-e|--edit]' option + +Jeff King (20): + url: decode buffers that are not NUL-terminated + improve httpd auth tests + remote-curl: don't retry auth failures with dumb protocol + http: retry authentication failures for all http requests + t7004: factor out gpg setup + t6300: add more body-parsing tests + for-each-ref: refactor subject and body placeholder parsing + for-each-ref: handle multiline subjects like --pretty + t3200: clean up checks for file existence + fix phantom untracked files when core.ignorecase is set + t1300: put git invocations inside test function + t1300: test mixed-case variable retrieval + pack-objects: protect against disappearing packs + downgrade "packfile cannot be accessed" errors to warnings + daemon: give friendlier error messages to clients + http_init: accept separate URL parameter + contrib: add diff highlight script + tests: add missing executable bits + contrib: add git-jump script + completion: match ctags symbol names in grep patterns + +Jeremie Nikaes (1): + Add a remote helper to interact with mediawiki (fetch & push) + +Johannes Schindelin (5): + Fix is_gitfile() for files too small or larger than PATH_MAX to be a gitfile + t1020: disable the pwd test on MinGW + t9001: do not fail only due to CR/LF issues + t9300: do not run --cat-blob-fd related tests on MinGW + git grep: be careful to use mutexes only when they are initialized + +Johannes Sixt (2): + t1402-check-ref-format: skip tests of refs beginning with slash on Windows + t1300: attempting to remove a non-existent .git/config is not an error + +Jonathan Nieder (3): + ident: check /etc/mailname if email is unknown + ident: do not retrieve default ident when unnecessary + Makefile: fix permissions of mergetools/ checked out with permissive umask + +Julian Phillips (2): + Don't sort ref_list too early + refs: Use binary search to lookup refs faster + +Junio C Hamano (47): + rev-list: fix finish_object() call + revision.c: add show_object_with_name() helper function + revision.c: update show_object_with_name() without using malloc() + list-objects: pass callback data to show_objects() + rev-list --verify-object + fetch: verify we have everything we need before updating our ref + fetch.fsckobjects: verify downloaded objects + transfer.fsckobjects: unify fetch/receive.fsckobjects + test: fetch/receive with fsckobjects + consolidate pathspec_prefix and common_prefix + fetch: verify we have everything we need before updating our ref + check_everything_connected(): refactor to use an iterator + check_everything_connected(): libify + receive-pack: check connectivity before concluding "git push" + builtin/revert.c: make commit_list_append() static + refs.c: make create_cached_refs() static + send-pack: typofix error message + rename "match_refs()" to "match_push_refs()" + Allow git merge ":/<pattern>" + ls-remote: a lone "-h" is asking for help + t0003: remove extra whitespaces + parse-options: deprecate OPT_BOOLEAN + archive.c: use OPT_BOOL() + url.c: simplify is_url() + grep: teach --untracked and --exclude-standard options + Post 1.7.7 first wave + Update draft release notes to 1.7.8 + refs.c: move dwim_ref()/dwim_log() from sha1_name.c + Update draft release notes to 1.7.8 + bundle: allowing to read from an unseekable fd + bundle: add parse_bundle_header() helper function + Update draft release notes to 1.7.8 + t7800: avoid arithmetic expansion notation + Update draft release notes to 1.7.8 + resolve_gitlink_packed_ref(): fix mismerge + Update draft release notes to 1.7.8 + Makefile: ask "ls-files" to list source files if available + libperl-git: refactor Git::config_* + Update draft release notes to 1.7.8 + resolve_ref(): expose REF_ISBROKEN flag + resolve_ref(): report breakage to the caller without warning + Update draft release notes to 1.7.8 + builtin/grep: make lock/unlock into static inline functions + builtin/grep: simplify lock_and_read_sha1_file() + Update draft release notes to 1.7.8 + Update draft release notes to 1.7.8 + Git 1.7.8-rc0 + +Luke Diamand (1): + git-p4: handle files with shell metacharacters + +Lénaïc Huard (1): + gitweb: provide a way to customize html headers + +Matthieu Moy (6): + git-remote-mediawiki: allow push to set MediaWiki metadata + git-remote-mediawiki: trivial fixes + git-remote-mediawiki: set 'basetimestamp' to let the wiki handle conflicts + git-remote-mediawiki: obey advice.pushNonFastForward + git-remote-mediawiki: allow a domain to be set for authentication + git-remote-mediawiki: don't include HTTP login/password in author + +Michael Haggerty (36): + Extract a function clear_cached_refs() + Access reference caches only through new function get_cached_refs() + Change the signature of read_packed_refs() + Allocate cached_refs objects dynamically + Store the submodule name in struct cached_refs + Retain caches of submodule refs + get_sha1_hex(): do not read past a NUL character + t1402: add some more tests + git check-ref-format: add options --allow-onelevel and --refspec-pattern + Change bad_ref_char() to return a boolean value + Change check_ref_format() to take a flags argument + Refactor check_refname_format() + Do not allow ".lock" at the end of any refname component + Make collapse_slashes() allocate memory for its result + Inline function refname_format_print() + Change check_refname_format() to reject unnormalized refnames + resolve_ref(): explicitly fail if a symlink is not readable + resolve_ref(): use prefixcmp() + resolve_ref(): only follow a symlink that contains a valid, normalized refname + resolve_ref(): turn buffer into a proper string as soon as possible + resolve_ref(): extract a function get_packed_ref() + resolve_ref(): do not follow incorrectly-formatted symbolic refs + remote: use xstrdup() instead of strdup() + remote: avoid passing NULL to read_ref() + resolve_ref(): verify that the input refname has the right format + resolve_ref(): emit warnings for improperly-formatted references + resolve_ref(): also treat a too-long SHA1 as invalid + resolve_ref(): expand documentation + add_ref(): verify that the refname is formatted correctly + invalidate_ref_cache(): rename function from invalidate_cached_refs() + invalidate_ref_cache(): take the submodule as parameter + invalidate_ref_cache(): expose this function in the refs API + clear_ref_cache(): rename parameter + clear_ref_cache(): extract two new functions + write_ref_sha1(): only invalidate the loose ref cache + clear_ref_cache(): inline function + +Michael J Gruber (7): + t6040: test branch -vv + git-tag: introduce long forms for the options + git-branch: introduce missing long forms for the options + branch: introduce --list option + branch: allow pattern arguments + branch: -v does not automatically imply --list + http: use hostname in credential description + +Michael W. Olson (1): + git-svn: Allow certain refs to be ignored + +Michał Górny (1): + for-each-ref: add split message parts to %(contents:*). + +Nguyễn Thái Ngọc Duy (6): + sparse checkout: show error messages when worktree shaping fails + Add explanation why we do not allow to sparse checkout to empty working tree + pack-protocol: document "ERR" line + daemon: return "access denied" if a service is not allowed + daemon: log errors if we could not use some sockets + t5403: convert leading spaces to tabs + +Pang Yan Han (1): + receive-pack: don't pass non-existent refs to post-{receive,update} hooks + +Pat Thoyts (6): + git-gui: updated translator README for current procedures. + Fix tooltip display with multiple monitors on windows. + git-gui: drop the 'n' and 'Shift-n' bindings from the last patch. + mergetools: use the correct tool for Beyond Compare 3 on Windows + mingw: ensure sockets are initialized before calling gethostname + t9901: fix line-ending dependency on windows + +Pete Wyckoff (5): + git-p4 tests: refactor and cleanup + git-p4: handle utf16 filetype properly + git-p4: recognize all p4 filetypes + git-p4: stop ignoring apple filetype + git-p4: keyword flattening fixes + +Peter Oberndorfer (1): + "rebase -i": support special-purpose editor to edit insn sheet + +Phil Hord (3): + Learn to handle gitfiles in enter_repo + Teach transport about the gitfile mechanism + Add test showing git-fetch groks gitfiles + +Ramkumar Ramachandra (18): + advice: Introduce error_resolve_conflict + config: Introduce functions to write non-standard file + revert: Simplify and inline add_message_to_msg + revert: Don't check lone argument in get_encoding + revert: Rename no_replay to record_origin + revert: Eliminate global "commit" variable + revert: Introduce struct to keep command-line options + revert: Separate cmdline parsing from functional code + revert: Don't create invalid replay_opts in parse_args + revert: Save data for continuing after conflict resolution + revert: Save command-line options for continuing operation + revert: Make pick_commits functionally act on a commit list + revert: Introduce --reset to remove sequencer state + reset: Make reset remove the sequencer state + revert: Remove sequencer state when no commits are pending + revert: Don't implicitly stomp pending sequencer operation + revert: Introduce --continue to continue the operation + revert: Propagate errors upwards from do_pick_commit + +Ramsay Jones (5): + Makefile: Make dependency directory creation less noisy + sparse: Fix an "Using plain integer as NULL pointer" warning + obstack.c: Fix some sparse warnings + Fix some "variable might be used uninitialized" warnings + gitweb/Makefile: Remove static/gitweb.js in the clean target + +René Scharfe (23): + parseopt: add OPT_NOOP_NOARG + revert: use OPT_NOOP_NOARG + apply: use OPT_NOOP_NOARG + checkout: check for "Previous HEAD" notice in t2020 + revision: factor out add_pending_sha1 + checkout: use add_pending_{object,sha1} in orphan check + revision: add leak_pending flag + bisect: use leak_pending flag + bundle: use leak_pending flag + checkout: use leak_pending flag + commit: factor out clear_commit_marks_for_object_array + test-ctype: macrofy + test-ctype: add test for is_pathspec_magic + name-rev: split usage string + pickaxe: plug diff filespec leak with empty needle + pickaxe: plug regex leak + pickaxe: plug regex/kws leak + pickaxe: factor out has_changes + pickaxe: pass diff_options to contains and has_changes + pickaxe: give diff_grep the same signature as has_changes + pickaxe: factor out pickaxe + xdiff: factor out get_func_line() + diff: add option to show whole functions as context + +SZEDER Gábor (2): + completion: unite --reuse-message and --reedit-message for 'notes' + completion: unite --format and --pretty for 'log' and 'show' + +Sebastian Schuberth (2): + git-svn: On MSYS, escape and quote SVN_SSH also if set by the user + inet_ntop.c: Work around GCC 4.6's detection of uninitialized variables + +Sitaram Chamarty (1): + git-difftool: allow skipping file by typing 'n' at prompt + +Stefan Naewe (1): + completion: fix issue with process substitution not working on Git for Windows + +Tay Ray Chuan (3): + fetch: plug two leaks on error exit in store_updated_refs + submodule: whitespace fix + submodule::module_clone(): silence die() message from module_name() + +Teemu Matilainen (3): + completion: unite --reuse-message and --reedit-message handling + completion: commit --fixup and --squash + completion: push --set-upstream + +Zbigniew Jędrzejewski-Szmek (1): + send-email: auth plain/login fix + + +Version v1.7.7.7; changes since v1.7.7.6: +----------------------------------------- + +Jeff King (1): + imap-send: remove dead code + +Jonathan Nieder (1): + bundle: remove stray single-quote from error message + +Junio C Hamano (2): + Git 1.7.6.6 + Git 1.7.7.7 + +Thomas Rast (1): + Document the --histogram diff option + + +Version v1.7.7.6; changes since v1.7.7.5: +----------------------------------------- + +Clemens Buchacher (1): + Documentation: read-tree --prefix works with existing subtrees + +Jack Nagel (1): + Add MYMETA.json to perl/.gitignore + +Jeff King (4): + attr: don't confuse prefixes with leading directories + attr: drop misguided defensive coding + attr: fix leak in free_attr_elem + thin-pack: try harder to use preferred base objects as base + +Jens Lehmann (1): + docs: describe behavior of relative submodule URLs + +Junio C Hamano (8): + attr.c: make bootstrap_attr_stack() leave early + attr.c: clarify the logic to pop attr_stack + Documentation: rerere's rr-cache auto-creation and rerere.enabled + Prepare for 1.7.6.6 + Prepare for 1.7.7.6 + Update draft release notes to 1.7.6.6 + Update draft release notes to 1.7.7.6 + Git 1.7.7.6 + +Nguyễn Thái Ngọc Duy (2): + t2203: fix wrong commit command + diff-index: enable recursive pathspec matching in unpack_trees + +Thomas Rast (1): + Documentation: rerere.enabled is the primary way to configure rerere + + +Version v1.7.7.5; changes since v1.7.7.4: +----------------------------------------- + +Erik Faye-Lund (1): + mingw: give waitpid the correct signature + +Jeff King (3): + stripspace: fix outdated comment + fetch: create status table using strbuf + blame: don't overflow time buffer + +Junio C Hamano (2): + Git 1.7.6.5 + Git 1.7.7.5 + +Martin von Zweigbergk (1): + am: don't persist keepcr flag + +Michael Haggerty (1): + git symbolic-ref: documentation fix + +Nguyễn Thái Ngọc Duy (1): + checkout,merge: loosen overwriting untracked file check based on info/exclude + +Sebastian Morr (1): + Add MYMETA.yml to perl/.gitignore + +Thomas Hochstein (1): + documentation fix: git difftool uses diff tools, not merge tools. + +Ævar Arnfjörð Bjarmason (2): + apply: get rid of useless x < 0 comparison on a size_t type + cast variable in call to free() in builtin/diff.c and submodule.c + + +Version v1.7.7.4; changes since v1.7.7.3: +----------------------------------------- + +Jonathan Nieder (2): + notes merge: eliminate OUTPUT macro + Makefile: add missing header file dependencies + +Junio C Hamano (2): + name-rev --all: do not even attempt to describe non-commit object + Git 1.7.7.4 + +Marc-André Lureau (1): + mailmap: xcalloc mailmap_info + + +Version v1.7.7.3; changes since v1.7.7.2: +----------------------------------------- + +Dan McGee (4): + pack-objects: mark add_to_write_order() as inline + pack-objects: use unsigned int for counter and offset values + pack-objects: rewrite add_descendants_to_write_order() iteratively + pack-objects: don't traverse objects unnecessarily + +Jeff King (1): + docs: don't mention --quiet or --exit-code in git-log(1) + +Julien Muchembled (1): + gitweb: fix regression when filtering out forks + +Junio C Hamano (3): + branch -m/-M: remove undocumented RENAMED-REF + docs: Update install-doc-quick + Git 1.7.7.3 + + +Version v1.7.7.2; changes since v1.7.7.1: +----------------------------------------- + +Brandon Casey (4): + attr.c: avoid inappropriate access to strbuf "buf" member + cleanup: use internal memory allocation wrapper functions everywhere + builtin/mv.c: plug miniscule memory leak + attr.c: respect core.ignorecase when matching attribute patterns + +Carlos Martín Nieto (6): + Remove 'working copy' from the documentation and C code + fetch: free all the additional refspecs + t5510: add tests for fetch --prune + remote: separate out the remote_find_tracking logic into query_refspecs + fetch: honor the user-provided refspecs when pruning refs + fetch: treat --tags like refs/tags/*:refs/tags/* when pruning + +Christian Couder (1): + bisect: fix exiting when checkout failed in bisect_start() + +Haitao Li (1): + date.c: Support iso8601 timezone formats + +Jakub Narębski (1): + gitweb: Strip non-printable characters from syntax highlighter output + +Jeff King (8): + add sha1_array API docs + quote.h: fix bogus comment + refactor argv_array into generic code + quote: provide sq_dequote_to_argv_array + bisect: use argv_array API + checkout: use argv_array API + run_hook: use argv_array API + pull,rebase: handle GIT_WORK_TREE better + +Jim Meyering (1): + make the sample pre-commit hook script reject names with newlines, too + +Jonathan Nieder (2): + http: remove extra newline in error message + http: avoid empty error messages for some curl errors + +Jonathon Mah (1): + mergetool: Use args as pathspec to unmerged files + +Junio C Hamano (5): + refactor run_receive_hook() + diff: teach --stat/--numstat to honor -U$num + mergetool: no longer need to save standard input + attr: read core.attributesfile from git_default_core_config + Git 1.7.7.2 + +Martin von Zweigbergk (4): + remote: write correct fetch spec when renaming remote 'remote' + remote: "rename o foo" should not rename ref "origin/bar" + remote rename: warn when refspec was not updated + remote: only update remote-tracking branch if updating refspec + +Matthew Daley (1): + send-email: Honour SMTP domain when using TLS + +Michael Haggerty (1): + notes_merge_commit(): do not pass temporary buffer to other function + +Michael J Gruber (3): + unpack-trees: print "Aborting" to stderr + git-read-tree.txt: language and typography fixes + git-read-tree.txt: correct sparse-checkout and skip-worktree description + +Nguyễn Thái Ngọc Duy (2): + git-read-tree.txt: update sparse checkout examples + Reindent closing bracket using tab instead of spaces + +Pat Thoyts (1): + t7511: avoid use of reserved filename on Windows. + +Peter Stuge (1): + gitweb: Fix links to lines in blobs when javascript-actions are enabled + +Ramsay Jones (1): + t9159-*.sh: skip for mergeinfo test for svn <= 1.4 + +René Scharfe (1): + read-cache.c: fix index memory allocation + +Richard Hartmann (1): + clone: Quote user supplied path in a single quote pair + +Shawn O. Pearce (1): + remote-curl: Fix warning after HTTP failure + +Stefan Naewe (1): + Documentation/git-update-index: refer to 'ls-files' + +Thomas Rast (1): + Documentation: basic configuration of notes.rewriteRef + + +Version v1.7.7.1; changes since v1.7.7: +--------------------------------------- + +Brad King (1): + rev-list: Demonstrate breakage with --ancestry-path --all + +Brandon Casey (1): + strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline() + +Ilari Liusvaara (1): + Support ERR in remote archive like in fetch/push + +Jay Soffian (1): + merge-one-file: fix "expr: non-numeric argument" + +Jeff King (2): + fetch: avoid quadratic loop checking for updated submodules + filter-branch: use require_clean_work_tree + +Jim Meyering (1): + fix "git apply --index ..." not to deref NULL + +Jonathan Nieder (2): + Makefile: do not set setgid bit on directories on GNU/kFreeBSD + RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile setting + +Junio C Hamano (14): + revision: keep track of the end-user input from the command line + revision: do not include sibling history in --ancestry-path output + rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree + traverse_trees(): allow pruning with pathspec + unpack-trees: allow pruning with pathspec + diff-index: pass pathspec down to unpack-trees machinery + fsck: do not abort upon finding an empty blob + Teach progress eye-candy to fetch_refs_from_bundle() + apply --whitespace=error: correctly report new blank lines at end + checkout $tree $path: do not clobber local changes in $path not in $tree + diff: resurrect XDF_NEED_MINIMAL with --minimal + Prepare for 1.7.7.1 + Almost ready for 1.7.7.1 + Git 1.7.7.1 + +Matthieu Moy (2): + rebase -i: clean error message for --continue after failed exec + config: display key_delim for config --bool --get-regexp + +Michael Schubert (1): + patch-id.c: use strbuf instead of a fixed buffer + +Nguyễn Thái Ngọc Duy (4): + merge: keep stash[] a local variable + merge: use return value of resolve_ref() to determine if HEAD is invalid + merge: remove global variable head[] + Accept tags in HEAD or MERGE_HEAD + +Nicolas Morey-Chaisemartin (1): + grep: Fix race condition in delta_base_cache + +René Scharfe (2): + Revert removal of multi-match discard heuristic in 27af01 + t1304: fall back to $USER if $LOGNAME is not defined + +Thomas Rast (2): + Symlink mergetools scriptlets into valgrind wrappers + t6019: avoid refname collision on case-insensitive systems + + +Version v1.7.7; changes since v1.7.7-rc3: +----------------------------------------- + +Gerrit Pape (2): + contrib/hooks: adapt comment about Debian install location for contrib hooks + templates/hooks--*: remove sample hooks without any functionality + +Junio C Hamano (2): + Documentation/gitnamespaces.txt: cater to older asciidoc + Git 1.7.7 + + +Version v1.7.7-rc3; changes since v1.7.7-rc2: +--------------------------------------------- + +Allan Caffee (1): + describe: Refresh the index when run with --dirty + +Jay Soffian (1): + git-mergetool: check return value from read + +Jeff King (1): + t4014: clean up format.thread config after each test + +Junio C Hamano (3): + Git 1.7.6.4 + merge-recursive: Do not look at working tree during a virtual ancestor merge + Git 1.7.7-rc3 + + +Version v1.7.7-rc2; changes since v1.7.7-rc1: +--------------------------------------------- + +Bryan Jacobs (1): + git-svn: teach git-svn to populate svn:mergeinfo + +Frédéric Heitzmann (1): + Disambiguate duplicate t9160* tests + +Junio C Hamano (2): + branch --set-upstream: regression fix + Git 1.7.7-rc2 + +Pang Yan Han (1): + format-patch: ignore ui.color + + +Version v1.7.7-rc1; changes since v1.7.7-rc0: +--------------------------------------------- + +Ben Walton (2): + Documentation: Grammar correction, wording fixes and cleanup + Mark http-fetch without -a as deprecated + +Brandon Casey (1): + t6030: use $SHELL_PATH to invoke user's preferred shell instead of bare sh + +Brian Gernhardt (1): + t5540-http-test: shorten grep pattern + +Bryan Jacobs (1): + git-svn: Teach dcommit --mergeinfo to handle multiple lines + +Conrad Irwin (2): + Prevent force-updating of the current branch + Show interpreted branch name in error messages + +Dmitry Ivankov (11): + fast-import: add input format tests + fast-import: don't fail on omitted committer name + fast-import: check committer name more strictly + fsck: add a few committer name tests + fsck: improve committer/author check + fast-import: add a test for tree delta base corruption + fast-import: prevent producing bad delta + fast-import: count and report # of calls to diff_delta in stats + fast-import: treat cat-blob as a delta base hint for next blob + fast-import: add tests for tagging blobs + fast-import: allow to tag newly created objects + +Elijah Newren (55): + t6042: Add a testcase where git deletes an untracked file + t6042: Add failing testcase for rename/modify/add-source conflict + t6042: Add a pair of cases where undetected renames cause issues + t6042: Add a testcase where undetected rename causes silent file deletion + t6042: Add tests for content issues with modify/rename/directory conflicts + t6042: Ensure rename/rename conflicts leave index and workdir in sane state + t6042: Add failing testcases for rename/rename/add-{source,dest} conflicts + t6036: Add differently resolved modify/delete conflict in criss-cross test + t6036: criss-cross with weird content can fool git into clean merge + t6036: tests for criss-cross merges with various directory/file conflicts + t6036: criss-cross w/ rename/rename(1to2)/modify+rename/rename(2to1)/modify + t6036: criss-cross + rename/rename(1to2)/add-source + modify/modify + t6022: Remove unnecessary untracked files to make test cleaner + t6022: New tests checking for unnecessary updates of files + t6022: Add testcase for merging a renamed file with a simple change + merge-recursive: Make BUG message more legible by adding a newline + merge-recursive: Correct a comment + merge-recursive: Mark some diff_filespec struct arguments const + merge-recursive: Consolidate different update_stages functions + merge-recursive: Remember to free generated unique path names + merge-recursive: Avoid working directory changes during recursive case + merge-recursive: Fix recursive case with D/F conflict via add/add conflict + merge-recursive: Fix sorting order and directory change assumptions + merge-recursive: Fix code checking for D/F conflicts still being present + merge-recursive: Save D/F conflict filenames instead of unlinking them + merge-recursive: Split was_tracked() out of would_lose_untracked() + merge-recursive: Allow make_room_for_path() to remove D/F entries + merge-recursive: Split update_stages_and_entry; only update stages at end + merge-recursive: Fix deletion of untracked file in rename/delete conflicts + merge-recursive: Make dead code for rename/rename(2to1) conflicts undead + merge-recursive: Add comments about handling rename/add-source cases + merge-recursive: Improve handling of rename target vs. directory addition + merge-recursive: Consolidate process_entry() and process_df_entry() + merge-recursive: Cleanup and consolidation of rename_conflict_info + merge-recursive: Provide more info in conflict markers with file renames + merge-recursive: When we detect we can skip an update, actually skip it + merge-recursive: Fix modify/delete resolution in the recursive case + merge-recursive: Introduce a merge_file convenience function + merge-recursive: Fix rename/rename(1to2) resolution for virtual merge base + merge-recursive: Small cleanups for conflict_rename_rename_1to2 + merge-recursive: Defer rename/rename(2to1) handling until process_entry + merge-recursive: Record more data needed for merging with dual renames + merge-recursive: Create function for merging with branchname:file markers + merge-recursive: Consider modifications in rename/rename(2to1) conflicts + merge-recursive: Make modify/delete handling code reusable + merge-recursive: Have conflict_rename_delete reuse modify/delete code + merge-recursive: add handling for rename/rename/add-dest/add-dest + merge-recursive: Fix working copy handling for rename/rename/add/add + t6022: Add testcase for spurious "refusing to lose untracked" messages + merge-recursive: Fix spurious 'refusing to lose untracked file...' messages + t6022: Additional tests checking for unnecessary updates of files + merge-recursive: Avoid unnecessary file rewrites + t6036: criss-cross + rename/rename(1to2)/add-dest + simple modify + merge-recursive: Fix virtual merge base for rename/rename(1to2)/add-dest + merge-recursive: Don't re-sort a list whose order we depend upon + +Eric Wong (1): + git-svn: fix fetch with moved path when using rewriteRoot + +Fredrik Gustafsson (1): + push: Don't push a repository with unpushed submodules + +Fredrik Kuivinen (6): + Add obstack.[ch] from EGLIBC 2.10 + Add string search routines from GNU grep + Adapt the kwset code to Git + Use kwset in pickaxe + Use kwset in grep + obstack: Fix portability issues + +Giuseppe Bilotta (2): + am: format is in $patch_format, not parse_patch + am: fix stgit patch mangling + +Jeff King (12): + t3030: fix accidental success in symlink rename + t7006: modernize calls to unset + test-lib: add helper functions for config + t7006: use test_config helpers + setup_pager: set GIT_PAGER_IN_USE + diff: refactor COLOR_DIFF from a flag into an int + git_config_colorbool: refactor stdout_is_tty handling + color: delay auto-color decision until point of use + config: refactor get_colorbool function + diff: don't load color config in plumbing + want_color: automatically fallback to color.ui + support pager.* for external commands + +Jens Lehmann (1): + fetch: skip on-demand checking when no submodules are configured + +Johannes Sixt (2): + string-list: Add API to remove an item from an unsorted list + t3005: do not assume a particular order of stdout and stderr of git-ls-files + +Jon Seymour (1): + bisect: take advantage of gettextln, eval_gettextln. + +Jonathan Nieder (1): + Documentation/remote-helpers: explain capabilities first + +Junio C Hamano (14): + combine-diff: support format_callback + read_gitfile_gently(): rename misnamed function to read_gitfile() + clone: allow more than one --reference + clone: clone from a repository with relative alternates + Update draft release notes to 1.7.7 + Documentation: clarify "git clean -e <pattern>" + Update draft release notes to 1.7.7 + Revert "Merge branch 'cb/maint-quiet-push' into maint" + Git 1.7.6.2 + Update draft release notes to 1.7.7 + Minor update to how-to maintain git + Prepare for 1.7.6.3 maintenance release + Git 1.7.6.3 + Git 1.7.7-rc1 + +Matthieu Moy (2): + Documentation/git-remote-helpers: explain how import works with multiple refs + (short) documentation for the testgit remote helper + +Michael Haggerty (9): + Add a file comment + Document struct match_attr + Increment num_attr in parse_attr_line(), not parse_attr() + Change parse_attr() to take a pointer to struct attr_state + Determine the start of the states outside of the pass loop + Change while loop into for loop + Unroll the loop over passes + check-ref-format --print: Normalize refnames that start with slashes + Forbid DEL characters in reference names + +Michael J Gruber (3): + git-notes.txt: clarify -C vs. copy and -F + log: Do not decorate replacements with --no-replace-objects + RelNotes/1.7.7: minor fixes + +Michael Stapelberg (1): + git-daemon.txt: specify --timeout in seconds + +Namhyung Kim (1): + branch -v: honor core.abbrev + +Nguyễn Thái Ngọc Duy (6): + decoration: do not mis-decorate refs with same prefix + Add for_each_commit_graft() to iterate all grafts + Move write_shallow_commits to fetch-pack.c + log: decorate grafted commits with "grafted" + log: decorate "replaced" on to replaced commits + clone: allow to clone from .git file + +Pete Wyckoff (1): + git-p4: simple branch tests edits + +Ray Chen (1): + git-svn: New flag to emulate empty directories + +Sverre Rabbelier (1): + SubmittingPathces: remove Cogito reference + +Tay Ray Chuan (2): + xdiff/xprepare: improve O(n*m) performance in xdl_cleanup_records() + xdiff/xprepare: initialise xdlclassifier_t cf in xdl_prepare_env() + +Thomas Rast (8): + Use memmove in ident_to_git + t4014: check for empty files from git format-patch --stdout + t4014: invoke format-patch with --stdout where intended + t4014: "no-add-headers" is actually called "no-add-header" + Document negated forms of format-patch --to --cc --add-headers + strbuf_grow(): maintain nul-termination even for new buffer + Documentation: clarify effects of -- <path> arguments + t3903: fix misquoted rev-parse invocation + +Vitor Antunes (9): + git-p4: Allow setting rename/copy detection threshold + git-p4: Add description of rename/copy detection options + git-p4: Add test case for rename detection + git-p4: Add test case for copy detection + git-p4: Process detectCopiesHarder with --bool + git-p4: Correct branch base depot path detection + git-p4: Allow filtering Perforce branches by user + git-p4: Allow branch definition with git config + git-p4: Add simple test case for branch import + + +Version v1.7.7-rc0; changes since v1.7.6.6: +------------------------------------------- + +Allan Caffee (1): + describe: Refresh the index when run with --dirty + +Andi Kleen (2): + Add profile feedback build to git + Add explanation of the profile feedback build to the README + +Clemens Buchacher (1): + commit: allow partial commits with relative paths + +David Aguilar (8): + setup: Provide GIT_PREFIX to built-ins + git: Remove handling for GIT_PREFIX + git-mergetool--lib: Make vimdiff retain the current directory + t/t7503-pre-commit-hook.sh: Add GIT_PREFIX tests + difftool--helper: Make style consistent with git + mergetool--lib: Make style consistent with git + mergetool--lib: Refactor tools into separate files + mergetools/meld: Use '--output' when available + +David Barr (1): + am: ignore leading whitespace before patch + +David Caldwell (1): + stash: Add --include-untracked option to stash and remove all untracked files + +Dmitry Ivankov (4): + remote-helpers: export GIT_DIR variable to helpers + parse-options: export opterr, optbug + Reduce parse-options.o dependencies + doc/fast-import: document feature import-marks-if-exists + +Duncan Brown (1): + http: pass http.cookiefile using CURLOPT_COOKIEFILE + +Erik Faye-Lund (2): + verify_path: consider dos drive prefix + connect: only log if all attempts failed (ipv4) + +Fredrik Gustafsson (2): + git-sh-setup: add die_with_status + submodule update: continue when a checkout fails + +Jakub Narębski (14): + gitweb.js: No need for inProgress in blame_incremental.js + gitweb.js: No need for loop in blame_incremental's handleResponse() + gitweb.js: use setTimeout rather than setInterval in blame_incremental.js + gitweb: Check permissions first in git_search + gitweb: Split body of git_search into subroutines + gitweb: Clean up code in git_search_* subroutines + gitweb: Make git_search_* subroutines render whole pages + gitweb: Refactor git_header_html + git-instaweb: Extract configuring web server into configure_httpd + git-instaweb: Use $conf, not $fqgitdir/gitweb/httpd.conf + git-instaweb: Move all actions at the end of script + git-instaweb: Check that correct config file exists for (re)start + gitweb: Introduce common system-wide settings for convenience + gitweb: Git config keys are case insensitive, make config search too + +Jeff King (28): + t: add tests for cloning remotes with detached HEAD + consider only branches in guess_remote_head + make copy_ref globally available + clone: always fetch remote HEAD + limit "contains" traversals based on commit timestamp + default core.clockskew variable to one day + archive: reorder option parsing and config reading + archive-tar: don't reload default config options + archive: refactor list of archive formats + archive: pass archiver struct to write_archive callback + archive: move file extension format-guessing lower + archive: refactor file extension format-guessing + archive: implement configurable tar filters + archive: provide builtin .tar.gz filter + upload-archive: allow user to turn off filters + parse-options: add OPT_STRING_LIST helper + remote: use new OPT_STRING_LIST + config: make git_config_parse_parameter a public function + clone: accept config options on the command line + git skew: a tool to find how big a clock skew exists in the history + transport-helper: fix minor leak in push_refs_with_export + t5800: factor out some ref tests + t5800: document some non-functional parts of remote helpers + git-remote-testgit: import non-HEAD refs + transport-helper: don't feed bogus refs to export push + git_remote_helpers: push all refs during a non-local export + streaming: free git_istream upon closing + docs: put listed example commands in backticks + +Jens Lehmann (1): + Documentation/submodule: add command references and update options + +Jim Meyering (1): + sha1_file: use the correct type (ssize_t, not size_t) for read-style function + +Johannes Sixt (7): + sh-i18n--envsubst: do not crash when no arguments are given + mingw.c: move definition of mingw_getenv down + Windows: teach getenv to do a case-sensitive search + rebase: do not print lots of usage hints after an obvious error message + Make test number unique + Skip archive --remote tests on Windows + t3900: do not reference numbered arguments from the test script + +Jon Jensen (1): + Add option hooks.diffopts to customize change summary in post-receive-email + +Jon Seymour (16): + bisect: move argument parsing before state modification. + bisect: use && to connect statements that are deferred with eval. + bisect: add tests to document expected behaviour in presence of broken trees. + bisect: introduce support for --no-checkout option. + bisect: introduce --no-checkout support into porcelain. + bisect: add tests for the --no-checkout option. + bisect: add documentation for --no-checkout option. + bisect: cleanup whitespace errors in git-bisect.sh. + bisect: replace "; then" with "\n<tab>*then" + misc-sh: fix up whitespace in some other .sh files. + gettext: add gettextln, eval_gettextln to encode common idiom + git-am: take advantage of gettextln and eval_gettextln. + pull: take advantage of eval_gettextln + stash: take advantage of eval_gettextln + submodule: take advantage of gettextln and eval_gettextln. + bisect: add support for bisecting bare repositories + +Jonathan Nieder (4): + test: simplify return value of test_run_ + test: cope better with use of return for errors + revert: plug memory leak in "cherry-pick root commit" codepath + merge-recursive: take advantage of hardcoded empty tree + +Josh Triplett (5): + Fix prefix handling in ref iteration functions + ref namespaces: infrastructure + ref namespaces: Support remote repositories via upload-pack and receive-pack + ref namespaces: documentation + ref namespaces: tests + +Junio C Hamano (52): + index-pack: group the delta-base array entries also by type + write_idx_file: introduce a struct to hold idx customization options + index-pack: --verify + write_idx_file: need_large_offset() helper function + index-pack --verify: read anomalous offsets from v2 idx file + packed_object_info_detail(): do not return a string + sha1_object_info_extended(): expose a bit more info + sha1_object_info_extended(): hint about objects in delta-base cache + unpack_object_header(): make it public + write_entry(): separate two helper functions out + streaming: a new API to read from the object store + streaming_write_entry(): use streaming API in write_entry() + convert: CRLF_INPUT is a no-op in the output codepath + streaming_write_entry(): support files with holes + streaming: read non-delta incrementally from a pack + sha1_file.c: expose helpers to read loose objects + streaming: read loose objects incrementally + checkout: make advice when reattaching the HEAD less loud + merge: reword the final message + convert.h: move declarations for conversion from cache.h + Add streaming filter API + stream filter: add "no more input" to the filters + Add LF-to-CRLF streaming conversion + streaming filter: ident filter + streaming: filter cascading + t0021: test application of both crlf and ident + diff --stat-count: finishing touches + index-pack: a miniscule refactor + index-pack: start learning to emulate "verify-pack -v" + index-pack: show histogram when emulating "verify-pack -v" + verify-pack: use index-pack --verify + verify_path(): simplify check at the directory boundary + git-submodule.sh: clarify the "should we die now" logic + Add option to disable NORETURN + Start 1.7.7 cycle + core: log offset pack data accesses happened + pack-objects: optimize "recency order" + diff-lib: simplify do_diff_cache() + diff-lib: refactor run_diff_index() and do_diff_cache() + Revert clock-skew based attempt to optimize tag --contains traversal + Update draft release notes to 1.7.7 + Update draft release notes to 1.7.7 + bisect: further style nitpicks + filter-branch.sh: de-dent usage string + Update draft release notes to 1.7.7 + test: consolidate definition of $LF + Sync with "maint" + Update draft release notes to 1.7.7 + Update draft release notes to 1.7.7 + commit: reduce use of redundant global variables + Update draft release notes to 1.7.7 + Git 1.7.7-rc0 + +Ludwig Nussel (1): + gitweb: allow space as delimiter in mime.types + +Markus Duft (1): + Update the Interix default build configuration. + +Michael Haggerty (29): + doc: Add a link from gitattributes(5) to git-check-attr(1) + doc: Correct git_attr() calls in example code + Remove anachronism from comment + Disallow the empty string as an attribute name + git-check-attr: Add missing "&&" + git-check-attr: Add tests of command-line parsing + Provide access to the name attribute of git_attr + git-check-attr: Use git_attr_name() + Teach prepare_attr_stack() to figure out dirlen itself + Extract a function collect_all_attrs() + Remove redundant call to bootstrap_attr_stack() + Remove redundant check + Allow querying all attributes on a file + git-check-attr: Extract a function output_attr() + git-check-attr: Introduce a new variable + git-check-attr: Extract a function error_with_usage() + git-check-attr: Handle each error separately + git-check-attr: Process command-line args more systematically + git-check-attr: Error out if no pathnames are specified + git-check-attr: Add an --all option to show all attributes + git-check-attr: Drive two tests using the same raw data + git-check-attr: Fix command-line handling to match docs + Rename git_checkattr() to git_check_attr() + git-check-attr: test that no output is written to stderr + git-check-attr: Demonstrate problems with unnormalized paths + git-check-attr: Demonstrate problems with relative paths + git-check-attr: Normalize paths + test-path-utils: Add subcommand "absolute_path" + test-path-utils: Add subcommand "prefix_path" + +Michael J Gruber (3): + diff.c: omit hidden entries from namelen calculation with --stat + diff: introduce --stat-lines to limit the stat lines + diff-options.txt: describe --stat-{width,name-width,count} + +Pete Wyckoff (4): + git-p4: use test_when_finished in tests + git-p4: add missing && in test + git-p4: one test missing config git-p4.skipSubmitEditCheck + git-p4: commit time should be most recent p4 change time + +Ramsay Jones (3): + help.c: Fix detection of custom merge strategy on cygwin + t1301-*.sh: Fix the 'forced modes' test on cygwin + config.c: Make git_config() work correctly when called recursively + +René Scharfe (6): + t0021-conversion.sh: fix NoTerminatingSymbolAtEOF test + grep: fix coloring of hunk marks between files + grep: add --break + grep: add --heading + grep: add option to show whole function as context + grep: long context options + +Roberto Tyley (1): + Tolerate zlib deflation with window size < 32Kb + +Sverre Rabbelier (14): + t5800: use skip_all instead of prereq + remote-curl: accept empty line as terminator + git-remote-testgit: only push for non-local repositories + git-remote-testgit: fix error handling + fast-import: introduce 'done' command + fast-export: support done feature + transport-helper: factor out push_update_refs_status + transport-helper: check status code of finish_command + transport-helper: use the new done feature where possible + transport-helper: update ref status after push with export + transport-helper: change import semantics + transport-helper: Use capname for refspec capability too + transport-helper: implement marks location as capability + transport-helper: die early on encountering deleted refs + +Tay Ray Chuan (13): + xdiff/xprepare: use memset() + xdiff/xprepare: refactor abort cleanups + xdiff/xpatience: factor out fall-back-diff function + t4033-diff-patience: factor out tests + teach --histogram to diff + xdiff/xprepare: skip classification + xdiff/xprepare: use a smaller sample size for histogram diff + xdiff: do away with xdl_mmfile_next() + http.c: fix an invalid free() + Makefile: some changes for http-related flag documentation + xdiff/xhistogram: rework handling of recursed results + xdiff/xhistogram: rely on xdl_trim_ends() + xdiff/xhistogram: drop need for additional variable + +Theo Niessink (3): + A Windows path starting with a backslash is absolute + real_path: do not assume '/' is the path seperator + verify_dotfile(): do not assume '/' is the path seperator + +Thomas Cort (1): + Makefile: add Minix configuration options. + +maximilian attems (2): + am: pass exclude down to apply + am: Document new --exclude=<path> option + +Ævar Arnfjörð Bjarmason (48): + i18n: git-am add git-sh-i18n + i18n: git-am one-line gettext $msg; echo + i18n: git-am multi-line getttext $msg; echo + i18n: git-am eval_gettext messages + i18n: git-am gettext + gettext to stderr message + i18n: git-am die messages + i18n: git-am cannot_fallback messages + i18n: git-am clean_abort messages + i18n: git-am "Apply?" message + i18n: git-am "Falling back" say message + i18n: git-am core say messages + i18n: git-am printf(1) message to eval_gettext + i18n: git-pull add git-sh-i18n + i18n: git-pull die messages + i18n: git-pull eval_gettext + die message + i18n: git-pull eval_gettext + warning message + i18n: git-submodule add git-sh-i18n + i18n: git-submodule echo + eval_gettext messages + i18n: git-submodule say + eval_gettext messages + i18n: git-submodule die + eval_gettext messages + i18n: git-submodule $update_module say + die messages + i18n: git-submodule "cached cannot be used" message + i18n: git-submodule "Submodule change[...]" messages + i18n: git-submodule $errmsg messages + i18n: git-submodule "Entering [...]" message + i18n: git-submodule "[...] path is ignored" message + i18n: git-submodule "path not initialized" message + i18n: git-submodule "blob" and "submodule" messages + i18n: git-stash add git-sh-i18n + i18n: git-stash echo + gettext message + i18n: git-stash say + gettext messages + i18n: git-stash die + gettext messages + i18n: git-stash die + eval_gettext messages + i18n: git-stash die + eval_gettext $* messages + i18n: git-stash die + eval_gettext $1 messages + i18n: git-stash "unknown option" message + i18n: git-stash drop_stash say/die messages + i18n: git-bisect add git-sh-i18n + i18n: git-bisect gettext + echo message + i18n: git-bisect echo + gettext messages + i18n: git-bisect echo + eval_gettext message + i18n: git-bisect die + gettext messages + i18n: git-bisect die + eval_gettext messages + i18n: git-bisect bisect_run + $@ messages + i18n: git-bisect bisect_reset + $1 messages + i18n: git-bisect bisect_replay + $1 messages + i18n: git-bisect [Y/n] messages + i18n: git-bisect bisect_next_check "You need to" message + +张忠山 (1): + gitweb: pass string after encoding in utf-8 to syntax highlighter + + +Version v1.7.6.6; changes since v1.7.6.5: +----------------------------------------- + +Clemens Buchacher (1): + Documentation: read-tree --prefix works with existing subtrees + +Jack Nagel (1): + Add MYMETA.json to perl/.gitignore + +Jeff King (5): + attr: don't confuse prefixes with leading directories + attr: drop misguided defensive coding + attr: fix leak in free_attr_elem + thin-pack: try harder to use preferred base objects as base + imap-send: remove dead code + +Junio C Hamano (6): + attr.c: make bootstrap_attr_stack() leave early + attr.c: clarify the logic to pop attr_stack + Documentation: rerere's rr-cache auto-creation and rerere.enabled + Prepare for 1.7.6.6 + Update draft release notes to 1.7.6.6 + Git 1.7.6.6 + +Nguyễn Thái Ngọc Duy (1): + t2203: fix wrong commit command + +Thomas Rast (1): + Documentation: rerere.enabled is the primary way to configure rerere + + +Version v1.7.6.5; changes since v1.7.6.4: +----------------------------------------- + +Haitao Li (1): + date.c: Support iso8601 timezone formats + +Jeff King (3): + stripspace: fix outdated comment + fetch: create status table using strbuf + blame: don't overflow time buffer + +Jim Meyering (1): + make the sample pre-commit hook script reject names with newlines, too + +Jonathon Mah (1): + mergetool: Use args as pathspec to unmerged files + +Junio C Hamano (3): + mergetool: no longer need to save standard input + name-rev --all: do not even attempt to describe non-commit object + Git 1.7.6.5 + +Marc-André Lureau (1): + mailmap: xcalloc mailmap_info + +Martin von Zweigbergk (4): + remote: write correct fetch spec when renaming remote 'remote' + remote: "rename o foo" should not rename ref "origin/bar" + remote rename: warn when refspec was not updated + remote: only update remote-tracking branch if updating refspec + +Michael Haggerty (1): + notes_merge_commit(): do not pass temporary buffer to other function + +Michael J Gruber (3): + unpack-trees: print "Aborting" to stderr + git-read-tree.txt: language and typography fixes + git-read-tree.txt: correct sparse-checkout and skip-worktree description + +Nguyễn Thái Ngọc Duy (2): + git-read-tree.txt: update sparse checkout examples + Reindent closing bracket using tab instead of spaces + +Peter Stuge (1): + gitweb: Fix links to lines in blobs when javascript-actions are enabled + +Ramsay Jones (1): + t9159-*.sh: skip for mergeinfo test for svn <= 1.4 + +Sebastian Morr (1): + Add MYMETA.yml to perl/.gitignore + +Stefan Naewe (1): + Documentation/git-update-index: refer to 'ls-files' + +Thomas Rast (1): + Documentation: basic configuration of notes.rewriteRef + + +Version v1.7.6.4; changes since v1.7.6.3: +----------------------------------------- + +Allan Caffee (1): + describe: Refresh the index when run with --dirty + +Clemens Buchacher (1): + ls-files: fix pathspec display on error + +Giuseppe Bilotta (1): + am: format is in $patch_format, not parse_patch + +Jay Soffian (1): + git-mergetool: check return value from read + +Johannes Sixt (1): + t3005: do not assume a particular order of stdout and stderr of git-ls-files + +Junio C Hamano (4): + read_gitfile_gently(): rename misnamed function to read_gitfile() + clone: allow more than one --reference + clone: clone from a repository with relative alternates + Git 1.7.6.4 + +Michael Haggerty (2): + check-ref-format --print: Normalize refnames that start with slashes + Forbid DEL characters in reference names + +Michael J Gruber (1): + branch.c: use the parsed branch name + +Nguyễn Thái Ngọc Duy (1): + clone: allow to clone from .git file + + +Version v1.7.6.3; changes since v1.7.6.2: +----------------------------------------- + +Dave Zarzycki (1): + Do not log unless all connect() attempts fail + +Jeff King (9): + status: fix bug with missing --ignore files + tag: speed up --contains calculation + strbuf_split: add a max parameter + fix "git -c" parsing of values with equals signs + config: die on error in command-line config + config: avoid segfault when parsing command-line config + strbuf: allow strbuf_split to work on non-strbufs + config: use strbuf_split_str instead of a temporary strbuf + reset: give better reflog messages + +Jens Lehmann (1): + fetch: skip on-demand checking when no submodules are configured + +Jonathan Nieder (2): + Documentation: quote double-dash for AsciiDoc + Documentation/i18n: quote double-dash for AsciiDoc + +Junio C Hamano (4): + git status --ignored: tests and docs + mergetool: check return value from read + Prepare for 1.7.6.3 maintenance release + Git 1.7.6.3 + +Michael Schubert (1): + reflog: actually default to subcommand 'show' + +Sverre Rabbelier (1): + SubmittingPathces: remove Cogito reference + +Vitaliy Ivanov (1): + tests: cleanup binary test vector files + + +Version v1.7.6.2; changes since v1.7.6.1: +----------------------------------------- + +Junio C Hamano (3): + whitespace: have SP on both sides of an assignment "=" + Revert "Merge branch 'cb/maint-quiet-push' into maint" + Git 1.7.6.2 + +Pang Yan Han (1): + update-ref: whitespace fix + +Thomas Rast (1): + Documentation: clarify effects of -- <path> arguments + + +Version v1.7.6.1; changes since v1.7.6: +--------------------------------------- + +Alex Neronskiy (2): + Fix documentation of fetch-pack that implies that the client can disconnect after sending wants. + Document the underlying protocol used by shallow repositories and --depth commands. + +Andrew Wong (1): + rebase -i -p: include non-first-parent commits in todo list + +Bert Wesarg (1): + Documentation: clearly specify what refs are honored by core.logAllRefUpdates + +Brandon Casey (2): + t/t7407: demonstrate that the command called by 'submodule foreach' loses stdin + git-submodule.sh: preserve stdin for the command spawned by foreach + +Brian Harring (1): + get_indexed_object can return NULL if nothing is in that slot; check for it + +Carlos Martín Nieto (1): + Documentation: clarify the invalidated tree entry format + +Clemens Buchacher (3): + error_routine: use parent's stderr if exec fails + propagate --quiet to send-pack/receive-pack + notice error exit from pager + +Dmitry Ivankov (1): + doc/fast-import: clarify notemodify command + +Emilio G. Cota (2): + Documentation: ignore *.pdf files + Documentation/Makefile: add *.pdf to `clean' target + +Erik Faye-Lund (1): + connect: correctly number ipv6 network adapter + +Fredrik Kuivinen (1): + Makefile: Track changes to LDFLAGS and relink when necessary + +Heiko Voigt (2): + add gitignore entry to description about how to write a builtin + add technical documentation about ref iteration + +Jack Nagel (1): + Documentation: minor grammatical fix in rev-list-options.txt + +Jakub Narębski (2): + gitweb: Serve text/* 'blob_plain' as text/plain with $prevent_xss + gitweb: Serve */*+xml 'blob_plain' as text/plain with $prevent_xss + +Jeff King (10): + combine-diff: split header printing into its own function + combine-diff: calculate mode_differs earlier + combine-diff: handle binary files as binary + refactor get_textconv to not require diff_filespec + combine-diff: respect textconv attributes + tag: accept multiple patterns for --list + docs: document --textconv diff option + t7400: fix bogus test failure with symlinked trash + fast-export: quote paths in output + am: refresh the index at start and --resolved + +Jens Lehmann (7): + submodule add: test failure when url is not configured in superproject + submodule add: allow relative repository path even when no url is set + submodule add: clean up duplicated code + fetch: Also fetch submodules in subdirectories in on-demand mode + submodule add: always initialize .git/config entry + tests: print failed test numbers at the end of the test run + submodule: update and add must honor --quiet flag + +Johannes Schindelin (1): + get_pwd_cwd(): Do not trust st_dev/st_ino blindly + +Jon Seymour (2): + Add a test to check that git ls-tree sets non-zero exit code on error. + Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails. + +Julian Phillips (1): + remote-curl: Add a format check to parsing of info/refs + +Junio C Hamano (29): + diff-index --quiet: learn the "stop feeding the backend early" logic + checkout -b <name>: correctly detect existing branch + sha1_file.c: "legacy" is really the current format + zlib wrapper: refactor error message formatter + zlib: wrap remaining calls to direct inflate/inflateEnd + zlib: wrap inflateInit2 used to accept only for gzip format + zlib: wrap deflate side of the API + zlib: wrap deflateBound() too + zlib: zlib can only process 4GB at a time + zlib: allow feeding more than 4GB in one go + t/gitweb-lib.sh: skip gitweb tests when perl dependencies are not met + cygwin: trust executable bit by default + git-remote.txt: avoid sounding as if loose refs are the only ones in the world + check-ref-format doc: de-emphasize the implementation detail of a ref + git.txt: de-emphasize the implementation detail of a ref + glossary: update description of "tag" + glossary: update description of head and ref + glossary: clarify description of HEAD + submodule sync: do not auto-vivify uninteresting submodule + "branch -d" can remove more than one branches + test: skip clean-up when running under --immediate mode + checkout: do not write bogus reflog entry out + reset [<commit>] paths...: do not mishandle unmerged paths + diff -c/--cc: do not mistake "resolved as deletion" as "use working tree" + receive-pack: do not overstep command line argument array + helping smart-http/stateless-rpc fetch race + Prepare for 1.7.6.1 + Update draft release notes for 1.7.6.1 + Git 1.7.6.1 + +Martin von Zweigbergk (2): + Documentation: use [verse] for SYNOPSIS sections + rebase: clarify "restore the original branch" + +Michael Haggerty (6): + git-svn: Demonstrate a bug with root commits in mergeinfo ranges + git-svn: Disambiguate rev-list arguments to improve error message + git-svn: Correctly handle root commits in mergeinfo ranges + gitattributes: Clarify discussion of attribute macros + gitattributes: Reword "attribute macro" to "macro attribute" + Do not use C++-style comments + +Michael Schubert (1): + help_unknown_cmd: do not propose an "unknown" cmd + +Michael Witten (1): + filter-branch: Export variable `workdir' for --commit-filter + +Namhyung Kim (1): + git-remote.txt: fix wrong remote refspec + +Nguyễn Thái Ngọc Duy (3): + Break down no-lstat() condition checks in verify_uptodate() + checkout-index: remove obsolete comment + fetch-pack: check for valid commit from server + +Ori Avtalion (1): + pull: remove extra space from reflog message + +Pavan Kumar Sunkara (1): + git-config: Remove extra whitespaces + +Peter Collingbourne (1): + Documentation: git-filter-branch honors replacement refs + + +Version v1.7.6; changes since v1.7.6-rc3: +----------------------------------------- + +Junio C Hamano (1): + Git 1.7.6 + +Namhyung Kim (1): + completion: replace core.abbrevguard to core.abbrev + + +Version v1.7.6-rc3; changes since v1.7.6-rc2: +--------------------------------------------- + +Andreas Schwab (1): + builtin/gc.c: add missing newline in message + +Brandon Casey (1): + sh-i18n--envsubst.c: do not #include getopt.h + +Christof Krüger (1): + Documentation: git diff --check respects core.whitespace + +Dmitry Ivankov (1): + Fix typo: existant->existent + +Jakub Narębski (1): + gitweb: 'pickaxe' and 'grep' features requires 'search' to be enabled + +Jeff King (2): + t/Makefile: pass test opts to valgrind target properly + tests: link shell libraries into valgrind directory + +Jim Meyering (1): + plug a few coverity-spotted leaks + +Junio C Hamano (2): + t7810: avoid unportable use of "echo" + Git 1.7.6-rc3 + + +Version v1.7.6-rc2; changes since v1.7.6-rc1: +--------------------------------------------- + +Jonathan Nieder (1): + gitweb: do not misparse nonnumeric content tag files that contain a digit + +Junio C Hamano (1): + Git 1.7.6-rc2 + + +Version v1.7.6-rc1; changes since v1.7.6-rc0: +--------------------------------------------- + +Alex Riesen (1): + t3703: skip more tests using colons in file names on Windows + +Brandon Casey (2): + t7508: demonstrate status's failure to use --porcelain format with -z + builtin/commit.c: set status_format _after_ option parsing + +Jakub Narębski (4): + gitweb: Move information about installation from README to INSTALL + gitweb: Describe CSSMIN and JSMIN in gitweb/INSTALL + gitweb: Move "Requirements" up in gitweb/INSTALL + gitweb: Fix usability of $prevent_xss + +Jeff King (1): + diff_tree: disable QUICK optimization with diff filter + +Jim Meyering (1): + fetch: do not leak a refspec + +Junio C Hamano (2): + diff: futureproof "stop feeding the backend early" logic + Git 1.7.6-rc1 + + +Version v1.7.6-rc0; changes since v1.7.5.4: +------------------------------------------- + +Boris Faure (1): + Do not strip empty lines / trailing spaces from a commit message template + +Carlos Martín Nieto (1): + log: convert to parse-options + +Conrad Irwin (5): + Use a temporary index for git commit --interactive + Allow git commit --interactive with paths + Add support for -p/--patch to git-commit + Add commit to list of config.singlekey commands + Test atomic git-commit --interactive + +Csaba Henk (1): + rebase: create HEAD reflog entry when aborting + +Dan McGee (4): + Share color list between graph and show-branch + http: make curl callbacks match contracts from curl header + http-push: use const for strings in signatures + http-push: refactor curl_easy_setup madness + +Elijah Newren (3): + t6022: New test checking for unnecessary updates of renamed+modified files + t6022: New test checking for unnecessary updates of files in D/F conflicts + merge-recursive: When we detect we can skip an update, actually skip it + +Erik Faye-Lund (2): + strbuf: make sure buffer is zero-terminated + config: support values longer than 1023 bytes + +Heiko Voigt (1): + test that git status works with merge conflict in, .gitmodules + +Ingo Molnar (1): + hashcmp(): inline memcmp() by hand to optimize + +Jakub Narębski (13): + gitweb: Restructure projects list generation + gitweb: Change the way "content tags" ('ctags') are handled + gitweb: Mark matched 'ctag' / contents tag (?by_tag=foo) + gitweb: Split JavaScript for maintability, combining on build + gitweb.js: Update and improve comments in JavaScript files + gitweb.js: Provide default values for padding in padLeftStr and padLeft + gitweb.js: Extract and improve datetime handling + gitweb.js: Introduce code to handle cookies from JavaScript + gitweb.js: Provide getElementsByClassName method (if it not exists) + gitweb: Refactor generating of long dates into format_timestamp_html + gitweb: Unify the way long timestamp is displayed + gitweb: Make JavaScript ability to adjust timezones configurable + gitweb: Refactor reading and parsing config file into read_config_file + +Jay Soffian (2): + "git log -h": typofix misspelled 'suppress' + Add log.abbrevCommit config variable + +Jeff King (26): + notes: make expand_notes_ref globally accessible + revision.c: refactor notes ref expansion + notes: refactor display notes extra refs field + notes: refactor display notes default handling + revision.c: support --notes command-line option + revision.c: make --no-notes reset --notes list + format-patch: wrap email addresses after long names + add tests for various blame formats + blame: refactor porcelain output + blame: add --line-porcelain output format + t7501.8: feed a meaningful command + fetch: avoid repeated commits in mark_complete + Makefile: sort TEST_PROGRAMS list + refactor refs_from_alternate_cb to allow passing extra data + bisect: refactor sha1_array into a generic sha1 list + receive-pack: eliminate duplicate .have refs + doc: discuss textconv versus external diff drivers + remote: allow "-t" with fetch mirrors + read_in_full: always report errors + t: test subject handling in format-patch / am pipeline + mailinfo: always clean up rfc822 header folding + pretty: add pp_commit_easy function for simple callers + clean up calling conventions for pretty.c functions + format-patch: preserve subject newlines with -k + rebase: write a reflog entry when finishing + format-patch: make zero-length subject prefixes prettier + +Jens Lehmann (3): + Submodules: Don't parse .gitmodules when it contains, merge conflicts + unpack-trees: add the dry_run flag to unpack_trees_options + Teach read-tree the -n|--dry-run option + +Jim Meyering (2): + diffcore-rename.c: avoid set-but-not-used warning + plug a DIR buffer leak in rerere.c + +Johan Herland (10): + log/pretty-options: Document --[no-]notes and deprecate old notes options + Make "git notes add" more user-friendly when there are existing notes + Add several testcases for --dirstat and friends + Make --dirstat=0 output directories that contribute < 0.1% of changes + Refactor --dirstat parsing; deprecate --cumulative and --dirstat-by-file + Add config variable for specifying default --dirstat behavior + Allow specifying --dirstat cut-off percentage as a floating point number + New --dirstat=lines mode, doing dirstat analysis based on diffstat + Improve error handling when parsing dirstat parameters + Mark dirstat error messages for translation + +Johannes Sixt (3): + t3703: Skip tests using directory name ":" on Windows + Tweak t3102-ls-tree-wildcards to run on Windows + Windows: add a wrapper for the shutdown() system call + +John 'Warthog9' Hawley (2): + gitweb: JavaScript ability to adjust time based on timezone + gitweb.js: Add UI for selecting common timezone to display dates + +Jon Seymour (1): + git: add --info-path and --man-path options + +Jonathan Nieder (15): + revisions: split out handle_revision_pseudo_opt function + revisions: allow --glob and friends in parse_options-enabled commands + Documentation: clarify meaning of --html-path, --man-path, and --info-path + tests: eliminate unnecessary setup test assertions + tests: teach verify_parents to check for extra parents + tests: check git does not barf on merge.ff values for future versions of git + completion: move private shopt shim for zsh to __git_ namespace + t4018 (funcname patterns): make .gitattributes state easier to track + t4018 (funcname patterns): make configuration easier to track + t4018 (funcname patterns): minor cleanups + userdiff/perl: anchor "sub" and "package" patterns on the left + userdiff/perl: match full line of POD headers + userdiff/perl: catch sub with brace on second line + tests: make test_expect_code quieter on success + userdiff/perl: tighten BEGIN/END block pattern to reject here-doc delimiters + +Junio C Hamano (53): + merge-recursive: tweak magic band-aid + git diff -D: omit the preimage of deletes + pathspec: rename per-item field has_wildcard to use_wildcard + magic pathspec: add tentative ":/path/from/top/level" pathspec support + merge: allow "-" as a short-hand for "previous branch" + magic pathspec: futureproof shorthand form + magic pathspec: add ":(icase)path" to match case insensitively + Start 1.7.6 cycle + Update draft release notes to 1.7.6 + Update draft release notes to 1.7.6 + Update draft release notes to 1.7.6 + Update draft release notes to 1.7.6 + merge: introduce merge.ff configuration variable + rerere: libify rerere_clear() and rerere_gc() + index_fd(): turn write_object and format_check arguments into one flag + index_fd(): split into two helper functions + convert: rename the "eol" global variable to "core_eol" + convert: give saner names to crlf/eol variables, types and functions + convert: make it safer to add conversion attributes + convert: make it harder to screw up adding a conversion attribute + git-grep: do not die upon -F/-P when grep.extendedRegexp is set. + Revert "magic pathspec: add ":(icase)path" to match case insensitively" + pathspec: drop "lone : means no pathspec" from get_pathspec() + grep: use get_pathspec() correctly + fix overstrict :<path> diagnosis + fix overslow :/no-such-string-ever-existed diagnostics + rev/path disambiguation: further restrict "misspelled index entry" diag + Revert "completion: don't declare 'local words' to make zsh happy" + Update draft release notes to 1.7.6 + revision.c: leave a note for "a lone :" enhancement + Update draft release notes to 1.7.6 + Bigfile: teach "git add" to send a large file straight to a pack + Declare lookup_replace_object() in cache.h, not in commit.h + t6050: make sure we test not just commit replacement + read_sha1_file(): get rid of read_sha1_file_repl() madness + inline lookup_replace_object() calls + read_sha1_file(): allow selective bypassing of replacement mechanism + Sync release notes for 1.7.6 to exclude what are in maintenance track + git-grep: update tests now regexp type is "last one wins" + Makefile: Pass USE_LIBPCRE down in GIT-BUILD-OPTIONS + Update release notes to 1.7.6 + notes remove: allow removing more than one + notes remove: --ignore-missing + notes remove: --stdin reads from the standard input + show: --ignore-missing + Revert "Merge branch 'en/merge-recursive'" + Update draft release notes to 1.7.6 + Update 1.7.6 draft release notes + require-work-tree wants more than what its name says + compat/fnmatch/fnmatch.c: give a fall-back definition for NULL + Update 1.7.6 draft release notes + log: --quiet should serve as synonym to -s + Update draft release notes to 1.7.6 + +Luke Diamand (3): + git-p4: add option to preserve user names + git-p4: small improvements to user-preservation + git-p4: warn if git authorship won't be retained + +Marius Storm-Olsen (1): + Automatically autoload bashcompinit for ZSH, when needed + +Martin von Zweigbergk (34): + rebase: clearer names for directory variables + rebase: refactor reading of state + rebase: read state outside loop + rebase: remove unused rebase state 'prev_head' + rebase: improve detection of rebase in progress + rebase: act on command line outside parsing loop + rebase: stricter check of standalone sub command + rebase: align variable names + rebase: align variable content + rebase: factor out command line option processing + rebase -i: remove now unnecessary directory checks + rebase: reorder validation steps + rebase: factor out reference parsing + rebase: factor out clean work tree check + rebase: factor out call to pre-rebase hook + rebase -i: support --stat + rebase: remove $branch as synonym for $orig_head + rebase: extract merge code to new source file + rebase: extract am code to new source file + rebase: show consistent conflict resolution hint + rebase -i: align variable names + rebase: make -v a tiny bit more verbose + rebase: factor out sub command handling + rebase: extract code for writing basic state + rebase: remember verbose option + rebase: remember strategy and strategy options + rebase -m: remember allow_rerere_autoupdate option + rebase -m: don't print exit code 2 when merge fails + git-rebase--am: remove unnecessary --3way option + rebase -i: don't read unused variable preserve_merges + rebase -i: remove unnecessary state rebase-root + rebase: use @{upstream} if no upstream specified + Makefile: do not install sourced rebase scripts + rebase: define options in OPTIONS_SPEC + +Mathias Lafeldt (1): + t/test-lib.sh: minor readability improvements + +Michael Haggerty (1): + git-svn: add an option to skip the creation of empty directories + +Michael J Gruber (7): + contrib/completion: --notes, --no-notes + rev-list --count: separate count for --cherry-mark + t1020: test !alias in subdirectory + handle_alias: provide GIT_PREFIX to !alias + config: define and document exit codes + config: Give error message when not changing a multivar + sh-18n: quell "unused variable" warning + +Michael Schubert (2): + tag: disallow '-' as tag name + ls-remote: the --exit-code option reports "no matching refs" + +Michał Kiedrowicz (11): + Documentation: Add --line-number to git-grep synopsis + contrib/completion: --line-number to git grep + grep: Put calls to fixmatch() and regmatch() into patmatch() + grep: Fix a typo in a comment + grep: Extract compile_regexp_failed() from compile_regexp() + git-grep: Learn PCRE + configure: Check for libpcre + grep: Add basic tests + git-grep: Bail out when -P is used with -F or -E + git-grep: Update tests (mainly for -P) + git-grep: Fix problems with recently added tests + +Namhyung Kim (1): + blame: add --abbrev command line option and make it honor core.abbrev + +Nguyễn Thái Ngọc Duy (8): + Reimplement read_tree_recursive() using tree_entry_interesting() + Convert read_tree{,_recursive} to support struct pathspec + Improve tree_entry_interesting() handling code + setup: return correct prefix if worktree is '/' + Kill off get_relative_cwd() + t1011: fix sparse-checkout initialization and add new file + sparse checkout: do not eagerly decide the fate for whole directory + t3703, t4208: add test cases for magic pathspec + +Nicolas Morey-Chaisemartin (1): + submodule: Add --force option for git submodule update + +Rafael Gieschke (1): + ident: add NO_GECOS_IN_PWENT for systems without pw_gecos in struct passwd + +Ramsay Jones (9): + Makefile: Use cgcc rather than sparse in the check target + sparse: Fix an "symbol 'cmd_index_pack' not declared" warning + sparse: Fix some "Using plain integer as NULL pointer" warnings + sparse: Fix an "symbol 'format_subject' not declared" warning + sparse: Fix an "symbol 'merge_file' not decared" warning + sparse: Fix errors due to missing target-specific variables + sparse: Fix some "symbol not declared" warnings + setup.c: Fix some "symbol not declared" sparse warnings + config.c: Remove unused git_config_global() function + +René Scharfe (1): + strbuf: clarify assertion in strbuf_setlen() + +SZEDER Gábor (3): + completion: don't modify the $cur variable in completion functions + completion: remove unnecessary _get_comp_words_by_ref() invocations + completion: don't declare 'local words' to make zsh happy + +Sebastien Cevey (3): + gitweb: Split git_project_list_body in two functions + gitweb: Modularized git_get_project_description to be more generic + gitweb: Optional grouping of projects by category + +Tay Ray Chuan (1): + t5541-http-push: add test for chunked + +Ævar Arnfjörð Bjarmason (5): + git-sh-i18n--envsubst: our own envsubst(1) for eval_gettext() + git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers + git-sh-i18n.sh: add GIT_GETTEXT_POISON support + Makefile: add xgettext target for *.sh files + git-sh-i18n--envsubst: add SYNOPSIS section to the documentation + + +Version v1.7.5.4; changes since v1.7.5.3: +----------------------------------------- + +Brandon Casey (2): + Documentation/technical/api-diff.txt: correct name of diff_unmerge() + git-submodule.sh: separate parens by a space to avoid confusing some shells + +Jeff King (8): + config: make environment parsing routines static + git_config: don't peek at global config_parameters + config: always parse GIT_CONFIG_PARAMETERS during git_config + read_gitfile_gently: use ssize_t to hold read result + docs: minor grammar fixes to git-status + docs: update status --porcelain format + docs: make sure literal "->" isn't converted to arrow + docs: fix some antique example output + +Jim Meyering (3): + rerere.c: diagnose a corrupt MERGE_RR when hitting EOF between TAB and '\0' + remove tests of always-false condition + diffcore-rename.c: avoid set-but-not-used warning + +Jonathan Nieder (3): + tests: check error message from run_command + run-command: handle short writes and EINTR in die_child + Documentation: do not misinterpret refspecs as bold text + +Junio C Hamano (26): + builtin/diff.c: remove duplicated call to diff_result_code() + diffcore-rename: refactor "too many candidates" logic + diffcore-rename: record filepair for rename src + diffcore-rename: fall back to -C when -C -C busts the rename limit + i18n: do not overuse C_LOCALE_OUTPUT + i18n: .git file is not a human readable message (t5601) + i18n: use test_i18ncmp in t1200 and t2200 + i18n: do not overuse C_LOCALE_OUTPUT (grep) + i18n: use test_i18ngrep in lib-httpd and t2019 + i18n: use test_i18ngrep in t2020, t2204, t3030, and t3200 + i18n: use test_i18ncmp and test_i18ngrep in t3203, t3501 and t3507 + i18n: use test_i18ncmp and test_i18ngrep in t3700, t4001 and t4014 + i18n: use test_i18ncmp and test_i18ngrep in t5541, t6040, t6120, t7004, t7012 and t7060 + i18n: use test_i18ncmp and test_i18ngrep in t7102 and t7110 + i18n: use test_i18ngrep in t7201 + i18n: use test_i18ncmp in t7500 + i18n: use test_i18ngrep in t7501 + i18n: use test_i18ngrep and test_i18ncmp in t7502 + i18n: use test_i18ngrep in t7506 + i18n: use test_i18n{grep,cmp} in t7508 + i18n: use test_i18n{cmp,grep} in t7600, t7607, t7611 and t7811 + handle_options(): do not miscount how many arguments were used + userformat_find_requirements(): find requirement for the correct format + config.mak.in: allow "configure --sysconfdir=/else/where" + Start 1.7.5.4 draft release notes + Git 1.7.5.4 + +Mathias Lafeldt (1): + t/README: unify documentation of test function args + +Ramkumar Ramachandra (4): + Documentation: Add filter.<driver>.* to config + Documentation: Move diff.<driver>.* from config.txt to diff-config.txt + Documentation: Add diff.<driver>.* to config + Documentation: Allow custom diff tools to be specified in 'diff.tool' + +Thomas Rast (1): + add -i: ignore terminal escape sequences + +Valentin Haenel (5): + config.txt: 'interactive.singlekey; is used by... + git-add.txt: document 'interactive.singlekey' + git-stash.txt: better docs for '--patch' + git-checkout.txt: better docs for '--patch' + git-reset.txt: better docs for '--patch' + +Ævar Arnfjörð Bjarmason (7): + i18n: mark merge "Could not read from" message for translation + i18n: mark merge "upstream" messages for translation + i18n: mark merge CHERRY_PICK_HEAD messages for translation + i18n: mark clone nonexistent repository message for translation + i18n: mark checkout --detach messages for translation + i18n: mark checkout plural warning for translation + i18n: mark init-db messages for translation + + +Version v1.7.5.3; changes since v1.7.5.2: +----------------------------------------- + +Felipe Contreras (1): + git-completion: fix regression in zsh support + +Fraser Tweedale (1): + gitweb: supply '-n' to gzip for identical output + +Jeff King (8): + send-pack: unbreak push over stateless rpc + cherry-pick: handle root commits with external strategies + revert: allow reverting a root commit + t3503: test cherry picking and reverting root commits + connect: treat generic proxy processes like ssh processes + connect: let callers know if connection is a socket + send-pack: avoid deadlock on git:// push with failed pack-objects + test core.gitproxy configuration + +Jim Meyering (1): + do not read beyond end of malloc'd buffer + +Johannes Sixt (3): + Documentation/format-patch: suggest Toggle Word Wrap add-on for Thunderbird + send-pack: avoid deadlock when pack-object dies early + Honor $(prefix) set in config.mak* when defining ETC_GIT* + +Jonathan Nieder (5): + Revert "t0081 (line-buffer): add buffering tests" + Documentation: explain how to check for patch corruption + Documentation: hints for sending patches inline with Thunderbird + Documentation: publicize KMail hints for sending patches inline + Documentation: publicize hints for sending patches with GMail + +Junio C Hamano (4): + Revert "Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir" + setup_revisions(): take pathspec from command line and --stdin correctly + sideband_demux(): fix decl-after-stmt + Git 1.7.5.3 + +Kacper Kornet (1): + Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir + +Michael J Gruber (2): + config.txt,diff-options.txt: porcelain vs. plumbing for color.diff + git-svn: Fix git svn log --show-commit + +Nguyễn Thái Ngọc Duy (1): + init/clone: remove short option -L and document --separate-git-dir + +Rafael Gieschke (1): + copy_gecos: fix not adding nlen to len when processing "&" + +Stefan Sperling (1): + remove noise and inaccuracies from git-svn docs + + +Version v1.7.5.2; changes since v1.7.5.1: +----------------------------------------- + +Andrew Wong (1): + git-rebase--interactive.sh: preserve-merges fails on merges created with no-ff + +Brian Gernhardt (1): + t/annotate-tests: Use echo & cat instead of sed + +Carlos Martín Nieto (2): + format-patch: don't pass on the --quiet flag + format-patch: document --quiet option + +Ciaran Jessup (1): + Pass empty file to p4merge where no base is suitable. + +Dima Sharov (1): + shell: add missing initialization of argv0_path + +Guy Rouillier (1): + Look for password in both CVS and CVSNT password files. + +Jakub Narębski (2): + git-instaweb: Simplify build dependency on gitweb + Remove gitweb/gitweb.cgi and other legacy targets from main Makefile + +Jeff King (3): + pretty: quote rfc822 specials in email addresses + add tests for merge-index / merge-one-file + merge-one-file: fix broken merges with alternate work trees + +Jim Meyering (1): + Documentation/git-fsck.txt: fix typo: unreadable -> unreachable + +Johan Herland (1): + t5400: Fix a couple of typos + +Jonathan Nieder (4): + Restructure documentation for git-merge-base. + Documentation: describe the format of messages with inline patches + add, merge, diff: do not use strcasecmp to compare config variable names + provide a copy of the LGPLv2.1 + +Jonathon Mah (1): + mergetool: Teach about submodules + +Josh Stone (1): + blame: tolerate bogus e-mail addresses a bit better + +João Britto (1): + Remove duplicated "is a" + +Junio C Hamano (19): + test: use $_z40 from test-lib + diff.c: return filepair from diff_unmerge() + diff: remove often unused parameters from diff_unmerge() + diff-files: show unmerged entries correctly + Fix "add -u" that sometimes fails to resolve unmerged paths + add -p: 'q' should really quit + t3701: Editing a split hunk in an "add -p" session + add--interactive.perl: factor out repeated --recount option + "add -p": work-around an old laziness that does not coalesce hunks + t3701: fix here document + merge: make branch.<name>.mergeoptions correctly override merge.<option> + t3701: add-p-fix makes the last test to pass + t1507: avoid "${parameter<op>'word'}" inside double-quotes + Prepare for 1.7.5.2 + sha1_file: typofix + git_open_noatime(): drop unused parameter + Update draft release notes to 1.7.5.2 + Update draft release notes to 1.7.5.2 + Git 1.7.5.2 + +Martin von Zweigbergk (1): + diffcore-rename: don't consider unmerged path as source + +Michael J Gruber (1): + git-fast-import.txt: --relative-marks takes no parameter + +Sebastian Schuberth (1): + doc: Clarify that "cherry-pick -x" does not use "git notes" + +Sverre Rabbelier (1): + fast-import: fix option parser for no-arg options + +Valentin Haenel (3): + git-svn.txt: fix usage of --add-author-from + git-svn.txt: move option descriptions + git-svn.txt: small typeface improvements + +Vincent van Ravesteijn (1): + Documentation: update to git-merge-base --octopus + + +Version v1.7.5.1; changes since v1.7.5: +--------------------------------------- + +Alex Riesen (1): + clean: unreadable directory may still be rmdir-able if it is empty + +Dan McGee (2): + stash: add two more tests for --no-keep-index + stash: ensure --no-keep-index and --patch can be used in any order + +Jeff King (3): + stash: fix accidental apply of non-existent stashes + stash: drop dirty worktree check on apply + upload-pack: start pack-objects before async rev-list + +Johan Herland (4): + --dirstat: Describe non-obvious differences relative to --stat or regular diff + --dirstat-by-file: Make it faster and more correct + Teach --dirstat not to completely ignore rearranged lines within a file + --dirstat: In case of renames, use target filename instead of source filename + +Jon Seymour (1): + stash: fix false positive in the invalid ref test. + +Junio C Hamano (4): + Teach core.bigfilethreashold to pack-objects + http: clear POSTFIELDS when initializing a slot + Start 1.7.5.1 maintenance track + Git 1.7.5.1 + +Michael J Gruber (6): + builtin/log.c: separate default and setup of cmd_log_init() + t/t1411: test reflog with formats + reflog: fix overriding of command line options + t1506: factor out test for "Did you mean..." + sha1_name: Suggest commit:./file for path in subdir + date: avoid "X years, 12 months" in relative dates + +Sylvain Rabot (1): + git-send-email: fix missing space in error message + +Valentin Haenel (1): + git-add.txt: document 'add.ignoreErrors' + + +Version v1.7.5; changes since v1.7.5-rc3: +----------------------------------------- + +Junio C Hamano (1): + Git 1.7.5 + + +Version v1.7.5-rc3; changes since v1.7.5-rc2: +--------------------------------------------- + +Junio C Hamano (3): + Revert "run-command: prettify -D_FORTIFY_SOURCE workaround" + Git 1.7.4.5 + Git 1.7.5-rc3 + +Michael J Gruber (3): + git.txt: fix list continuation + t3306,t5304: avoid clock skew issues + git-svn.txt: Document --mergeinfo + +René Scharfe (1): + archive: document limitation of tar.umask config setting + + +Version v1.7.5-rc2; changes since v1.7.5-rc1: +--------------------------------------------- + +Alejandro R. Sedeño (1): + git-svn: Add a svn-remote.<name>.pushurl config key + +Anders Kaseorg (2): + gitk: Take only numeric version components when computing $git_version + gitk: Update cherry-pick error message parsing + +Andrew Garber (1): + git-p4: replace each tab with 8 spaces for consistency + +James Y Knight (1): + git-svn: Cache results of running the executable "git config" + +Jim Meyering (1): + remove doubled words, e.g., s/to to/to/, and fix related typos + +Johannes Sixt (2): + t0001: guard a new test with SYMLINKS prerequisite + t2021: mark a test as fixed + +Junio C Hamano (1): + Git 1.7.5-rc2 + +Pat Thoyts (1): + gitk: Quote tag names in event bindings to avoid problems with % chars + +Paul Mackerras (1): + gitk: Allow user to control how much of the SHA1 ID gets auto-selected + +Ramkumar Ramachandra (1): + revert: Hide '-r' option in default usage + +Ramsay Jones (1): + i18n: avoid parenthesized string as array initializer + +Skip (1): + gitk: spelling fixes in Russian translation + +Ævar Arnfjörð Bjarmason (1): + Makefile: extract Q_() source strings as ngettext() + + +Version v1.7.5-rc1; changes since v1.7.5-rc0: +--------------------------------------------- + +Dan McGee (2): + Remove old binaries from .gitignore + Fix two unused variable warnings in gcc 4.6 + +Jakub Narębski (1): + gitweb: Fix parsing of negative fractional timezones in JavaScript + +Jared Hance (1): + merge: match the help text with the documentation + +Jeff King (7): + merge: merge unborn index before setting ref + pull: do not clobber untracked files on initial pull + remote: disallow some nonsensical option combinations + remote: separate the concept of push and fetch mirrors + remote: deprecate --mirror + docs: fix filter-branch subdir example for exotic repo names + pull: do not clobber untracked files on initial pull + +Jens Lehmann (7): + fetch/pull: recurse into submodules when necessary + fetch/pull: Add the 'on-demand' value to the --recurse-submodules option + config: teach the fetch.recurseSubmodules option the 'on-demand' value + Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option + fetch/pull: Don't recurse into a submodule when commits are already present + submodule update: Don't fetch when the submodule commit is already present + fetch/pull: Describe --recurse-submodule restrictions in the BUGS section + +Joe Ratterman (1): + grep: allow -E and -n to be turned on by default via configuration + +Jonathan Nieder (1): + compat: add missing #include <sys/resource.h> + +Junio C Hamano (8): + merge: merge with the default upstream branch without argument + "log --cherry-pick" documentation regression fix + Doc: mention --delta-base-offset is the default for Porcelain commands + Git 1.7.4.3 + Update release notes + Start preparing for 1.7.4.4 + Git 1.7.4.4 + Git 1.7.5-rc1 + +Lawrence Mitchell (1): + git.el: Don't use font-lock-compile-keywords + +Michael J Gruber (3): + revisions.txt: consistent use of quotes + revisions.txt: structure with a labelled list + revisions.txt: language improvements + +Nguyễn Thái Ngọc Duy (2): + git-init.txt: move description section up + init, clone: support --separate-git-dir for .git file + +Nicolas Morey-Chaisemartin (1): + submodule: process conflicting submodules only once + +SZEDER Gábor (1): + Documentation: trivial grammar fix in core.worktree description + +Stephen Boyd (2): + Makefile: Cover more files with make check + sparse: Fix errors and silence warnings + +Ævar Arnfjörð Bjarmason (70): + i18n: git-init basic messages + i18n: git-init "Initialized [...] repository" message + i18n: git-clone basic messages + i18n: git-clone "Cloning into" message + i18n: git-clone "Cloning into" message + i18n: git-add basic messages + i18n: git-add "The following paths are ignored" message + i18n: git-add "did not match any files" message + i18n: git-add "remove '%s'" message + i18n: git-add "Unstaged changes" message + i18n: git-branch basic messages + i18n: git-branch "remote branch '%s' not found" message + i18n: git-branch "Deleted branch [...]" message + i18n: git-branch "git branch -v" messages + i18n: git-branch "(no branch)" message + i18n: git-checkout basic messages + i18n: git-checkout: our/their version message + i18n: git-checkout describe_detached_head messages + i18n: git-checkout "HEAD is now at" message + i18n: git-checkout "Switched to a .. branch" message + i18n: git-commit basic messages + i18n: git-commit "middle of a merge" message + i18n: git-commit formatting messages + i18n: git-commit print_summary messages + i18n: git-commit "enter the commit message" message + i18n: git-commit advice messages + i18n: git-diff basic messages + i18n: git-fetch basic messages + i18n: git-fetch formatting messages + i18n: git-fetch update_local_ref messages + i18n: git-fetch split up "(non-fast-forward)" message + i18n: git-grep basic messages + i18n: git-grep "--open-files-in-pager" message + i18n: git-log basic messages + i18n: git-log "--OPT does not make sense" messages + i18n: git-merge basic messages + i18n: git-merge "Updating %s..%s" message + i18n: git-merge "You have not concluded your merge" messages + i18n: git-merge "Wonderful" message + i18n: git-mv basic messages + i18n: git-mv "bad" messages + i18n: git-rm basic messages + i18n: git-reset basic messages + i18n: git-reset reset_type_names messages + i18n: git-reset "Unstaged changes after reset" message + i18n: git-tag basic messages + i18n: git-tag tag_template message + i18n: git-push basic messages + i18n: git-push "prevent you from losing" message + i18n: git-status basic messages + i18n: git-status "nothing to commit" messages + i18n: git-status shortstatus messages + i18n: git-status "Changes to be committed" message + i18n: git-status "Initial commit" message + i18n: git-status "renamed: " message + i18n: git-archive basic messages + i18n: git-bundle basic messages + i18n: git-clean basic messages + i18n: git-clean clean.requireForce messages + i18n: git-describe basic messages + i18n: git-gc basic messages + i18n: git-gc "Auto packing the repository" message + i18n: git-notes basic commands + i18n: git-notes GIT_NOTES_REWRITE_MODE error message + i18n: git-revert basic messages + i18n: git-revert "Your local changes" message + i18n: git-revert literal "me" messages + i18n: git-revert split up "could not revert/apply" message + i18n: git-shortlog basic messages + t2019-checkout-ambiguous-ref.sh: depend on C_LOCALE_OUTPUT + + +Version v1.7.5-rc0; changes since v1.7.4.5: +------------------------------------------- + +Alex Riesen (2): + git-gui: update russian translation + git-gui: update russian translation + +Alexandre Erwin Ittner (1): + git-gui: add Brazilian Portuguese (pt-BR) translation + +Bert Wesarg (16): + git-gui: fix ANSI-color parsing + git-gui: respect conflict marker size + git-gui: fix browsers [Up To Parent] in sub-sub-directories. + git-gui: Fix use of renamed tag. + git-gui: Fix use of hunk tag for non-hunk content. + git-gui: fix typo in image data + git-gui: remove 'no such variable' for s error when encounter unknown file states + git-gui: learn more type change states + git-gui: rework handling of diff header + git-gui: handle index lines only in the diff header + git-gui: name also new symlinks so + git-gui: there is no "mode *" diff header line + git-gui: move 3way diff autodetect up + git-gui: always reset the current tag + git-gui: handle special content lines only in the diff header section + git-gui: handle meta diff header lines only in the header section + +Carlo Marcelo Arenas Belon (1): + setup: translate symlinks in filename when using absolute paths + +Carlos Martín Nieto (1): + Name make_*_path functions more accurately + +David Barr (8): + vcs-svn: Allow simple v3 dumps (no deltas yet) + vcs-svn: Implement Prop-delta handling + fast-import: add 'ls' command + vcs-svn: use strbuf for revision log + vcs-svn: use strbuf for author, UUID, and URL + vcs-svn: implement perfect hash for node-prop keys + vcs-svn: implement perfect hash for top-level keys + vcs-svn: use strchr to find RFC822 delimiter + +Drew Northup (1): + Documentation: "rebase <onto> <that>" stays on <that> branch upon exit + +Elijah Newren (2): + Make rev-list --objects work together with pathspecs + Add testcases showing how pathspecs are handled with rev-list --objects + +Erik Faye-Lund (1): + alias: use run_command api to execute aliases + +Giuseppe Bilotta (1): + Improve test for pthreads flag + +Heiko Voigt (13): + git gui: keep selected branch when remote is changed in push dialog + git-gui: scroll down to default selection for push dialog + git-gui: instead of defaulting to home directory use working directory + mingw: move unlink wrapper to mingw.c + mingw: work around irregular failures of unlink on windows + mingw: make failures to unlink or move raise a question + mingw: add fallback for rmdir in case directory is in use + git-gui: fix deleting item from all_remotes variable + git-gui: always default to the last merged branch in remote delete + git-gui: refactor remote submenu creation into subroutine + git-gui: teach fetch/prune menu to do it for all remotes + git-gui: fetch/prune all entry only for more than one entry + git-gui: fetch/prune all entry appears last + +Ian Wienand (1): + Obey p4 views when using client spec + +Jakob Pfender (2): + object.h: Remove obsolete struct object_refs + git-completion: Add git help completion for aliases + +Jakub Narębski (1): + gitweb: Make i18n (encoding) tests in t9500 leave clean state + +Jay Soffian (4): + git-checkout.txt: improve detached HEAD documentation + Introduce CHERRY_PICK_HEAD + bash: teach __git_ps1 about CHERRY_PICK_HEAD + Teach commit about CHERRY_PICK_HEAD + +Jeff King (23): + merge: improve inexact rename limit warning + bump rename limit defaults (again) + commit: stop setting rename limit + add inexact rename detection progress infrastructure + merge: enable progress reporting for rename detection + pull: propagate --progress to merge + compat: provide a fallback va_copy definition + strbuf: add strbuf_vaddf + trace: add trace_vprintf + trace: refactor to support multiple env variables + trace: factor out "do we want to trace" logic + trace: add trace_strbuf + add packet tracing debug code + trace: give repo_setup trace its own key + doc: drop author/documentation sections from most pages + doc: add missing git footers + docs: point git.txt author credits to git-scm.com + checkout: add basic tests for detached-orphan warning + checkout: clear commit marks after detached-orphan check + checkout: tweak detached-orphan warning format + t7607: mark known breakage in test 11 as fixed + t7607: clean up stray untracked file + tests: kill backgrounded processes more robustly + +Jens Lehmann (1): + tests: fix overeager scrubbing of environment variables + +Johannes Schindelin (2): + mingw_rmdir: set errno=ENOTEMPTY when appropriate + Remove unused variables + +Johannes Sixt (1): + rerere forget: deprecate invocation without pathspec + +Jonathan Nieder (75): + vcs-svn: Check for errors from open() + vcs-svn: Eliminate node_ctx.srcRev global + vcs-svn: Eliminate node_ctx.mark global + vcs-svn: Unclutter handle_node by introducing have_props var + vcs-svn: Use mark to indicate nodes with included text + vcs-svn: handle_node: Handle deletion case early + vcs-svn: Replace = Delete + Add + vcs-svn: Combine repo_replace and repo_modify functions + vcs-svn: Delay read of per-path properties + vcs-svn: Reject path nodes without Node-action + vcs-svn: More dump format sanity checks + vcs-svn: Make source easier to read on small screens + vcs-svn: Split off function for handling of individual properties + vcs-svn: Sharpen parsing of property lines + vcs-svn: Allow change nodes for root of tree (/) + cherry-pick/revert: add support for -X/--strategy-option + unpack-trees: handle lstat failure for existing directory + unpack-trees: handle lstat failure for existing file + userdiff: simplify word-diff safeguard + t4034 (diff --word-diff): style suggestions + glossary: define pathspec + checkout: split off a function to peel away branchname arg + checkout: rearrange update_refs_for_switch for clarity + t3507: introduce pristine-detach helper + checkout: add missing const to describe_detached_head + update-index --refresh --porcelain: add missing const + vcs-svn: eliminate global byte_buffer + vcs-svn: replace buffer_read_string memory pool with a strbuf + vcs-svn: collect line_buffer data in a struct + vcs-svn: teach line_buffer to handle multiple input files + vcs-svn: make test-line-buffer input format more flexible + tests: give vcs-svn/line_buffer its own test script + vcs-svn: tweak test-line-buffer to not assume line-oriented input + t0081 (line-buffer): add buffering tests + vcs-svn: add binary-safe read function + vcs-svn: allow character-oriented input + vcs-svn: allow input from file descriptor + vcs-svn: teach line_buffer about temporary files + fast-import: make code "-Wpointer-arith" clean + vcs-svn: introduce repo_read_path to check the content at a path + vcs-svn: handle_node: use repo_read_path + vcs-svn: simplify repo_modify_path and repo_copy + vcs-svn: allow input errors to be detected promptly + compat: fall back on __va_copy if available + wt-status: add helpers for printing wt-status lines + commit: refer to commit template as s->fp + commit, status: use status_printf{,_ln,_more} helpers + i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set + wt-status: add helpers for printing wt-status lines + commit: refer to commit template as s->fp + commit, status: use status_printf{,_ln,_more} helpers + i18n: add stub Q_() wrapper for ngettext + i18n: "make distclean" should clean up after "make pot" + tests: stop worrying about obsolete environment variables + tests: suppress system gitattributes + gitattributes: drop support for GIT_ATTR_NOGLOBAL + config: drop support for GIT_CONFIG_NOGLOBAL + tests: scrub environment of GIT_* variables + declare 1-bit bitfields to be unsigned + vcs-svn: remove spurious semicolons + mktag: avoid %td in format string + unbreak and eliminate NO_C99_FORMAT + run-command: prettify -D_FORTIFY_SOURCE workaround + vcs-svn: improve support for reading large files + vcs-svn: make buffer_skip_bytes return length read + vcs-svn: make buffer_copy_bytes return length read + vcs-svn: improve reporting of input errors + tests: avoid nonportable {foo,bar} glob + vcs-svn: make reading of properties binary-safe + vcs-svn: remove buffer_read_string + vcs-svn: avoid unnecessary copying of log message and author + vcs-svn: handle log message with embedded NUL + vcs-svn: add missing cast to printf argument + vcs-svn: add missing cast to printf argument + tests: make sure input to sed is newline terminated + +Junio C Hamano (29): + unpack-trees.c: cosmetic fix + unpack_trees(): skip trees that are the same in all input + t4034 (diff --word-diff): add a minimum Perl drier test vector + t6004: add pathspec globbing test for log family + checkout: introduce --detach synonym for "git checkout foo^{commit}" + Rename t2019 with typo "amiguous" that meant "ambiguous" + Revert "unpack_trees(): skip trees that are the same in all input" + grep --no-index: honor pathspecs correctly + rev-list: --left/right-only are mutually exclusive + commit: give final warning when reattaching HEAD to leave commits behind + Start preparing release notes to 1.7.5 + Update Release Notes to 1.7.5 + Update draft release notes to 1.7.5 + refs_from_alternate: helper to use refs from alternates + fetch-pack: objects in our alternates are available to us + fetch-pack: factor out hardcoded handshake window size + fetch-pack: progressively use larger handshake windows + fetch-pack: use smaller handshake window for initial request + Update drart release notes to 1.7.5 + Update draft release notes to 1.7.5 + rerere: make sure it works even in a workdir attached to a young repository + Update draft release note to 1.7.5 + Revert "upload-pack: Implement no-done capability" + Revert "fetch-pack: Implement no-done capability" + enable "no-done" extension only when fetching over smart-http + Fix potential local deadlock during fetch-pack + enable "no-done" extension only when serving over smart-http + Revert two "no-done" reverts + Git 1.7.5-rc0 + +Kevin Cernekee (1): + gitweb: fix #patchNN anchors when path_info is enabled + +Martin von Zweigbergk (2): + rerere "remaining" + mergetool: don't skip modify/remove conflicts + +Matthieu Moy (2): + push: better error messages when push.default = tracking + push: better error message when no remote configured + +Michael Horowitz (1): + git-p4 submit: prevent 'Jobs' section from being removed from p4 change log + +Michael J Gruber (14): + revlist.c: introduce --left/right-only for unsymmetric picking + t6007: Make sure we test --cherry-pick + rev-list: documentation and test for --left/right-only + git-add: make -A description clearer vs. -u + rev-list/log: factor out revision mark generation + revision.c: introduce --cherry-mark + rev-list: documentation and test for --cherry-mark + log --cherry: a synonym + t6007: test rev-list --cherry + git-log: put space after commit mark + RelNotes/1.7.5.txt: typo and language fixes + t6009: use test_commit() from test-lib.sh + revision.c: introduce --min-parents and --max-parents options + rev-list --min-parents,--max-parents: doc, test and completion + +Michael Witten (1): + vcs-svn: a void function shouldn't try to return something + +Nguyễn Thái Ngọc Duy (22): + Add struct pathspec + diff-no-index: use diff_tree_setup_paths() + Convert struct diff_options to use struct pathspec + tree_entry_interesting(): remove dependency on struct diff_options + Move tree_entry_interesting() to tree-walk.c and export it + diff-tree: convert base+baselen to writable strbuf + tree_entry_interesting(): refactor into separate smaller functions + tree_entry_interesting(): support depth limit + tree_entry_interesting(): fix depth limit with overlapping pathspecs + tree_entry_interesting(): support wildcard matching + tree_entry_interesting(): optimize wildcard matching when base is matched + pathspec: add match_pathspec_depth() + struct rev_info: convert prune_data to struct pathspec + Convert ce_path_match() to use struct pathspec + Convert ce_path_match() to use match_pathspec_depth() + grep: convert to use struct pathspec + grep: use match_pathspec_depth() for cache/worktree grepping + grep: use writable strbuf from caller for grep_tree() + grep: drop pathspec_matches() in favor of tree_entry_interesting() + t7810: overlapping pathspecs and depth limit + Make hash-object more robust against malformed objects + git.c: reorder builtin command list + +Nicolas Kaiser (1): + transport-helper.c: fix check for (size_t < 0) + +Pat Thoyts (2): + git-gui: Include version check and test for tearoff menu entry + git-gui: detect the use of MUI langauge packs on Windows + +Pete Wyckoff (12): + git-p4: test script + git-p4: fix key error for p4 problem + git-p4: add missing newline in initial import message + git-p4: accommodate new move/delete type in p4 + git-p4: reinterpret confusing p4 message + git-p4: better message for "git-p4 sync" when not cloned + git-p4: decode p4 wildcard characters + git-p4: support clone --bare + git-p4: fix clone @all regression + git-p4: test clone @all + git-p4: fix sync new branch regression + git-p4: test sync new branch + +Piotr Krukowiecki (1): + Documentation: running test with --debug keeps "trash" directory + +Ramkumar Ramachandra (1): + fast-import: Introduce --import-marks-if-exists + +René Scharfe (2): + repo-config: add deprecation warning + grep: read patterns from stdin with -f - + +SZEDER Gábor (2): + bash: fix misindented esac statement in __git_complete_file() + bash: complete 'git diff ...branc<TAB>' + +Sebastian Schuberth (4): + mergetool--lib: Sort tools alphabetically for easier lookup + mergetool--lib: Add Beyond Compare 3 as a tool + mergetool--lib: Sort tools alphabetically for easier lookup + mergetool--lib: Add Beyond Compare 3 as a tool + +Serge Ziryukin (1): + git-gui: fix russian translation typos + +Shawn O. Pearce (6): + smart-http: Don't use Expect: 100-Continue + smart-http: Really never use Expect: 100-continue + fetch-pack: Finish negotation if remote replies "ACK %s ready" + upload-pack: More aggressively send 'ACK %s ready' + fetch-pack: Implement no-done capability + upload-pack: Implement no-done capability + +Skip (1): + git-gui: spelling fixes in russian translation + +Stefan Naewe (1): + git-gui: use --exclude-standard to check for untracked files + +Stephen Boyd (1): + Fix sparse warnings + +Thomas Rast (2): + Exhibit merge bug that clobbers index&WT + t4034: bulk verify builtin word regex sanity + +Tor Arvid Lund (3): + git-p4: Teach gitConfig method about arguments. + Teach git-p4 to ignore case in perforce filenames if configured. + git-p4: Fix error message crash in P4Sync.commit. + +Uwe Kleine-König (2): + get_remote_url(): use the same data source as ls-remote to get remote urls + git-request-pull: open-code the only invocation of get_remote_url + +Vitor Antunes (2): + git-p4: Improve rename detection support + git-p4: Add copy detection support + +Ævar Arnfjörð Bjarmason (4): + gitignore: add test-mktemp to ignore list + i18n: add no-op _() and N_() wrappers + i18n: add GETTEXT_POISON to simulate unfriendly translator + i18n: Makefile: "pot" target to extract messages marked for translation + + +Version v1.7.4.5; changes since v1.7.4.4: +----------------------------------------- + +Johannes Sixt (1): + t2021: mark a test as fixed + +Junio C Hamano (2): + "log --cherry-pick" documentation regression fix + Git 1.7.4.5 + +Michael J Gruber (3): + git.txt: fix list continuation + t3306,t5304: avoid clock skew issues + git-svn.txt: Document --mergeinfo + +René Scharfe (1): + archive: document limitation of tar.umask config setting + + +Version v1.7.4.4; changes since v1.7.4.3: +----------------------------------------- + +Jakub Narębski (2): + git-instaweb: Change how gitweb.psgi is made runnable as standalone app + gitweb: Fix parsing of negative fractional timezones in JavaScript + +Jeff King (4): + strbuf: add fixed-length version of add_wrapped_text + format-patch: wrap long header lines + format-patch: rfc2047-encode newlines in headers + pull: do not clobber untracked files on initial pull + +Jonathan Nieder (1): + compat: add missing #include <sys/resource.h> + +Junio C Hamano (6): + list-objects.c: don't add an unparsed NULL as a pending tree + Rename core.abbrevlength back to core.abbrev + diff/status: refactor opportunistic index update + update $GIT_INDEX_FILE when there are racily clean entries + Start preparing for 1.7.4.4 + Git 1.7.4.4 + +Libor Pechacek (2): + Sanity-check config variable names + Disallow empty section and variable names + +Linus Torvalds (1): + Make the default abbrev length configurable + +Matthieu Moy (1): + log: fix --max-count when used together with -S or -G + +Michael J Gruber (2): + git-log.txt,rev-list-options.txt: -n/--max-count is commit limiting + git-log.txt,rev-list-options.txt: put option blocks in proper order + +Nicolas Morey-Chaisemartin (1): + submodule: process conflicting submodules only once + +SZEDER Gábor (1): + Documentation: trivial grammar fix in core.worktree description + + +Version v1.7.4.3; changes since v1.7.4.2: +----------------------------------------- + +Alex Riesen (1): + HOME must be set before calling git-init when creating test repositories + +Carlos Martín Nieto (1): + Documentation/config.txt: make truth value of numbers more explicit + +Clemens Buchacher (1): + do not overwrite untracked symlinks + +Fabian Keil (1): + git-cvsimport.perl: Bail out right away when reading from the server fails + +Jeff King (1): + docs: fix filter-branch subdir example for exotic repo names + +Joe Ratterman (1): + grep: Add the option '--line-number' + +Johan Herland (1): + branch/checkout --track: Ensure that upstream branch is indeed a branch + +Johannes Sixt (3): + Demonstrate breakage: checkout overwrites untracked symlink with directory + stash: fix incorrect quoting in cleanup of temporary files + stash: copy the index using --index-output instead of cp -p + +Junio C Hamano (9): + checkout: fix bug with ambiguous refs + apply: do not patch lines that were already patched + apply -v: show offset count when patch did not apply exactly + diff --quiet: disable optimization when --diff-filter=X is used + doc: technical details about the index file format + t8001: check the exit status of the command being tested + parse-remote: typofix + Doc: mention --delta-base-offset is the default for Porcelain commands + Git 1.7.4.3 + +Maxin john (1): + contrib/thunderbird-patch-inline: do not require bash to run the script + +Michael J Gruber (2): + git-bisect.txt: streamline run presentation + git-bisect.txt: example for bisecting with hot-fix + +Michael Witten (3): + git tag documentation grammar fixes and readability updates + Typos: t/README + strbuf.h: remove a tad stale docs-in-comment and reference api-doc instead + +Nguyễn Thái Ngọc Duy (1): + doc: technical details about the index file format + +Piotr Krukowiecki (2): + git stash: show status relative to current directory + Add test: git stash shows status relative to current dir + +Stephen Boyd (2): + parse-remote: replace unnecessary sed invocation + git-pack-objects.txt: fix grammatical errors + + +Version v1.7.4.2; changes since v1.7.4.1: +----------------------------------------- + +Adam Monsen (1): + diff format documentation: clarify --cc and -c + +Alexei Sholik (3): + Documentation: remove redundant colons in git-for-each-ref.txt + Add Author and Documentation sections to git-for-each-ref.txt + docs: fix grammar in gitattributes.txt + +Arnout Engelen (1): + Improve error messages when temporary file creation fails + +Ben Walton (1): + Work around broken ln on solaris as used in t8006 + +Carlos Martín Nieto (3): + valgrind: ignore SSE-based strlen invalid reads + make_absolute_path: return the input path if it points to our buffer + t/README: Add a note about running commands under valgrind + +Clemens Buchacher (1): + Documentation: clarify -u<mode> option defaults + +Eric Hanchrow (1): + branch_merged: fix grammar in warning + +Erik Faye-Lund (1): + mingw: add minimum getrlimit() compatibility stub + +Jakub Narębski (2): + gitweb: Always call parse_date with timezone parameter + gitweb: Fix handling of fractional timezones in parse_date + +Jay Soffian (1): + merge: honor prepare-commit-msg hook + +Jeff King (5): + string_list_append: always set util pointer to NULL + clone: die when trying to clone missing local path + diff: handle diffstat of rewritten binary files + diff: don't retrieve binary blobs for diffstat + bisect: visualize with git-log if gitk is unavailable + +Johan Herland (1): + push.default: Rename 'tracking' to 'upstream' + +Jonathan Nieder (9): + correct type of EMPTY_TREE_SHA1_BIN + tests: skip terminal output tests on OS X + commit: error out for missing commit message template + enums: omit trailing comma for portability + compat: make gcc bswap an inline function + standardize brace placement in struct definitions + branch: split off function that writes tracking info and commit subject + cherry: split off function to print output lines + diff --submodule: split into bite-sized pieces + +Junio C Hamano (8): + CodingGuidelines: downcase placeholders in usage messages + verify-pack: add --stat-only to the synopsis section + SubmittingPatches: clarify the expected commit log description + Revert "core.abbrevguard: Ensure short object names stay unique a bit longer" + Prepare draft release notes to 1.7.4.2 + bisect: explain the rationale behind 125 + Update draft release notes to 1.7.4.2 + Git 1.7.4.2 + +Kevin Cernekee (1): + gitweb: highlight: replace tabs with spaces + +Linus Torvalds (3): + for_each_hash: allow passing a 'void *data' pointer to callback + diffcore-rename: properly honor the difference between -M and -C + diffcore-rename: improve estimate_similarity() heuristics + +Masatake Osanai (1): + perl: command_bidi_pipe() method should set-up git environmens + +Mathias Lafeldt (1): + Fix typo in t/README + +Michael J Gruber (16): + commit,tag: use same wording for -F + commit,status: describe --porcelain just like push + clone,init: describe --template using the same wording + commit,merge,tag: describe -m likewise + add: describe --patch like checkout, reset + commit,status: describe -u likewise + git-tag.txt: list all modes in the description + pull: do not display fetch usage on --help-all + Make <identifier> lowercase as per CodingGuidelines + Make <identifier> lowercase as per CodingGuidelines + Make <identifier> lowercase as per CodingGuidelines + Make <identifier> lowercase in Documentation + git-patch-id: test for "no newline" markers + git-patch-id: do not trip over "no newline" markers + mergetool-lib: call vim in readonly mode for diffs + rev-list-options.txt: typo fix + +Michal Rokos (2): + Makefile: add NO_FNMATCH_CASEFOLD to HP-UX section + git-compat-util.h: Honor HP C's noreturn attribute + +Michał Kiedrowicz (1): + Documentation: fix a typo in git-apply.txt + +Nguyễn Thái Ngọc Duy (2): + parse_tag_buffer(): do not prefixcmp() out of range + init: remove unnecessary check + +Piotr Krukowiecki (1): + ls-remote documentation: <refs> argument is optional + +Ralf Wildenhues (1): + configure: use AC_LANG_PROGRAM consistently + +SZEDER Gábor (1): + git-am.txt: advertise 'git am --abort' instead of 'rm .git/rebase-apply' + +Shawn O. Pearce (2): + Limit file descriptors used by packs + sha1_file.c: Don't retain open fds on small packs + +Spencer E. Olson (2): + submodule: no [--merge|--rebase] when newly cloned + t7406: "git submodule update {--merge|--rebase]" with new submodules + +Ævar Arnfjörð Bjarmason (4): + gitweb/gitweb.perl: remove use of qw(...) as parentheses + gitweb/gitweb.perl: don't call S_ISREG() with undef + t/gitweb-lib.sh: Ensure that errors are shown for --debug --immediate + t/t7500-commit.sh: use test_cmp instead of test + + +Version v1.7.4.1; changes since v1.7.4: +--------------------------------------- + +Chris Packham (1): + clone: fixup recurse_submodules option + +Jakub Narębski (1): + gitweb: Mention optional Perl modules in INSTALL + +Jens Lehmann (2): + t5526: Fix wrong argument order in "git config" + pull: Document the "--[no-]recurse-submodules" options + +Johannes Sixt (2): + start_command: flush buffers in the WIN32 code path as well + t4120-apply-popt: help systems with core.filemode=false + +Jonathan Nieder (5): + quote.h: simplify the inclusion + fast-import: clarify documentation of "feature" command + fast-import: introduce "feature notes" command + compat: helper for detecting unsigned overflow + svn-fe: warn about experimental status + +Junio C Hamano (3): + fsck: drop unused parameter from traverse_one_object() + fsck: do not give up too early in fsck_dir() + Git 1.7.4.1 + +Nguyễn Thái Ngọc Duy (4): + diff: support --cached on unborn branches + Add const to parse_{commit,tag}_buffer() + sha1_file.c: move find_cached_object up so sha1_object_info can use it + sha1_object_info: examine cached_object store too + +Pat Thoyts (2): + t3509: use unconstrained initial test to setup repository. + t7407: fix line endings for mingw build + +Shawn O. Pearce (1): + bundle: Use OFS_DELTA in bundle files + +Sitaram Chamarty (1): + post-receive-email: suppress error if description file missing + +Uwe Kleine-König (1): + Documentation/merge subtree How-To: fix typo + + +Version v1.7.4; changes since v1.7.4-rc3: +----------------------------------------- + +Adam Tkac (1): + Don't pass "--xhtml" to hightlight in gitweb.perl script. + +Jeff King (3): + rebase: use explicit "--" with checkout + rebase: give a better error message for bogus branch + tests: sanitize more git environment variables + +Jonathan Nieder (2): + fast-import: treat filemodify with empty tree as delete + rebase -i: clarify in-editor documentation of "exec" + +Junio C Hamano (1): + Git 1.7.4 + + +Version v1.7.4-rc3; changes since v1.7.4-rc2: +--------------------------------------------- + +Alexey Shumkin (1): + userdiff: match Pascal class methods + +Björn Steinbrink (1): + Correctly report corrupted objects + +Erik Faye-Lund (1): + exec_cmd: remove unused extern + +Johannes Sixt (2): + Fix expected values of setup tests on Windows + t/README: hint about using $(pwd) rather than $PWD in tests + +Jonathan Nieder (9): + ll-merge: simplify opts == NULL case + Documentation/fast-import: capitalize beginning of sentence + remote-ext: do not segfault for blank lines + Documentation/fast-import: put explanation of M 040000 <dataref> "" in context + tests: cosmetic improvements to the repo-setup test + tests: compress the setup tests + Documentation: do not treat reset --keep as a special case + Subject: setup: officially support --work-tree without --git-dir + t1510: fix typo in the comment of a test + +Junio C Hamano (2): + Documentation updates for 'GIT_WORK_TREE without GIT_DIR' historical usecase + Git 1.7.4-rc3 + +Ramsay Jones (1): + svndump.c: Fix a printf format compiler warning + + +Version v1.7.4-rc2; changes since v1.7.4-rc1: +--------------------------------------------- + +Anders Kaseorg (1): + Mark gitk script executable + +Brandon Casey (3): + trace.c: ensure NULL is not passed to printf + t0001,t1510,t3301: use sane_unset which always returns with status 0 + t3032: limit sed branch labels to 8 characters + +Jeff King (1): + docs: explain diff.*.binary option + +Jonathan Nieder (3): + diff: funcname and word patterns for perl + gitweb: make logo optional + t9010: svnadmin can fail even if available + +Junio C Hamano (2): + userdiff/perl: catch BEGIN/END/... and POD as headers + Git 1.7.4-rc2 + +Matthieu Moy (1): + commit: suggest --amend --reset-author to fix commiter identity + +Michael J Gruber (1): + RelNotes/1.7.4: minor fixes + +Ramsay Jones (7): + lib-git-svn.sh: Move web-server handling code into separate function + t9157-*.sh: Add an svn version check + t6038-*.sh: Pass the -b (--binary) option to sed on cygwin + t3032-*.sh: Pass the -b (--binary) option to sed on cygwin + t3032-*.sh: Do not strip CR from line-endings while grepping on MinGW + t4135-*.sh: Skip the "backslash" tests on cygwin + t9157-*.sh: Make the svn version check more precise + +StephenB (1): + git svn: fix the final example in man page + +Sylvain Rabot (2): + gitweb: add extensions to highlight feature map + gitweb: remove unnecessary test when closing file descriptor + +Thomas Rast (4): + Documentation/git-archive: spell --worktree-attributes correctly + Documentation/githooks: post-rewrite-copy-notes never existed + submodule: fix relative url parsing for scp-style origin + t0000: quote TAP snippets in test code + + +Version v1.7.4-rc1; changes since v1.7.4-rc0: +--------------------------------------------- + +Antonio Ospite (1): + t/t9001-send-email.sh: fix '&&' chain in some tests + +Jonathan Nieder (3): + vcs-svn: Error out for v3 dumps + gitweb: skip logo in atom feed when there is none + daemon: support <directory> arguments again + +Junio C Hamano (3): + t0021: avoid getting filter killed with SIGPIPE + Git 1.7.3.5 + Git 1.7.4-rc1 + +Michael J Gruber (2): + cvsimport: partial whitespace cleanup + cvsimport: handle the parsing of uppercase config options + +Pete Wyckoff (1): + convert filter: supply path to external driver + +Ralf Wildenhues (1): + Fix typos in the documentation + +Robin H. Johnson (1): + t9001: Fix test prerequisites + + +Version v1.7.4-rc0; changes since v1.7.3.5: +------------------------------------------- + +Aleksi Aalto (1): + status: show branchname with a configurable color + +Alexander Sulfrian (2): + daemon: add helper function named_sock_setup + daemon: allow more than one host address given via --listen + +Alexandre Erwin Ittner (1): + gitk: Add Brazilian Portuguese (pt-BR) translation + +Anders Kaseorg (4): + describe: Use for_each_rawref + describe: Do not use a flex array in struct commit_name + describe: Store commit_names in a hash table by commit SHA1 + describe: Delay looking up commits until searching for an inexact match + +Antonio Ospite (1): + git-send-email.perl: make initial In-Reply-To apply only to first email + +Brandon Casey (3): + diffcore-pickaxe.c: a void function shouldn't try to return something + Makefile: add NO_FNMATCH_CASEFOLD to IRIX sections + t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' + +Brian Gernhardt (1): + t6022: Use -eq not = to test output of wc -l + +Christopher Wilson (1): + Enable highlight executable path as a configuration option + +Clemens Buchacher (6): + t7607: use test-lib functions and check MERGE_HEAD + t7607: add leading-path tests + add function check_ok_to_remove() + lstat_cache: optionally return match_len + do not overwrite files in leading path + use persistent memory for rejected paths + +Dan McGee (3): + mergetool-lib: combine vimdiff and gvimdiff run blocks + mergetool-lib: add a three-way diff view for vim/gvim + mergetool-lib: make the three-way diff the default for vim/gvim + +David Barr (3): + fast-import: Allow filemodify to set the root + fast-import: insert new object entries at start of hash bucket + fast-import: let importers retrieve blobs + +Elijah Newren (53): + Document pre-condition for tree_entry_interesting + tree-walk: Correct bitrotted comment about tree_entry() + tree_entry_interesting(): Make return value more specific + diff_tree(): Skip skip_uninteresting() when all remaining paths interesting + t3509: Add rename + D/F conflict testcase that recursive strategy fails + merge-recursive: D/F conflicts where was_a_dir/file -> was_a_dir + t6032: Add a test checking for excessive output from merge + t6022: Add test combinations of {content conflict?, D/F conflict remains?} + t6022: Add tests for reversing order of merges when D/F conflicts present + t6022: Add tests with both rename source & dest involved in D/F conflicts + t6022: Add paired rename+D/F conflict: (two/file, one/file) -> (one, two) + t6022: Add tests for rename/rename combined with D/F conflicts + t6020: Modernize style a bit + t6020: Add a testcase for modify/delete + directory/file conflict + t6036: Test index and worktree state, not just that merge fails + t6036: Add a second testcase similar to the first but with content changes + t6036: Add testcase for undetected conflict + merge-recursive: Small code clarification -- variable name and comments + merge-recursive: Rename conflict_rename_rename*() for clarity + merge-recursive: Nuke rename/directory conflict detection + merge-recursive: Move rename/delete handling into dedicated function + merge-recursive: Move delete/modify handling into dedicated function + merge-recursive: Move process_entry's content merging into a function + merge-recursive: New data structures for deferring of D/F conflicts + merge-recursive: New function to assist resolving renames in-core only + merge-recursive: Have process_entry() skip D/F or rename entries + merge-recursive: Structure process_df_entry() to handle more cases + merge-recursive: Update conflict_rename_rename_1to2() call signature + merge-recursive: Update merge_content() call signature + merge-recursive: Avoid doubly merging rename/add conflict contents + merge-recursive: Move handling of double rename of one file to two + merge-recursive: Move handling of double rename of one file to other file + merge-recursive: Delay handling of rename/delete conflicts + merge-recursive: Delay content merging for renames + merge-recursive: Delay modify/delete conflicts if D/F conflict present + conflict_rename_delete(): Check whether D/F conflicts are still present + conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts + merge_content(): Check whether D/F conflicts are still present + handle_delete_modify(): Check whether D/F conflicts are still present + merge-recursive: Make room for directories in D/F conflicts + merge-recursive: Remove redundant path clearing for D/F conflicts + t4017 (diff-retval): replace manual exit code check with test_expect_code + t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing && + t4002 (diff-basic): use test_might_fail for commands that might fail + t4202 (log): Replace '<git-command> || :' with test_might_fail + t4019 (diff-wserror): add lots of missing && + t4026 (color): remove unneeded and unchained command + t5602 (clone-remote-exec): add missing && + t6016 (rev-list-graph-simplify-history): add missing && + t7001 (mv): add missing && + t7601 (merge-pull-config): add missing && + t7800 (difftool): add missing && + Introduce sane_unset and use it to ensure proper && chaining + +Eric Sunshine (5): + Side-step sed line-ending "corruption" leading to t6038 failure. + Side-step MSYS-specific path "corruption" leading to t5560 failure. + Fix 'clone' failure at DOS root directory. + Fix Windows-specific macro redefinition warning. + Add MinGW-specific execv() override. + +Erik Faye-Lund (20): + mingw: do not crash on open(NULL, ...) + inet_ntop: fix a couple of old-style decls + mingw: use real pid + mingw: support waitpid with pid > 0 and WNOHANG + mingw: add kill emulation + daemon: use run-command api for async serving + daemon: use full buffered mode for stderr + daemon: get remote host address from root-process + mingw: import poll-emulation from gnulib + mingw: use poll-emulation from gnulib + daemon: use socklen_t + daemon: make --inetd and --detach incompatible + daemon: opt-out on features that require posix + msvc: opendir: fix malloc-failure + msvc: opendir: allocate enough memory + msvc: opendir: do not start the search + win32: dirent: handle errors + msvc: opendir: handle paths ending with a slash + win32: use our own dirent.h + help: always suggest common-cmds if prefix of cmd + +Giuseppe Bilotta (15): + gitweb: use fullname as hash_base in heads link + gitweb: introduce remote_heads feature + gitweb: git_get_heads_list accepts an optional list of refs + gitweb: separate heads and remotes lists + gitweb: nagivation menu for tags, heads and remotes + gitweb: allow action specialization in page header + gitweb: remotes view for a single remote + gitweb: refactor repository URL printing + gitweb: provide a routine to display (sub)sections + gitweb: group remote heads by remote + git instaweb: enable remote_heads + web--browse: coding style + web--browse: split valid_tool list + web--browse: support opera, seamonkey and elinks + web--browse: better support for chromium + +Greg Brockman (4): + Allow creation of arbitrary git-shell commands + Add interactive mode to git-shell for user-friendliness + Add sample commands for git-shell + shell: Display errors from improperly-formatted command lines + +Ilari Liusvaara (4): + Add bidirectional_transfer_loop() + git-remote-fd + git-remote-ext + remote-fd/ext: finishing touches after code review + +Jakub Narębski (12): + t/gitweb-lib.sh: Use GIT_BUILD_DIR + t/gitweb-lib.sh: Use tabs for indent consistently + gitweb: Move call to evaluate_git_version after evaluate_gitweb_config + t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED + gitweb/Makefile: Add 'test' and 'test-installed' targets + gitweb/Makefile: Include gitweb/config.mak + gitweb: Fix test of highlighting support in t9500 + gitweb: Fix bug in evaluate_path_info + gitweb: Improve behavior for actionless path_info gitweb URLs + gitweb: Time::HiRes is in core for Perl 5.8 + gitweb: selectable configurations that change with each request + gitweb: Fix handling of whitespace in generated links + +Jan Krüger (1): + read-tree: deprecate syntax without tree-ish args + +Jeff King (13): + tests: factor out terminal handling from t7006 + tests: test terminal output to both stdout and stderr + push: pass --progress down to git-pack-objects + config: treat non-existent config files as empty + diff: report bogus input to -C/-M/-B + docs: clarify git diff modes of operation + allow command-specific pagers in pager.<cmd> + docs: default to more modern toolset + default color.status.branch to "same as header" + tests: add some script lint checks + tests: flip executable bit on t9158 + handle arbitrary ints in git_config_maybe_bool + t2107: mark passing test as success + +Jens Lehmann (5): + clone: Add the --recurse-submodules option as alias for --recursive + fetch/pull: Add the --recurse-submodules option + Add the 'fetch.recurseSubmodules' config setting + Submodules: Add the "fetchRecurseSubmodules" config option + git submodule: Remove now obsolete tests before cloning a repo + +Joe Perches (1): + git-send-email.perl: Add --to-cmd + +Johan Herland (23): + notes.c: Hexify SHA1 in die() message from init_notes() + (trivial) notes.h: Minor documentation fixes to copy_notes() + notes.h: Make default_notes_ref() available in notes API + notes.c: Reorder functions in preparation for next commit + notes.h/c: Allow combine_notes functions to remove notes + notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond + (trivial) t3303: Indent with tabs instead of spaces for consistency + notes.c: Use two newlines (instead of one) when concatenating notes + builtin/notes.c: Split notes ref DWIMmery into a separate function + git notes merge: Initial implementation handling trivial merges only + builtin/notes.c: Refactor creation of notes commits. + git notes merge: Handle real, non-conflicting notes merges + git notes merge: Add automatic conflict resolvers (ours, theirs, union) + Documentation: Preliminary docs on 'git notes merge' + git notes merge: Manual conflict resolution, part 1/2 + git notes merge: Manual conflict resolution, part 2/2 + git notes merge: List conflicting notes in notes merge commit message + git notes merge: --commit should fail if underlying notes ref has moved + git notes merge: Add another auto-resolving strategy: "cat_sort_uniq" + git notes merge: Add testcases for merging notes trees at different fanouts + Provide 'git notes get-ref' to easily retrieve current notes ref + cmd_merge(): Parse options before checking MERGE_HEAD + Provide 'git merge --abort' as a synonym to 'git reset --merge' + +Johannes Schindelin (1): + merge-octopus: Work around environment issue on Windows + +Johannes Sixt (4): + t7300: add a missing SYMLINKS prerequisite + apply --whitespace=fix: fix tab-in-indent + Make the tab width used for whitespace checks configurable + Avoid duplicate test number t7609 + +Jonathan Nieder (52): + merge-recursive: expose merge options for builtin merge + ll-merge: replace flag argument with options struct + commit-tree: free commit message before exiting + test-lib: allow test code to check the list of declared prerequisites + test_terminal: catch use without TTY prerequisite + test_terminal: ensure redirections work reliably + fast-import: filemodify after M 040000 <tree> "" crashes + fast-import: tighten M 040000 syntax + t9300 (fast-import): another test for the "replace root" feature + fast-import: do not clear notes in do_change_note_fanout() + user-manual: remote-tracking can be checked out, with detached HEAD + tests: add missing && + tests: add missing &&, batch 2 + test-lib: introduce test_line_count to measure files + t6022 (renaming merge): chain test commands with && + t1502 (rev-parse --parseopt): test exit code from "-h" + t1400 (update-ref): use test_must_fail + t3301 (notes): use test_expect_code for clarity + t3404 (rebase -i): unroll test_commit loops + t3404 (rebase -i): move comment to description + t3404 (rebase -i): introduce helper to check position of HEAD + t4124 (apply --whitespace): use test_might_fail + wrapper: move xmmap() to sha1_file.c + wrapper: move odb_* to environment.c + path helpers: move git_mkstemp* to wrapper.c + strbuf: move strbuf_branchname to sha1_name.c + wrapper: give zlib wrappers their own translation unit + pack-objects: mark file-local variable static + Remove pack file handling dependency from wrapper.o + Describe various forms of "be quiet" using OPT__QUIET + fast-import: treat SIGUSR1 as a request to access objects early + git-rev-parse.txt: clarify --git-dir + gitweb: document $per_request_config better + fast-import: stricter parsing of integer options + fast-import: clarify documentation of "feature" command + fast-import: Allow cat-blob requests at arbitrary points in stream + git submodule -b ... of current HEAD fails + Makefile: dependencies for vcs-svn tests + parse-options: clearer reporting of API misuse + parse-options: move NODASH sanity checks to parse_options_check + parse-options: sanity check PARSE_OPT_NOARG flag + parse-options: never suppress arghelp if LITERAL_ARGHELP is set + parse-options: allow git commands to invent new option types + parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION + update-index: migrate to parse-options API + treap: make treap_insert return inserted node + vcs-svn: fix intermittent repo_tree corruption + Makefile: transport-helper uses thread-utils.h + t9300: avoid short reads from dd + bash: simple reimplementation of _get_comp_words_by_ref + t9300: use perl "head -c" clone in place of "dd bs=1 count=16000" kluge + t0001: test git init when run via an alias + +Joshua Jensen (6): + Add string comparison functions that respect the ignore_case variable. + Case insensitivity support for .gitignore via core.ignorecase + Add case insensitivity support for directories when using git status + Add case insensitivity support when using git ls-files + Support case folding for git add when core.ignorecase=true + Support case folding in git fast-import when core.ignorecase=true + +Junio C Hamano (31): + gitdiffcore doc: update pickaxe description + diff: pass the entire diff-options to diffcore_pickaxe() + git log/diff: add -G<regexp> that greps in the patch text + diff/log -G<pattern>: tests + grep: move logic to compile header pattern into a separate helper + log --author: take union of multiple "author" requests + disallow branch names that start with a hyphen + Start 1.7.4 cycle + merge-recursive: Restructure showing how to chain more process_* functions + Martin Langhoff has a new e-mail address + Make test script t9157 executable + merge-recursive:make_room_for_directories - work around dumb compilers + core.abbrevguard: Ensure short object names stay unique a bit longer + read_sha1_file(): report correct name of packfile with a corrupt object + A loose object is not corrupt if it cannot be read due to EMFILE + t9001: send-email interation with --in-reply-to and --chain-reply-to + t3404: do not use 'describe' to implement test_cmp_rev + Update draft release notes to 1.7.4 + Update draft release notes to 1.7.4 + t9300: remove unnecessary use of /dev/stdin + t9119: do not compare "Text Last Updated" line from "svn info" + t9010 fails when no svn is available + get_sha1: teach ":$n:<path>" the same relative path logic + Documentation/git.txt: update list of maintenance releases + fetch_populated_submodules(): document dynamic allocation + thread-utils.h: simplify the inclusion + Relnotes: remove items fixed on 'maint' + get_sha1_oneline: fix lifespan rule of temp_commit_buffer variable + Update draft release notes to 1.7.4 + set_try_to_free_routine(NULL) means "do nothing special" + Git 1.7.4-rc0 + +Justin Frankel (2): + merge-recursive --patience + merge-recursive: options to ignore whitespace changes + +Kevin Ballard (9): + merge-recursive: option to specify rename threshold + diff: add synonyms for -M, -C, -B + completion: Support the DWIM mode for git checkout + blame: Add option to show author email instead of name + submodule: preserve all arguments exactly when recursing + submodule: only preserve flags across recursive status/update invocations + rebase: better rearranging of fixup!/squash! lines with --autosquash + rebase: teach --autosquash to match on sha1 in addition to message + diff: add --detect-copies-harder as a synonym for --find-copies-harder + +Kirill Smelkov (1): + gitk: Show notes by default (like git log does) + +Mark Lodato (2): + completion: make compatible with zsh + completion: fix zsh check under bash with 'set -u' + +Markus Duft (2): + add support for the SUA layer (interix; windows) + Interix: add configure checks + +Martin Storsjö (1): + Improve the mingw getaddrinfo stub to handle more use cases + +Martin von Zweigbergk (3): + rebase: support --verify + Use reflog in 'pull --rebase . foo' + completion: add missing configuration variables + +Matthieu Moy (9): + Better "Changed but not updated" message in git-status + Replace "remote tracking" with "remote-tracking" + Change remote tracking to remote-tracking in non-trivial places + everyday.txt: change "tracking branch" to "remote-tracking branch" + Change "tracking branch" to "remote-tracking branch" + Change incorrect uses of "remote branch" meaning "remote-tracking" + Change incorrect "remote branch" to "remote tracking branch" in C code + user-manual.txt: explain better the remote(-tracking) branch terms + git-branch.txt: mention --set-upstream as a way to change upstream configuration + +Michael J Gruber (4): + t5503: fix typo + test: allow running the tests under "prove" + t800?-blame.sh: retitle uniquely + t1020-subdirectory: test alias expansion in a subdirectory + +Mike Pape (3): + mingw: add network-wrappers for daemon + mingw: implement syslog + compat: add inet_pton and inet_ntop prototypes + +Nguyễn Thái Ngọc Duy (64): + branch -h: show usage even in an invalid repository + checkout-index -h: show usage even in an invalid repository + commit/status -h: show usage even with broken configuration + gc -h: show usage even with broken configuration + ls-files -h: show usage even with corrupt index + merge -h: show usage even with corrupt index + update-index -h: show usage even with corrupt index + add: do not rely on dtype being NULL behavior + get_cwd_relative(): do not misinterpret root path + builtins: print setup info if repo is found + Add t1510 and basic rules that run repo setup + t1510: setup case #0 + t1510: setup case #1 + t1510: setup case #2 + t1510: setup case #3 + t1510: setup case #4 + t1510: setup case #5 + t1510: setup case #6 + t1510: setup case #7 + t1510: setup case #8 + t1510: setup case #9 + t1510: setup case #10 + t1510: setup case #11 + t1510: setup case #12 + t1510: setup case #13 + t1510: setup case #14 + t1510: setup case #15 + t1510: setup case #16 + t1510: setup case #17 + t1510: setup case #18 + t1510: setup case #19 + t1510: setup case #20 + t1510: setup case #21 + t1510: setup case #22 + t1510: setup case #23 + t1510: setup case #24 + t1510: setup case #25 + t1510: setup case #26 + t1510: setup case #27 + t1510: setup case #28 + t1510: setup case #29 + t1510: setup case #30 + t1510: setup case #31 + cache.h: realign and use (1 << x) form for CE_* constants + dir.c: add free_excludes() + unpack-trees: move all skip-worktree checks back to unpack_trees() + unpack-trees: fix sparse checkout's "unable to match directories" + Revert "excluded_1(): support exclude files in index" + setup: save prefix (original cwd relative to toplevel) in startup_info + Make prefix_path() return char* without const + get_sha1: support relative path ":path" syntax + get_sha1_oneline: make callers prepare the commit list to traverse + get_sha1: support $commit^{/regex} syntax + get_sha1: handle special case $commit^{/} + Add git_config_early() + Use git_config_early() instead of git_config() during repo setup + setup: limit get_git_work_tree()'s to explicit setup case only + setup: clean up setup_bare_git_dir() + setup: clean up setup_discovered_git_dir() + setup: rework setup_explicit_git_dir() + Remove all logic from get_git_work_tree() + Revert "Documentation: always respect core.worktree if set" + git.txt: correct where --work-tree path is relative to + setup_work_tree: adjust relative $GIT_WORK_TREE after moving cwd + +Pascal Obry (3): + Minor indentation fix. + Remove @smtp_host_parts variable as not used. + New send-email option smtpserveroption. + +Pat Notz (6): + commit: helper methods to reduce redundant blocks of code + pretty.c: teach format_commit_message() to reencode the output + commit: --fixup option for use with rebase --autosquash + add tests of commit --fixup + commit: --squash option for use with rebase --autosquash + add tests of commit --squash + +Pat Thoyts (13): + MinGW: fix stat() and lstat() implementations for handling symlinks + MinGW: Report errors when failing to launch the html browser. + Skip t1300.70 and 71 on msysGit. + Do not strip CR when grepping HTTP headers. + Skip 'git archive --remote' test on msysGit + git-am: fix detection of absolute paths for windows + git-gui: show command-line errors in a messagebox on Windows + git-gui: enable the Tk console when tracing/debugging on Windows + git-gui: generic version trimming + git-gui: use full dialog width for old name when renaming branch + git-gui: correct assignment of work-tree + git-gui: use wordprocessor tab style to ensure tabs work as expected + git-gui: apply color information from git diff output + +Peter Krefting (1): + gitk: Update Swedish translation (290t) + +Peter van der Does (1): + bash: get --pretty=m<tab> completion to work with bash v4 + +Petr Onderka (1): + Add global and system-wide gitattributes + +Ralf Thielow (1): + commit.c: Remove backward goto in read_craft_line() + +Ramkumar Ramachandra (10): + shell: Rewrite documentation and improve error message + t4014-format-patch: Call test_tick before committing + format-patch: Don't go over merge commits + fmt_merge_msg: Change fmt_merge_msg API to accept shortlog_len + merge: Make '--log' an integer option for number of shortlog entries + merge: Make 'merge.log' an integer or boolean option + t6200-fmt-merge-msg: Exercise 'merge.log' to configure shortlog length + t6200-fmt-merge-msg: Exercise '--log' to configure shortlog length + Porcelain scripts: Rewrite cryptic "needs update" error message + t9010 (svn-fe): Eliminate dependency on svn perl bindings + +Ramsay Jones (10): + msvc: Fix compilation errors in compat/win32/sys/poll.c + msvc: git-daemon.exe: Fix linker "unresolved externals" error + msvc: Fix build by adding missing INTMAX_MAX define + msvc: Fix macro redefinition warnings + t3600-rm.sh: Don't pass a non-existent prereq to test #15 + t9142: Move call to start_httpd into the setup test + lib-git-svn.sh: Avoid setting web server variables unnecessarily + lib-git-svn.sh: Add check for mis-configured web server variables + t9501-*.sh: Fix a test failure on Cygwin + difftool: Fix failure on Cygwin + +René Scharfe (7): + add description parameter to OPT__VERBOSE + add description parameter to OPT__DRY_RUN + add description parameter to OPT__QUIET + add OPT__FORCE + archive: improve --verbose description + branch: improve --verbose description + verify-tag: document --verbose + +SZEDER Gábor (7): + bisect: improve error message of 'bisect log' while not bisecting + bisect: improve error msg of 'bisect reset' when original HEAD is deleted + bisect: check for mandatory argument of 'bisect replay' + bash: offer refs for 'git bisect start' + bash: not all 'git bisect' subcommands make sense when not bisecting + bash: support more 'git notes' subcommands and their options + bash: support pretty format aliases + +Santi Béjar (1): + parse-remote: handle detached HEAD + +Schalk, Ken (1): + t3030: Add a testcase for resolvable rename/add conflict with symlinks + +Sebastian Schuberth (3): + MinGW: Use pid_t more consequently, introduce uid_t for greater compatibility + MinGW: Add missing file mode bit defines + On Windows, avoid git-gui to call Cygwin's nice utility + +Shawn O. Pearce (2): + Use git_open_noatime when accessing pack data + Work around EMFILE when there are too many pack files + +Stefan Haller (2): + gitk: Prevent the text pane from becoming editable + gitk: Make text selectable on Mac + +Stephen Boyd (4): + send-email: Use To: headers in patch files + send-email: Don't leak To: headers between patches + parse-options: Don't call parse_options_check() so much + parse-options: do not infer PARSE_OPT_NOARG from option type + +Steven Walter (1): + git-svn: allow the mergeinfo property to be set + +Sven Eckelmann (1): + contrib/ciabot: git-describe commit instead of HEAD + +Tay Ray Chuan (4): + t5523-push-upstream: add function to ensure fresh upstream repo + t5523-push-upstream: test progress messages + format-patch: page output with --stdout + bash completion: add basic support for git-reflog + +Thiago Farina (3): + commit: Add commit_list prefix in two function names. + builtin/branch.c: Use ALLOC_GROW instead of alloc_nr and xrealloc. + builtin/rm.c: Use ALLOC_GROW instead of alloc_nr and xrealloc. + +Thomas Rast (3): + {cvs,svn}import: use the new 'git read-tree --empty' + t0003: properly quote $HOME + gitk: Add the equivalent of diff --color-words + +Torsten Bögershausen (1): + t9143: do not fail when unhandled.log.gz is not created + +Yann Dirson (1): + diff: use "find" instead of "detect" as prefix for long forms of -M and -C + +Ævar Arnfjörð Bjarmason (22): + send-email: use catfile() to concatenate files + send-email: use lexical filehandle for opendir + send-email: use lexical filehandles for $compose + send-email: use lexical filehandles during sending + send-email: get_patch_subject doesn't need a prototype + send-email: file_declares_8bit_cte doesn't need a prototype + send-email: unique_email_list doesn't need a prototype + send-email: cleanup_compose_files doesn't need a prototype + send-email: use \E***\Q instead of \*\*\* + send-email: sanitize_address use $foo, not "$foo" + send-email: sanitize_address use qq["foo"], not "\"foo\"" + send-email: use (?:) instead of () if no match variables are needed + send-email: send_message die on $!, not $? + send-email: make_message_id use "require" instead of "use" + send-email: use Perl idioms in while loop + send-email: is_rfc2047_quoted use qr// regexes + send-email: extract_valid_address use qr// regexes + Makefile & configure: add a NO_FNMATCH flag + Makefile & configure: add a NO_FNMATCH_CASEFOLD flag + test-lib: make test_expect_code a test command + t7004-tag.sh: re-arrange git tag comment for clarity + tests: use test_cmp instead of piping to diff(1) + +Štěpán Němec (2): + CodingGuidelines: Add a section on writing documentation + diff,difftool: Don't use the {0,2} notation in usage strings + + +Version v1.7.3.5; changes since v1.7.3.4: +----------------------------------------- + +Brandon Casey (1): + test-lib.sh/test_decode_color(): use octal not hex in awk script + +Jakub Narębski (1): + gitweb: Include links to feeds in HTML header only for '200 OK' response + +Jeff King (1): + ident: die on bogus date format + +Jiang Xin (1): + Fix typo in git-gc document. + +Jonathan Nieder (2): + t0050: fix printf format strings for portability + gitweb: skip logo in atom feed when there is none + +Junio C Hamano (5): + commit: die before asking to edit the log message + am --abort: keep unrelated commits since the last failure and warn + rebase --skip: correctly wrap-up when skipping the last patch + Prepare for 1.7.3.5 + Git 1.7.3.5 + +Kevin Ballard (1): + status: Quote paths with spaces in short format + +Kirill Smelkov (2): + t/t8006: Demonstrate blame is broken when cachetextconv is on + fill_textconv(): Don't get/put cache if sha1 is not valid + +Mark Lodato (1): + fsck docs: remove outdated and useless diagnostic + +Michael J Gruber (2): + git-difftool.txt: correct the description of $BASE and describe $MERGED + difftool: provide basename to external tools + +Ramsay Jones (1): + t3419-*.sh: Fix arithmetic expansion syntax error + +René Scharfe (1): + close file on error in read_mmfile() + +Robin H. Johnson (2): + Fix false positives in t3404 due to SHELL=/bin/false + t9001: Fix test prerequisites + +Thomas Rast (1): + userdiff: fix typo in ruby and python word regexes + +Vasyl' Vavrychuk (1): + trace.c: mark file-local function static + + +Version v1.7.3.4; changes since v1.7.3.3: +----------------------------------------- + +Alan Raison (1): + contrib/hooks/post-receive-email: fix return values from prep_for_email + +Alejandro R. Sedeño (1): + Add --force to git-send-email documentation + +Anders Kaseorg (1): + apply: Recognize epoch timestamps with : in the timezone + +Christoph Mallon (1): + diff --check: correct line numbers of new blank lines at EOF + +Clemens Buchacher (6): + t7607: use test-lib functions and check MERGE_HEAD + t7607: add leading-path tests + add function check_ok_to_remove() + lstat_cache: optionally return match_len + do not overwrite files in leading path + use persistent memory for rejected paths + +Federico Cuello (1): + Fix git-apply with -p greater than 1 + +Gabriel Corona (2): + t5550: test HTTP authentication and userinfo decoding + Fix username and password extraction from HTTP URLs + +Jakub Narębski (1): + gitweb: Introduce esc_attr to escape attributes of HTML elements + +Jari Aalto (1): + git-pull.txt: Mention branch.autosetuprebase + +Jeff King (2): + log.decorate: accept 0/1 bool values + reflogs: clear flags properly in corner case + +Jonathan "Duke" Leto (1): + Correct help blurb in checkout -p and friends + +Jonathan Nieder (4): + apply: handle patches with funny filename and colon in timezone + cherry-pick/revert: transparently refresh index + Documentation: split gitignore page into sections + Documentation: point to related commands from gitignore + +Junio C Hamano (5): + test: git-apply -p2 rename/chmod only + Do not link with -lcrypto under NO_OPENSSL + Prepare for 1.7.3.4 + Prepare for 1.7.3.4 + Git 1.6.4.5 + +Kirill Smelkov (1): + setup: make sure git_dir path is in a permanent buffer, getenv(3) case + +Martin von Zweigbergk (2): + rebase --abort: do not update branch ref + rebase: only show stat if configured to true + +Michael J Gruber (6): + t/t7004-tag: test handling of rfc1991 signatures + verify-tag: factor out signature detection + tag: factor out sig detection for body edits + tag: factor out sig detection for tag display + tag: recognize rfc1991 signatures + git-rm.txt: Fix quoting + +Nguyễn Thái Ngọc Duy (1): + entry.c: remove "checkout-index" from error messages + +Nicolas Pitre (2): + diff: don't presume empty file when corresponding object is missing + make pack-objects a bit more resilient to repo corruption + +Tay Ray Chuan (10): + smart-http: Don't change POST to GET when following redirect + t5550-http-fetch: add missing '&&' + t5550-http-fetch: add test for http-fetch + shift end_url_with_slash() from http.[ch] to url.[ch] + url: add str wrapper for end_url_with_slash() + http-backend: use end_url_with_slash() + http-push: Normalise directory names when pushing to some WebDAV servers + http-push: check path length before using it + http-push: add trailing slash at arg-parse time, instead of later on + http-fetch: rework url handling + +Ævar Arnfjörð Bjarmason (2): + perl: bump the required Perl version to 5.8 from 5.6.[21] + perl: use "use warnings" instead of -w + + +Version v1.7.3.3; changes since v1.7.3.2: +----------------------------------------- + +Andreas Köhler (1): + submodule sync: Update "submodule.<name>.url" for empty directories + +Andrew Waters (1): + Fix handling of git-p4 on deleted files + +Brandon Casey (2): + userdiff.c: add builtin fortran regex patterns + builtin/revert.c: don't dereference a NULL pointer + +Brian Gernhardt (1): + t/gitweb-lib: Don't pass constant to decode_utf8 + +Clemens Buchacher (3): + add rebase patch id tests + do not search functions for patch ID + do not overwrite untracked during merge from unborn branch + +Daniel Knittl-Frank (1): + bash: Match lightweight tags in prompt + +David Kågedal (1): + git-blame.el: Add (require 'format-spec) + +Diego Elio Pettenò (1): + imap-send: link against libcrypto for HMAC and others + +Erik Faye-Lund (1): + mingw: do not set errno to 0 on success + +Giuseppe Bilotta (1): + CodingGuidelines: mention whitespace preferences for shell scripts + +Jan Krüger (2): + repack: add -F flag to let user choose between --no-reuse-delta/object + Documentation: pack.compression: explain how to recompress + +Jari Aalto (1): + git-commit.txt: (synopsis): move -i and -o before "--" + +Jeff King (6): + diff: don't use pathname-based diff drivers for symlinks + rev-list: handle %x00 NUL in user format + docs: give more hints about how "add -e" works + apply: don't segfault on binary files with missing data + docs: give more hints about how "add -e" works + document sigchain api + +Jens Lehmann (1): + pull: Remove --tags option from manpage + +Jim Meyering (1): + mailmap: fix use of freed memory + +Joe Perches (1): + git-send-email.perl: Deduplicate "to:" and "cc:" entries with names + +Jonathan Nieder (5): + t4203 (mailmap): stop hardcoding commit ids and dates + send-pack: avoid redundant "pack-objects died with strange error" + Documentation: document show -s + add: introduce add.ignoreerrors synonym for add.ignore-errors + Documentation: do not misinterpret pull refspec as bold text + +Junio C Hamano (5): + t4203: do not let "git shortlog" DWIM based on tty + t3402: test "rebase -s<strategy> -X<opt>" + Documentation: Fix mark-up of lines with more than one tilde + Git 1.7.0.8 + Git 1.7.3.3 + +Kevin Ballard (2): + test-lib: extend test_decode_color to handle more color codes + diff: handle lines containing only whitespace and tabs better + +Kevin P. Fleming (1): + post-receive-email: ensure sent messages are not empty + +Kirill Smelkov (3): + blame,cat-file: Prepare --textconv tests for correctly-failing conversion program + blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks + blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664'' + +Martin von Zweigbergk (2): + rebase -X: do not clobber strategy + Documentation/git-pull: clarify configuration + +Michael J Gruber (6): + git-reset.txt: clarify branch vs. branch head + git-reset.txt: reset does not change files in target + git-reset.txt: reset --soft is not a no-op + git-reset.txt: use "working tree" consistently + git-reset.txt: point to git-checkout + git-reset.txt: make modes description more consistent + +Nathan W. Panike (1): + Fix a formatting error in git-merge.txt + +Nguyễn Thái Ngọc Duy (3): + dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout + clean: avoid quoting twice + clean: remove redundant variable baselen + +René Scharfe (1): + diff: avoid repeated scanning while looking for funcname + +Thomas Rast (4): + send-email: Refuse to send cover-letter template subject + prefix_filename(): safely handle the case where pfx_len=0 + merge-file: correctly find files when called in subdir + repack: place temporary packs under .git/objects/pack/ + +Uwe Kleine-König (1): + get_author_ident_from_commit(): remove useless quoting + +Yann Dirson (3): + Fix copy-pasted comments related to tree diff handling. + Keep together options controlling the behaviour of diffcore-rename. + Document that rev-list --graph triggers parent rewriting. + +Ævar Arnfjörð Bjarmason (1): + Makefile: add CC to TRACK_CFLAGS + + +Version v1.7.3.2; changes since v1.7.3.1: +----------------------------------------- + +Andreas Gruenbacher (1): + Clarify and extend the "git diff" format documentation + +Antonio Ospite (1): + t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To' + +Bert Wesarg (1): + Documentation: update-index: -z applies also to --index-info + +Brandon Casey (1): + diffcore-pickaxe.c: remove unnecessary curly braces + +Cliff Frey (1): + documentation: git-config minor cleanups + +Elijah Newren (1): + t3020 (ls-files-error-unmatch): remove stray '1' from end of file + +Eric Wong (1): + Documentation/git-svn: discourage "noMetadata" + +Erik Faye-Lund (1): + do not depend on signed integer overflow + +Johannes Schindelin (2): + Make sure that git_getpass() never returns NULL + Fix typo in pack-objects' usage + +Jon Seymour (1): + stash: simplify parsing fixes + +Jonathan Nieder (10): + t0004 (unwritable files): simplify error handling + environment.c: remove unused variable + setup: make sure git dir path is in a permanent buffer + init: plug tiny one-time memory leak + xdiff: cast arguments for ctype functions to unsigned char + Documentation: No argument of ALLOC_GROW should have side-effects + Documentation: gitrevisions is in section 7 + Documentation: diff can compare blobs + Documentation: expand 'git diff' SEE ALSO section + Documentation: update implicit "--no-index" behavior in "git diff" + +Junio C Hamano (4): + MinGW: avoid collisions between "tags" and "TAGS" + CodingGuidelines: reword parameter expansion section + shell portability: no "export VAR=VAL" + Git 1.7.3.2 + +Kevin Ballard (1): + Update test script annotate-tests.sh to handle missing/extra authors + +Kirill Smelkov (1): + user-manual: be consistent in illustrations to 'git rebase' + +Mathias Lafeldt (1): + git-svn: fix processing of decorated commit hashes + +Matthieu Moy (1): + diff: trivial fix for --output file error message + +Michael J Gruber (4): + remote-helpers: build in platform independent directory + user-manual: fix anchor name Finding-comments-With-given-Content + rev-list-options: clarify --parents and --children + git-show-ref.txt: clarify the pattern matching + +Ramkumar Ramachandra (1): + SubmittingPatches: Document some extra tags used in commit messages + +René Scharfe (1): + work around buggy S_ISxxx(m) implementations + +Steven Walter (1): + git-svn: check_cherry_pick should exclude commits already in our history + +Tony Luck (1): + Better advice on using topic branches for kernel development + +Uwe Kleine-König (1): + Documentation/git-clone: describe --mirror more verbosely + +Yann Dirson (1): + t/t3415: use && where applicable. + +Štěpán Němec (6): + Use angles for placeholders consistently + Fix odd markup in --diff-filter documentation + Use parentheses and `...' where appropriate + Remove stray quotes in --pretty and --format documentation + Put a space between `<' and argument in pack-objects usage string + Fix {update,checkout}-index usage strings + + +Version v1.7.3.1; changes since v1.7.3: +--------------------------------------- + +Brandon Casey (3): + t/t3903-stash: improve testing of git-stash show + wt-status.c: don't leak directory entries when processing untracked,ignored + git-send-email.perl: ensure $domain is defined before using it + +Brian Gernhardt (1): + git-stash: fix flag parsing + +Christian Couder (1): + t6050 (replace): fix bogus "fetch branch with replacement" test + +Daniel Knittl-Frank (1): + Improvements to `git checkout -h` + +Jeff King (1): + prefer test -h over test -L in shell scripts + +Jon Seymour (1): + stash: fix git stash branch regression when branch creation fails + +Junio C Hamano (2): + CodingGuidelines: spell Arithmetic Expansion with $(($var)) + Git 1.7.3.1 + +Linus Torvalds (1): + Fix missing 'does' in man-page for 'git checkout' + +Matthieu Moy (1): + update comment and documentation for :/foo syntax + +Michael J Gruber (1): + contrib/completion: --no-index option to git diff + +Pat Notz (2): + strbuf.h: fix comment typo + dir.c: squelch false uninitialized memory warning + +Ramsay Jones (1): + t1503: Fix arithmetic expansion syntax error when using dash + +Tomas Carnecky (1): + stash drops the stash even if creating the branch fails because it already exists + +Wesley J. Landaker (1): + Documentation: Refer to git-commit-tree in git-filter-branch help + + +Version v1.7.3; changes since v1.7.3-rc2: +----------------------------------------- + +Brandon Casey (1): + t/t7300: workaround ancient touch by rearranging arguments + +Brian Gernhardt (1): + t7003: Use test_commit instead of custom function + +Chris Johnsen (1): + git-rebase--interactive.sh: replace cut with ${v%% *} + +Jay Soffian (1): + git-ls-files.txt: clarify -x/--exclude option + +Junio C Hamano (2): + ls-files documentation: reword for consistency + Git 1.7.3 + + +Version v1.7.3-rc2; changes since v1.7.3-rc1: +--------------------------------------------- + +Csaba Henk (2): + bundle: detect if bundle file cannot be created + filter-branch: retire --remap-to-ancestor + +Jens Lehmann (2): + Several tests: cd inside subshell instead of around + t1020: Get rid of 'cd "$HERE"' at the start of each test + +Jonathan Nieder (5): + tests: subshell indentation stylefix + t1450 (fsck): remove dangling objects + t2105 (gitfile): add missing && + t1302 (core.repositoryversion): style tweaks + t2016 (checkout -p): add missing && + +Junio C Hamano (3): + t3101: modernise style + ls-tree $di $dir: do not mistakenly recurse into directories + Git 1.7.3 rc2 + +Matthieu Moy (1): + git-gui: use shell to launch textconv filter in "blame" + +Oded Shimon (1): + Add --src/dst-prefix to git-formt-patch in git-rebase.sh + +Pat Thoyts (6): + git-gui: Make usage statement visible on Windows. + git-gui: display error launching blame as a message box. + git-gui: handle textconv filter on Windows and in development + git-gui: ensure correct application termination in git-gui--askpass + git-gui: avoid mis-encoding the copyright message on Windows. + git-gui 0.13 + +Peter Krefting (1): + git-gui: Update Swedish translation (521t). + +Ramsay Jones (1): + vcs-svn: Fix some printf format compiler warnings + +René Scharfe (1): + compat/nedmalloc: don't force NDEBUG on the rest of git + +Schalk, Ken (1): + RE: [PATCH] Avoid rename/add conflict when contents are identical + + +Version v1.7.3-rc1; changes since v1.7.3-rc0: +--------------------------------------------- + +Anselm Kruis (1): + Add a new option 'core.askpass'. + +Brandon Casey (10): + t/t5510: demonstrate failure to fetch when current branch has merge ref + builtin/fetch.c: ignore merge config when not fetching from branch's remote + t/t7008: workaround broken handling of \000 by printf on IRIX + Makefile: use compat regex on IRIX 6.5 + builtin/fetch.c: comment that branch->remote_name is usable when has_merge + t/t5510-fetch.sh: improve testing with explicit URL and merge spec + diff.c: call regfree to free memory allocated by regcomp when necessary + xdiff-interface.c: always trim trailing space from xfuncname matches + t/t4018: test whether the word_regex patterns compile + t/t4018: avoid two unnecessary sub-shell invocations + +Elijah Newren (2): + cache_tree_free: Fix small memory leak + revert: Fix trivial comment style issue + +Jeff King (3): + pass "git -c foo=bar" params through environment + tests: make test_must_fail more verbose + tests: make test_must_fail fail on missing commands + +Jens Lehmann (1): + t3404 & t7508: cd inside subshell instead of around + +Johan Herland (1): + notes: Don't create (empty) commit when removing non-existing notes + +Johannes Sixt (1): + fast-export: ensure that a renamed file is printed after all references + +Jonathan Nieder (3): + do not pass "git -c foo=bar" params to transport helpers + tests: make test_might_fail more verbose + tests: make test_might_fail fail on missing commands + +Junio C Hamano (3): + install-webdoc: keep installed RelNotes-*.txt + Prepare for 1.7.3 rc1 + Git 1.7.3 rc1 + +Knut Franke (2): + Allow core.askpass to override SSH_ASKPASS. + Extend documentation of core.askpass and GIT_ASKPASS. + +Mark Lodato (1): + config.txt: fix placement of diff.noprefix + +Nicolas Pitre (1): + Documentation: move RelNotes into a directory of their own + +Thiago Farina (2): + builtin.h: Move two functions definitions to help.h. + builtin/clean.c: Use STRING_LIST_INIT_NODUP. + + +Version v1.7.3-rc0; changes since v1.7.2.5: +------------------------------------------- + +Alejandro R. Sedeño (1): + gitweb: move highlight config out of guess_file_syntax() + +Alex Riesen (2): + Add a for_each_string_list_item macro + Convert the users of for_each_string_list to for_each_string_list_item macro + +Alexander Gladysh (1): + Add a rename + D/F conflict testcase + +Anders Kaseorg (1): + gitweb: Don't die_error in git_tag after already printing headers + +Brandon Casey (2): + git-rebase--interactive.sh: rework skip_unnecessary_picks + git-rebase--interactive.sh: use printf instead of echo to print commit message + +Brian Gernhardt (2): + t7610: cd inside subshell instead of around + t7606: Avoid using head as a file name + +Charles Bailey (1): + mergetool: Remove explicit references to /dev/tty + +Christian Couder (11): + revert: report success when using option --strategy + revert: refactor commit code into a new run_git_commit() function + revert: don't print "Finished one cherry-pick." if commit failed + revert: improve success message by adding abbreviated commit sha1 + t3508: add check_head_differs_from() helper function and use it + revert: fix off by one read when searching the end of a commit subject + revert: refactor code to find commit subject in find_commit_subject() + revert: rename variables related to subject in get_message() + bisect: use find_commit_subject() instead of custom code + merge-recursive: use find_commit_subject() instead of custom code + blame: use find_commit_subject() instead of custom code + +Clemens Buchacher (1): + hash binary sha1 into patch id + +David Aguilar (1): + mergetool: Skip autoresolved paths + +David Barr (5): + Add memory pool library + Add string-specific memory pool + Add stream helper library + Infrastructure to write revisions in fast-export format + SVN dump parser + +David D. Kilzer (3): + git svn: fix dcommit to work with touched files + git-svn: fix regex to remove "tail" from svn tags + git-svn: fix fetch with deleted tag + +Diane Gasselin (2): + merge-recursive: porcelain messages for checkout + t7609: test merge and checkout error messages + +Dmitry Statyvka (1): + git svn: add an option to recode pathnames + +Elijah Newren (13): + Add additional testcases for D/F conflicts + merge-recursive: Fix D/F conflicts + merge_recursive: Fix renames across paths below D/F conflicts + fast-export: Fix output order of D/F changes + fast-import: Improve robustness when D->F changes provided in wrong order + fast-export: Fix dropping of files with --import-marks and path limiting + fast-export: Add a --full-tree option + upload-pack: Improve error message when bad ref requested + Mark tests that use symlinks as needing SYMLINKS prerequisite + merge-recursive: Fix typo + t6031: Add a testcase covering multiple renames across a D/F conflict + merge-recursive: Fix multiple file rename across D/F conflict + merge-recursive: Avoid excessive output for and reprocessing of renames + +Eric Wong (4): + instaweb: fix WEBrick server support + instaweb: minimize moving parts for WEBrick + instaweb: add access+error logging for WEBrick + t9155: fix compatibility with older SVN + +Eyvind Bernhardsen (3): + Avoid conflicts when merging branches with mixed normalization + Try normalizing files to avoid delete/modify conflicts when merging + Don't expand CRLFs when normalizing text during merge + +Frank Li (1): + Change regerror() declaration from K&R style to ANSI C (C89) + +Greg Brockman (1): + split_cmdline: Allow caller to access error string + +Heiko Voigt (4): + Teach ref iteration module about submodules + setup_revisions(): Allow walking history in a submodule + Implement automatic fast-forward merge for submodules + add configuration variable for --autosquash option of interactive rebase + +Jakub Narębski (1): + gitweb: Fix typo in run() subroutine + +Jared Hance (5): + Convert "! git" to "test_must_fail git" + Add -e/--exclude to git-clean. + Add test for git clean -e. + builtin/push.c: remove useless temporary variable + Document git-instaweb start/stop/restart + +Jason Evans (1): + Add treap implementation + +Jeff King (1): + docs: fix Makefile dependency for user manual + +Jens Lehmann (7): + Submodules: Add the new "ignore" config option for diff and status + Submodules: Use "ignore" settings from .gitmodules too for diff and status + Add tests for the diff.ignoreSubmodules config option + checkout: Add test for diff.ignoreSubmodules + checkout: Use submodule.*.ignore settings from .git/config and .gitmodules + t7405: cd inside subshell instead of around + t7406 & t7407: add missing && at end of lines + +Johan Herland (2): + Make graph_next_line() available in the graph.h API + Enable custom schemes for column colors in the graph API + +Johannes Schindelin (2): + Add the 'diff.ignoreSubmodules' config setting + checkout: respect diff.ignoreSubmodules setting + +Johannes Sixt (1): + Fix compat/regex ANSIfication on MinGW + +Jon Seymour (14): + detached-stash: introduce parse_flags_and_revs function + detached-stash: work around git rev-parse failure to detect bad log refs + detached-stash: simplify stash_apply + detached-stash: simplify stash_drop + detached-stash: refactor git stash pop implementation + detached-stash: simplify git stash branch + detached-stash: simplify git stash show + detached-stash: tests of git stash with stash-like arguments + detached-stash: update Documentation + rev-parse: exit with non-zero status if ref@{n} is not valid. + sha1_name.c: use warning in preference to fprintf(stderr + rev-parse: tests git rev-parse --verify master@{n}, for various n + t1503: fix broken test_must_fail calls + t3903: fix broken test_must_fail calls + +Jonathan Nieder (89): + Teach fast-import to import subtrees named by tree id + Export parse_date_basic() to convert a date string to timestamp + t1501 (rev-parse): clarify + tests: try git apply from subdir of toplevel + setup: split off $GIT_DIR-set case from setup_git_directory_gently + setup: split off a function to checks working dir for .git file + setup: split off code to handle stumbling upon a repository + setup: split off a function to handle hitting ceiling in repo search + setup: split off get_device_or_die helper + t1011 (sparse checkout): style nitpicks + gitweb: allow configurations that change with each request + t4111 (apply): refresh index before applying patches to it + diff: split off a function for --stat-* option parsing + t6038 (merge.renormalize): style nitpicks + t6038 (merge.renormalize): try checkout -m and cherry-pick + t6038 (merge.renormalize): check that it can be turned off + merge-trees: push choice to renormalize away from low level + merge-trees: let caller decide whether to renormalize + Documentation/technical: document ll_merge + ll-merge: make flag easier to populate + ll-merge: let caller decide whether to renormalize + t4200 (rerere): modernize style + rerere: migrate to parse-options API + rerere: never renormalize + merge-recursive --renormalize + Introduce vcs-svn lib + Update svn-fe manual + svn-fe manual: Clarify warning about deltas in dump files + vcs-svn: remove build artifacts on "make clean" + treap: style fix + compat: add strtok_r() + vcs-svn: Rename dirent pool to build on Windows + vcs-svn: Avoid %z in format string + t9010 (svn-fe): use Unix-style path in URI + t9010 (svn-fe): avoid symlinks in test + Eliminate “Finished cherry-pick/revert” message + Introduce advise() to print hints + cherry-pick/revert: Use error() for failure message + cherry-pick/revert: Use advise() for hints + t7606 (merge-theirs): modernize style + merge: let custom strategies intervene in trivial merges + t7006 (pager): add missing TTY prerequisites + merge: do not mistake (ancestor of) tag for branch + t7600 (merge): modernize style + t7600 (merge): do not launch gitk for --debug + t7600 (merge): check reflog entry + t7600 (merge): test merge from branch yet to be born + t6010 (merge-base): modernize style + t6200 (fmt-merge-msg): style nitpicks + Documentation: add a SEE ALSO section for merge-base + merge-base --octopus to mimic show-branch --merge-base + merge-base --independent to print reduced parent list in a merge + fmt-merge-msg -m to override merge title + merge script: --squash, --ff from unborn branch are errors + merge script: tweak unmerged files message to match builtin + merge script: refuse to merge during merge + merge script: improve log message subject + merge script: merge -X<option> + merge script: allow custom strategies + merge script: forbid merge -s index + merge script: handle -m --log correctly + merge script: handle many-way octopus + merge script: --ff-only to disallow true merge + merge script: handle --no-ff --no-commit correctly + merge script: notice @{-1} shorthand + merge script: learn --[no-]rerere-autoupdate + autoconf: don't use platform regex if it lacks REG_STARTEND + Documentation: set a !DOCTYPE for user manual + Documentation: tweak description of log.date + Documentation: quoting trouble in "git rm" discussion + Documentation: unbreak regex in show-ref manual + Documentation: clarify quoting in "git add" example + Documentation: add missing quotes to "git grep" examples + Documentation: clarify quoting in "git rm" example + Documentation: clarify quoting in gitignore docs + Documentation: remove backslashes in manpage synopses + Documentation/technical: avoid stray backslash in parse-options API docs + Documentation: remove stray backslash from "git bundle" manual + Documentation: remove backslash before ~ in fast-import manual + Documentation: remove stray backslashes in rev-parse manual + Documentation: avoid stray backslashes in core tutorial + Documentation: avoid stray backslash in user manual + Documentation: do not convert ... operator to ellipses + Documentation: remove stray backslashes from "Fighting regressions" article + Documentation: remove stray backslash in show-branch discussion + apply: split quoted filename handling into new function + tests: exercise "git apply" with weird filenames + apply: handle traditional patches with space in filename + tests: simplify "missing PREREQ" message + +Junio C Hamano (6): + cvs tests: do not touch test CVS repositories shipped with source + compat/regex: get rid of old-style definition + autoconf: regex library detection typofix + Work around em-dash handling in newer AsciiDoc + install-webdoc: filter timestamp-only changes correctly + Prepare for 1.7.3 + +Kevin P. Fleming (1): + post-receive-email: optional message line count limit + +Matthieu Moy (14): + diff: parse separate options like -S foo + diff: parse separate options --stat-width n, --stat-name-width n + log: parse separate options like git log --grep foo + log: parse separate option for --glob + rebase -i: add exec command to launch a shell command + test-lib: user-friendly alternatives to test [-d|-f|-e] + Turn unpack_trees_options.msgs into an array + enum + merge-recursive: distinguish "removed" and "overwritten" messages + unpack_trees: group error messages by type + tests: factor HOME=$(pwd) in test-lib.sh + Move set_porcelain_error_msgs to unpack-trees.c and rename it + setup_unpack_trees_porcelain: take the whole options struct as parameter + Move "show_all_errors = 1" to setup_unpack_trees_porcelain() + t7609-merge-co-error-msgs: test non-fast forward case too. + +Michael J Gruber (3): + git-bundle.txt: Cleanup + git-bundle.txt: whitespace cleanup + git-bundle.txt: Clarify rev-list-args restrictions + +Mike Lundy (1): + rebase: support -X to pass through strategy options + +Nguyễn Thái Ngọc Duy (22): + upload-pack: remove unused "create_full_pack" code in do_rev_list + setup: do not forget working dir from subdir of gitdir + Revert "rehabilitate 'git index-pack' inside the object store" + setup: split off a function to handle ordinary .git directories + unpack-trees: only clear CE_UPDATE|CE_REMOVE when skip-worktree is always set + unpack-trees: let read-tree -u remove index entries outside sparse area + unpack-trees: do not check for conflict entries too early + unpack-trees: mark new entries skip-worktree appropriately + git wrapper: introduce startup_info struct + setup: remember whether repository was found + git wrapper: allow setup_git_directory_gently() be called earlier + shortlog: run setup_git_directory_gently() sooner + grep: run setup_git_directory_gently() sooner + apply: run setup_git_directory_gently() sooner + bundle: run setup_git_directory_gently() sooner + config: run setup_git_directory_gently() sooner + index-pack: run setup_git_directory_gently() sooner + ls-remote: run setup_git_directory_gently() sooner + var: run setup_git_directory_gently() sooner + merge-file: run setup_git_directory_gently() sooner + clone: warn users --depth is ignored in local clones + parse_object: pass on the original sha1, not the replaced one + +Petr Onderka (1): + Userdiff patterns for C# + +Ralf Wildenhues (1): + Typos in code comments, an error message, documentation + +Ramkumar Ramachandra (1): + builtin/checkout: Fix message when switching to an existing branch + +Spencer E. Olson (1): + Allow HTTP user agent string to be modified. + +Steven Walter (1): + git svn: URL-decode left-hand side of svn refspec + +Sverre Rabbelier (1): + config: add --local option + +Tay Ray Chuan (4): + add tests for checkout -b + builtin/checkout: reword hint for -b + builtin/checkout: learn -B + builtin/checkout: handle -B from detached HEAD correctly + +Thiago Farina (2): + string_list: Add STRING_LIST_INIT macro and make use of it. + object.h: Add OBJECT_ARRAY_INIT macro and make use of it. + +Thomas Rast (4): + Do not unquote + into ' ' in URLs + ls-files: learn a debugging dump format + Makefile: make gcov invocation configurable + test: Introduce $GIT_BUILD_DIR + +Ævar Arnfjörð Bjarmason (59): + sha1_file: Show the the type and path to corrupt objects + tests: Ignore the Test::Harness .prove file + t/t6035-merge-dir-to-symlink.sh: Remove TODO on passing test + SubmittingPatches: Clarify the Signed-off-by rules + SubmittingPatches: Cite the 50 char subject limit + perl/Makefile: Unset INSTALL_BASE when making perl.mak + test-lib: Don't write test-results when HARNESS_ACTIVE + test-lib: Add support for multiple test prerequisites + test-lib: Print missing prerequisites in test output + t/README: Document the predefined test prerequisites + tests: A SANITY test prereq for testing if we're root + test-lib: Multi-prereq support only checked the last prereq + tests: Infrastructure for Git smoke testing + t/README: Document the Smoke testing + t/Makefile: Can't include GIT-BUILD-OPTIONS, it's a .sh + t/README: Add SMOKE_{COMMENT,TAGS}= to smoke_report target + gitignore: Ignore files generated by "make coverage" + Makefile: Include subdirectories in "make cover" reports + Makefile: Split out the untested functions target + Makefile: Add cover_db target + Makefile: Add cover_db_html target + t/README: A new section about test coverage + t/README: Add a note about the dangers of coverage chasing + tests: implicitly skip SYMLINKS tests using <prereq> + t/t4004-diff-rename-symlink.sh: use three-arg <prereq> + t/t5800-remote-helpers.sh: Skip with prereq on python <2.4 + t/t7800-difftool.sh: Skip with prereq on no PERL + t/README: Update "Skipping tests" to align with best practices + t/t1304-default-acl: change from skip_all=* to prereq skip + t/t5705-clone-2gb: change from skip_all=* to prereq skip + t/t7005-editor: change from skip_all=* to prereq skip + t/t5503-tagfollow: change from skip_all=* to prereq skip + t/t4016-diff-quote: change from skip_all=* to prereq skip + t/t3902-quoted: change from skip_all=* to prereq skip + t/t3300-funny-names: change from skip_all=* to prereq skip + git-notes: Run partial expensive test everywhere + t/Makefile: Create test-results dir for smoke target + tests: Move FILEMODE prerequisite to lib-prereq-FILEMODE.sh + t/t3701-add-interactive.sh: change from skip_all=* to prereq skip + lib-patch-mode tests: change from skip_all=* to prereq skip + t/t9600-cvsimport.sh: change from skip_all=* to prereq skip + t/t9001-send-email.sh: Remove needless PROG=* assignment + t/t9001-send-email.sh: change from skip_all=* to prereq skip + t/t9001-send-email.sh: convert setup code to tests + t/t7105-reset-patch.sh: Add a PERL prerequisite + t/t9601-cvsimport-vendor-branch.sh: Add a PERL prerequisite + t/t9602-cvsimport-branches-tags.sh: Add a PERL prerequisite + tests: fix syntax error in "Use advise() for hints" test + compat/regex: use the regex engine from gawk for compat + compat/regex: get the gawk regex engine to compile within git + compat/regex: define out variables only used under RE_ENABLE_I18N + t/t9010-svn-fe.sh: add an +x bit to this test + t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND + reset: suggest what to do upon "git reset --mixed <paths>" + test-lib: Use $TEST_DIRECTORY or $GIT_BUILD_DIR instead of $(pwd) and ../ + test-lib: Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY"/../ + test-lib: Allow overriding of TEST_DIRECTORY + t/t0000-basic.sh: Run the passing TODO test inside its own test-lib + test-lib: use subshell instead of cd $new && .. && cd $old + + +Version v1.7.2.5; changes since v1.7.2.4: +----------------------------------------- + +Jakub Narębski (1): + gitweb: Introduce esc_attr to escape attributes of HTML elements + +Junio C Hamano (1): + Git 1.6.4.5 + + +Version v1.7.2.4; changes since v1.7.2.3: +----------------------------------------- + +Brandon Casey (2): + diff.c: call regfree to free memory allocated by regcomp when necessary + xdiff-interface.c: always trim trailing space from xfuncname matches + +Daniel Knittl-Frank (1): + bash: Match lightweight tags in prompt + +Elijah Newren (2): + cache_tree_free: Fix small memory leak + revert: Fix trivial comment style issue + +Jared Hance (1): + Fix whitespace issue in object.c + +Jari Aalto (1): + git-commit.txt: (synopsis): move -i and -o before "--" + +Jens Lehmann (1): + t5505: add missing && + +Jonathan Nieder (1): + add: introduce add.ignoreerrors synonym for add.ignore-errors + +Junio C Hamano (3): + tag.c: whitespace breakages fix + t3101: modernise style + Git 1.7.0.8 + +Mark Lodato (1): + config.txt: fix placement of diff.noprefix + +René Scharfe (1): + compat/nedmalloc: don't force NDEBUG on the rest of git + + +Version v1.7.2.3; changes since v1.7.2.2: +----------------------------------------- + +Brandon Casey (2): + Makefile: link builtins residing in bin directory to main git binary too + Makefile: make hard/symbolic links for non-builtins too + +Dan Johnson (1): + fetch: allow command line --tags to override config + +David Aguilar (1): + submodule sync: Update "submodule.<name>.url" + +Elijah Newren (3): + t5520-pull: Add testcases showing spurious conflicts from git pull --rebase + pull --rebase: Avoid spurious conflicts and reapplying unnecessary patches + tree-walk: Correct bitrotted comment about tree_entry() + +Greg Price (1): + pack-refs: remove newly empty directories + +Jay Soffian (1): + for-each-ref: fix objectname:short bug + +Jens Lehmann (1): + t7403: add missing &&'s + +Jonathan Nieder (12): + t4150 (am): style fix + t4150 (am): futureproof against failing tests + t3400 (rebase): whitespace cleanup + archive: abbreviate substituted commit ids again + checkout, commit: remove confusing assignments to rev.abbrev + examples/commit: use --abbrev for commit summary + Documentation: flesh out “git pull” description + core: Stop leaking ondisk_cache_entrys + read-tree: stop leaking tree objects + write-tree: Avoid leak when index refers to an invalid object + t3302 (notes): Port to Solaris + parse-options: clarify PARSE_OPT_NOARG description + +Junio C Hamano (6): + Teach "apply --index-info" to handle rename patches + rebase: protect against diff.renames configuration + diff --follow: do not waste cycles while recursing + diff --follow: do call diffcore_std() as necessary + Prepare for 1.7.2.3 + Git 1.7.2.3 + +Linus Torvalds (1): + Fix 'git log' early pager startup error case + +Mark Rada (1): + Tell ignore file about generate files in /gitweb/static + +Matthieu Moy (2): + xmalloc: include size in the failure message + t0003: add missing && at end of lines + +Nicolas Pitre (1): + fix >4GiB source delta assertion failure + +Ralf Wildenhues (1): + Typos in code comments, an error message, documentation + +SZEDER Gábor (2): + mingw_utime(): handle NULL times parameter + rerere: fix overeager gc + +Thiago Farina (1): + builtin/merge_recursive.c: Add an usage string and make use of it. + +Thomas Rast (5): + Documentation/git-reset: reorder modes for soft-mixed-hard progression + Documentation/reset: separate options by mode + Documentation/reset: promote 'examples' one section up + Documentation/reset: reorder examples to match description + Documentation/reset: move "undo permanently" example behind "make topic" + +Ville Skyttä (1): + Documentation: spelling fixes + +Ævar Arnfjörð Bjarmason (1): + log: test for regression introduced in v1.7.2-rc0~103^2~2 + + +Version v1.7.2.2; changes since v1.7.2.1: +----------------------------------------- + +Brad King (1): + Documentation: cite git-am from git-apply + +Brandon Casey (1): + t/t7003: replace \t with literal tab in sed expression + +Clément Poulain (1): + git-gui: use textconv filter for diff and blame + +David D. Kilzer (1): + Fix git rebase --continue to work with touched files + +Heiko Voigt (5): + git-gui: check whether systems nice command works or disable it + git-gui: fix usage of themed widgets variable + git-gui: fix usage of _gitworktree when creating shortcut for windows + git-gui: fix PATH environment for mingw development environment + git-gui: fix shortcut creation on cygwin + +Jakub Narębski (1): + diff: strip extra "/" when stripping prefix + +Jonathan Nieder (7): + check-ref-format: handle subcommands in separate functions + Allow "check-ref-format --branch" from subdirectory + Makefile: add missing dependencies on url.h + Makefile: add missing dependency on http.h + Documentation: add a FILES section for show-ref + gitweb: clarify search results page when no matching commit found + Standardize do { ... } while (0) style + +Junio C Hamano (4): + Fix DIFF_QUEUE_CLEAR refactoring + Documentation: reporting bugs + sha1_name.c: fix parsing of ":/token" syntax + Git 1.7.2.2 + +Markus Heidelberg (1): + git-gui: fix "Explore Working Copy" for Windows again + +Matthieu Moy (5): + Document ls-files -t as semi-obsolete. + pretty-options.txt: match --format's documentation with implementation. + Document -B<n>[/<m>], -M<n> and -C<n> variants of -B, -M and -C + post-receive-email: remove spurious commas in email subject + push: mention "git pull" in error message for non-fast forwards + +Michael J Gruber (1): + Documentation/git-log: Clarify --full-diff + +Nelson Elhage (1): + index-pack: Don't follow replace refs. + +Pat Thoyts (4): + git-gui: Handle failure of core.worktree to identify the working directory. + git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32 + git-gui: mc cannot be used before msgcat has been loaded + git-gui: fix size and position of window panes on startup + +Raja R Harinath (1): + fast-import: export correctly marks larger than 2^20-1 + +Ramkumar Ramachandra (2): + contrib/svn-fe: Fix IncludePath + contrib/svn-fe: Add the svn-fe target to .gitignore + +René Scharfe (2): + notes: allow --dry-run for -n and --verbose for -v + prune: allow --dry-run for -n and --verbose for -v + +Shawn O. Pearce (1): + smart-http: Don't deadlock on server failure + +Thomas Rast (3): + xsize_t: check whether we lose bits + Documentation/rev-parse: quoting is required with --parseopt + t7003: fix subdirectory-filter test + +Willy Tarreau (1): + git-rebase: fix typo when parsing --force-rebase + +Ævar Arnfjörð Bjarmason (4): + test-lib: Ignore --quiet under a TAP harness + test-lib: Remove 3 year old no-op --no-python option + imap-send: Fix sprintf usage + t/lib-git-svn.sh: use $PERL_PATH for perl, not perl from $PATH + + +Version v1.7.2.1; changes since v1.7.2: +--------------------------------------- + +Brandon Casey (1): + git-rebase--interactive.sh: use printf instead of echo to print commit message + +Dan McGee (3): + git-instaweb: Fix custom apache log placement + git-instaweb: Fix Apache environment variable passing + git-instaweb: Don't assume Apache executable is named apache2 + +Greg Brockman (1): + Check size of path buffer before writing into it + +Johannes Sixt (1): + t3700-add: fix dependence on stdout and stderr buffering + +Jon Seymour (1): + INSTALL: configure /etc/xml/catalog to build docs on Cygwin + +Jonathan Nieder (1): + config --get --path: check for unset $HOME + +Junio C Hamano (3): + Git 1.7.0.7 + Git 1.7.1.2 + Git 1.7.2.1 + +Matthieu Moy (1): + Clarify help message when no remote is specified in fetch/pull. + +Nathan W. Panike (1): + Add a google-chrome option for web--browse + +Nguyễn Thái Ngọc Duy (1): + git-read-tree.txt: acknowledge the directory matching bug in sparse checkout + +Stephen Boyd (2): + request-pull.txt: Document -p option + commit: remove full stop from usage help for -u + +Thomas Rast (5): + Cast execl*() NULL sentinels to (char *) + Document receive.denyDeleteCurrent + Documentation/git-push: Explain status output in more detail + Fix 'git' wrapper usage string + Makefile: add check-docs exception for gitrevisions + + +Version v1.7.2; changes since v1.7.2-rc3: +----------------------------------------- + +Brandon Casey (6): + Makefile: remove some unnecessary curly braces + Makefile: work around ksh's failure to handle missing list argument to for loop + t/README: clarify test_must_fail description + t/t3700: convert two uses of negation operator '!' to use test_must_fail + t/{t5541,lib-httpd}: replace problematic '!()' notation with test_must_fail + t/: work around one-shot variable assignment with test_must_fail + +David Aguilar (1): + Documentation: Explain git-mergetool's use of temporary files + +Eli Barzilay (1): + Reorganize `git-log' man page to clarify common diff options. + +Greg Brockman (1): + Check size of path buffer before writing into it + +Jay Soffian (1): + MERGE_RR is in .git, not .git/rr-cache + +Jens Lehmann (2): + git add: Add the "--ignore-missing" option for the dry run + git submodule add: Require the new --force option to add ignored paths + +Jonathan Nieder (9): + t7006 (pager): introduce helper for parameterized tests + t7006: test pager configuration for several git commands + tests: local config file should be honored from subdirs of toplevel + t3000 (ls-files -o): modernize style + git --paginate: paginate external commands again + gitmodules.5: url can be a relative path + Documentation: add submodule.* to the big configuration variable list + Add a sample user for the svndump library + t/README: correct an exception when breaking a && chain in tests + +Junio C Hamano (7): + rebase-i: style fix + rebase-i: do not get fooled by a log message ending with backslash + do not write out index when status does not have to + diff A...B: give one possible diff when there are more than one merge-base + diff A...B: do not limit the syntax too narrowly + tests: correct "does reflog exist?" tests + Git 1.7.2 + +Michael J Gruber (3): + Documentation: split off rev doc into include file + Documentation: gitrevisions + Documentation: link to gitrevisions rather than git-rev-parse + +Nazri Ramliy (1): + grep -O: Do not pass color sequences as filenames to pager + +Nguyễn Thái Ngọc Duy (1): + git --paginate: do not commit pager choice too early + +Nicolas Sebrecht (1): + merge-recursive: use "up-to-date" instead of "uptodate" in error message for consistency + +Pavan Kumar Sunkara (1): + gitweb: fix esc_url + +Ralf Thielow (1): + update-server-info: Shorten read_pack_info_file() + +Sergey Vlasov (1): + git-svn: write memoized data explicitly to avoid Storable bug + +Thomas Rast (1): + Only run aggregate-results over actual counts + +Will Palmer (2): + add basic tests for merge-tree + merge-tree: fix where two branches share no changes + +Ævar Arnfjörð Bjarmason (3): + git submodule: add submodules with git add -f <path> + git submodule add: Remove old docs about implicit -f + git add: Add --ignore-missing to SYNOPSIS + + +Version v1.7.2-rc3; changes since v1.7.2-rc2: +--------------------------------------------- + +Bo Yang (1): + diff.c: fix a graph output bug + +Fredrik Skolmli (1): + Documentation: Spelling fix in protocol-capabilities.txt + +Johannes Sixt (1): + t0005: work around strange $? in ksh when program terminated by a signal + +Jonathan Nieder (1): + t9118 (git-svn): prevent early failure from taking down later tests + +Junio C Hamano (2): + Fix "read-tree -m A B" priming the cache-tree + Git 1.7.2-rc3 + +Michael J Gruber (3): + t9118: avoid PEG revision identifier in tests + test-lib: simplify GIT_SKIP_TESTS loop + test-lib: TAP compliance for skipping tests on request + +Miklos Vajna (1): + format-patch: document the format.to configuration setting + +Nicolas Sebrecht (1): + checkout: accord documentation to what git does + +Oren Held (1): + git fetch documentation: describe short '-p' synonym to '--prune' option + +Raja R Harinath (1): + Use dev_t for device id (st_dev) from stat in setup_git_directory_gently() + +Ævar Arnfjörð Bjarmason (1): + tests: Use skip_all=* to skip tests + + +Version v1.7.2-rc2; changes since v1.7.2-rc1: +--------------------------------------------- + +Brandon Casey (2): + t/t9700/test.pl: don't access private object members, use public access methods + t/t0006: specify timezone as EST5 not EST to comply with POSIX + +Chris Packham (1): + Documentation/git-gc.txt: add reference to githooks + +Dylan Reid (1): + xdiff: optimise for no whitespace difference when ignoring whitespace. + +Heiko Voigt (1): + add missing && to submodule-merge testcase + +Jakub Narębski (1): + gitweb: Move evaluate_gitweb_config out of run_request + +Jeff King (3): + t0006: test timezone parsing + parse_date: fix signedness in timezone calculation + test-date: fix sscanf type conversion + +Jonathan Nieder (1): + t/README: document more test helpers + +Junio C Hamano (4): + Updates from the list to 1.7.2 Release Notes + t/README: proposed rewording... + backmerge a few more fixes to 1.7.1.X series + Git 1.7.2-rc2 + +Michael J Gruber (1): + rerere.txt: Document forget subcommand + +Pierre Habouzit (1): + fix git branch -m in presence of cross devices + +Uwe Kleine-König (1): + rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option + +Ævar Arnfjörð Bjarmason (13): + test-lib: Adjust output to be valid TAP format + test-lib: Make the test_external_* functions TAP-aware + test-lib: output a newline before "ok" under a TAP harness + tests: Skip tests in a way that makes sense under TAP + tests: Say "pass" rather than "ok" on empty lines for TAP + t9700: Use Test::More->builder, not $Test::Builder::Test + t/README: The trash is in 't/trash directory.$name' + t/README: Typo: paralell -> parallel + t/README: Document the prereq functions, and 3-arg test_* + t/README: Document test_external* + t/README: Document test_expect_code + t/README: Add a section about skipping tests + t/README: Document the do's and don'ts of tests + + +Version v1.7.2-rc1; changes since v1.7.2-rc0: +--------------------------------------------- + +Andrew Sayers (2): + bash-completion: Fix __git_ps1 to work with "set -u" + bash completion: Support "divergence from upstream" messages in __git_ps1 + +Brandon Casey (4): + t/lib-pager.sh: remove unnecessary '^' from 'expr' regular expression + t/t7811-grep-open.sh: ensure fake "less" is made executable + t/t7811-grep-open.sh: remove broken/redundant creation of fake "less" script + t/t9001: use egrep when regular expressions are involved + +Brian Gernhardt (1): + t4027,4041: Use test -s to test for an empty file + +Christian Couder (1): + revert: accept arbitrary rev-list options + +Jeff King (1): + notes: check number of parameters to "git notes copy" + +Jens Lehmann (4): + git diff: rename test that had a conflicting name + Add optional parameters to the diff option "--ignore-submodules" + git submodule: ignore dirty submodules for summary and status + Add the option "--ignore-submodules" to "git status" + +Johannes Schindelin (3): + Unify code paths of threaded greps + grep: Add the option '--open-files-in-pager' + grep -O: allow optional argument specifying the pager (or editor) + +Jonathan Nieder (3): + grep: refactor grep_objects loop into its own function + t3508 (cherry-pick): futureproof against unmerged files + revert: do not rebuild argv on heap + +Julian Phillips (6): + string_list: Fix argument order for print_string_list + string_list: Fix argument order for for_each_string_list + string_list: Fix argument order for string_list_insert + string_list: Fix argument order for string_list_insert_at_index + string_list: Fix argument order for string_list_lookup + string_list: Fix argument order for string_list_append + +Junio C Hamano (5): + url_decode: URL scheme ends with a colon and does not require a slash + Update draft release notes to 1.7.1.1 + Git 1.7.1.1 + git.spec.in: Add gitweb subpackage + Git 1.7.2-rc1 + +Michael J Gruber (4): + t6018: add tests for rev-list's --branches and --tags + t6018: make sure all tested symbolic names are different revs + git-rev-parse.txt: Document ":path" specifier + git-rev-parse.txt: Add more examples for caret and colon + +Nazri Ramliy (5): + commit.h: add 'type' to struct name_decoration + log-tree.c: Use struct name_decoration's type for classifying decoration + log --decorate: Colorize commit decorations + Allow customizable commit decorations colors + Add test for correct coloring of git log --decoration + +Ramsay Jones (2): + msvc: Select the "fast" definition of the {get,put}_be32() macros + notes: Initialise variable to appease gcc + +Thomas Rast (1): + rev-list: introduce --count option + + +Version v1.7.2-rc0; changes since v1.7.1.4: +------------------------------------------- + +Alex Riesen (2): + Allow passing of configuration parameters in the command line + Use strbufs instead of open-coded string manipulation + +Axel Bonnet (3): + textconv: make the API public + textconv: support for blame + t/t8006: test textconv support for blame + +Bo Yang (9): + Add a macro DIFF_QUEUE_CLEAR. + Make diffcore_std only can run once before a diff_flush + Make git log --follow find copies among unmodified files. + Add a prefix output callback to diff output + Output the graph columns at the end of the commit message + diff.c: Output the text graph padding before each diff line + Emit a whole line in one go + graph.c: register a callback for graph output + Make --color-words work well with --graph + +Brandon Casey (7): + t/t5800: skip if python version is older than 2.5 + git-request-pull.sh: remove -e switch to shell interpreter which breaks ksh + t/t5150: remove space from sed script + t/t7006: ignore return status of shell's unset builtin + t/aggregate-results: accomodate systems with small max argument list length + Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONS + Remove python 2.5'isms + +Brian Gernhardt (1): + Makefile: Simplify handling of python scripts + +Chris Webb (5): + whitespace: add tab-in-indent error class + whitespace: tests for git-diff --check with tab-in-indent error class + whitespace: replumb ws_fix_copy to take a strbuf *dst instead of char *dst + whitespace: add tab-in-indent support for --whitespace=fix + whitespace: tests for git-apply --whitespace=fix with tab-in-indent + +Christian Couder (13): + revert: use strbuf to refactor the code that writes the merge message + revert: refactor merge recursive code into its own function + merge: refactor code that calls "git merge-STRATEGY" + merge: make function try_merge_command non static + revert: add "--strategy" option to choose merge strategy + revert: cleanup code for -x option + revert: use run_command_v_opt() instead of execv_git_cmd() + revert: refactor code into a do_pick_commit() function + revert: change help_msg() to take no argument + revert: allow cherry-picking more than one commit + revert: add tests to check cherry-picking many commits + Documentation/cherry-pick: describe passing more than one commit + Documentation/revert: describe passing more than one commit + +Clément Poulain (3): + sha1_name: add get_sha1_with_context() + textconv: support for cat_file + t/t8007: test textconv support for cat-file + +Daniel Knittl-Frank (1): + Show branch information in short output of git status + +Eli Barzilay (1): + Add `%B' in format strings for raw commit body in `git log' and friends + +Eli Collins (1): + diff: add configuration option for disabling diff prefixes. + +Eric Wong (1): + git svn: avoid unnecessary '/' in paths for SVN + +Erick Mattos (6): + git checkout: create unparented branch by --orphan + Documentation: alter checkout --orphan description + refs: split log_ref_write logic into log_ref_setup + checkout --orphan: respect -l option always + t3200: test -l with core.logAllRefUpdates options + bash completion: add --orphan to 'git checkout' + +Erik Faye-Lund (1): + mingw: use _commit to implement fsync + +Eyvind Bernhardsen (4): + Add tests for per-repository eol normalization + Add per-repository eol normalization + Rename the "crlf" attribute "text" + Add "core.eol" config variable + +Finn Arne Gangstad (1): + autocrlf: Make it work also for un-normalized repositories + +Gary V. Vaughan (17): + Makefile: pass CPPFLAGS through to fllow customization + Rewrite dynamic structure initializations to runtime assignment + Makefile: -lpthread may still be necessary when libc has only pthread stubs + enums: omit trailing comma for portability + Do not use "diff" found on PATH while building and installing + tests: use "test_cmp", not "diff", when verifying the result + test_cmp: do not use "diff -u" on platforms that lack one + git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition + Makefile: some platforms do not have hstrerror anywhere + Make NO_{INET_NTOP,INET_PTON} configured independently + Some platforms lack socklen_t type + Allow disabling "inline" + inline declaration does not work on AIX + Makefile: SunOS 5.6 portability fix + Makefile: HPUX11 portability fixes + Makefile: HP-UX 10.20 portability fixes + Makefile: Tru64 portability fix + +Giuseppe Scrivano (1): + print the usage string on stdout instead of stderr + +Henrik Grubbström (2): + convert: Safer handling of $Id$ contraction. + convert: Keep foreign $Id$ on checkout. + +Jakub Narębski (16): + Export more test-related variables when running external tests + gitweb: href(..., -path_info => 0|1) + gitweb: Use nonlocal jump instead of 'exit' in die_error + gitweb: Add custom error handler using die_error + gitweb: Move generating page title to separate subroutine + gitweb: Silence 'Variable VAR may be unavailable' warnings + gitweb: Improve installation instructions in gitweb/INSTALL + gitweb: Create install target for gitweb in Makefile + gitweb: Refactor syntax highlighting support + gitweb: Put all per-connection code in run() subroutine + git-instaweb: Remove pidfile after stopping web server + git-instaweb: Wait for server to start before running web browser + git-instaweb: Add support for running gitweb via 'plackup' + gitweb: Run in FastCGI mode if gitweb script has .fcgi extension + gitweb: Fix typo in hash key name in %opts in git_header_html + gitweb: Return or exit after done serving request + +Jan Krüger (1): + git-am: suggest what to do with superfluous patches + +Jay Soffian (1): + t5516-fetch-push.sh: style cleanup + +Jeff King (11): + make commit_tree a library function + introduce notes-cache interface + textconv: refactor calls to run_textconv + diff: cache textconv output + diff: avoid useless filespec population + script with rev-list instead of log + tests: rename duplicate t4205 + tests: chmod +x t5150 + make url-related functions reusable + decode file:// and ssh:// URLs + Makefile: default pager on AIX to "more" + +Johan Herland (5): + diff.c: Ensure "index $from..$to" line contains unambiguous SHA1s + Documentation/rev-list-options.txt: Fix missing line in example history graph + Documentation/rev-list-options.txt: Explain --ancestry-path + revision: Fix typo in --ancestry-path error message + revision: Turn off history simplification in --ancestry-path mode + +Johannes Schindelin (1): + gitweb: Syntax highlighting support + +Johannes Sixt (11): + Modernize t5530-upload-pack-error. + Make report() from usage.c public as vreportf() and use it. + Fix signature of fcntl() compatibility dummy + Windows: more pthreads functions + Reimplement async procedures using pthreads + Dying in an async procedure should only exit the thread, not the process. + Enable threaded async procedures whenever pthreads is available + Have set_try_to_free_routine return the previous routine + Do not call release_pack_memory in malloc wrappers when GIT_TRACE is used + Recent MinGW has a C99 implementation of snprintf functions + merge-recursive: demonstrate an incorrect conflict with submodule + +Jonathan Nieder (17): + t7400: split setup into multiple tests + t7400: clarify 'submodule add' tests + t7400: clarify submodule update tests + t5800: testgit helper requires Python support + tests for request-pull + request-pull: protect against OPTIONS_KEEPDASHDASH from environment + fsck: check ident lines in commit objects + adapt request-pull tests for new pull request format + pretty: initialize new cmt_fmt_map to 0 + Makefile: fix header dependency checker to allow NO_CURL builds + Makefile: let header dependency checker override COMPUTE_HEADER_DEPENDENCIES + git svn: avoid uninitialized var in 'reset' + Add git remote set-branches + fsck: fix bogus commit header check + rebase: improve error message when upstream argument is missing + DWIM 'git show -5' to 'git show --do-walk -5' + git-svn: strip off leading slashes on --trunk argument + +Junio C Hamano (31): + git_config_maybe_bool() + log.decorate: usability fixes + whitespace: we cannot "catch all errors known to git" anymore + GIT_ONE_FILESYSTEM: flip the default to stop at filesystem boundaries + Rename ONE_FILESYSTEM to DISCOVERY_ACROSS_FILESYSTEM + log --pretty/--oneline: ignore log.decorate + war on "sleep" in tests + reflog --expire-unreachable: avoid merge-base computation + log.decorate: only ignore it under "log --pretty=raw" + wt-status: remove unused workdir_untracked member + wt-status: plug memory leak while collecting untracked files + wt-status: collect ignored files + wt-status: rename and restructure status-print-untracked + status: --ignored option shows ignored files + Document gc.<pattern>.reflogexpire variables + more war on "sleep" in tests + reflog --expire-unreachable: special case entries in "HEAD" reflog + revision: --ancestry-path + wt-status: fix 'fprintf' compilation warning + t5150: protect backslash with backslash in shell + Start 1.7.2 cycle + fixup: do not unconditionally disable "diff -u" + build: propagate $DIFF to scripts + test-lib: use DIFF definition from GIT-BUILD-OPTIONS + Update draft release notes to 1.7.2 + Update draft release notes to 1.7.2 + Update draft release notes to 1.7.2 + Drop items that are 1.7.1.1 fixes from the 1.7.1 release notes + Update draft release notes to 1.7.2 + url.c: "<scheme>://" part at the beginning should not be URL decoded + Git 1.7.2-rc0 + +Lars R. Damerow (3): + config.c: remove static keyword from git_env_bool() + truncate cwd string before printing error message + Add support for GIT_ONE_FILESYSTEM + +Linus Torvalds (1): + Make :/ accept a regex rather than a fixed pattern + +Michael J Gruber (5): + for-each-ref: Field with abbreviated objectname + notes: dry-run and verbose options for prune + Documentation+t5708: document and test status -s -b + pretty: Introduce ' ' modifier to add space if non-empty + git-cat-file.txt: Document --textconv + +Michael J. Kiwala (1): + git svn: fix empty directory creation + +Paolo Bonzini (2): + patch-id: extract parsing one diff out of generate_id_list + patch-id: Add support for mbox format + +Pavan Kumar Sunkara (6): + gitweb: Use @diff_opts while using format-patch + gitweb: Move static files into seperate subdirectory + gitweb: Set default destination directory for installing gitweb in Makefile + git-instaweb: Put httpd logs in a "$httpd_only" subdirectory + git-instaweb: Configure it to work with new gitweb structure + git-web--browse: Add support for google chrome and chromium + +Ramkumar Ramachandra (4): + git am: Set cmdline globally + git am: Display some help text when patch is empty + git am: Remove stray error message from sed + Refactor parse_date for approxidate functions + +René Scharfe (8): + grep: add test script for binary file handling + grep: grep: refactor handling of binary mode options + grep: --count over binary + grep: --name-only over binary + grep: use memmem() for fixed string search + grep: continue case insensitive fixed string search after NUL chars + grep: use REG_STARTEND for all matching if available + grep: support NUL chars in search strings for -F + +Sam Vilain (2): + gitweb: Add support for FastCGI, using CGI::Fast + git-cvsserver: use a password file cvsserver pserver + +Samuel Tardieu (2): + Honor "tagopt = --tags" configuration option + remote add: add a --[no-]tags option + +Simo Melenius (2): + branch: exit status now reflects if branch listing finds an error + branch: don't fail listing branches if one of the commits wasn't found + +Stephen Boyd (2): + format-patch: Add a signature option (--signature) + completion: Add --signature and format.signature + +Steven Drake (1): + Add `log.decorate' configuration variable. + +Sverre Rabbelier (7): + clone: pass the remote name to remote_get + clone: also configure url for bare clones + fast-import: always create marks_file directories + remote-helpers: allow requesing the path to the .git directory + remote-helpers: add support for an export command + remote-helpers: add testgit helper + remote-helpers: add tests for testgit helper + +Tay Ray Chuan (2): + ls-remote: fall-back to default remotes when no remote specified + ls-remote: print URL when no repo is specified + +Thomas Rast (5): + diff: add --word-diff option that generalizes --color-words + Complete prototype of git_config_from_parameters() + fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f) + log_ref_setup: don't return stack-allocated array + parseopt: wrap rev-parse --parseopt usage for eval consumption + +Torsten Schmutzler (1): + git-svn: mangle refnames forbidden in git + +Will Palmer (4): + pretty: make it easier to add new formats + pretty: add infrastructure for commit format aliases + pretty: add aliases for pretty formats + diff-options: make --patch a synonym for -p + +Ævar Arnfjörð Bjarmason (12): + Add option to git-commit to allow empty log messages + git-svn documentation: minor grammar fix + git-svn: Remove unused use of File::Temp + git-cvsserver: authentication support for pserver + git-cvsserver: indent & clean up authdb code + git-cvsserver: Improved error handling for pserver + git-cvsserver: document making a password without htpasswd + git-cvsserver: test for pserver authentication support + git-submodule foreach: Add $toplevel variable + Makefile: remove redundant munging of @@INSTLIBDIR@@ + git-cvsserver: typo in a comment: bas -> has + git-cvsserver: fix error for invalid password formats + + +Version v1.7.1.4; changes since v1.7.1.3: +----------------------------------------- + +Jakub Narębski (1): + gitweb: Introduce esc_attr to escape attributes of HTML elements + +Junio C Hamano (1): + Git 1.6.4.5 + + +Version v1.7.1.3; changes since v1.7.1.2: +----------------------------------------- + +Jonathan Nieder (1): + add: introduce add.ignoreerrors synonym for add.ignore-errors + +Junio C Hamano (1): + Git 1.7.0.8 + +Matthieu Moy (1): + t0003: add missing && at end of lines + + +Version v1.7.1.2; changes since v1.7.1.1: +----------------------------------------- + +Brandon Casey (1): + t/README: clarify test_must_fail description + +Chris Packham (1): + Documentation/git-gc.txt: add reference to githooks + +David Aguilar (1): + Documentation: Explain git-mergetool's use of temporary files + +Dylan Reid (1): + xdiff: optimise for no whitespace difference when ignoring whitespace. + +Fredrik Skolmli (1): + Documentation: Spelling fix in protocol-capabilities.txt + +Greg Brockman (2): + Check size of path buffer before writing into it + Check size of path buffer before writing into it + +Heiko Voigt (1): + add missing && to submodule-merge testcase + +Jay Soffian (2): + receive-pack: switch global variable 'commands' to a parameter + receive-pack: detect aliased updates which can occur with symrefs + +Jeff King (2): + t0006: test timezone parsing + test-date: fix sscanf type conversion + +Johannes Sixt (1): + t0005: work around strange $? in ksh when program terminated by a signal + +Jonathan Nieder (3): + gitmodules.5: url can be a relative path + Documentation: add submodule.* to the big configuration variable list + config --get --path: check for unset $HOME + +Junio C Hamano (3): + backmerge a few more fixes to 1.7.1.X series + Git 1.7.0.7 + Git 1.7.1.2 + +Michael J Gruber (3): + git-rev-parse.txt: Document ":path" specifier + git-rev-parse.txt: Add more examples for caret and colon + rerere.txt: Document forget subcommand + +Miklos Vajna (1): + format-patch: document the format.to configuration setting + +Nicolas Sebrecht (1): + checkout: accord documentation to what git does + +Oren Held (1): + git fetch documentation: describe short '-p' synonym to '--prune' option + +Pavan Kumar Sunkara (1): + gitweb: fix esc_url + +Pierre Habouzit (1): + fix git branch -m in presence of cross devices + +Ralf Thielow (1): + update-server-info: Shorten read_pack_info_file() + +Stephen Boyd (1): + request-pull.txt: Document -p option + +Thomas Rast (1): + check_aliased_update: strcpy() instead of strcat() to copy + +Uwe Kleine-König (1): + rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option + + +Version v1.7.1.1; changes since v1.7.1: +--------------------------------------- + +Alexey Mahotkin (1): + xdiff/xmerge.c: use memset() instead of explicit for-loop + +Bert Wesarg (1): + diff: fix coloring of extended diff headers + +Björn Gustavsson (1): + apply: Allow blank *trailing* context lines to match beyond EOF + +Björn Steinbrink (1): + diff: Support visibility modifiers in the PHP hunk header regexp + +Bo Yang (1): + blame-options.txt: Add default value for `-M/-C` options. + +Brandon Casey (1): + t/t9001: use egrep when regular expressions are involved + +Brian Downing (1): + unpack-trees: Make index lookahead less pessimal + +Brian Gernhardt (4): + send-email: Cleanup { style + send-email: Don't use FQDNs without a '.' + Document send-email --smtp-domain + send-email: Cleanup smtp-domain and add config + +Charles Bailey (2): + stash: Don't overwrite files that have gone from the index + stash tests: stash can lose data in a file removed from the index + +Chris Webb (1): + exec_cmd.c: replace hard-coded path list with one from <paths.h> + +Christian Couder (3): + diff: fix "git show -C -C" output when renaming a binary file + commit: use value of GIT_REFLOG_ACTION env variable as reflog message + Documentation: grep: fix asciidoc problem with -- + +Clemens Buchacher (7): + do not overwrite files marked "assume unchanged" + Documentation: git-add does not update files marked "assume unchanged" + test get_git_work_tree() return value for NULL + get_cwd_relative(): do not misinterpret suffix as subdirectory + setup: document prefix + quote.c: separate quoting and relative path generation + ls-files: allow relative pathspec + +Dmitry Potapov (1): + hash_object: correction for zero length file + +Gary V. Vaughan (1): + git-compat-util.h: use apparently more common __sgi macro to detect SGI IRIX + +Gerrit Pape (1): + git-submodule.sh: properly initialize shell variables + +Henrik Grubbström (3): + attr: Fixed debug output for macro expansion. + attr: Allow multiple changes to an attribute on the same line. + attr: Expand macros immediately when encountered. + +Ian McLean (1): + Fix "Out of memory? mmap failed" for files larger than 4GB on Windows + +Ian Ward Comfort (1): + rebase -i: Abort cleanly if new base cannot be checked out + +Jakub Narębski (1): + autoconf: Check if <paths.h> exists and set HAVE_PATHS_H + +Jay Soffian (3): + commit.txt: clarify how --author argument is used + am: use get_author_ident_from_commit instead of mailinfo when rebasing + gitweb/Makefile: fix typo in gitweb.min.css rule + +Jeff King (7): + handle "git --bare init <dir>" properly + docs: clarify meaning of -M for git-log + remove over-eager caching in sha1_file_name + pull: do nothing on --dry-run + commit: give advice on empty amend + Makefile: default pager on AIX to "more" + notes: check number of parameters to "git notes copy" + +Johannes Sixt (1): + Thread-safe xmalloc and xrealloc needs a recursive mutex + +Jonathan Nieder (25): + t7006: guard cleanup with test_expect_success + t5704 (bundle): add tests for bundle --stdin + fix "bundle --stdin" segfault + test-lib: Let tests specify commands to be run at end of test + commit --amend: cope with missing display name + Documentation/shortlog: scripted users should not rely on implicit HEAD + t4201 (shortlog): guard setup with test_expect_success + t4201 (shortlog): Test output format with multiple authors + shortlog: Document and test --format option + test-lib: some shells do not let $? propagate into an eval + cherry-pick: do not dump core when iconv fails + Documentation/notes: document format of notes trees + Documentation/notes: describe content of notes blobs + Documentation/notes: add configuration section + Documentation/notes: simplify treatment of default notes ref + Documentation/log: add a CONFIGURATION section + Documentation/notes: simplify treatment of default display refs + Documentation/notes: clean up description of rewriting configuration + Documentation/notes: nitpicks + post-receive-email: document command-line mode + Documentation/checkout: clarify description + gitignore.5: Clarify matching rules + rebase -i -p: document shortcomings + Documentation/checkout: clarify description + add-interactive: Clarify “remaining hunks in the file” + +Junio C Hamano (10): + am -3: recover the diagnostic messages for corrupt patches + clone: quell the progress report from init and report on clone + t9129: fix UTF-8 locale detection + common_prefix: simplify and fix scanning for prefixes + Prepare draft release notes to 1.7.1.1 + Update draft release notes to 1.7.1.1 + tests: remove unnecessary '^' from 'expr' regular expression + Update draft release notes to 1.7.1.1 + Update draft release notes to 1.7.1.1 + Git 1.7.1.1 + +Leif Arne Storset (1): + Documentation/config.txt: GIT_NOTES_REWRITE_REF overrides notes.rewriteRef + +Marcus Comstedt (1): + Add "Z" as an alias for the timezone "UTC" + +Markus Heidelberg (4): + t7508: add test for "git status" refreshing the index + git status: refresh the index if possible + t7508: add a test for "git status" in a read-only repository + Documentation: rebase -i ignores options passed to "git am" + +Michael J Gruber (10): + index-pack: fix trivial typo in usage string + t7508: test advice.statusHints + wt-status: take advice.statusHints seriously + Documentation: fix minor inconsistency + Documentation/gitdiffcore: fix order in pickaxe description + Documentation/SubmittingPatches: clarify GMail section and SMTP + completion: --set-upstream option for git-branch + Makefile: reenable install with NO_CURL + Documentation/config: describe status.submodulesummary + Documentation: A...B shortcut for checkout and rebase + +Michal Sojka (1): + test-lib.sh: Add explicit license detail, with change from GPLv2 to GPLv2+. + +Nazri Ramliy (1): + Documentation/pretty-{formats,options}: better reference for "format:<string>" + +Nicolas Pitre (4): + Make xmalloc and xrealloc thread-safe + index-pack: smarter memory usage when resolving deltas + index-pack: rationalize unpack_entry_data() + index-pack: smarter memory usage when appending objects + +Pete Harlan (1): + clone: reword messages to match the end-user perception + +Peter Collingbourne (4): + Generalise the unlink_or_warn function + Implement the rmdir_or_warn function + Introduce remove_or_warn function + Remove a redundant errno test in a usage of remove_path + +Philippe Bruhat (1): + Git.pm: better error message + +Ping Yin (1): + Documentation/git-send-email: Add "Use gmail as the smtp server" + +Ramkumar Ramachandra (1): + SubmittingPatches: Add new section about what to base work on + +Ramsay Jones (4): + Makefile: Fix 'clean' target to remove all gitweb build files + msvc: Fix some "expr evaluates to function" compiler warnings + msvc: Fix some compiler warnings + notes: Initialise variable to appease gcc + +René Scharfe (3): + git diff too slow for a file + remove ecb parameter from xdi_diff_outf() + Fix checkout of large files to network shares on Windows XP + +Scott Chacon (1): + Prompt for a username when an HTTP request 401s + +Shawn O. Pearce (16): + tag.c: Correct indentation + tag.h: Remove unused signature field + tag.c: Refactor parse_tag_buffer to be saner to program + tag.c: Parse tagger date (if present) + describe: Break annotated tag ties by tagger date + http.c: Remove bad free of static block + t5550-http-fetch: Use subshell for repository operations + http.c: Tiny refactoring of finish_http_pack_request + http.c: Drop useless != NULL test in finish_http_pack_request + http.c: Don't store destination name in request structures + http.c: Remove unnecessary strdup of sha1_to_hex result + Introduce close_pack_index to permit replacement + Extract verify_pack_index for reuse from verify_pack + Allow parse_pack_index on temporary files + http-fetch: Use index-pack rather than verify-pack to check packs + http-fetch: Use temporary files for pack-*.idx until verified + +Sverre Rabbelier (1): + Gitweb: ignore built file + +Tay Ray Chuan (18): + t5541-http-push: add test for URLs with trailing slash + http: make end_url_with_slash() public + remote-curl: ensure that URLs have a trailing slash + http.c::new_http_pack_request: do away with the temp variable filename + t7604-merge-custom-message: shift expected output creation + t7604-merge-custom-message: show that --log doesn't append to -m + merge: update comment + merge: rename variable + fmt-merge-msg: minor refactor of fmt_merge_msg() + fmt-merge-msg: refactor merge title formatting + fmt-merge-msg: add function to append shortlog only + merge: --log appends shortlog to message if specified + GIT-VERSION-GEN: restrict tags used + t7502-commit: fix spelling + show-branch: use DEFAULT_ABBREV instead of 7 + t7502-commit: add tests for summary output + t7502-commit: add summary output tests for empty and merge commits + commit::print_summary(): don't use format_commit_message() + +Thomas Rast (2): + t/README: document --root option + send-email: ask about and declare 8bit mails + +Tim Henigan (1): + Documentation/SubmittingPatches: Fix typo in GMail section + +Tor Arntsen (1): + Change C99 comments to old-style C comments + +Will Palmer (1): + pretty: Respect --abbrev option + +Zhang Le (1): + git-mailinfo documentation: clarify -u/--encoding + +bert Dvornik (1): + start_command: close cmd->err descriptor when fork/spawn fails + +Ævar Arnfjörð Bjarmason (3): + Move t6000lib.sh to lib-* + Turn setup code in t2007-checkout-symlink.sh into a test + notes: Initialize variable to appease Sun Studio + + +Version v1.7.1; changes since v1.7.1-rc2: +----------------------------------------- + +Eric Raymond (1): + Documentation improvements for the description of short format. + +Johannes Sixt (1): + MSVC: Fix build by adding missing termios.h dummy + +Jonathan Nieder (1): + Documentation/Makefile: fix interrupted builds of user-manual.xml + +Junio C Hamano (2): + Git 1.7.0.6 + Git 1.7.1 + +Michael J Gruber (1): + t7012: Mark missing tests as TODO + +SZEDER Gábor (1): + reflog: remove 'show' from 'expire's usage string + + +Version v1.7.1-rc2; changes since v1.7.1-rc1: +--------------------------------------------- + +Charles Bailey (1): + Documentation: Describe other situations where -z affects git diff + +Chris Webb (1): + git-instaweb: pass through invoking user's path to gitweb CGI scripts + +Jay Soffian (1): + Documentation/config.txt: default gc.aggressiveWindow is 250, not 10 + +Jeff King (2): + diff: use large integers for diffstat calculations + rebase-interactive: silence warning when no commits rewritten + +Jens Lehmann (2): + gitk: Add Ctrl-W shortcut for closing the active window + gitk: Display dirty submodules correctly + +Johannes Gilger (1): + pretty: Initialize notes if %N is used + +Johannes Sixt (1): + Windows: start_command: Support non-NULL dir in struct child_process + +Jonathan Nieder (5): + gitk: Add comments to explain encode_view_opts and decode_view_opts + gitk: Don't clobber "Remember this view" setting + Add .depend directories to .gitignore + Document new "already-merged" rule for branch -d + tag -v: use RUN_GIT_CMD to run verify-tag + +Junio C Hamano (6): + SubmittingPatches: update GMail section + blame documentation: -M/-C notice copied lines as well as moved ones + Git 1.7.0.5 + gitweb: simplify gitweb.min.* generation and clean-up rules + t3301: add tests to use --format="%N" + Git 1.7.1-rc2 + +Marc Branchaud (1): + Docs: Add -X option to git-merge's synopsis. + +Mark Hills (4): + gitk: Remove forced use of sans-serif font + gitk: Set the font for all spinbox widgets + gitk: Set the font for all listbox widgets + gitk: Use consistent font for all text input fields + +Matthew Ogilvie (1): + t6006: do not write to /tmp + +Michael J Gruber (1): + t1010-mktree: Adjust expected result to code and documentation + +Pat Thoyts (3): + gitk: Avoid calling tk_setPalette on Windows + gitk: Add emacs editor variable block + gitk: Fix display of copyright symbol + +Ramkumar Ramachandra (5): + Documentation/remote-helpers: Rewrite description + Documentation/urls: Rewrite to accomodate <transport>::<address> + Documentation/remote-helpers: Add invocation section + Fixup: Second argument may be any arbitrary string + Documentation/remote-helpers: Fix typos and improve language + +Stephen Boyd (1): + t3507: Make test executable + +Thomas Rast (1): + combined diff: correctly handle truncated file + +Will Palmer (1): + documentation: clarify direction of core.autocrlf + + +Version v1.7.1-rc1; changes since v1.7.1-rc0: +--------------------------------------------- + +Brandon Casey (1): + notes.h: declare bit field as unsigned to silence compiler complaints + +Jeff King (4): + fix const-correctness of write_sha1_file + fix textconv leak in emit_rewrite_diff + fix typos and grammar in 1.7.1 draft release notes + docs: clarify "branch -l" + +Jens Lehmann (2): + Let check_preimage() use memset() to initialize "struct checkout" + Teach diff --submodule and status to handle .git files in submodules + +Jonathan Nieder (1): + Teach mailinfo %< as an alternative scissors mark + +Junio C Hamano (2): + diff.c: work around pointer constness warnings + Git 1.7.1-rc1 + +Mark Rada (6): + Gitweb: add ignore and clean rules for minified files + Gitweb: add support for minifying gitweb.css + Gitweb: add autoconfigure support for minifiers + instaweb: add minification awareness + gitweb: add documentation to INSTALL regarding gitweb.js + gitweb: update INSTALL to use shorter make target + +Michael J Gruber (2): + t3301-notes: Test the creation of reflog entries + refs.c: Write reflogs for notes just like for branch heads + +Tay Ray Chuan (2): + branch: say "Reset to" in reflog entries for 'git branch -f' operations + fetch/push: fix usage strings + + +Version v1.7.1-rc0; changes since v1.7.0.9: +------------------------------------------- + +Aaron Crane (1): + cvsimport: new -R option: generate .git/cvs-revisions mapping + +Anders Kaseorg (1): + everyday: fsck and gc are not everyday operations + +Ben Walton (2): + Make templates honour SHELL_PATH and PERL_PATH + Modernize git calling conventions in hook templates + +Benjamin C Meyer (1): + Fix a spelling mistake in a git-p4 console message + +Bert Wesarg (4): + make union merge an xdl merge favor + refactor merge flags into xmparam_t + merge-file: add option to specify the marker size + merge-file: add option to select union merge favor + +Brandon Casey (9): + t/t1304: avoid -d option to setfacl + t/t1304: set the Default ACL base entries + t/t1304: use 'test -r' to test readability rather than looking at mode bits + t/t1304: set the ACL effective rights mask + t/t1304: make a second colon optional in the mask ACL check + notes.c: remove inappropriate call to return + t5505: remove unnecessary subshell invocations + t5505: add missing && + t/t5505-remote.sh: escape * to prevent interpretation by shell as glob + +Brian Gernhardt (1): + Use test_expect_success for test setups + +Chris Webb (1): + imap-send: suppress warning about cleartext password with CRAM-MD5 + +Christian Couder (8): + reset: add option "--keep" to "git reset" + reset: add test cases for "--keep" option + Documentation: reset: describe new "--keep" option + reset: disallow "reset --keep" outside a work tree + reset: disallow using --keep when there are unmerged entries + cherry-pick: add tests for new --ff option + Documentation: describe new cherry-pick --ff option + rebase -i: use new --ff cherry-pick option + +Dave Olszewski (1): + rebase--interactive: don't require what's rebased to be a branch + +Eric Blake (1): + Makefile: update defaults for modern Cygwin + +Eric S. Raymond (1): + Integrate version 3 ciabot scripts into contrib/. + +Erik Faye-Lund (5): + hash-object: support --stdin-paths with --no-filters + git-svn: support fetch with autocrlf on + Revert "git-svn: always initialize with core.autocrlf=false" + cherry: support --abbrev option + ls: remove redundant logic + +Frank Li (3): + fallback SSH_ASKPASS when GIT_ASKPASS not set + git-svn: Support retrieving passwords with GIT_ASKPASS + git-core: Support retrieving passwords with GIT_ASKPASS + +Hitoshi Mitake (1): + imap-send: support CRAM-MD5 authentication + +Ian Ward Comfort (1): + RPM spec: include bash completion support + +Ilari Liusvaara (1): + Allow '+', '-' and '.' in remote helper names + +Jakub Narębski (2): + gitweb: esc_html (short) error message in die_error + gitweb: Protect escaping functions against calling on undef + +Jari Aalto (3): + git-send-email.perl: improve error message in send_message() + git-send-email.perl: add option --smtp-debug + git-send-email.perl - try to give real name of the calling host to HELO/EHLO + +Jeff King (1): + submodule summary: do not shift a non-existent positional variable + +Jens Lehmann (6): + git diff --submodule: Show detailed dirty status of submodules + git status: Show detailed dirty status of submodules in long format + git submodule summary: Handle HEAD as argument when on an unborn branch + Refactor dirty submodule detection in diff-lib.c + git status: Fix false positive "new commits" output for dirty submodules + git status: ignoring untracked files must apply to submodules too + +Johan Herland (32): + Minor cosmetic fixes to notes.c + Notes API: get_commit_notes() -> format_note() + remove the commit restriction + Add tests for checking correct handling of $GIT_NOTES_REF and core.notesRef + Notes API: init_notes(): Initialize the notes tree from the given notes ref + Notes API: add_note(): Add note objects to the internal notes tree structure + Notes API: remove_note(): Remove note objects from the notes tree structure + Notes API: get_note(): Return the note annotating the given object + Notes API: for_each_note(): Traverse the entire notes tree with a callback + Notes API: write_notes_tree(): Store the notes tree in the database + Notes API: Allow multiple concurrent notes trees with new struct notes_tree + Refactor notes concatenation into a flexible interface for combining notes + Builtin-ify git-notes + t3301: Verify successful annotation of non-commits + t3305: Verify that adding many notes with git-notes triggers increased fanout + Teach notes code to properly preserve non-notes in the notes tree + Teach builtin-notes to remove empty notes + builtin-notes: Add "remove" subcommand for removing existing notes + t3305: Verify that removing notes triggers automatic fanout consolidation + Notes API: prune_notes(): Prune notes that belong to non-existing objects + builtin-notes: Add "prune" subcommand for removing notes for missing objects + Documentation: Generalize git-notes docs to 'objects' instead of 'commits' + builtin-notes: Add "list" subcommand for listing note objects + builtin-notes: Add --message/--file aliases for -m/-F options + builtin-notes: Add "add" subcommand for adding notes to objects + builtin-notes: Add "append" subcommand for appending to note objects + builtin-notes: Deprecate the -m/-F options for "git notes edit" + builtin-notes: Refactor handling of -F option to allow combining -m and -F + builtin-notes: Add -c/-C options for reusing notes + builtin-notes: Misc. refactoring of argc and exit value handling + builtin-notes: Add "copy" subcommand for copying notes between objects + submodule summary: Don't barf when invoked in an empty repo + builtin-notes: Minor (mostly parse_options-related) fixes + +Johannes Sixt (2): + Print RUNTIME_PREFIX warning only when GIT_TRACE is set + Windows: redirect f[re]open("/dev/null") to f[re]open("nul") + +Jonathan Nieder (33): + Makefile: add missing header file dependencies + Makefile: make sure test helpers are rebuilt when headers change + Makefile: remove wt-status.h from LIB_H + Makefile: clean up http-walker.o dependency rules + Makefile: drop dependency on $(wildcard */*.h) + Makefile: transport.o depends on branch.h now + Makefile: rearrange dependency rules + Makefile: disable default implicit rules + Makefile: list generated object files in OBJECTS + Makefile: lazily compute header dependencies + Makefile: list standalone program object files in PROGRAM_OBJS + Teach Makefile to check header dependencies + Do not install shell libraries executable + Makefile: tuck away generated makefile fragments in .depend + Makefile: always remove .depend directories on 'make clean' + Makefile: clarify definition of TEST_OBJS + Makefile: Fix occasional GIT-CFLAGS breakage + revert: fix tiny memory leak in cherry-pick --ff + tests: document format of conflicts from checkout -m + tests: document cherry-pick behavior in face of conflicts + xdl_merge(): add optional ancestor label to diff3-style output + xdl_merge(): move file1 and file2 labels to xmparam structure + merge-file --diff3: add a label for ancestor + ll_merge(): add ancestor label parameter for diff3-style output + checkout --conflict=diff3: add a label for ancestor + merge_file(): add comment explaining behavior wrt conflict style + merge_trees(): add ancestor label parameter for diff3-style output + checkout -m --conflict=diff3: add a label for ancestor + compat: add mempcpy() + revert: clarify label on conflict hunks + cherry-pick, revert: add a label for ancestor + merge-recursive: add a label for ancestor + Makefile: future-proof Cygwin version check + +Junio C Hamano (25): + builtin-for-each-ref.c: comment fixes + builtin-for-each-ref.c: check if we need to peel onion while parsing the format + for-each-ref --format='%(symref) %(symref:short)' + for-each-ref --format='%(flag)' + Start 1.7.1 cycle + Resurrect "git grep --no-index" + Update draft release notes to 1.7.1 + notes: fix malformed tree entry + wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR + submodule summary: do not fail before the first commit + parse-options: add parse_options_concat() to concat options + builtin/merge: make checkout_fast_forward() non static + revert: add --ff option to allow fast forward when cherry-picking + Update draft release notes to 1.7.1 + Documentation: improve description of "git reset --keep" + t4013: add tests for log -p -m --first-parent + revision: introduce setup_revision_opt + show -c: show patch text + show --first-parent/-m: do not default to --cc + Makefile: update check-docs target + t5516: Use test_cmp when appropriate + Update draft release notes to 1.7.1 + Update draft release notes to 1.7.1 + Revert "Link against libiconv on IRIX" + Git 1.7.1-rc0 + +Larry D'Anna (4): + git-push: fix an advice message so it goes to stderr + git-push: send "To <remoteurl>" messages to the standard output in --porcelain mode + git-push: make git push --porcelain print "Done" + git-push: add tests for git push --porcelain + +Linus Torvalds (1): + Move 'builtin-*' into a 'builtin/' subdirectory + +Marc Branchaud (1): + Teach rebase the --no-ff option. + +Mark Lodato (4): + Add an optional argument for --color options + Add GIT_COLOR_BOLD_* and GIT_COLOR_BG_* + grep: Colorize filename, line number, and separator + grep: Colorize selected, context, and function lines + +Markus Heidelberg (2): + builtin/commit: fix duplicated sentence in a comment + builtin/commit: remove unnecessary variable definition + +Michael J Gruber (4): + git-svn: req_svn when needed + t9119-git-svn-info.sh: test with svn 1.6.* as well + Documentation: fix a few typos in git-notes.txt + git-svn: make git svn --version work again + +Michael Lukashov (4): + connect.c: move duplicated code to a new function 'get_host_and_port' + refactor duplicated code in builtin-send-pack.c and transport.c + refactor duplicated fill_mm() in checkout and merge-recursive + refactor duplicated encode_header in pack-objects and fast-import + +Michele Ballabio (1): + shortlog: warn the user when there is no input + +Miklos Vajna (1): + request-pull: avoid mentioning that the start point is a single commit + +Nguyễn Thái Ngọc Duy (5): + make_absolute_path(): Do not append redundant slash + init-db, rev-parse --git-dir: do not append redundant slash + Move offset_1st_component() to path.c + Support working directory located at root + Add test for using Git at root of file system + +Nicolas Pitre (1): + move encode_in_pack_object_header() to a better place + +Petr Baudis (1): + git log -p -m: document -m and honor --first-parent + +René Scharfe (2): + setenv(GIT_DIR) clean-up + grep: enable threading for context line printing + +SZEDER Gábor (4): + bash: improve aliased command recognition + bash: support user-supplied completion scripts for user's git commands + bash: support user-supplied completion scripts for aliases + bash: completion for gitk aliases + +Stefan-W. Hahn (4): + documentation: 'git-mailsplit --keep-cr' is not hidden anymore + git-am: Add command line parameter `--keep-cr` passing it to git-mailsplit + git-am: Add am.keepcr and --no-keep-cr to override it + git-am: Add tests for `--keep-cr`, `--no-keep-cr` and `am.keepcr` + +Stephen Boyd (11): + format-patch: use a string_list for headers + format-patch: add --no-cc, --no-to, and --no-add-headers + send-email: add --no-cc, --no-to, and --no-bcc + notes: rework subcommands and parse options + fmt-merge-msg: be quiet if nothing to merge + t6200: modernize with test_tick + t6200: test fmt-merge-msg more + fmt-merge-msg: use pretty.c routines + string-list: add unsorted_string_list_lookup() + fmt-merge-msg: remove custom string_list implementation + fmt-merge-msg: hide summary option + +Steven Drake (5): + Add `init.templatedir` configuration variable. + Add a "TEMPLATE DIRECTORY" section to git-init[1]. + init: having keywords without value is not a global error. + t/t0001-init.sh: add test for 'init with init.templatedir set' + Add 'git format-patch --to=' option and 'format.to' configuration variable. + +Tay Ray Chuan (17): + Documentation/git-clone: mention progress in -v + Documentation/git-pull: put verbosity options before merge/fetch ones + Documentation/git-push: put --quiet before --verbose + fetch: refactor verbosity option handling into transport.[ch] + push: support multiple levels of verbosity + clone: support multiple levels of verbosity + transport->progress: use flag authoritatively + push: learn --progress + fetch and pull: learn --progress + transport: update flags to be in running order + t5541-http-push: check that ref is unchanged for non-ff test + t554[01]-http-push: refactor, add non-ff tests + http-push: remove "|| 1" to enable verbose check + http-walker: cleanup more thoroughly + http: init and cleanup separately from http-walker + remote-curl: use http_fetch_ref() instead of walker wrapper + remote-curl: init walker only when needed + +Thomas Rast (14): + test-lib: unset GIT_NOTES_REF to stop it from influencing tests + Support showing notes from more than one notes tree + Documentation: document post-rewrite hook + commit --amend: invoke post-rewrite hook + rebase: invoke post-rewrite hook + rebase -i: invoke post-rewrite hook + notes: implement 'git notes copy --stdin' + notes: implement helpers needed for note copying during rewrite + rebase: support automatic notes copying + commit --amend: copy notes to the new commit + notes: add shorthand --ref to override GIT_NOTES_REF + notes: track whether notes_trees were changed at all + git-notes(1): add a section about the meaning of history + rebase -i: make post-rewrite work for 'edit' + +Tuomas Suutari (5): + t9151: Fix a few commits in the SVN dump + t9151: Add two new svn:mergeinfo test cases + git-svn: Fix discarding of extra parents from svn:mergeinfo + git-svn: Fix merge detecting with rewrite-root + t9150,t9151: Add rewrite-root option to init + +YONETANI Tomokazu (1): + Fix _XOPEN_SOURCE problem on DragonFly + +josh robb (1): + git svn: delay importing SVN::Base until it is needed + + +Version v1.7.0.9; changes since v1.7.0.8: +----------------------------------------- + +Jakub Narębski (1): + gitweb: Introduce esc_attr to escape attributes of HTML elements + +Junio C Hamano (1): + Git 1.6.4.5 + + +Version v1.7.0.8; changes since v1.7.0.7: +----------------------------------------- + +Jonathan Nieder (1): + add: introduce add.ignoreerrors synonym for add.ignore-errors + +Junio C Hamano (1): + Git 1.7.0.8 + + +Version v1.7.0.7; changes since v1.7.0.6: +----------------------------------------- + +Eric Raymond (1): + Documentation improvements for the description of short format. + +Gerrit Pape (1): + git-submodule.sh: properly initialize shell variables + +Greg Brockman (1): + Check size of path buffer before writing into it + +Jonathan Nieder (1): + config --get --path: check for unset $HOME + +Junio C Hamano (1): + Git 1.7.0.7 + +Michael J Gruber (3): + index-pack: fix trivial typo in usage string + Makefile: reenable install with NO_CURL + Documentation/config: describe status.submodulesummary + +René Scharfe (1): + remove ecb parameter from xdi_diff_outf() + +Stephen Boyd (1): + request-pull.txt: Document -p option + +Uwe Kleine-König (1): + rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option + + +Version v1.7.0.6; changes since v1.7.0.5: +----------------------------------------- + +Charles Bailey (1): + Documentation: Describe other situations where -z affects git diff + +David Aguilar (1): + Makefile: Remove usage of deprecated Python "has_key" method + +Jay Soffian (1): + Documentation/config.txt: default gc.aggressiveWindow is 250, not 10 + +Jeff King (1): + diff: use large integers for diffstat calculations + +Johannes Sixt (1): + MSVC: Fix build by adding missing termios.h dummy + +Jonathan Nieder (2): + Document new "already-merged" rule for branch -d + Documentation/Makefile: fix interrupted builds of user-manual.xml + +Junio C Hamano (1): + Git 1.7.0.6 + +Marc Branchaud (1): + Docs: Add -X option to git-merge's synopsis. + +Michael J Gruber (3): + rev-list: use default abbrev length when abbrev-commit is in effect + t1010-mktree: Adjust expected result to code and documentation + t7012: Mark missing tests as TODO + +SZEDER Gábor (1): + reflog: remove 'show' from 'expire's usage string + +Thomas Rast (1): + combined diff: correctly handle truncated file + +Will Palmer (1): + documentation: clarify direction of core.autocrlf + + +Version v1.7.0.5; changes since v1.7.0.4: +----------------------------------------- + +Brandon Casey (1): + daemon.c: avoid accessing ss_family member of struct sockaddr_storage + +Erik Faye-Lund (1): + rev-list: fix --pretty=oneline with empty message + +Gustaf Hendeby (1): + Improve error messages from 'git stash show' + +Jeff King (1): + docs: clarify "branch -l" + +Jens Lehmann (1): + Let check_preimage() use memset() to initialize "struct checkout" + +Junio C Hamano (3): + diff --check: honor conflict-marker-size attribute + blame documentation: -M/-C notice copied lines as well as moved ones + Git 1.7.0.5 + +Michael J Gruber (2): + .mailmap: Entries for Alex Bennée, Deskin Miller, Vitaly "_Vi" Shukela + send-email: lazily assign editor variable + +R. Tyler Ballance (1): + Correct references to /usr/bin/python which does not exist on FreeBSD + +Ramkumar Ramachandra (1): + imap-send: Remove limitation on message body + +Shawn O. Pearce (1): + http-backend: Don't infinite loop during die() + +Tay Ray Chuan (4): + pack-protocol.txt: fix spelling + pack-protocol.txt: fix pkt-line lengths + branch: say "Reset to" in reflog entries for 'git branch -f' operations + fetch/push: fix usage strings + + +Version v1.7.0.4; changes since v1.7.0.3: +----------------------------------------- + +Björn Gustavsson (5): + apply: Don't unnecessarily update line lengths in the preimage + apply: Remove the quick rejection test + apply: Allow blank context lines to match beyond EOF + t4124: Add additional tests of --whitespace=fix + t3417: Add test cases for "rebase --whitespace=fix" + +Chris Packham (1): + test for add with non-existent pathspec + +David Aguilar (1): + difftool: Fix '--gui' when diff.guitool is unconfigured + +Greg Bacon (1): + Documentation: Clarify support for smart HTTP backend + +Holger Weiß (3): + Don't redefine htonl and ntohl on big-endian + Link against libiconv on IRIX + Documentation: show-ref <pattern>s are optional + +Jakub Narębski (1): + gitweb: git_get_project_config requires only $git_dir, not also $project + +Jan Stępień (1): + Updated the usage string of git reset + +Jeff King (1): + dir: fix COLLECT_IGNORED on excluded prefixes + +Johannes Sixt (2): + diff: fix textconv error zombies + Windows: fix utime() for read-only files + +Junio C Hamano (8): + git add -u: die on unmatched pathspec + color: allow multiple attributes + t0050: mark non-working test as such + tests for "git add ignored-dir/file" without -f + refs: ref entry with NULL sha1 is can be a dangling symref + t9350: fix careless use of "cd" + Prepare for 1.7.0.4 + Git 1.7.0.4 + +Kevin Ballard (1): + format-patch: Squelch 'fatal: Not a range." error + +Markus Heidelberg (1): + Documentation: explain the meaning of "-g" in git-describe output + +Sverre Rabbelier (1): + fast-export: don't segfault when marks file cannot be opened + + +Version v1.7.0.3; changes since v1.7.0.2: +----------------------------------------- + +Adam Simpkins (2): + prune: honor --expire=never + reflog: honor gc.reflogexpire=never + +Andreas Gruenbacher (3): + fetch: Check for a "^{}" suffix with suffixcmp() + fetch: Future-proof initialization of a refspec on stack + fetch: Fix minor memory leak + +Dave Olszewski (1): + don't use default revision if a rev was specified + +Filippo Negroni (1): + Fix gitmkdtemp: correct test for mktemp() return value + +Giuseppe Bilotta (5): + Refactor list of of repo-local env vars + rev-parse: --local-env-vars option + shell setup: clear_local_git_env() function + submodules: ensure clean environment when operating in a submodule + is_submodule_modified(): clear environment properly + +Ian Ward Comfort (1): + bash: complete *_HEAD refs if present + +Imre Deak (1): + daemon: parse_host_and_port SIGSEGV if port is specified + +Jeff King (2): + add-interactive: fix bogus diff header line ordering + push: fix segfault for odd config + +Jonathan Nieder (1): + Makefile: Fix CDPATH problem + +Junio C Hamano (12): + "log --author=me --grep=it" should find intersection, not union + Reword "detached HEAD" notification + mailinfo: do not strip leading spaces even for a header line + t5521: fix and modernize + builtin-fetch --all/--multi: propagate options correctly + fetch --all/--multiple: keep all the fetched branch information + pack-objects documentation: reword "objects that appear in the standard input" + Merge accumulated fixes to prepare for 1.7.0.3 + t9400: Use test_cmp when appropriate + t/Makefile: remove test artifacts upon "make clean" + Update draft release notes to 1.7.0.3 + Git 1.7.0.3 + +Mark Lodato (4): + grep docs: pluralize "Example" section + grep docs: use AsciiDoc literals consistently + grep docs: --cached and <tree>... are incompatible + grep docs: document --no-index option + +Matthieu Moy (6): + Add a testcase for ACL with restrictive umask. + Move gitmkstemps to path.c + git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument. + Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later. + git_mkstemps_mode: don't set errno to EINVAL on exit. + Use git_mkstemp_mode instead of plain mkstemp to create object files + +Michael J Gruber (7): + Documentation/git-read-tree: fix table layout + Documentation/git-read-tree: clarify 2-tree merge + Documentation/git-reflog: Fix formatting of command lists + Documentation/gitdiffcore: Remove misleading date in heading + Documentation/urls: Remove spurious example markers + Documentation/git-clone: Transform description list into item list + .mailmap: Map the the first submissions of MJG by e-mail + +Michael Wookey (1): + run-command.c: fix build warnings on Ubuntu + +Nelson Elhage (2): + Documentation: pack-objects: Clarify --local's semantics. + pack-objects documentation: Fix --honor-pack-keep as well. + +René Scharfe (2): + blame: fix indent of line numbers + for_each_recent_reflog_ent(): use strbuf, fix offset handling + +Stephen Boyd (1): + pull: replace unnecessary sed invocation + +Thomas Rast (1): + Documentation: receive.denyCurrentBranch defaults to 'refuse' + + +Version v1.7.0.2; changes since v1.7.0.1: +----------------------------------------- + +Bert Wesarg (1): + unset GREP_OPTIONS in test-lib.sh + +Christian Couder (1): + bisect: error out when passing bad path parameters + +Dmitry Potapov (1): + hash-object: don't use mmap() for small files + +Erik Faye-Lund (1): + run-command: support custom fd-set in async + +Gabriel Filion (1): + require_work_tree broken with NONGIT_OK + +Hitoshi Mitake (1): + git-imap-send: Convert LF to CRLF before storing patch to draft box + +Jakub Narębski (2): + gitweb: Die if there are parsing errors in config file + gitweb: Fix project-specific feature override behavior + +Jonathan Nieder (8): + Fix 'git var' usage synopsis + Make 'git var GIT_PAGER' always print the configured pager + git.1: Clarify the behavior of the --paginate option + git svn: Fix launching of pager + am: Fix launching of pager + tests: Add tests for automatic use of pager + t7006-pager: if stdout is not a terminal, make a new one + tests: Fix race condition in t7006-pager + +Junio C Hamano (6): + t6000lib: Fix permission + lib-patch-mode.sh: Fix permission + status: preload index to optimize lstat(2) calls + Start preparing for 1.7.0.2 + Update draft release notes to 1.7.0.2 + Git 1.7.0.2 + +Larry D'Anna (2): + git diff --quiet -w: check and report the status + git-diff: add a test for git diff --quiet -w + +Matthieu Moy (1): + stash: suggest the correct command line for unknown options. + +Michal Sojka (1): + Remove extra '-' from git-am(1) + +Nicolas Pitre (8): + fast-import: start using struct pack_idx_entry + fast-import: use sha1write() for pack data + fast-import: use write_idx_file() instead of custom code + fast-import: make default pack size unlimited + fast-import: honor pack.indexversion and pack.packsizelimit config vars + fast-import: use the diff_delta() max_delta_size argument + sha1_file: don't malloc the whole compressed result when writing out objects + sha1_file: be paranoid when creating loose objects + +René Scharfe (4): + utf8.c: remove print_wrapped_text() + utf8.c: remove print_spaces() + utf8.c: remove strbuf_write() + utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text() + +Shawn O. Pearce (7): + run-command: Allow stderr to be a caller supplied pipe + send-pack: demultiplex a sideband stream with status data + receive-pack: Refactor how capabilities are shown to the client + receive-pack: Wrap status reports inside side-band-64k + receive-pack: Send hook output over side band #2 + t5401: Use a bare repository for the remote peer + receive-pack: Send internal errors over side-band #2 + +Stephen Boyd (1): + t7406: Fix submodule init config tests + +Sylvain Rabot (1): + gitweb multiple project roots documentation + +Tay Ray Chuan (1): + transport: add got_remote_refs flag + +Thomas Rast (1): + cherry_pick_list: quit early if one side is empty + + +Version v1.7.0.1; changes since v1.7.0: +--------------------------------------- + +Bert Wesarg (2): + Documentation: mention conflict marker size argument (%L) for merge driver + rerere: fix memory leak if rerere images can't be read + +Evan Powers (1): + git-p4: fix bug in symlink handling + +Jacob Helwig (1): + Documentation: Fix indentation problem in git-commit(1) + +Jeff King (9): + accept "git grep -- pattern" + cherry-pick: rewrap advice message + cherry-pick: refactor commit parsing code + cherry-pick: format help message as strbuf + cherry-pick: show commit name instead of sha1 + cherry-pick: prettify the advice message + dwim_ref: fix dangling symref warning + docs: don't talk about $GIT_DIR/refs/ everywhere + rm: fix bug in recursive subdirectory removal + +Johannes Sixt (1): + t3301-notes: insert a shbang line in ./fake_editor.sh + +Jonathan Nieder (1): + am: remove rebase-apply directory before gc + +Junio C Hamano (6): + Typofixes outside documentation area + Start 1.7.0 maintenance track + Fix use of mutex in threaded grep + Prepare 1.7.0.1 release notes + Update 1.7.0.1 release notes + Git 1.7.0.1 + +Larry D'Anna (1): + diff: make sure --output=/bad/path is caught + +Mark Lodato (2): + grep documentation: clarify what files match + Remove reference to GREP_COLORS from documentation + +Markus Heidelberg (1): + sha1_name: fix segfault caused by invalid index access + +Matt Kraai (1): + commit: quote the user name in the example + +Pete Harlan (1): + Remove hyphen from "git-command" in two error messages + +René Scharfe (1): + fix minor memory leak in get_tree_entry() + +Stephen Boyd (1): + Documentation: describe --thin more accurately + +Thomas Rast (2): + stash pop: remove 'apply' options during 'drop' invocation + t1450: fix testcases that were wrongly expecting failure + + +Version v1.7.0; changes since v1.7.0-rc2: +----------------------------------------- + +Brian Gernhardt (1): + t3902: Protect against OS X normalization + +Jacob Helwig (1): + filter-branch: Fix error message for --prune-empty --commit-filter + +Jay Soffian (1): + blame: prevent a segv when -L given start > EOF + +Jeff King (1): + am: switch --resolved to --continue + +Junio C Hamano (11): + git-add documentation: Fix shell quoting example + Fix parsing of imap.preformattedHTML and imap.sslverify + git-push: document all the status flags used in the output + check-ref-format documentation: fix enumeration mark-up + t8003: check exit code of command and error message separately + Git 1.6.6.2 + Update draft release notes to 1.7.0 one more time + archive documentation: attributes are taken from the tree by default + Re-fix check-ref-format documentation mark-up + Fix typo in 1.6.6.2 release notes + Git 1.7.0 + +Michael J Gruber (1): + Documentation: minor fixes to RelNotes-1.7.0 + +Nicolas Pitre (1): + Revert "pack-objects: fix pack generation when using pack_size_limit" + +SZEDER Gábor (1): + bash: support 'git am's new '--continue' option + +Thomas Rast (1): + Documentation: quote braces in {upstream} notation + + +Version v1.7.0-rc2; changes since v1.7.0-rc1: +--------------------------------------------- + +Andrew Myrick (1): + git-svn: persistent memoization + +Ben Walton (2): + configure: Allow GIT_ARG_SET_PATH to handle --without-PROGRAM + configure: Allow --without-python + +Björn Gustavsson (1): + bash: support the --autosquash option for rebase + +Brian Gernhardt (2): + t9501: Skip testing load if we can't detect it + t9501: Re-fix max load test + +Christian Stimming (1): + git-gui: Update German translation (12 new or changed strings). + +Dan McGee (1): + Make NO_PTHREADS the sole thread configuration variable + +Emmanuel Trillaud (1): + git-gui: update french translation + +Giuseppe Bilotta (4): + git-gui: handle non-standard worktree locations + git-gui: handle bare repos correctly + git-gui: update shortcut tools to use _gitworktree + git-gui: set GIT_DIR and GIT_WORK_TREE after setup + +Heiko Voigt (1): + git-gui: fix shortcut for menu "Commit/Revert Changes" + +Jakub Narębski (1): + gitweb: Make running t9501 test with '--debug' reliable and usable + +Jeff Epler (1): + git-gui: Support applying a range of changes at once + +Jeff King (3): + mention new shell execution behavior in release notes + docs: fix filter-branch example for quoted paths + Fix invalid read in quote_c_style_counted + +Jens Lehmann (5): + git-gui: Use git diff --submodule when available + git-gui: Add a special diff popup menu for submodules + git-gui: Quote git path when starting another gui in a submodule + Fix memory leak in submodule.c + Updates for dirty submodules in release notes and user manual + +John 'Warthog9' Hawley (7): + gitweb: Load checking + gitweb: Makefile improvements + gitweb: Check that $site_header etc. are defined before using them + gitweb: add a "string" variant of print_local_time + gitweb: add a "string" variant of print_sort_th + gitweb: Add optional extra parameter to die_error, for extended explanation + gitweb: Simplify (and fix) chop_str + +Junio C Hamano (7): + RPM packaging: use %global inside %{!?...} + Update draft release notes to 1.7.0 + build: make code "-Wpointer-arith" clean + fast-import.c: Fix big-file-threshold parsing bug + fast-import: count --max-pack-size in bytes + Revert 30816237 and 7e62265 + Update draft release notes to 1.7.0 + +Michael J Gruber (1): + git-clean: fix the description of the default behavior + +Michal Sojka (2): + filter-branch: Fix to allow replacing submodules with another content + filter-branch: Add tests for submodules in tree-filter + +Michele Ballabio (1): + git-gui: update Italian translation + +Nanako Shiraishi (1): + git-gui: update Japanese translation + +Nicolas Pitre (4): + fix multiple issues with t5300 + pack-objects: fix pack generation when using pack_size_limit + make --max-pack-size argument to 'git pack-object' count in bytes + update git-repack documentation wrt repack.UseDeltaBaseOffset + +Pal-Kristian Engstad (1): + git-p4: Fix sync errors due to new server version + +Pat Thoyts (1): + git-gui: use themed tk widgets with Tk 8.5 + +Paul Mackerras (1): + gitk: Fix copyright symbol in About box message + +Peter Krefting (1): + git-gui: Update Swedish translation (520t0f0u) + +Peter Oberndorfer (1): + git-gui: use different icon for new and modified files in the index + +Ralf Wildenhues (1): + Fix typos in technical documentation. + +René Scharfe (2): + grep: simplify assignment of ->fixed + archive: simplify archive format guessing + +Shawn O. Pearce (4): + git-gui: Remove unused icon file_parttick + git-gui: Update translation template + fast-import: Stream very large blobs directly to pack + Correct spelling of 'REUC' extension + +Wesley J. Landaker (1): + Update git fsck --full short description to mention packs + + +Version v1.7.0-rc1; changes since v1.7.0-rc0: +--------------------------------------------- + +Alejandro Riveira Fernández (1): + Add test-run-command to .gitignore + +Benjamin Kramer (1): + grep: use REG_STARTEND (if available) to speed up regexec + +Christian Couder (1): + gitk: Add "--no-replace-objects" option + +Christian Stimming (1): + gitk: Update German translation + +Dan McGee (1): + grep: Fix two memory leaks + +Dave Dulson (2): + gitk: Enable gitk to create tags with messages + gitk: Fix display of newly-created tags + +Emmanuel Trillaud (1): + gitk: Add French translation + +Fredrik Kuivinen (1): + Threaded grep + +Gerrit Pape (1): + git-cvsserver: allow regex metacharacters in CVSROOT + +Ilari Liusvaara (7): + Support addresses with ':' in git-daemon + Allow use of []-wrapped addresses in git:// + Add xmallocz() + Fix integer overflow in patch_delta() + Fix integer overflow in unpack_sha1_rest() + Fix integer overflow in unpack_compressed_entry() + Fix remote.<remote>.vcs + +Jeff King (8): + t0101: use absolute date + rerere: fix too-short initialization + test combinations of @{} syntax + fix parsing of @{-1}@{u} combination + reject @{-1} not at beginning of object name + fix memcpy of overlapping area + fix off-by-one allocation error + add shebang line to git-mergetool--lib.sh + +Jens Lehmann (2): + git diff: Don't test submodule dirtiness with --ignore-submodules + Teach diff --submodule that modified submodule directory is dirty + +Johan Herland (1): + builtin-config: Fix crash when using "-f <relative path>" from non-root dir + +Johannes Sixt (2): + git_connect: use use_shell instead of explicit "sh", "-c" + Implement pthread_cond_broadcast on Windows + +Junio C Hamano (13): + Make ce_uptodate() trustworthy again + grep: expose "status-only" feature via -q + Fix log -g this@{upstream} + approxidate_careful() reports errorneous date string + work around an obnoxious bash "safety feature" on OpenBSD + Update @{bogus.timestamp} fix not to die() + t0101: use a fixed timestamp when searching in the reflog + transport_get(): drop unnecessary check for !remote + tests: update tests that used to fail + grep --quiet: finishing touches + Update draft release notes to 1.7.0 + RPM packaging: don't include foreign-scm-helper bits yet + is_submodule_modified(): fix breakage with external GIT_INDEX_FILE + +Kirill Smelkov (1): + gitk: Display submodule diffs with appropriate encoding + +Laszlo Papp (1): + gitk: Add Hungarian translation + +Markus Heidelberg (2): + gitk: Adjust two equal strings which differed in whitespace + rebase: don't invoke the pager for each commit summary + +Michele Ballabio (1): + gitk: update Italian translation + +Miklos Vajna (1): + gitk: Update Hungarian translation + +Peter Krefting (1): + gitk: Update Swedish translation + +SZEDER Gábor (2): + bash: don't offer remote transport helpers as subcommands + bash: support 'git notes' and its subcommands + +Sebastian Schuberth (1): + If deriving SVN_SSH from GIT_SSH on msys, also add quotes + +Stephen Boyd (6): + rebase: replace antiquated sed invocation + commit-tree: remove unused #define + tests: consolidate CR removal/addition functions + t0022: replace non-portable literal CR + am: fix patch format detection for Thunderbird "Save As" emails + fix portability issues with $ in double quotes + +Tay Ray Chuan (1): + t5541-http-push: make grep expression check for one line only + + +Version v1.7.0-rc0; changes since v1.6.6.3: +------------------------------------------- + +Andreas Gruenbacher (2): + builtin-apply.c: Skip filenames without enough components + builtin-apply.c: fix the --- and +++ header filename consistency check + +Andrew Myrick (3): + git-svn: ignore changeless commits when checking for a cherry-pick + git-svn: handle merge-base failures + git-svn: update svn mergeinfo test suite + +Andrzej K. Haczewski (1): + MSVC: Windows-native implementation for subset of Pthreads API + +Avery Pennarun (3): + git merge -X<option> + Teach git-pull to pass -X<option> to git-merge + Extend merge-subtree tests to test -Xsubtree=dir. + +Bart Trojanowski (1): + hg-to-git: fix COMMITTER type-o + +Ben Walton (3): + cvsimport: modernize callouts to git subcommands + cvsimport: standarize open() calls to external git tools + cvsimport: standarize system() calls to external git tools + +Brad King (2): + Test update-index for a gitlink to a .git file + Handle relative paths in submodule .git files + +Christian Couder (8): + reset: improve mixed reset error message when in a bare repo + Documentation: reset: add some tables to describe the different options + reset: add a few tests for "git reset --merge" + Documentation: reset: add some missing tables + t7111: check that reset options work as described in the tables + help: fix configured help format taking over command line one + t7111: fix bad HEAD in tests with unmerged entries + Documentation: rev-list: fix synopsys for --tags and and --remotes + +Daniel Barkalow (9): + Fix memory leak in helper method for disconnect + Allow programs to not depend on remotes having urls + Use a function to determine whether a remote is valid + Allow fetch to modify refs + Add a config option for remotes to specify a foreign vcs + Add support for "import" helper command + Allow helper to map private ref names into normal names + Allow helpers to report in "list" command that the ref is unchanged + Replace parse_blob() with an explanatory comment + +David Aguilar (11): + t7800-difftool: Set a bogus tool for use by tests + git-difftool: Add '--gui' for selecting a GUI tool + difftool--helper: Update copyright and remove distracting comments + difftool--helper: Remove use of the GIT_MERGE_TOOL variable + difftool: Allow specifying unconfigured commands with --extcmd + git-diff.txt: Link to git-difftool + t7800-difftool.sh: Simplify the --extcmd test + difftool: Add '-x' and as an alias for '--extcmd' + difftool: Use eval to expand '--extcmd' expressions + difftool: Update copyright notices to list each year separately + t7800-difftool.sh: Test mergetool.prompt fallback + +Erik Faye-Lund (2): + daemon: consider only address in kill_some_child() + Windows: disable Python + +Felipe Contreras (1): + General --quiet improvements + +Greg Bacon (1): + No diff -b/-w output for all-whitespace changes + +Horst H. von Brand (1): + git-rebase.txt: Fix spelling + +Igor Mironov (4): + git-svn: fix mismatched src/dst errors for branch/tag + git-svn: respect commiturl option for branch/tag + git-svn: add --username/commit-url options for branch/tag + git-svn: document --username/commit-url for branch/tag + +Ilari Liusvaara (15): + Add remote helper debug mode + Support mandatory capabilities + Pass unknown protocols to external protocol handlers + Refactor git transport options parsing + Support taking over transports + Support remote helpers implementing smart transports + Support remote archive from all smart transports + Remove special casing of http, https and ftp + Reset possible helper before reusing remote structure + Improve error message when a transport helper was not found + Add push --set-upstream + Add git remote set-url + Add branch --set-upstream + rev-parse --glob + rev-parse --branches/--tags/--remotes=pattern + +Jakub Narębski (1): + gitweb.js: Workaround for IE8 bug + +James P. Howard, II (1): + commit: support commit.status, --status, and --no-status + +Jan Krüger (1): + builtin-push: add --delete as syntactic sugar for :foo + +Jay Soffian (2): + git-svn: allow UUID to be manually remapped via rewriteUUID + git-svn: allow subset of branches/tags to be specified in glob spec + +Jeff King (20): + status: typo fix in usage + status: refactor short-mode printing to its own function + status: refactor format option parsing + status: add --porcelain output format + commit: support alternate status formats + docs: note that status configuration affects only long format + tests: rename duplicate t1009 + status: disable color for porcelain format + status: reduce duplicated setup code + tests: handle NO_PYTHON setting + run-command: add "use shell" option + run-command: convert simple callsites to use_shell + run-command: optimize out useless shell calls + editor: use run_command's shell feature + textconv: use shell to run helper + diff: run external diff helper with shell + strbuf_expand: convert "%%" to "%" + strbuf: add strbuf_addbuf_percentquote + commit: show interesting ident information in summary + commit: allow suppression of implicit identity advice + +Jens Lehmann (3): + Show submodules as modified when they contain a dirty work tree + git status: Show uncommitted submodule changes too when enabled + Performance optimization for detection of modified submodules + +Jim Meyering (1): + diff.c: fix typoes in comments + +Johan Herland (4): + Basic build infrastructure for Python scripts + fast-import: Proper notes tree manipulation + Rename t9301 to t9350, to make room for more fast-import tests + Add more testcases to test fast-import of notes + +Johannes Schindelin (2): + Allow specifying the remote helper in the url + Introduce <branch>@{upstream} notation + +Johannes Sixt (16): + Make test case number unique + filter-branch: remove an unnecessary use of 'git read-tree' + t0021: use $SHELL_PATH for the filter script + t4030, t4031: work around bogus MSYS bash path conversion + start_command: report child process setup errors to the parent's stderr + run-command: move wait_or_whine earlier + start_command: detect execvp failures early + Windows: boost startup by avoiding a static dependency on shell32.dll + Windows: simplify the pipe(2) implementation + Windows: avoid the "dup dance" when spawning a child process + Do not use date.c:tm_to_time_t() from compat/mingw.c + Makefile: honor NO_CURL when setting REMOTE_CURL_* variables + Make test case numbers unique + Make 'rerere forget' work from a subdirectory. + merge-tree: remove unnecessary call of git_extract_argv0_path + Make test numbers unique + +Jonathan Nieder (15): + Makefile: make ppc/sha1ppc.o depend on GIT-CFLAGS + Makefile: regenerate assembler listings when asked + Makefile: use target-specific variable to pass flags to cc + Makefile: learn to generate listings for targets requiring special flags + Makefile: consolidate .FORCE-* targets + Documentation: git gc packs refs by default now + Documentation: tiny git config manual tweaks + Documentation: merge: move configuration section to end + Documentation: suggest `reset --merge` in How Merge Works section + Documentation: merge: move merge strategy list to end + Documentation: merge: add an overview + Documentation: emphasize when git merge terminates early + Documentation: merge: add a section about fast-forward + Documentation: simplify How Merge Works + Documentation: merge: use MERGE_HEAD to refer to the remote branch + +Junio C Hamano (96): + Refuse updating the current branch in a non-bare repository via push + Refuse deleting the current branch via push + diff: change semantics of "ignore whitespace" options + diff: Rename QUIET internal option to QUICK + git stat: the beginning of "status that is not a dry-run of commit" + git stat -s: short status output + git status: not "commit --dry-run" anymore + send-email: make --no-chain-reply-to the default + "checkout A...B" switches to the merge base between A and B + "rebase --onto A...B" replays history on the merge base between A and B + git-merge-file --ours, --theirs + Teach --[no-]rerere-autoupdate option to merge, revert and friends + commit/status: check $GIT_DIR/MERGE_HEAD only once + commit/status: "git add <path>" is not necessarily how to resolve + status/commit: do not suggest "reset HEAD <path>" while merging + builtin-merge.c: use standard active_cache macros + resolve-undo: record resolved conflicts in a new index extension section + resolve-undo: basic tests + resolve-undo: allow plumbing to clear the information + resolve-undo: "checkout -m path" uses resolve-undo information + resolve-undo: teach "update-index --unresolve" to use resolve-undo info + rerere: remove silly 1024-byte line limit + Kick off 1.7.0 cycle + Remove http.authAny + branch -d: base the "already-merged" safety on the branch it merges with + "reset --merge": fix unmerged case + tests: move convenience regexp to match object names to test-lib.sh + more D/F conflict tests + traverse_trees(): handle D/F conflict case sanely + Aggressive three-way merge: fix D/F case + Fix bit assignment for CE_CONFLICTED + .gitattributes: detect 8-space indent in shell scripts + unpack-trees.c: prepare for looking ahead in the index + unpack-trees.c: look ahead in the index + read-tree --debug-unpack + Describe second batch for 1.7.0 in draft release notes + ident.c: remove unused variables + t3001: test ls-files -o ignored/dir + read_directory_recursive(): refactor handling of a single path into a separate function + read_directory(): further split treat_path() + ls-files: fix overeager pathspec optimization + ident.c: check explicit identity for name and email separately + ident.c: treat $EMAIL as giving user.email identity explicitly + rerere: refactor rerere logic to make it independent from I/O + rerere forget path: forget recorded resolution + bisect.c: mark file-local function static + builtin-rev-list.c: mark file-local function static + pretty.c: mark file-local function static + grep: optimize built-in grep by skipping lines that do not hit + http.c: mark file-local functions static + entry.c: mark file-local function static + parse-options.c: mark file-local function static + read-cache.c: mark file-local functions static + remote-curl.c: mark file-local function static + quote.c: mark file-local function static + submodule.c: mark file-local function static + utf8.c: mark file-local function static + mailmap.c: remove unused function + sha1_file.c: remove unused function + strbuf.c: remove unused function + grep: rip out support for external grep + grep: rip out pessimization to use fixmatch() + t7502: test commit.status, --status and --no-status + strbuf_addbuf(): allow passing the same buf to dst and src + grep: prepare to run outside of a work tree + grep --no-index: allow use of "git grep" outside a git repository + Teach diff that modified submodule directory is dirty + git_attr(): fix function signature + xdl_merge(): introduce xmparam_t for merge specific parameters + xdl_merge(): allow passing down marker_size in xmparam_t + merge-tree: use ll_merge() not xdl_merge() + rerere: use ll_merge() instead of using xdl_merge() + conflict-marker-size: new attribute + commit.c::print_summary: do not release the format string too early + rerere: prepare for customizable conflict marker length + rerere: honor conflict-marker-size attribute + user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere + user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere + Update COPYING with GPLv2 with new FSF address + Update draft release notes to 1.7.0 + pull: Fix parsing of -X<option> + Make "subtree" part more orthogonal to the rest of merge-recursive. + Document that merge strategies can now take their own options + object.c: remove unused functions + symlinks.c: remove unused functions + Update draft release notes to 1.7.0 + Fix "checkout A..." synonym for "checkout A...HEAD" on Windows + t1506: more test for @{upstream} syntax + Teach @{upstream} syntax to strbuf_branchanme() + date.c: mark file-local function static + Update draft release notes to 1.7.0 + conflict-marker-size: add test and docs + git-mv: fix moving more than one source to a single destination + Update draft release notes to 1.7.0 + rebase -i: Export GIT_AUTHOR_* variables explicitly + pull: re-fix command line generation + +Linus Torvalds (11): + Remove diff machinery dependency from read-cache + slim down "git show-index" + make "git merge-tree" a built-in + make "git hash-object" a built-in + make "git var" a built-in + make "git patch-id" a built-in + make "merge-index" a built-in + make "mktag" a built-in + make "git unpack-file" a built-in + make "git pack-redundant" a built-in + make "index-pack" a built-in + +Martin Storsjö (2): + Add an option for using any HTTP authentication scheme, not only basic + Allow curl to rewind the RPC read buffer + +Matthew Ogilvie (3): + build dashless "bin-wrappers" directory similar to installed bindir + run test suite without dashed git-commands in PATH + INSTALL: document a simpler way to run uninstalled builds + +Matthieu Moy (6): + Detailed diagnosis when parsing an object name fails. + builtin-config: add --path option doing ~ and ~user expansion. + push: spell 'Note about fast-forwards' section name correctly in error message. + Be more user-friendly when refusing to do something because of conflict. + lockfile: show absolute filename in unable_to_lock_message + branch: warn and refuse to set a branch as a tracking branch of itself. + +Michael Haggerty (25): + t3404: Use test_commit to set up test repository + Add a command "fixup" to rebase --interactive + lib-rebase: Provide clearer debugging info about what the editor did + lib-rebase: Allow comments and blank lines to be added to the rebase script + rebase-i: Ignore comments and blank lines in peek_next_command + rebase -i: Make the condition for an "if" more transparent + rebase -i: Remove dead code + rebase -i: Inline expression + rebase -i: Use "test -n" instead of "test ! -z" + rebase -i: Use symbolic constant $MSG consistently + rebase -i: Document how temporary files are used + rebase -i: Introduce a constant AUTHOR_SCRIPT + rebase -i: Introduce a constant AMEND + t3404: Test the commit count in commit messages generated by "rebase -i" + rebase -i: Improve consistency of commit count in generated commit messages + rebase -i: Simplify commit counting for generated commit messages + rebase -i: Extract a function "commit_message" + rebase -i: Handle the author script all in one place in do_next + rebase -i: Extract function do_with_author + rebase -i: Change function make_squash_message into update_squash_message + rebase -i: For fixup commands without squashes, do not start editor + t3404: Set up more of the test repo in the "setup" step + rebase -i: Retain user-edited commit messages after squash/fixup conflicts + rebase -i: Avoid non-portable "test X -a Y" + rebase -i: Enclose sed command substitution in quotes + +Michael J Gruber (7): + status -s: respect the status.relativePaths option + t7508-status.sh: Add tests for status -s + builtin-commit: refactor short-status code into wt-status.c + status -s: obey color.status + t7508-status: status --porcelain ignores relative paths setting + t7508-status: test all modes with color + tag -d: print sha1 of deleted tag + +Michael Lukashov (1): + Windows: Remove dependency on pthreadGC2.dll + +Miklos Vajna (2): + builtin-commit: add --date option + Document date formats accepted by parse_date() + +Nanako Shiraishi (3): + rebase -i --autosquash: auto-squash commits + rebase: fix --onto A...B parsing and add tests + rebase -i: teach --onto A...B syntax + +Nguyễn Thái Ngọc Duy (27): + update-index: refactor mark_valid() in preparation for new options + Add test-index-version + Introduce "skip-worktree" bit in index, teach Git to get/set this bit + Teach Git to respect skip-worktree bit (reading part) + Teach Git to respect skip-worktree bit (writing part) + Avoid writing to buffer in add_excludes_from_file_1() + Read .gitignore from index if it is skip-worktree + unpack-trees(): carry skip-worktree bit over in merged_entry() + excluded_1(): support exclude files in index + dir.c: export excluded_1() and add_excludes_from_file_1() + Introduce "sparse checkout" + unpack-trees(): add CE_WT_REMOVE to remove on worktree alone + unpack-trees.c: generalize verify_* functions + unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout + unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index + unpack-trees(): ignore worktree check outside checkout area + read-tree: add --no-sparse-checkout to disable sparse checkout support + Add tests for sparse checkout + sparse checkout: inhibit empty worktree + ie_match_stat(): do not ignore skip-worktree bit with CE_MATCH_IGNORE_VALID + commit: correctly respect skip-worktree bit + grep: do not do external grep on skip-worktree entries + t7002: set test prerequisite "external-grep" if supported + t7002: test for not using external grep on skip-worktree paths + status: only touch path we may need to check + rm: only refresh entries that we may touch + Fix memory corruption when .gitignore does not end by \n + +Nicolas Pitre (1): + fix git-p4 editor invocation + +Peter Collingbourne (1): + Remove empty directories when checking out a commit with fewer submodules + +Phil Miller (1): + CVS Server: Support reading base and roots from environment + +Ramkumar Ramachandra (1): + Documentation: Update git core tutorial clarifying reference to scripts + +Ramsay Jones (5): + MSVC: Fix an "incompatible pointer types" compiler warning + engine.pl: Fix a recent breakage of the buildsystem generator + msvc: Fix an "unrecognized option" linker warning + msvc: Fix a compiler warning due to an incorrect pointer cast + msvc: Add a definition of NORETURN compatible with msvc compiler + +Robert Zeh (1): + Add completion for git-svn mkdirs,reset,and gc + +Sebastian Schuberth (1): + Make difftool.prompt fall back to mergetool.prompt + +Sergei Organov (1): + cvsserver: make the output of 'update' more compatible with cvs. + +Shawn O. Pearce (1): + bash completion: add space between branch name and status flags + +Stephan Beyer (1): + reset: use "unpack_trees()" directly instead of "git read-tree" + +Steven Drake (2): + Add 'git rev-parse --show-toplevel' option. + Use $(git rev-parse --show-toplevel) in cd_to_toplevel(). + +Sverre Rabbelier (9): + Fix various memory leaks in transport-helper.c + Add Python support library for remote helpers + fast-import: put option parsing code in separate functions + fast-import: put marks reading in its own function + fast-import: add feature command + fast-import: add option command + fast-import: test the new option command + fast-import: allow for multiple --import-marks= arguments + fast-import: add (non-)relative-marks feature + +Tarmigan Casebolt (7): + t/lib-http.sh: Restructure finding of default httpd location + Smart-http: check if repository is OK to export before serving it + Smart-http tests: Improve coverage in test t5560 + Smart-http tests: Break test t5560-http-backend into pieces + Smart-http tests: Test http-backend without curl or a webserver + Test t5560: Fix test when run with dash + ident.c: replace fprintf with fputs to suppress compiler warning + +Tay Ray Chuan (12): + http: maintain curl sessions + builtin-push: don't access freed transport->url + check stderr with isatty() instead of stdout when deciding to show progress + git-clone.txt: reword description of progress behaviour + clone: set transport->verbose when -v/--verbose is used + clone: use --progress to force progress reporting + t5541-http-push.sh: add tests for non-fast-forward pushes + t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs + refactor ref status logic for pushing + transport.c::transport_push(): make ref status affect return value + transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushed + transport-helper.c::push_refs(): emit "no refs" error message + +Thiago Farina (2): + Use warning function instead of fprintf(stderr, "Warning: ..."). + string-list: rename the include guard to STRING_LIST_H + +Thomas Rast (9): + Documentation/git-merge: reword references to "remote" and "pull" + Documentation: warn prominently against merging with dirty trees + Documentation: format full commands in typewriter font + Documentation: spell 'git cmd' without dash throughout + Documentation: show-files is now called git-ls-files + Documentation: emphasise 'git shortlog' in its synopsis + Documentation: improve description of --glob=pattern and friends + Documentation: add missing :: in config.txt + Documentation: move away misplaced 'push --upstream' description + + +Version v1.6.6.3; changes since v1.6.6.2: +----------------------------------------- + +Christian Couder (1): + bisect: error out when passing bad path parameters + +Erik Faye-Lund (1): + run-command: support custom fd-set in async + +Gabriel Filion (1): + require_work_tree broken with NONGIT_OK + +Greg Brockman (1): + Check size of path buffer before writing into it + +Hitoshi Mitake (1): + git-imap-send: Convert LF to CRLF before storing patch to draft box + +Jacob Helwig (1): + filter-branch: Fix error message for --prune-empty --commit-filter + +Jakub Narębski (1): + gitweb: Introduce esc_attr to escape attributes of HTML elements + +Jeff King (2): + dwim_ref: fix dangling symref warning + rm: fix bug in recursive subdirectory removal + +Johannes Sixt (2): + t3301-notes: insert a shbang line in ./fake_editor.sh + MSVC: Fix build by adding missing termios.h dummy + +Junio C Hamano (5): + t6000lib: Fix permission + lib-patch-mode.sh: Fix permission + Re-fix check-ref-format documentation mark-up + Fix typo in 1.6.6.2 release notes + Git 1.6.4.5 + +Larry D'Anna (1): + diff: make sure --output=/bad/path is caught + +Michael J Gruber (4): + Documentation/git-reflog: Fix formatting of command lists + Documentation/gitdiffcore: Remove misleading date in heading + Documentation/urls: Remove spurious example markers + Documentation/git-clone: Transform description list into item list + +Michal Sojka (1): + Remove extra '-' from git-am(1) + +Pete Harlan (1): + Remove hyphen from "git-command" in two error messages + +René Scharfe (5): + fix minor memory leak in get_tree_entry() + utf8.c: remove print_wrapped_text() + utf8.c: remove print_spaces() + utf8.c: remove strbuf_write() + utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text() + +Shawn O. Pearce (7): + run-command: Allow stderr to be a caller supplied pipe + send-pack: demultiplex a sideband stream with status data + receive-pack: Refactor how capabilities are shown to the client + receive-pack: Wrap status reports inside side-band-64k + receive-pack: Send hook output over side band #2 + t5401: Use a bare repository for the remote peer + receive-pack: Send internal errors over side-band #2 + +Stephen Boyd (1): + request-pull.txt: Document -p option + +Thomas Rast (2): + stash pop: remove 'apply' options during 'drop' invocation + cherry_pick_list: quit early if one side is empty + +Uwe Kleine-König (1): + rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option + + +Version v1.6.6.2; changes since v1.6.6.1: +----------------------------------------- + +Christopher Beelby (1): + git-gui: Keep repo_config(gui.recentrepos) and .gitconfig in sync + +Gerrit Pape (1): + git-cvsserver: allow regex metacharacters in CVSROOT + +Giuseppe Bilotta (1): + git-gui: work from the .git dir + +Ilari Liusvaara (4): + Add xmallocz() + Fix integer overflow in patch_delta() + Fix integer overflow in unpack_sha1_rest() + Fix integer overflow in unpack_compressed_entry() + +Jay Soffian (1): + blame: prevent a segv when -L given start > EOF + +Jeff Epler (1): + git-gui: Fix applying a line when all following lines are deletions + +Jeff King (1): + fix memcpy of overlapping area + +Jens Lehmann (1): + git-gui: Correct file_states when unstaging partly staged entry + +Johan Herland (1): + builtin-config: Fix crash when using "-f <relative path>" from non-root dir + +Jonathan Nieder (1): + git-gui: Makefile: consolidate .FORCE-* targets + +Junio C Hamano (15): + checkout -m path: fix recreating conflicts + status: don't require the repository to be writable + Fix "log" family not to be too agressive about showing notes + Fix "log --oneline" not to show notes + merge-recursive: do not return NULL only to cause segfault + ignore duplicated slashes in make_relative_path() + approxidate_careful() reports errorneous date string + Update @{bogus.timestamp} fix not to die() + t0101: use a fixed timestamp when searching in the reflog + git-add documentation: Fix shell quoting example + Fix parsing of imap.preformattedHTML and imap.sslverify + git-push: document all the status flags used in the output + check-ref-format documentation: fix enumeration mark-up + t8003: check exit code of command and error message separately + Git 1.6.6.2 + +Nguyễn Thái Ngọc Duy (1): + Add missing #include to support TIOCGWINSZ on Solaris + +Pat Thoyts (1): + git-gui: handle really long error messages in updateindex. + +Peter Krefting (1): + git-gui: Fix gitk for branch whose name matches local file + +René Scharfe (2): + archive: complain about path specs that don't match anything + archive: simplify archive format guessing + +SZEDER Gábor (1): + bash: don't offer remote transport helpers as subcommands + +Shawn O. Pearce (1): + fast-import: Stream very large blobs directly to pack + +Tay Ray Chuan (1): + retry request without query when info/refs?query fails + +Vitaly "_Vi" Shukela (1): + git-gui: Add hotkeys for "Unstage from commit" and "Revert changes" + +Wesley J. Landaker (1): + Update git fsck --full short description to mention packs + + +Version v1.6.6.1; changes since v1.6.6: +--------------------------------------- + +Andreas Gruenbacher (3): + base85 debug code: Fix length byte calculation + base85: encode_85() does not use the decode table + base85: Make the code more obvious instead of explaining the non-obvious + +Andreas Schwab (1): + git count-objects: handle packs bigger than 4G + +Björn Gustavsson (4): + Documentation: 'git add -A' can remove files + git-add/rm doc: Consistently back-quote + Fix "git remote update" with remotes.defalt set + git-rm doc: Describe how to sync index & work tree + +David Ripton (1): + bisect: fix singular/plural grammar nit + +Dmitry Potapov (1): + fast-import: tag may point to any object type + +Greg Price (1): + commit: --cleanup is a message option + +Jeff King (2): + reset: unbreak hard resets with GIT_WORK_TREE + textconv: stop leaking file descriptors + +Jim Meyering (1): + grep: NUL terminate input from a file + +Jonathan Nieder (2): + Documentation: git gc packs refs by default now + Documentation: tiny git config manual tweaks + +Junio C Hamano (10): + t1200: work around a bug in some implementations of "find" + t4019 "grep" portability fix + Start 1.6.6.X maintenance track + Makefile: FreeBSD (both 7 and 8) needs OLD_ICONV + checkout -m: do not try to fall back to --merge from an unborn branch + grep: -L should show empty files + Update draft release notes to 1.6.6.1 + Fix mis-backport of t7002 + Git 1.6.5.8 + Git 1.6.6.1 + +Matthieu Moy (3): + SubmittingPatches: hints to know the status of a submitted patch. + branch: die explicitly why when calling "git branch [-a|-r] branchname". + stash: mention --patch in usage string. + +Michael Haggerty (1): + rebase--interactive: Ignore comments and blank lines in peek_next_command + +Nathaniel W Filardo (1): + read_index(): fix reading extension size on BE 64-bit archs + +Nguyễn Thái Ngọc Duy (2): + Documentation: always respect core.worktree if set + t7102: make the test fail if one of its check fails + +Ramkumar Ramachandra (1): + Document git-blame triple -C option + +Richard Weinberger (1): + Fix uninitialized variable in get_refs_via_rsync(). + +Shawn O. Pearce (2): + fast-import: Document author/committer/tagger name is optional + remote-curl: Fix Accept header for smart HTTP connections + +Stephen Boyd (3): + octopus: make merge process simpler to follow + octopus: reenable fast-forward merges + octopus: remove dead code + +Tarmigan Casebolt (1): + Add git-http-backend to command-list. + +Thomas Rast (1): + bash completion: factor submodules into dirty state + + +Version v1.6.6; changes since v1.6.6-rc4: +----------------------------------------- + +Andrew Myrick (1): + git-svn: Remove obsolete MAXPARENT check + +David Reiss (1): + Prevent git blame from segfaulting on a missing author name + +Eric Wong (4): + git svn: fix --revision when fetching deleted paths + update release notes for git svn in 1.6.6 + git svn: lookup new parents correctly from svn:mergeinfo + git svn: branch/tag commands detect username in URLs + +Junio C Hamano (1): + Git 1.6.6 + +Robert Zeh (1): + git svn: add test for a git svn gc followed by a git svn mkdirs + +Sam Vilain (5): + git-svn: expand the svn mergeinfo test suite, highlighting some failures + git-svn: memoize conversion of SVN merge ticket info to git commit ranges + git-svn: fix some mistakes with interpreting SVN mergeinfo commit ranges + git-svn: exclude already merged tips using one rev-list call + git-svn: detect cherry-picks correctly. + + +Version v1.6.6-rc4; changes since v1.6.6-rc3: +--------------------------------------------- + +Björn Gustavsson (1): + rebase -i: abort cleanly if the editor fails to launch + +Eric Wong (2): + git svn: make empty directory creation gc-aware + t9146: use 'svn_cmd' wrapper + +Junio C Hamano (1): + Git 1.6.6-rc4 + +Stephen Boyd (2): + api-strbuf.txt: fix typos and document launch_editor() + technical-docs: document hash API + + +Version v1.6.6-rc3; changes since v1.6.6-rc2: +--------------------------------------------- + +Björn Gustavsson (1): + bash: Support new 'git fetch' options + +Jeff King (1): + ignore unknown color configuration + +Johannes Sixt (1): + help.autocorrect: do not run a command if the command given is junk + +Junio C Hamano (7): + Remove post-upload-hook + Fix archive format with -- on the command line + Git 1.6.5.6 + Update Release Notes for 1.6.6 to remove old bugfixes + worktree: don't segfault with an absolute pathspec without a work tree + Git 1.6.5.7 + Git 1.6.6-rc3 + +Nanako Shiraishi (1): + Illustrate "filter" attribute with an example + + +Version v1.6.6-rc2; changes since v1.6.6-rc1: +--------------------------------------------- + +Alex Vandiver (3): + git-svn: sort svk merge tickets to account for minimal parents + git-svn: Set svn.authorsfile to an absolute path when cloning + git-svn: set svn.authorsfile earlier when cloning + +Alexander Gavrilov (1): + git-gui: Increase blame viewer usability on MacOS. + +Bernt Hansen (1): + gitk: Skip translation of "wrong Tcl version" message + +Brandon Casey (2): + t4201: use ISO8859-1 rather than ISO-8859-1 + t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' + +Clemens Buchacher (1): + git-gui: search 4 directories to improve statistic of gc hint + +Eric Wong (1): + git svn: log removals of empty directories + +Greg Price (1): + git svn: Don't create empty directories whose parents were deleted + +Guillermo S. Romero (1): + gitk: Add configuration for UI colour scheme + +Heiko Voigt (1): + git gui: make current branch default in "remote delete branch" merge check + +Jakub Narębski (1): + gitweb: Describe (possible) gitweb.js minification in gitweb/README + +Jan Krüger (1): + pull: clarify advice for the unconfigured error case + +Jeff King (3): + rerere: don't segfault on failure to open rr-cache + reset: improve worktree safety valves + add-interactive: fix deletion of non-empty files + +Jens Lehmann (2): + gitk: Fix diffing committed -> staged (typo in diffcmd) + gitk: Use the --submodule option for displaying diffs when available + +Jindrich Makovicka (1): + git-gui: suppress RenderBadPicture X error caused by Tk bug + +Johan Herland (1): + Fix crasher on encountering SHA1-like non-note in notes tree + +Junio C Hamano (9): + Documentation/Makefile: allow man.base.url.for.relative.link to be set from Make + Unconditionally set man.base.url.for.relative.links + Git 1.6.5.4 + Documentation: xmlto 0.0.18 does not know --stringparam + Prepare for 1.6.5.5 + Git 1.6.5.5 + Revert recent "git merge <msg> HEAD <commit>..." deprecation + Update draft release notes to 1.6.6 before -rc2 + Git 1.6.6-rc2 + +Linus Torvalds (1): + Fix diff -B/--dirstat miscounting of newly added contents + +Markus Heidelberg (1): + gitk: Fix "git gui blame" invocation when called from top-level directory + +Mizar (2): + gitk: Add Japanese translation + gitk: Update Japanese translation + +Pat Thoyts (4): + gitk: Use themed tk widgets + gitk: Fix errors in the theme patch + gitk: Default to the system colours on Windows + gitk: Fix selection of tags + +Paul Mackerras (5): + gitk: Restore scrolling position of diff pane on back/forward in history + gitk: Add a user preference to enable/disable use of themed widgets + gitk: Show diff of commits at end of compare-commits output + gitk: Don't compare fake children when comparing commits + gitk: Improve appearance of radiobuttons and checkbuttons + +René Scharfe (1): + archive: clarify description of path parameter + +SZEDER Gábor (1): + bash: update 'git commit' completion + +Sitaram Chamarty (1): + gitk: Disable checkout of remote branches + +Todd Zullinger (1): + Documentation: Avoid use of xmlto --stringparam + + +Version v1.6.6-rc1; changes since v1.6.6-rc0: +--------------------------------------------- + +Avery Pennarun (1): + builtin-merge.c: call exclude_cmds() correctly. + +Benjamin Kramer (1): + Explicitly truncate bswap operand to uint32_t + +Bert Wesarg (2): + Give the hunk comment its own color + get_ref_states: strdup entries and free util in stale list + +Björn Gustavsson (11): + Teach the --all option to 'git fetch' + Teach the --multiple option to 'git fetch' + Add the configuration option skipFetchAll + Add missing test for 'git remote update --prune' + Re-implement 'git remote update' using 'git fetch' + Clarify and correct -z + apply: apply works outside a repository + apply: Format all options using back-quotes + apply: Use the term "working tree" consistently + Fix over-simplified documentation for 'git log -z' + gitworkflows: Consistently back-quote git commands + +Brian Gernhardt (1): + t/gitweb-lib: Split HTTP response with non-GNU sed + +Christian Couder (6): + Documentation: add "Fighting regressions with git bisect" article + replace: use a GIT_NO_REPLACE_OBJECTS env variable + Documentation: fix typos and spelling in replace documentation + Documentation: talk a little bit about GIT_NO_REPLACE_OBJECTS + bisect: simplify calling visualizer using '--bisect' option + Documentation: update descriptions of revision options related to '--bisect' + +David Aguilar (1): + help: Do not unnecessarily look for a repository + +David Soria Parra (1): + Documentation: Document --branch option in git clone synopsis + +Erick Mattos (1): + commit -c/-C/--amend: reset timestamp and authorship to committer with --reset-author + +Felipe Contreras (3): + format-patch: fix parsing of "--" on the command line + format-patch: add test for parsing of "--" + send-email: automatic envelope sender + +Horst H. von Brand (1): + git-pull.sh: Fix call to git-merge for new command format + +Jakub Narębski (10): + gitweb: Add optional "time to generate page" info in footer + gitweb: Incremental blame (using JavaScript) + gitweb: Colorize 'blame_incremental' view during processing + gitweb: Create links leading to 'blame_incremental' using JavaScript + gitweb: Minify gitweb.js if JSMIN is defined + t/gitweb-lib.sh: Split gitweb output into headers and body + gitweb: Document current snapshot rules via new tests + gitweb.js: Harden setting blamed commit info in incremental blame + gitweb: Make linking to actions requiring JavaScript a feature + gitweb: Add link to other blame implementation in blame views + +Jay Soffian (4): + remote: refactor some logic into get_stale_heads() + teach warn_dangling_symref to take a FILE argument + builtin-fetch: add --prune option + builtin-fetch: add --dry-run option + +Jeff King (1): + prune-packed: only show progress when stderr is a tty + +Johannes Sixt (2): + t4014-format-patch: do not assume 'test' is available as non-builtin + Add a notice that only certain functions can print color escape codes + +Jonathan Nieder (1): + Makefile: do not clean arm directory + +Junio C Hamano (19): + mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker + Pretty-format: %[+-]x to tweak inter-item newlines + read_revision_from_stdin(): use strbuf + Teach --stdin option to "log" family + setup_revisions(): do not call get_pathspec() too early + Make --stdin option to "log" family read also pathspecs + t9001: test --envelope-sender option of send-email + Add trivial tests for --stdin option to log family + Protect scripted Porcelains from GREP_OPTIONS insanity + builtin-apply.c: pay attention to -p<n> when determining the name + Remove dead code from "git am" + emit_line(): don't emit an empty <SET><RESET> followed by a newline + Update draft release notes to 1.6.6 before merging topics for -rc1 + git-merge: a deprecation notice of the ancient command line syntax + Update draft release notes to 1.6.6 before -rc1 + Do not misidentify "git merge foo HEAD" as an old-style invocation + merge: do not add standard message when message is given with -m option + Prepare for 1.6.5.4 + Git 1.6.6-rc1 + +Mark Rada (2): + gitweb: check given hash before trying to create snapshot + gitweb: Smarter snapshot names + +Martin Storsjö (3): + Disable CURLOPT_NOBODY before enabling CURLOPT_PUT and CURLOPT_POST + Refactor winsock initialization into a separate function + Enable support for IPv6 on MinGW + +Matthew Ogilvie (5): + cvsserver doc: database generally can not be reproduced consistently + config documentation: some configs are auto-set by git-init + t2300: use documented technique to invoke git-sh-setup + t3409 t4107 t7406 t9150: use dashless commands + t/README: Document GIT_TEST_INSTALLED and GIT_TEST_EXEC_PATH + +Matthieu Moy (4): + merge-recursive: point the user to commit when file would be overwritten. + user-manual: Document that "git merge" doesn't like uncommited changes. + merge-recursive: make the error-message generation an extern function + builtin-merge: show user-friendly error messages for fast-forward too. + +Michael J Gruber (1): + Documentation: Fix a few i.e./e.g. mix-ups + +Nanako Shiraishi (2): + t1200: fix a timing dependent error + prepare send-email for smoother change of --chain-reply-to default + +Nicolas Pitre (1): + pack-objects: split implications of --all-progress from progress activation + +Ramsay Jones (1): + git-count-objects: Fix a disk-space under-estimate on Cygwin + +René Scharfe (2): + strbuf_add_wrapped_text(): skip over colour codes + mergetool--lib: simplify guess_merge_tool() + +Stephen Boyd (3): + gitweb.js: fix null object exception in initials calculation + instaweb: restart server if already running + gitweb.js: fix padLeftStr() and its usage + +Tay Ray Chuan (1): + remote-curl.c: fix rpc_out() + +Uwe Kleine-König (1): + shortlog: respect commit encoding + + +Version v1.6.6-rc0; changes since v1.6.5.9: +------------------------------------------- + +Alex Riesen (1): + git-gui: Update russian translation + +Alexey Borzenkov (1): + git-gui: store wm state and fix wm geometry + +Anders Kaseorg (1): + bisect reset: Allow resetting to any commit, not just a branch + +Ben Walton (2): + configure: add macro to set arbitrary make variables + configure: add settings for gitconfig, editor and pager + +Björn Gustavsson (10): + Teach 'rebase -i' the command "reword" + bash: complete more options for 'git rebase' + Teach 'git merge' and 'git pull' the option --ff-only + format-patch: Always generate a patch + format-patch documentation: Remove diff options that are not useful + format-patch documentation: Fix formatting + format-patch: Add "--no-stat" as a synonym for "-p" + bash: add the merge option --ff-only + Fix truncated usage messages + User Manual: Write "Git" instead of "GIT" + +Christian Couder (1): + git: add --no-replace-objects option to disable replacing + +Clemens Buchacher (2): + remote-helpers: return successfully if everything up-to-date + set httpd port before sourcing lib-httpd + +Dan Zwell (1): + git-gui: Limit display to a maximum number of files + +David Aguilar (1): + submodule.c: Squelch a "use before assignment" warning + +David Brown (1): + commit: More generous accepting of RFC-2822 footer lines. + +David Kågedal (1): + git-blame.el: Change how blame information is shown. + +Eric Wong (6): + git svn: fix fetch where glob is on the top-level URL + git svn: read global+system config for clone+init + git svn: add authorsfile test case for ~/.gitconfig + git svn: attempt to create empty dirs on clone+rebase + git svn: always reuse existing remotes on fetch + git svn: strip leading path when making empty dirs + +Erik Faye-Lund (6): + imap-send: use separate read and write fds + imap-send: use run-command API for tunneling + imap-send: fix compilation-error on Windows + imap-send: build imap-send on Windows + mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle + mingw: enable OpenSSL + +Felipe Contreras (2): + diff.c: stylefix + Use 'fast-forward' all over the place + +Heiko Voigt (1): + git-gui: remove warning when deleting correctly merged remote branch + +Ingmar Vanhassel (1): + import-tars: Add support for tarballs compressed with lzma, xz + +Jakub Narębski (4): + gitweb: Add 'show-sizes' feature to show blob sizes in tree view + gitweb: Refactor 'log' action generation, adding git_log_body() + gitweb: Refactor common parts of 'log' and 'shortlog' views + gitweb: Make 'history' view (re)use git_log_generic() + +Jean Privat (1): + Teach "git describe" --dirty option + +Jeff King (3): + imap-send: remove useless uid code + gitignore: root most patterns at the top-level directory + t915{0,1}: use $TEST_DIRECTORY + +Jens Lehmann (5): + git-gui: display summary when showing diff of a submodule + git-gui: fix diff for partially staged submodule changes + git submodule add: make the <path> parameter optional + git-gui: fix use of uninitialized variable + add tests for git diff --submodule + +Jimmy Angelakos (1): + git-gui: Added Greek translation & glossary + +Johan Herland (9): + Teach "-m <msg>" and "-F <file>" to "git notes edit" + fast-import: Add support for importing commit notes + t3302-notes-index-expensive: Speed up create_repo() + Add flags to get_commit_notes() to control the format of the note string + Teach notes code to free its internal data structures on request + Teach the notes lookup code to parse notes trees with various fanout schemes + Add selftests verifying that we can parse notes trees with various fanouts + Refactor notes code to concatenate multiple notes annotating the same object + Add selftests verifying concatenation of multiple notes for the same commit + +Johannes Schindelin (8): + print_wrapped_text(): allow hard newlines + Add strbuf_add_wrapped_text() to utf8.[ch] + Introduce commit notes + Add a script to edit/inspect notes + Speed up git notes lookup + Add an expensive test for git-notes + Add '%N'-format for pretty-printing commit notes + Add the --submodule option to the diff option family + +Johannes Sixt (1): + Windows: use BLK_SHA1 again + +Jonathan Nieder (34): + Add tests for git check-ref-format + check-ref-format: simplify --print implementation + Handle more shell metacharacters in editor names + Retire fetch--tool helper to contrib/examples + Show usage string for 'git grep -h' + Show usage string for 'git cherry -h' + Show usage string for 'git commit-tree -h' + Show usage string for 'git merge-ours -h' + Show usage string for 'git show-ref -h' + http-fetch: add missing initialization of argv0_path + Show usage string for 'git check-ref-format -h' + Show usage string for 'git fast-import -h' + Show usage string for 'git get-tar-commit-id -h' + Show usage string for 'git imap-send -h' + Show usage string for 'git mailsplit -h' + Show usage string for 'git merge-one-file -h' + Show usage string for 'git rev-parse -h' + Show usage string for 'git show-index -h' + Show usage string for 'git unpack-file -h' + Show usage string for 'git stripspace -h' + Let 'git http-fetch -h' show usage outside any git repository + Show usage string for 'git http-push -h' + Let 'git <command> -h' show usage without a git dir + Introduce usagef() that takes a printf-style format + merge-{recursive,subtree}: use usagef() to print usage + diff --no-index: make the usage string less scary + Do not use VISUAL editor on dumb terminals + Suppress warnings from "git var -l" + Teach git var about GIT_EDITOR + Teach git var about GIT_PAGER + add -i, send-email, svn, p4, etc: use "git var GIT_EDITOR" + am -i, git-svn: use "git var GIT_PAGER" + Provide a build time default-editor setting + Speed up bash completion loading + +Julian Phillips (4): + fetch: Speed up fetch by rewriting find_non_local_tags + remote: Make ref_remove_duplicates faster for large numbers of refs + fetch: Speed up fetch of large numbers of refs + remote: fix use-after-free error detected by glibc in ref_remove_duplicates + +Junio C Hamano (20): + diff-lib.c: fix misleading comments on oneway_diff() + unpack-trees: typofix + unpack_callback(): use unpack_failed() consistently + git check-ref-format --print + Start 1.6.6 cycle + check_filename(): make verify_filename() callable without dying + DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz" + format_commit_message(): fix function signature + fsck: default to "git fsck --full" + git checkout --no-guess + Teach --wrap to only indent without wrapping + Update draft release notes to 1.6.6 + Revert "Don't create the $GIT_DIR/branches directory on init" + t1200: further modernize test script style + t1200: prepare for merging with Fast-forward bikeshedding + builtin-commit.c: fix logic to omit empty line before existing footers + git-describe.txt: formatting fix + Provide a build time default-pager setting + Update draft release notes to 1.6.6 + Git v1.6.6-rc0 + +Linus Torvalds (1): + Add '--bisect' revision machinery argument + +Marius Storm-Olsen (1): + MSVC: Enable OpenSSL, and translate -lcrypto + +Mark Lodato (5): + http-backend: add GIT_PROJECT_ROOT environment var + http-backend: reword some documentation + http-backend: use mod_alias instead of mod_rewrite + http-backend: add example for gitweb on same URL + http-backend: more explict LocationMatch + +Mark Rada (1): + instaweb: support mod_cgid for apache2 + +Markus Heidelberg (1): + bash completion: difftool accepts the same options as diff + +Michael J Gruber (1): + Make t9150 and t9151 test scripts executable + +Nicolas Pitre (1): + pack-objects: move thread autodetection closer to relevant code + +Ramsay Jones (2): + Makefile: keep MSVC and Cygwin configuration separate + MSVC: Add support for building with NO_MMAP + +René Scharfe (6): + describe: load refnames before calling describe() + Implement wrap format %w() as if it is a mode switch + log --format: don't ignore %w() at the start of format string + grep: unset GREP_OPTIONS before spawning external grep + strbuf_add_wrapped_text(): factor out strbuf_add_indented_text() + log --format: document %w + +Robin Rosenberg (1): + Don't create the $GIT_DIR/branches directory on init + +SZEDER Gábor (1): + Documentation: add 'git replace' to main git manpage + +Sam Vilain (5): + git-svn: add test data for SVK merge, with script. + git-svn: allow test setup script to support PERL env. var + git-svn: convert SVK merge tickets to extra parents + git-svn: add test data for SVN 1.5+ merge, with script. + git-svn: convert SVN 1.5+ / svnmerge.py svn:mergeinfo props to parents + +Scott Chacon (2): + mergetool--lib: add p4merge as a pre-configured mergetool option + Update packfile transfer protocol documentation + +Sebastian Schuberth (2): + Use faster byte swapping when compiling with MSVC + Make the MSVC projects use PDB/IDB files named after the project + +Shawn O. Pearce (27): + git-gui: Ensure submodule path is quoted properly + pkt-line: Add strbuf based functions + pkt-line: Make packet_read_line easier to debug + fetch-pack: Use a strbuf to compose the want list + Move "get_ack()" back to fetch-pack + Add multi_ack_detailed capability to fetch-pack/upload-pack + remote-curl: Refactor walker initialization + fetch: Allow transport -v -v -v to set verbosity to 3 + remote-helpers: Fetch more than one ref in a batch + remote-helpers: Support custom transport options + Move WebDAV HTTP push under remote-curl + Git-aware CGI to provide dumb HTTP transport + Add stateless RPC options to upload-pack, receive-pack + Smart fetch and push over HTTP: server side + Discover refs via smart HTTP server when available + Smart push over HTTP: client side + Smart fetch over HTTP: client side + Smart HTTP fetch: gzip requests + http tests: use /dumb/ URL prefix + test smart http fetch and push + http-backend: Use http.getanyfile to disable dumb HTTP serving + http-backend: Test configuration options + Git-aware CGI to provide dumb HTTP transport + http-backend: Protect GIT_PROJECT_ROOT from /../ requests + t5551-http-fetch: Work around some libcurl versions + t5551-http-fetch: Work around broken Accept header in libcurl + http-backend: Fix bad treatment of uintmax_t in Content-Length + +Stephen Boyd (7): + rebase -i: fix reword when using a terminal editor + gitweb: linkify author/committer names with search + t1402: Make test executable + t1200: cleanup and modernize test style + t1200: Make documentation and test agree + t3101: test more ls-tree options + ls-tree: migrate to parse-options + +Tarmigan Casebolt (3): + Check the format of more printf-type functions + http-backend: Fix access beyond end of string. + http-backend: Let gcc check the format of more printf-type functions. + +Tay Ray Chuan (2): + http-push: fix check condition on http.c::finish_http_pack_request() + t5540-http-push: remove redundant fetches + +Thiago Farina (1): + Documentation: update pt-BR + +Thomas Rast (14): + bash completion: complete refs for git-grep + Let --decorate show HEAD position + Refactor pretty_print_commit arguments into a struct + reflog-walk: refactor the branch@{num} formatting + Introduce new pretty formats %g[sdD] for reflog information + stash list: use new %g formats instead of sed + stash list: drop the default limit of 10 stashes + describe: when failing, tell the user about options that work + filter-branch: stop special-casing $filter_subdir argument + filter-branch: nearest-ancestor rewriting outside subdir filter + Documentation: clarify 'ours' merge strategy + rebase docs: clarify --merge and --strategy + Document git-svn's first-parent rule + describe: do not use unannotated tag even if exact match + +Toby Allsopp (1): + git svn: handle SVN merges from revisions past the tip of the branch + +Vietor Liu (1): + git-gui: adjust the minimum height of diff pane for shorter screen height + +Štěpán Němec (1): + git-update-index.txt: Document the --really-refresh option. + + +Version v1.6.5.9; changes since v1.6.5.8: +----------------------------------------- + +Björn Gustavsson (3): + Documentation: 'git add -A' can remove files + git-add/rm doc: Consistently back-quote + git-rm doc: Describe how to sync index & work tree + +Greg Brockman (1): + Check size of path buffer before writing into it + +Jakub Narębski (1): + gitweb: Introduce esc_attr to escape attributes of HTML elements + +Jay Soffian (1): + blame: prevent a segv when -L given start > EOF + +Jeff King (2): + fix memcpy of overlapping area + dwim_ref: fix dangling symref warning + +Junio C Hamano (2): + t8003: check exit code of command and error message separately + Git 1.6.4.5 + +Larry D'Anna (1): + diff: make sure --output=/bad/path is caught + +Michal Sojka (1): + Remove extra '-' from git-am(1) + +Stephen Boyd (4): + octopus: make merge process simpler to follow + octopus: reenable fast-forward merges + octopus: remove dead code + request-pull.txt: Document -p option + +Thomas Rast (1): + stash pop: remove 'apply' options during 'drop' invocation + +Uwe Kleine-König (1): + rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option + + +Version v1.6.5.8; changes since v1.6.5.7: +----------------------------------------- + +Andreas Gruenbacher (3): + base85 debug code: Fix length byte calculation + base85: encode_85() does not use the decode table + base85: Make the code more obvious instead of explaining the non-obvious + +Andreas Schwab (1): + git count-objects: handle packs bigger than 4G + +Björn Gustavsson (1): + rebase -i: abort cleanly if the editor fails to launch + +David Reiss (1): + Prevent git blame from segfaulting on a missing author name + +Dmitry Potapov (1): + fast-import: tag may point to any object type + +Greg Price (1): + commit: --cleanup is a message option + +Jeff King (2): + reset: unbreak hard resets with GIT_WORK_TREE + textconv: stop leaking file descriptors + +Jim Meyering (1): + grep: NUL terminate input from a file + +Junio C Hamano (3): + checkout -m: do not try to fall back to --merge from an unborn branch + Fix mis-backport of t7002 + Git 1.6.5.8 + +Matthieu Moy (1): + branch: die explicitly why when calling "git branch [-a|-r] branchname". + +Nguyễn Thái Ngọc Duy (1): + t7102: make the test fail if one of its check fails + +Stephen Boyd (2): + api-strbuf.txt: fix typos and document launch_editor() + technical-docs: document hash API + +Thomas Rast (1): + bash completion: factor submodules into dirty state + + +Version v1.6.5.7; changes since v1.6.5.6: +----------------------------------------- + +Jeff King (1): + ignore unknown color configuration + +Johannes Sixt (1): + help.autocorrect: do not run a command if the command given is junk + +Junio C Hamano (2): + worktree: don't segfault with an absolute pathspec without a work tree + Git 1.6.5.7 + +Nanako Shiraishi (1): + Illustrate "filter" attribute with an example + + +Version v1.6.5.6; changes since v1.6.5.5: +----------------------------------------- + +Jan Krüger (1): + pull: clarify advice for the unconfigured error case + +Jeff King (1): + add-interactive: fix deletion of non-empty files + +Junio C Hamano (3): + Remove post-upload-hook + Fix archive format with -- on the command line + Git 1.6.5.6 + +Matthieu Moy (2): + merge-recursive: make the error-message generation an extern function + builtin-merge: show user-friendly error messages for fast-forward too. + + +Version v1.6.5.5; changes since v1.6.5.4: +----------------------------------------- + +Avery Pennarun (1): + builtin-merge.c: call exclude_cmds() correctly. + +Brandon Casey (1): + t4201: use ISO8859-1 rather than ISO-8859-1 + +Brian Collins (1): + grep: Allow case insensitive search of fixed-strings + +Felipe Contreras (2): + format-patch: fix parsing of "--" on the command line + format-patch: add test for parsing of "--" + +Jeff King (4): + diffcore-break: free filespec data as we go + diffcore-break: save cnt_data for other phases + rerere: don't segfault on failure to open rr-cache + reset: improve worktree safety valves + +Junio C Hamano (7): + diffcore-rename: reduce memory footprint by freeing blob data early + Documentation: avoid xmlto input error + Protect scripted Porcelains from GREP_OPTIONS insanity + Remove dead code from "git am" + Documentation: xmlto 0.0.18 does not know --stringparam + Prepare for 1.6.5.5 + Git 1.6.5.5 + +Linus Torvalds (1): + Fix diff -B/--dirstat miscounting of newly added contents + +Lukas Sandström (1): + git am/mailinfo: Don't look at in-body headers when rebasing + +Matthew Ogilvie (1): + core.autocrlf documentation: mention the crlf attribute + +Matthieu Moy (4): + Expand ~ and ~user in core.excludesfile, commit.template + expand_user_path: expand ~ to $HOME, not to the actual homedir. + merge-recursive: point the user to commit when file would be overwritten. + user-manual: Document that "git merge" doesn't like uncommited changes. + +Nicolas Pitre (1): + give priority to progress messages + +Philippe Bruhat (1): + Make sure $PERL_PATH is defined when the test suite is run. + +Raman Gupta (1): + Add branch management for releases to gitworkflows + +Ramsay Jones (3): + Makefile: merge two Cygwin configuration sections into one + t9700-perl-git.sh: Fix a test failure on Cygwin + git-count-objects: Fix a disk-space under-estimate on Cygwin + +René Scharfe (2): + mergetool--lib: simplify guess_merge_tool() + archive: clarify description of path parameter + +Tim Henigan (2): + Update 'git remote update' usage string to match man page. + git remote: Separate usage strings for subcommands + +Todd Zullinger (1): + Documentation: Avoid use of xmlto --stringparam + +Uwe Kleine-König (1): + shortlog: respect commit encoding + + +Version v1.6.5.4; changes since v1.6.5.3: +----------------------------------------- + +David Aguilar (1): + help: Do not unnecessarily look for a repository + +David Soria Parra (1): + Documentation: Document --branch option in git clone synopsis + +Greg Price (1): + Documentation: undocument gc'd function graph_release() + +Jeff King (1): + prune-packed: only show progress when stderr is a tty + +Junio C Hamano (7): + builtin-apply.c: pay attention to -p<n> when determining the name + Do not misidentify "git merge foo HEAD" as an old-style invocation + merge: do not add standard message when message is given with -m option + Prepare for 1.6.5.4 + Documentation/Makefile: allow man.base.url.for.relative.link to be set from Make + Unconditionally set man.base.url.for.relative.links + Git 1.6.5.4 + +Michael J Gruber (1): + Documentation: Fix a few i.e./e.g. mix-ups + +Nicolas Pitre (1): + pack-objects: split implications of --all-progress from progress activation + +Stephen Boyd (1): + instaweb: restart server if already running + + +Version v1.6.5.3; changes since v1.6.5.2: +----------------------------------------- + +Björn Gustavsson (1): + git-clone.txt: Fix grammar and formatting + +Björn Steinbrink (1): + pre-commit.sample: Diff against the empty tree when HEAD is invalid + +Clemens Buchacher (1): + modernize fetch/merge/pull examples + +Daniel Barkalow (2): + Require a struct remote in transport_get() + Allow curl helper to work without a local repository + +Dmitry V. Levin (1): + Makefile: add compat/bswap.h to LIB_H + +Gerrit Pape (1): + help -i: properly error out if no info viewer can be found + +Gisle Aas (2): + More precise description of 'git describe --abbrev' + Fix documentation grammar typo + +Giuseppe Bilotta (1): + gitweb: fix esc_param + +Jakub Narębski (1): + gitweb: Do not show 'patch' link for merge commits + +Jan Krüger (1): + rebase -i: more graceful handling of invalid commands + +Jari Aalto (3): + Documentation/fetch-options.txt: order options alphabetically + Documentation/git-pull.txt: Add subtitles above included option files + Documentation/merge-options.txt: order options in alphabetical groups + +Jeff King (6): + cvsimport: fix relative argument filenames + push: always load default config + add-interactive: handle deletion of empty files + ls-files: unbreak "ls-files -i" + push: fix typo in usage + format-patch: make "-p" suppress diffstat + +Johannes Schindelin (3): + blame: make sure that the last line ends in an LF + help -a: do not unnecessarily look for a repository + diff --color-words -U0: fix the location of hunk headers + +Jonathan Nieder (4): + clone: detect extra arguments + Add intermediate build products to .gitignore + check-ref-format: update usage string + merge: do not setup worktree twice + +Junio C Hamano (22): + apply --whitespace=fix: fix handling of blank lines at the eof + apply --whitespace=fix: detect new blank lines at eof correctly + apply.c: split check_whitespace() into two + apply --whitespace=warn/error: diagnose blank at EOF + apply --whitespace: warn blank but not necessarily empty lines at EOF + diff.c: the builtin_diff() deals with only two-file comparison + diff --whitespace=warn/error: obey blank-at-eof + diff --whitespace=warn/error: fix blank-at-eof check + diff --color: color blank-at-eof + core.whitespace: split trailing-space into blank-at-{eol,eof} + diff --whitespace: fix blank lines at end + diff.c: shuffling code around + diff.c: split emit_line() from the first char and the rest of the line + diff.c: emit_add_line() takes only the rest of the line + diff -B: colour whitespace errors + info/grafts: allow trailing whitespaces at the end of line + gc --auto --quiet: make the notice a bit less verboase + receive-pack: run "gc --auto --quiet" and optionally "update-server-info" + clone: fix help on options + diff --color-words: bit of clean-up + check-ref-format -h: it does not know the --print option yet + Git 1.6.5.3 + +Markus Heidelberg (1): + t4034-diff-words: add a test for word diff without context + +Petr Baudis (1): + gitweb: Fix blob linenr links in pathinfo mode + +Sebastian Schuberth (1): + Do not try to remove directories when removing old links + +Stephen Boyd (1): + git-add.txt: fix formatting of --patch section + +Thomas Rast (1): + Quote ' as \(aq in manpages + +Todd Zullinger (1): + Makefile: Ensure rpm packages can be read by older rpm versions + +Vietor Liu (1): + imap-send.c: fix compiler warnings for OpenSSL 1.0 + + +Version v1.6.5.2; changes since v1.6.5.1: +----------------------------------------- + +Andreas Schwab (1): + Work around option parsing bug in the busybox tar implementation + +Carlos R. Mafra (1): + Makefile: clean block-sha1/ directory instead of mozilla-sha1/ + +Jeff King (2): + ls-files: excludes should not impact tracked files + document push's new quiet option + +Joe Perches (1): + git-send-email.perl: fold multiple entry "Cc:" and multiple single line "RCPT TO:"s + +Johannes Sixt (2): + Remove a left-over file from t/t5100 + Mark files in t/t5100 as UTF-8 + +Jonathan Nieder (1): + Documentation: describe check-ref-format --branch + +Junio C Hamano (4): + Fix incorrect error check while reading deflated pack data + Do not fail "describe --always" in a tag-less repository + Fix list of released versions in the toc document + GIT 1.6.5.2 + +Markus Heidelberg (1): + t7800-difftool: fix the effectless GIT_DIFFTOOL_PROMPT test + +Matt Kraai (1): + Documentation/git-gc.txt: change "references" to "reference" + +Nanako Shiraishi (2): + git push: remove incomplete options list from help text + git push: say that --tag can't be used with --all or --mirror in help text + +Nasser Grainawi (1): + Document `delta` attribute in "git help attributes". + +Pauli Virtanen (1): + git-add--interactive: never skip files included in index + + +Version v1.6.5.1; changes since v1.6.5: +--------------------------------------- + +Björn Steinbrink (1): + clone: Supply the right commit hash to post-checkout when -b is used + +Johannes Sixt (1): + remote-curl: add missing initialization of argv0_path + +Junio C Hamano (1): + GIT 1.6.5.1 + +Matt Kraai (1): + grep: do not segfault when -f is used + +Miklos Vajna (1): + git-stash documentation: mention default options for 'list' + +Nicolas Pitre (1): + change throughput display units with fast links + +Shawn O. Pearce (1): + sha1_file: Fix infinite loop when pack is corrupted + + +Version v1.6.5; changes since v1.6.5-rc3: +----------------------------------------- + +Alexander Gavrilov (1): + git-svn: Avoid spurious errors when rewriteRoot is used. + +Ben Walton (1): + ls-files: die instead of fprintf/exit in -i error + +Björn Gustavsson (1): + bash: add support for 'git replace' + +Brandon Casey (2): + Makefile: enable THREADED_DELTA_SEARCH on IRIX and IRIX64 + Makefile: add a note about the NO_MMAP setting on IRIX and IRIX64 + +Christian Himpel (2): + git-am: fixed patch_format detection according to RFC2822 + git-am: force egrep to use correct characters set + +Erik Faye-Lund (2): + increase portability of NORETURN declarations + add NORETURN_PTR for function pointers + +Felipe Contreras (1): + send-email: fix mutt regex for grouped aliases + +Ingmar Vanhassel (1): + import-tars: Add missing closing bracket + +Jeff King (2): + improve reflog date/number heuristic + pull: improve advice for unconfigured error case + +Jonathan Nieder (8): + Describe DOCBOOK_XSL_172, ASCIIDOC_NO_ROFF options in Makefile + Documentation: git fmt-merge-msg does not have to be a script + Documentation: clarify mergeoptions description + Documentation: branch: update --merged description + Documentation: clarify branch creation + Documentation: clarify "working tree" definition + racy-git.txt: explain nsec problem in more detail + Documentation: clone: clarify discussion of initial branch + +Junio C Hamano (2): + Update draft release notes to 1.6.5 + GIT 1.6.5 + +Ramsay Jones (2): + Fix MSVC build on cygwin + Fix the exit code of MSVC build scripts on cygwin + +René Scharfe (1): + Git archive and trailing "/" in prefix + +Simon Arlott (1): + git-svn: hide find_parent_branch output in double quiet mode + +Stephen Boyd (2): + completion: fix completion of git <TAB><TAB> + completion: fix alias listings with newlines + + +Version v1.6.5-rc3; changes since v1.6.5-rc2: +--------------------------------------------- + +Adam Brewster (1): + filter-branch: add --prune-empty to option summary + +Andreas Schwab (1): + parse-opt: ignore negation of OPT_NONEG for ambiguity checks + +Brandon Casey (3): + perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR + Documentation/git-gc.txt: default --aggressive window is 250, not 10 + Makefile: enable THREADED_DELTA_SEARCH on SunOS + +Frederik Schwarzer (1): + Correct minor typo in post-receive hook template + +Jim Meyering (1): + typo fix: Directory `...' exist, ...: s/exist/exists/ + +Johan Sageryd (1): + Fix '--relative-date' + +Junio C Hamano (4): + builtin-mailinfo.c: check error status from rewind and ftruncate + show-branch: fix segfault when showbranch.default exists + git-pull: dead code removal + fast-import.c::validate_raw_date(): really validate the value + +Mark Rada (1): + tests: make all test files executable + +Michael Wookey (1): + generators/vcproj.pm: remove UNICODE from build + +Miklos Vajna (1): + git branch -D: give a better error message when lockfile creation fails + +Nicolas Pitre (1): + make 'git clone' ask the remote only for objects it cares about + +Ramsay Jones (1): + Fix some printf format warnings + +SZEDER Gábor (1): + bash: teach 'git checkout' options + +Sebastian Schuberth (2): + Make generated MSVC solution file open from Windows Explorer + Make just opening the generated MSVC solution file not modify it + +Stefan Naewe (1): + README: git lives at http://git-scm.com these days + +Stephen Boyd (2): + completion: update am, commit, and log + completion: add dirstat and friends to diff options + +Yakov Lerner (1): + send-email: fix obscure error when encryption=tls and smtp cannot connect + + +Version v1.6.5-rc2; changes since v1.6.5-rc1: +--------------------------------------------- + +Clemens Buchacher (2): + test local clone by copying + cvs: initialize empty password + +Dmitry Potapov (2): + git-archive: add '-o' as a alias for '--output' + git-archive: infer output format from filename when unspecified + +Frank Li (6): + Avoid declaration after statement + Change regerror() declaration from K&R style to ANSI C (C89) + Fix __stdcall placement and function prototype + Test for WIN32 instead of __MINGW32_ + Add MinGW header files to build git with MSVC + Add platform files for porting to MSVC + +Heiko Voigt (2): + remove logical typo in documentation of sample update hook + web--browse: fix Mac OS X GUI detection for 10.6 + +Jim Meyering (1): + pre-commit.sample: add comment re tr portability; fix grammar + +Johannes Gilger (1): + git-clone doc: typofix + +Johannes Sixt (1): + test-genrandom: ensure stdout is set to _O_BINARY on Windows + +Junio C Hamano (6): + git-commit doc: remove duplicated --dry-run description + http.c: avoid freeing an uninitialized pointer + GIT 1.6.4.4 + Update Release Notes to 1.6.5 + pay attention to DESTDIR when building with NO_PERL_MAKEMAKER + pull: Clarify "helpful" message for another corner case + +Marius Storm-Olsen (9): + Add include guards to compat/win32.h + Set _O_BINARY as default fmode for both MinGW and MSVC + Add empty header files for MSVC port + Make usage of windows.h lean and mean + Define strncasecmp and ftruncate for MSVC + Add MSVC to Makefile + Add README for MSVC build + Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake) + Tag GIT_VERSION when Git is built with MSVC + +Matthieu Moy (1): + push: Correctly initialize nonfastforward in transport_push. + +Nelson Elhage (1): + git-push: Accept -n as a synonym for --dry-run. + +Nicolas Pitre (1): + Nicolas Pitre has a new email address + +Pat Thoyts (1): + gitk: Work around leftover temporary save file + +Paul Mackerras (1): + gitk: Show diff of commits at end of compare-commits output + +Peter Krefting (1): + gitk: Update Swedish translation (280t0f0u) + +SZEDER Gábor (3): + bash: rename __git_find_subcommand() to __git_find_on_cmdline() + bash: update 'git stash' completion + bash: teach 'git reset --patch' + +Thiago Farina (3): + Update the usage bundle string. + pack-objects: remove SP at the end of usage string + Update "describe" documentation to match reality + +Todd Zullinger (1): + completion: Replace config --list with --get-regexp + + +Version v1.6.5-rc1; changes since v1.6.5-rc0: +--------------------------------------------- + +Brian Gernhardt (4): + INSTALL: Update description of our SHA-1 code + Makefile: Add NEEDS_CRYPTO_WITH_SSL + INSTALL: Reorder dependencies, split shell and Perl + INSTALL: Describe dependency knobs from Makefile + +Clemens Buchacher (3): + grep: fix exit status if external_grep() punts + grep: accept relative paths outside current working directory + preserve mtime of local clone + +Daniel Barkalow (4): + Add support for external programs for handling native fetches + Use an external program to implement fetching with curl + Make the "traditionally-supported" URLs a special case + Use a clearer style to issue commands to remote helpers + +Jari Aalto (1): + Improve --patch option documentation in git-add + +Jeff King (4): + Makefile: git-http-fetch does not need expat + push: make non-fast-forward help message configurable + status: make "how to stage" messages optional + rebase: use plumbing to show dirty state + +Jim Meyering (3): + use write_str_in_full helper to avoid literal string lengths + use write_str_in_full helper to avoid literal string lengths + don't dereference NULL upon fdopen failure + +Johannes Sixt (2): + start_command: do not clobber cmd->env on Windows code path + pager: set LESS=FRSX also on Windows + +Josh Triplett (2): + Wrap rewrite globals in a struct in preparation for adding another set + Add url.<base>.pushInsteadOf: URL rewriting for push only + +Junio C Hamano (7): + Makefile: do not link three copies of git-remote-* programs + Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible + merge-recursive: give less scary messages when merge did not start + Makefile: remove remnant of separate http/https/ftp helpers + GIT 1.6.4.3 + quiltimport documentation: --dry-run and -n are synonyms + GIT 1.6.5-rc1 + +Linus Torvalds (1): + git-http-fetch: not a builtin + +Mark Lodato (1): + svn: properly escape arguments for authors-prog + +Martin Nordholts (1): + git.el: Use git-add-file for unmerged files, remove git-resolve-file + +Matthieu Moy (1): + wrap git's main usage string. + +Mike Ralphson (2): + Add transport native helper executables to .gitignore + http-fetch: Fix Makefile dependancies + +Nicolas Sebrecht (2): + mailinfo: add '--scissors' to usage message + add documentation for mailinfo.scissors and '--no-scissors' + +Peter Krefting (2): + import-tars: Allow per-tar author and commit message. + Add script for importing bits-and-pieces to Git. + +Reilly Grant (1): + git-p4: Avoid modules deprecated in Python 2.6. + +Tay Ray Chuan (1): + http.c: remove verification of remote packs + + +Version v1.6.5-rc0; changes since v1.6.4.5: +------------------------------------------- + +Adam Brewster (3): + svn: Add && to t9107-git-svn-migrate.sh + svn: Honor --prefix option in init without --stdlayout + svn: allow branches outside of refs/remotes + +Adam Simpkins (3): + graph API: use a new color when starting a brand new column + graph API: fix bug in graph_is_interesting() + Add tests for rev-list --graph with options that simplify history + +Alex Riesen (2): + Add a reminder test case for a merge with F/D transition + Add date formatting and parsing functions relative to a given time + +Alexandre Julliard (1): + read-tree: Fix regression with creation of a new index file. + +André Goddard Rosa (1): + Fix typos on pt_BR/gittutorial.txt translation + +Benjamin Kramer (1): + gitweb: Optimize git-favicon.png + +Björn Steinbrink (1): + git-describe: Die early if there are no possible descriptions + +Brandon Casey (9): + strbuf: add new function strbuf_getwholeline() + builtin-mailinfo,builtin-mailsplit: use strbufs + builtin-mailsplit.c: remove read_line_with_nul() since it is no longer used + block-sha1/sha1.c: silence compiler complaints by casting void * to char * + git-compat-util.h: remove superfluous test for __sun__ + Makefile: remove pointless conditional assignment in SunOS section + abspath.c: move declaration of 'len' into inner block and use appropriate type + commit.c: rename variable named 'n' which masks previous declaration + t/test-lib.sh: provide a shell implementation of the 'yes' utility + +Brian Gianforcaro (1): + Style fixes, add a space after if/for/while. + +Christian Couder (13): + refs: add a "for_each_replace_ref" function + replace_object: add mechanism to replace objects found in "refs/replace/" + sha1_file: add a "read_sha1_file_repl" function + object: call "check_sha1_signature" with the replacement sha1 + replace_object: add a test case + mktag: call "check_sha1_signature" with the replacement sha1 + environment: add global variable to disable replacement + Add new "git replace" command + builtin-replace: teach "git replace" to actually replace + parse-options: add new function "usage_msg_opt" + builtin-replace: use "usage_msg_opt" to give better error messages + Documentation: add documentation for "git replace" + t6050: check pushing something based on a replaced commit + +David Aguilar (1): + Add git-replace to .gitignore + +David Kågedal (1): + git.el: Clarify documentation of git-commit-tree + +David Soria Parra (1): + run-command.c: squelch a "use before assignment" warning + +Dirk Hoerner (1): + git-cvsimport: add support for cvs pserver password scrambling. + +Eric Wong (3): + svn: initial "master" points to trunk if possible + svn: (cleanup) use predefined constant for rev_map_fmt + svn: assume URLs from the command-line are URI-encoded + +Geoffrey Irving (1): + git fast-export: add --no-data option + +Giuseppe Bilotta (3): + gitweb: fix 'Use of uninitialized value' error in href() + git apply: option to ignore whitespace differences + gitweb: pull ref markes pull out of subject <a> element + +Heiko Voigt (2): + cvsimport: add test illustrating a bug in cvsps + cvsimport: extend testcase about patchset order to contain branches + +Jakub Narębski (6): + gitweb: Make .error style generic + gitweb: Mark boundary commits in 'blame' view + gitweb: Use "previous" header of git-blame -p in 'blame' view + gitweb: Mark commits with no "previous" in 'blame' view + gitweb: Add author initials in 'blame' view, a la "git gui blame" + gitweb: Use light/dark for class names also in 'blame' view + +Jari Aalto (1): + git-tag(1): Refer to git-check-ref-format(1) for <name> + +Jeff King (14): + push: add --quiet flag + transport: pass "quiet" flag to pack-objects + transport: don't show push status if --quiet is given + tests: use "$TEST_DIRECTORY" instead of ".." + tests: provide $TRASH_DIRECTORY variable + tests: allow user to specify trash directory location + t/Makefile: include config.mak + allow pull --rebase on branch yet to be born + tests: disable interactive hunk selection tests if perl is not available + clone: add --branch option to select a different HEAD + refactor test-date interface + tests: add date printing and parsing tests + fix approxidate parsing of relative months and years + push: teach --quiet to suppress "Everything up-to-date" + +Jeff Lasslett (1): + Check return value of ftruncate call in http.c + +Jens Lehmann (1): + git submodule summary: add --files option + +Johan Herland (9): + git submodule foreach: Provide access to submodule name, as '$name' + git submodule: Cleanup usage string and add option parsing to cmd_foreach() + Add selftest for 'git submodule foreach' + git submodule foreach: test access to submodule name as '$name' + git submodule foreach: Add --recursive to recurse into nested submodules + git submodule update: Introduce --recursive to update nested submodules + git submodule status: Add --recursive to recurse into nested submodules + t7407: Use 'rev-parse --short' rather than bash's substring expansion notation + git clone: Add --recursive to automatically checkout (nested) submodules + +Johannes Schindelin (2): + Make 'git stash -k' a short form for 'git stash save --keep-index' + parse-opt: optionally show "--no-" option string + +Johannes Sixt (13): + MinGW: simplify waitpid() emulation macros + run_command: return exit code as positive value + run_command: report system call errors instead of returning error codes + run_command: encode deadly signal number in the return value + run_command: report failure to execute the program, but optionally don't + receive-pack: remove unnecessary run_status report + api-run-command.txt: describe error behavior of run_command functions + t0001-init: fix a file name + t0001-init: split the existence test from the permission test + gitk: Do not hard-code "encoding" in attribute lookup functions + Make test number t7406- unique + Make test case number unique + status: list unmerged files much later + +Junio C Hamano (31): + t/t9600: remove exit after test_done + Start 1.6.5 cycle + request-pull: optionally show a patch as well + diff-index: report unmerged new entries + diff-index: keep the original index intact + Allow mailsplit (and hence git-am) to handle mails with CRLF line-endings + wt-status.c: rework the way changes to the index and work tree are summarized + git-rev-list.txt: Clarify the use of multiple revision arguments + block-sha1: undo ctx->size change + block-sha1: minor fixups + am: allow individual e-mail files as input + status: show worktree status of conflicted paths separately + verify-pack --stat-only: show histogram without verifying + commit: --dry-run + wt-status: move many global settings to wt_status structure + wt-status: move wt_status_colors[] into wt_status structure + Make git_status_config() file scope static to builtin-commit.c + wt-status: collect untracked files in a separate "collect" phase + Documentation/git-commit.txt: describe --dry-run + git commit --dry-run -v: show diff in color when asked + compat/snprintf.c: clarify SNPRINTF_SIZE_CORR + builtin-mailinfo.c: fix confusing internal API to mailinfo() + Teach mailinfo to ignore everything before -- >8 -- mark + am/mailinfo: Disable scissors processing by default + mailinfo.scissors: new configuration + Draft release notes to 1.6.5 before -rc0 + upload-pack: add a trigger for post-upload-pack hook + upload-pack: feed "kind [clone|fetch]" to post-upload-pack hook + builtin-pack-objects.c: avoid vla + builtin-apply.c: get rid of an unnecessary use of temporary array + GIT 1.6.5-rc0 + +Karthik R (1): + git-svn: Use GIT_SSH setting if SVN_SSH is not set + +Lars Hjemli (2): + Documentaqtion/git-submodule.txt: Typofix + git-log: allow --decorate[=short|full] + +Linus Torvalds (12): + Add new optimized C 'block-sha1' routines + block-sha1: try to use rol/ror appropriately + block-sha1: make the 'ntohl()' part of the first SHA1 loop + block-sha1: re-use the temporary array as we calculate the SHA1 + block-sha1: macroize the rounds a bit further + block-sha1: Use '(B&C)+(D&(B^C))' instead of '(B&C)|(D&(B|C))' in round 3 + block-sha1: get rid of redundant 'lenW' context + block-sha1: perform register rotation using cpp + block-sha1: improved SHA1 hashing + block-sha1: improve code on large-register-set machines + Improve on 'approxidate' + Further 'approxidate' improvements + +Luke Diamand (1): + git-p4: stream from perforce to speed up clones + +Mark Rada (6): + gitweb: support to globally disable a snapshot format + gitweb: update INSTALL regarding specific snapshot settings + gitweb: add support for XZ compressed snapshots + gitweb: improve snapshot error handling + gitweb: split test suite into library and tests + gitweb: add t9501 tests for checking HTTP status codes + +Matthieu Moy (6): + rebase: consistent error messages for staged and unstaged changes. + git-ls-files.txt: clarify what "other files" mean for --other + Show usage string for 'git log -h', 'git show -h' and 'git diff -h' + Rename REFRESH_SAY_CHANGED to REFRESH_IN_PORCELAIN. + reset: make the reminder output consistent with "checkout" + stash: simplify defaulting to "save" and reject unknown options + +Michael Haggerty (6): + Start a library for cvsimport-related tests + Use CVS's -f option if available (ignore user's ~/.cvsrc file) + Test contents of entire cvsimported "master" tree contents + Add some tests of git-cvsimport's handling of vendor branches + Add a test of "git cvsimport"'s handling of tags and branches + git-svn: ignore leading blank lines in svn:ignore + +Michael J Gruber (3): + t6010-merge-base.sh: Depict the octopus test graph + git-merge-base/git-show-branch: Cleanup documentation and usage + git-merge-base/git-show-branch --merge-base: Documentation and test + +Michał Kiedrowicz (2): + init-db: migrate to parse-options + grep: Add --max-depth option. + +Nanako Shiraishi (3): + git init: optionally allow a directory argument + Documentation: consistently refer to check-ref-format + Documentation: describe the scissors mark support of "git am" + +Nguyễn Thái Ngọc Duy (1): + Prevent diff machinery from examining assume-unchanged entries on worktree + +Nick Edelen (1): + Shift object enumeration out of upload-pack + +Nicolas Pitre (11): + block-sha1: move code around + block-sha1: split the different "hacks" to be individually selected + block-sha1: support for architectures with memory alignment restrictions + block-sha1: more good unaligned memory access candidates + block-sha1: make the size member first in the context struct + make sure byte swapping is optimal for git + block-sha1: guard gcc extensions with __GNUC__ + remove ARM and Mozilla SHA1 implementations + fix simple deepening of a repo + make shallow repository deepening more network efficient + pack-objects: free preferred base memory after usage + +Nicolas Sebrecht (1): + git-am: print fair error message when format detection fails + +Ori Avtalion (1): + git stash: Give friendlier errors when there is nothing to apply + +Pascal Obry (1): + Do not scramble password read from .cvspass + +René Scharfe (2): + update-server-info: make builtin, use parseopt + UI consistency: allow --force for where -f means force + +Stephen Boyd (7): + read-tree: convert unhelpful usage()'s to helpful die()'s + read-tree: migrate to parse-options + write-tree: migrate to parse-options + verify-tag: migrate to parse-options + verify-pack: migrate to parse-options + prune-packed: migrate to parse-options + technical-docs: document tree-walking API + +Tay Ray Chuan (2): + http.c: free preq when aborting + http.c: replace usage of temporary variable for urls + +Thadeu Lima de Souza Cascardo (1): + Translate the tutorial to Brazillian Portuguese + +Thomas Rast (11): + Document 'stash clear' recovery via unreachable commits + gitk: New option to hide remote refs + gitk: Fix direction of symmetric difference in optimized mode + gitk: Parse arbitrary commit-ish in SHA1 field + git-apply--interactive: Refactor patch mode code + Add a small patch-mode testing library + builtin-add: refactor the meat of interactive_add() + Implement 'git reset --patch' + Implement 'git checkout --patch' + Implement 'git stash save --patch' + DWIM 'git stash save -p' for 'git stash -p' + +Tuomas Suutari (1): + git-svn.txt: Fix location of parent argument + +Wesley J. Landaker (2): + Documentation: git-send-email: fix submission port number + Documentation: git-send-email: correct statement about standard ports + +Wilhansen Li (1): + Add support for the Mongoose web server. + + +Version v1.6.4.5; changes since v1.6.4.4: +----------------------------------------- + +Andreas Gruenbacher (3): + base85 debug code: Fix length byte calculation + base85: encode_85() does not use the decode table + base85: Make the code more obvious instead of explaining the non-obvious + +Andreas Schwab (1): + git count-objects: handle packs bigger than 4G + +Ben Walton (1): + ls-files: die instead of fprintf/exit in -i error + +Gerrit Pape (1): + help -i: properly error out if no info viewer can be found + +Greg Brockman (1): + Check size of path buffer before writing into it + +Greg Price (1): + commit: --cleanup is a message option + +Jakub Narębski (1): + gitweb: Introduce esc_attr to escape attributes of HTML elements + +Jan Krüger (1): + rebase -i: more graceful handling of invalid commands + +Jeff King (2): + ls-files: excludes should not impact tracked files + textconv: stop leaking file descriptors + +Jonathan Nieder (1): + Documentation: describe check-ref-format --branch + +Junio C Hamano (5): + show-branch: fix segfault when showbranch.default exists + fast-import.c::validate_raw_date(): really validate the value + checkout -m: do not try to fall back to --merge from an unborn branch + Fix mis-backport of t7002 + Git 1.6.4.5 + +Matt Kraai (1): + grep: do not segfault when -f is used + +Matthieu Moy (2): + push: Correctly initialize nonfastforward in transport_push. + branch: die explicitly why when calling "git branch [-a|-r] branchname". + +Miklos Vajna (1): + git-stash documentation: mention default options for 'list' + +Nguyễn Thái Ngọc Duy (1): + t7102: make the test fail if one of its check fails + +Uwe Kleine-König (1): + rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option + + +Version v1.6.4.4; changes since v1.6.4.3: +----------------------------------------- + +Jeff King (1): + checkout: do not imply "-f" on unborn branches + +Junio C Hamano (6): + Fix "unpack-objects --strict" + check_path(): allow symlinked directories to checkout-index --prefix + xutils: Fix hashing an incomplete line with whitespaces at the end + xutils: Fix xdl_recmatch() on incomplete lines + http.c: avoid freeing an uninitialized pointer + GIT 1.6.4.4 + + +Version v1.6.4.3; changes since v1.6.4.2: +----------------------------------------- + +Bert Wesarg (1): + githooks.txt: put hooks into subsections + +Clemens Buchacher (2): + grep: fix exit status if external_grep() punts + grep: accept relative paths outside current working directory + +Emmanuel Trillaud (1): + git-pull: do not mention --quiet and --verbose twice + +Gerrit Pape (1): + git-cvsserver: no longer use deprecated 'git-subcommand' commands + +Jeff King (3): + clone: disconnect transport after fetching + push: fix english in non-fast-forward message + push: re-flow non-fast-forward message + +Junio C Hamano (1): + GIT 1.6.4.3 + +Mark Lodato (1): + svn: properly escape arguments for authors-prog + +Miklos Vajna (1): + git-clone: add missing comma in --reference documentation + +Tay Ray Chuan (1): + http.c: remove verification of remote packs + + +Version v1.6.4.2; changes since v1.6.4.1: +----------------------------------------- + +David Kågedal (1): + Minor improvement to the write-tree documentation + +David Reiss (1): + Round-down years in "years+months" relative date view + +Jeff King (3): + add tests for merge message headings + merge: fix incorrect merge message for ambiguous tag/branch + merge: indicate remote tracking branches in merge message + +Johannes Schindelin (2): + Expose the has_non_ascii() function + Correctly mark cover letters' encodings if they are not pure ASCII + +Johannes Sixt (1): + t6035-merge-dir-to-symlink depends on SYMLINKS prerequisite + +Junio C Hamano (3): + apply: notice creation/removal patches produced by GNU diff + clean: require double -f options to nuke nested git repository and work tree + GIT 1.6.4.2 + +Kirill Smelkov (1): + git add -p: demonstrate failure when staging both mode and hunk + +Kjetil Barvik (1): + lstat_cache: guard against full match of length of 'name' parameter + +Lars Hjemli (1): + git-log: allow --decorate[=short|full] + +Linus Torvalds (1): + git-checkout: be careful about untracked symlinks + +Nanako Shiraishi (3): + git-bisect: call the found commit "*the* first bad commit" + Fix overridable written with an extra 'e' + Remove unused t/t8005/iso8859-5.txt + +Pickens, James E (1): + Demonstrate bugs when a directory is replaced with a symlink + +Tay Ray Chuan (2): + http.c: don't assume that urls don't end with slash + http.c: set slot callback members to NULL when releasing object + +Thomas Rast (1): + add -p: do not attempt to coalesce mode changes + +Wesley J. Landaker (1): + Documentation: git-archive: mark --format as optional in summary + + +Version v1.6.4.1; changes since v1.6.4: +--------------------------------------- + +Björn Steinbrink (1): + config: Keep inner whitespace verbatim + +Erik Faye-Lund (1): + send-email: remove debug trace + +Jakub Narębski (1): + gitweb/README: Document $base_url + +Jeff King (3): + show: suppress extra newline when showing annotated tag + show: add space between multiple items + docs: describe impact of repack on "clone -s" + +Jens Lehmann (1): + Documentation: git submodule: add missing options to synopsis + +Johan Herland (1): + help.c: give correct structure's size to memset() + +Johannes Schindelin (1): + filter-branch: add an example how to add ACKs to a range of commits + +Junio C Hamano (5): + merge-recursive: don't segfault while handling rename clashes + t5510: harden the way verify-pack is used + verify-pack -v: do not report "chain length 0" + am: allow individual e-mail files as input + GIT 1.6.4.1 + +Mark Rada (1): + git-instaweb: fix mod_perl detection for apache2 + +Matthieu Moy (3): + Better usage string for reflog. + push: point to 'git pull' and 'git push --force' in case of non-fast forward + filter-branch: make the usage string fit on 80 chars terminals. + +Miklos Vajna (1): + hg-to-git: don't import the unused popen2 module + +Nicolas Pitre (1): + don't let the delta cache grow unbounded in 'git repack' + +Nicolas Sebrecht (1): + git-am: print fair error message when format detection fails + +Ori Avtalion (1): + Change mentions of "git programs" to "git commands" + +Paul Bolle (2): + Documentation: merge: one <remote> is required + Documentation: add: <filepattern>... is optional + +Santi Béjar (2): + t5520-pull: Test for rebased upstream + fetch + pull --rebase + pull: support rebased upstream + fetch + pull --rebase + +Zoltán Füzesi (1): + gitweb: parse_commit_text encoding fix + +Štěpán Němec (1): + Fix typos in git-remote.txt and git-symbolic-ref.txt + + +Version v1.6.4; changes since v1.6.4-rc3: +----------------------------------------- + +David Kågedal (1): + Update the documentation of the raw diff output format + +Elijah Newren (7): + fast-export: Set revs.topo_order before calling setup_revisions + fast-export: Omit tags that tag trees + fast-export: Make sure we show actual ref names instead of "(null)" + fast-export: Do parent rewriting to avoid dropping relevant commits + fast-export: Add a --tag-of-filtered-object option for newly dangling tags + Add new fast-export testcases + fast-export: Document the fact that git-rev-list arguments are accepted + +Eric Wong (1): + t9143: do not fail if Compress::Zlib is missing + +Greg Price (1): + Fix rebase -p --onto + +Junio C Hamano (2): + GIT 1.6.3.4 + GIT 1.6.4 + +Michael J Gruber (1): + git-rerere.txt: Clarify ambiguity of the config variable + +Sean Estabrooks (1): + Trivial path quoting fixes in git-instaweb + +Stephen Boyd (1): + config.txt: document add.ignore-errors + +Tom Grennan (1): + request-pull: allow ls-remote to notice remote.$nickname.uploadpack + + +Version v1.6.4-rc3; changes since v1.6.4-rc2: +--------------------------------------------- + +Alex Vandiver (2): + Make section_name_match start on '[', and return the length on success + After renaming a section, print any trailing variable definitions + +Björn Steinbrink (1): + Add a test showing that 'git repack' throws away grafted-away parents + +Daniel Trstenjak (1): + Show the presence of untracked files in the bash prompt. + +Eric Wong (6): + git svn: fix shallow clone when upstream revision is too new + git svn: revert default behavior for --minimize-url + git svn: the branch command no longer needs the full path + t9142: stop httpd after the test + git svn: avoid escaping '/' when renaming/copying files + git svn: make minimize URL more reliable over http(s) + +Jeff King (1): + send-email: detect cycles in alias expansion + +Johannes Schindelin (1): + git repack: keep commits hidden by a graft + +Junio C Hamano (6): + do_one_ref(): null_sha1 check is not about broken ref + SunOS grep does not understand -C<n> nor -e + Update release notes for 1.6.4 + Fix severe breakage in "git-apply --whitespace=fix" + t8005: Nobody writes Russian in shift_jis + GIT 1.6.4-rc3 + +Linus Torvalds (3): + git branch: fix performance problem + git branch: avoid unnecessary object lookups + git branch: clean up detached branch handling + +Matthias Andree (1): + Fix export_marks() error handling. + +Nanako Shiraishi (1): + Documentation/config.txt: a variable can be defined on the section header line + +Robert Zeh (1): + git svn: add gc command + +Thomas Rast (1): + Disable asciidoc 8.4.1+ semantics for `{plus}` and friends + + +Version v1.6.4-rc2; changes since v1.6.4-rc1: +--------------------------------------------- + +Brandon Casey (4): + refs.c: release file descriptor on error return + sha1_name.c: avoid unnecessary strbuf_release + configure.ac: rework/fix the NEEDS_RESOLV and NEEDS_LIBGEN tests + configure.ac: properly unset NEEDS_SSL_WITH_CRYPTO when sha1 func is missing + +Eric Wong (2): + git svn: rename tests that had conflicting numbers + git svn: fix reparenting when ugly http(s) URLs are used + +Junio C Hamano (5): + checkout -f: deal with a D/F conflict entry correctly + push: do not give big warning when no preference is configured + Updates to draft release notes to 1.6.4 + combine-diff.c: fix performance problem when folding common deleted lines + diff --cc: a lost line at the beginning of the file is shown incorrectly + +Martin Koegler (1): + git stash: modernize use of "dashed" git-XXX calls + +Michael J Gruber (1): + t4202-log.sh: Test git log --no-walk sort order + +Mike Ralphson (1): + cvsexportcommit: reorder tests to quiet intermittent failure + +Pierre Habouzit (4): + janitor: use NULL and not 0 for pointers. + refactor: use bitsizeof() instead of 8 * sizeof() + janitor: add DIV_ROUND_UP and use it. + janitor: useless checks before free + +SZEDER Gábor (1): + Trailing whitespace and no newline fix + +Yann Dirson (2): + List send-email config options in config.txt. + Improve doc for format-patch threading options. + + +Version v1.6.4-rc1; changes since v1.6.4-rc0: +--------------------------------------------- + +Andreas Ericsson (1): + mailinfo: Remove only one set of square brackets + +Brandon Casey (5): + unpack-trees.c: work around run-time array initialization flaw on IRIX 6.5 + git-compat-util.h: adjust for SGI IRIX 6.5 + Makefile: add NEEDS_LIBGEN to optionally add -lgen to compile arguments + Makefile: add section for SGI IRIX 6.5 + Makefile: update IRIX64 section + +Eric Wong (1): + git svn: allow uppercase UUIDs from SVN + +Johan Herland (1): + quickfetch(): Prevent overflow of the rev-list command line + +Junio C Hamano (2): + Makefile: keep "git" when bindir is execdir + Revert "mailinfo: Remove only one set of square brackets" + +Linus Torvalds (10): + Add 'fill_directory()' helper function for directory traversal + Simplify read_directory[_recursive]() arguments + Avoid doing extra 'lstat()'s for d_type if we have an up-to-date cache entry + Avoid using 'lstat()' to figure out directories + Prepare symlink caching for thread-safety + Export thread-safe version of 'has_symlink_leading_path()' + Make index preloading check the whole path to the file + Make 'git show' more useful + Improve on the 'invalid object' error message at commit time + Fix extraneous lstat's in 'git checkout -f' + +Mattias Nissler (2): + git-svn: Always duplicate paths returned from get_log + git-svn: Fix branch detection when repository root is inaccessible + +SZEDER Gábor (2): + Document 'git (rev-list|log) --merges' + bash: add '--merges' to common 'git log' options + +Wincent Colaiuta (1): + gitweb: update Git homepage URL + + +Version v1.6.4-rc0; changes since v1.6.3.4: +------------------------------------------- + +Alex Bennée (1): + Add -k option to cvsexportcommit to revert expanded CVS keywords in CVS working tree before applying commit patch + +Alex Riesen (3): + Quote LF in urls git fetch saves in FETCH_HEAD + Use UTF-8 instead of utf8 for backward compatibility + Improve the naming of guessed target repository for git clone + +Alex Vandiver (3): + git-svn: Fix for svn paths removed > log-window-size revisions ago + git-svn: Correctly report max revision when following deleted paths + git-svn: Set svn.authorsfile if it is passed to git svn clone + +Allan Caffee (1): + graph API: Use horizontal lines for more compact graphs + +Andreas Ericsson (1): + fetch: Strip usernames from url's before storing them + +Ben Jackson (3): + Add 'git svn help [cmd]' which works outside a repo. + git-svn: speed up find_rev_before + Add 'git svn reset' to unwind 'git svn fetch' + +Benjamin Kramer (1): + imap-send: add support for IPv6 + +Bert Wesarg (1): + builtin-remote: (get_one_entry): use strbuf + +Björn Steinbrink (1): + git-apply(1): Clarify that one can select where to apply the patch + +Brandon Casey (23): + t3900: use ancient iconv names for backward compatibility + Use 'UTF-8' rather than 'utf-8' everywhere for backward compatibility + builtin-mailinfo.c: compare character encodings case insensitively + builtin-mailinfo.c: use "ISO8859-1" instead of "latin1" as fallback encoding + t3901: avoid negation on right hand side of '|' + t3901: Use ISO8859-1 instead of ISO-8859-1 for backward compatibility + t9301: use ISO8859-1 rather than ISO-8859-1 + t5100: use ancient encoding syntax for backwards compatibility + t8005: use more portable character encoding names + t8005: convert CP1251 character set to ISO8859-5 + t8005: fix typo, it's ISO-8859-5, not KOI8-R + Makefile: use /usr/ucb/install on SunOS platforms rather than ginstall + Makefile: add NEEDS_RESOLV to optionally add -lresolv to compile arguments + On Solaris choose the OLD_ICONV iconv() declaration based on the UNIX spec + git-compat-util.h: tweak the way _XOPEN_SOURCE is set on Solaris + Makefile: define __sun__ on SunOS + Makefile: add section for SunOS 5.7 + git-compat-util.h: avoid using c99 flex array feature with Sun compiler 5.8 + git-send-email.perl: improve detection of MIME encoded-words + send-email: use UTF-8 rather than utf-8 for consistency + Makefile: Solaris needs HAVE_ALLOCA_H for alloca() + t/t9001-send-email.sh: ensure generated script is executed with $SHELL_PATH + git.c: avoid allocating one-too-many elements for new argv array + +Christian Couder (30): + rev-list: make "estimate_bisect_steps" non static + rev-list: refactor printing bisect vars + bisect: move common bisect functionality to "bisect_common" + bisect--helper: add "--next-exit" to output bisect results + bisect: use "git bisect--helper --next-exit" in "git-bisect.sh" + bisect--helper: remove "--next-vars" option as it is now useless + rev-list: remove stringed output flag from "show_bisect_vars" + rev-parse: add --sq-quote to shell quote arguments + bisect: use "git rev-parse --sq-quote" instead of a custom "sq" function + am: simplify "sq" function by using "git rev-parse --sq-quote" + bisect: use "sha1_array" to store skipped revisions + bisect: implement "rev_argv_push" to fill an argv with revs + bisect: store good revisions in a "sha1_array" + bisect: use new "struct argv_array" to prepare argv for "setup_revisions" + bisect: remove too much function nesting + bisect: make skipped array functions more generic + bisect: automatically sort sha1_array if needed when looking it up + bisect: implement the "check_merge_bases" function + bisect: add "check_good_are_ancestors_of_bad" function + bisect: make "git bisect" use new "--next-all" bisect-helper function + bisect: rework some rev related functions to make them more reusable + commit: add function to unparse a commit and its parents + bisect: check ancestors without forking a "git rev-list" process + bisect: drop unparse_commit() and use clear_commit_marks() + bisect: display first bad commit without forking a new process + bisect: add parameters to "filter_skipped" + bisect: when skipping, choose a commit away from a skipped commit + t6030: test skipping away from an already skipped commit + bisect: use a PRNG with a bias when skipping away from untestable commits + Documentation: remove warning saying that "git bisect skip" may slow bisection + +Christian Stimming (1): + gitk: Update German translation. + +Clemens Buchacher (5): + http-push: reuse existing is_null_ref + match_refs: search ref list tail internally + test-lib: fail if invalid options are passed + test-lib: allow exit trap to be used for cleanup by tests + test-lib: fix http exit codes + +Dan McGee (1): + Unify signedness in hashing calls + +Daniel Trstenjak (1): + Show presence of stashed changes in bash prompt. + +David Aguilar (5): + mergetool--lib: specialize diff options for emerge and ecmerge + mergetool--lib: add support for araxis merge + compat: add a mkstemps() compatibility function + compat: add a basename() compatibility function + diff: generate pretty filenames in prep_temp_blob() + +Dirk Süsserott (1): + gitk: Add option 'Simple history' to the options menu + +Edward Z. Yang (1): + connect.c: Support PuTTY plink and TortoisePlink as SSH on Windows + +Elijah Newren (1): + gitk: Make more options easily accessible from Edit View dialog + +Eric W. Biederman (1): + git-send-email: Handle quotes when parsing .mailrc files + +Eric Wong (4): + git-svn: refuse to dcommit non-UTF-8 messages + git-svn: convert globs to regexps for branch destinations + t9138: remove stray dot in test which broke bash + Allow the Unix epoch to be a valid commit date + +Eygene Ryabinkin (1): + git-svn testsuite: use standard configuration for Subversion tools + +Felipe Contreras (2): + Change prettify_ref to prettify_refname + Prettify log decorations even more + +Frank Lichtenheld (2): + Git.pm: Set GIT_WORK_TREE if we set GIT_DIR + Git.pm: Always set Repository to absolute path if autodetecting + +Giuseppe Bilotta (11): + git-am foreign patch support: introduce patch_format + git-am foreign patch support: autodetect some patch formats + git-am foreign patch support: StGIT support + git-am: refactor 'cleaning up and aborting' + gitweb: refactor author name insertion + gitweb: uniform author info for commit and commitdiff + gitweb: use git_print_authorship_rows in 'tag' view too + gitweb: (gr)avatar support + gitweb: gravatar url cache + gitweb: picon avatar provider + gitweb: add empty alt text to avatar img + +Heiko Voigt (2): + Extend sample update hook, disable modifying of existing tags + Extend sample pre-commit hook to check for non ascii filenames + +Hunter, D. Seth (1): + http-push: fix xml_entities() string parsing overrun + +Jakub Narębski (10): + gitweb: Remove function prototypes (cleanup) + gitweb: Do not use bareword filehandles + gitweb: Always use three argument form of open + gitweb: Always use three argument form of open + gitweb: Use block form of map/grep in a few cases more + gitweb: Replace wrongly added tabs with spaces + gitweb: Use capturing parentheses only when you intend to capture + gitweb: Simplify snapshot format detection logic in evaluate_path_info + gitweb: Remove unused $hash_base parameter from normalize_link_target + gitweb: Sanitize title attribute in format_subject_html + +Jeff King (7): + parseopt: add OPT_NEGBIT + convert bare readlink to strbuf_readlink + git-add: no need for -f when resolving a conflict in already tracked path + Makefile: refactor regex compat support + Makefile: use compat regex on Solaris + log-tree: fix confusing comment + Makefile: install 'git' in execdir + +Jim Meyering (2): + post-receive-email: hooks.showrev: show how to include both web link and patch + avoid NULL dereference on failed malloc + +Johan Herland (2): + Rename submodule.<name>.rebase to submodule.<name>.update + git-submodule: add support for --merge. + +Johannes Schindelin (12): + git-add: introduce --edit (to edit the diff vs. the index) + t3702: fix reliance on SHELL_PATH being '/bin/sh' + MinGW: the path separator to split GITPERLLIB is ';' on Win32 + MinGW: use POSIX signature of waitpid() + MinGW: Add a simple getpass() + MinGW: Fix compiler warning in merge-recursive + MinGW: GCC >= 4 does not need SNPRINTF_SIZE_CORR anymore + Quiet make: do not leave Windows behind + Work around a regression in Windows 7, causing erase_in_line() to crash sometimes + test-chmtime: work around Windows limitation + MinGW: fix warning about implicit declaration of _getch() + Fix warnings in nedmalloc when compiling with GCC 4.4.0 + +Johannes Sixt (10): + gitk: Use --textconv to generate diff text + Simplify some instances of run_command() by using run_command_v_opt(). + Simplify some 'fprintf(stderr); return -1;' by using 'return error()' + Fix typo in nedmalloc warning fix + compat/ has subdirectories: do not omit them in 'make clean' + daemon: send stderr of service programs to the syslog + upload-pack: squelch progress indicator if client cannot see it + receive-pack: do not send error details to the client + git-mv: fix directory separator treatment on Windows + MinGW: truncate exit()'s argument to lowest 8 bits + +Josh Micich (3): + mktree --missing: updated usage message and man page + mktree --batch: build more than one tree object + mktree: validate entry type in input + +Junio C Hamano (22): + Start 1.6.4 development + build-in git-mktree + mktree: use parse-options + builtin-mktree.c: use a helper function to handle one line of input + mktree: do not barf on a submodule commit + t1010: add mktree test + mktree --missing: allow missing objects + t3900: ISO-2022-JP has more than one popular variants + write-tree --ignore-cache-tree + Teach Solaris that _XOPEN_SOURCE=600 really menas XPG6 + OpenSolaris 200811 (SunOS 5.11) does not want OLD_ICONV + cache-tree.c::cache_tree_find(): simplify internal API + t4007: modernize the style + Optimize "diff-index --cached" using cache-tree + Avoid "diff-index --cached" optimization under --find-copies-harder + Update draft release notes to 1.6.4 + completion: fix PS1 display during an AM on detached HEAD + Documentation/git.txt: update links to release notes + Makefile: introduce SANE_TOOL_PATH for prepending required elements to PATH + Makefile: test-parse-options depends on parse-options.h + Makefile: insert SANE_TOOL_PATH to PATH before /bin or /usr/bin + die_errno(): double % in strerror() output just in case + +Kjetil Barvik (1): + symlinks.c: small style cleanup + +Larry D'Anna (1): + add --porcelain option to git-push + +Linus Torvalds (3): + Clean up and simplify rev_compare_tree() + Fix various sparse warnings in the git source code + git log: add '--merges' flag to match '--no-merges' + +Marc Branchaud (3): + git svn: Support multiple branch and tag paths in the svn repository. + git svn: cleanup t9138-multiple-branches + git svn: Doc update for multiple branch and tag paths + +Marius Storm-Olsen (2): + MinGW readdir reimplementation to support d_type + Add custom memory allocator to MinGW and MacOS builds + +Mark Lodato (3): + git-svn: add --authors-prog option + http.c: prompt for SSL client certificate password + http.c: add http.sslCertPasswordProtected option + +Markus Heidelberg (10): + show-branch: color the commit status signs + bash completion: show-branch color support + diff: do not color --stat output like patch context + gitk: Allow diff view without context lines + add a test for git-send-email for non-threaded mails + send-email: fix non-threaded mails + doc/send-email: clarify the behavior of --in-reply-to with --no-thread + add a test for git-send-email for threaded mails without chain-reply-to + send-email: fix threaded mails without chain-reply-to + send-email: fix a typo in a comment + +Martin Renold (1): + Remove filename from conflict markers + +Michael J Gruber (9): + Documentation: clarify / requirement in 'git check-ref-format' + Test tracking of non-commit upstreams + Fix behavior with non-commit upstream references + Allow push and fetch urls to be different + t5516: Check pushurl config setting + technical/api-remote: Describe new struct remote member pushurl + git-repack.txt: Clarify implications of -a for dumb protocols + builtin-remote: Show push urls as well + builtin-remote: Make "remote -v" display push urls + +Michael S. Tsirkin (1): + Add --reference option to git submodule. + +Michael Witten (6): + Docs: send-email: Put options back into alphabetical order + Docs: send-email: Refer to CONFIGURATION section for sendemail.multiedit + Docs: send-email: --smtp-server-port can take symbolic ports + send-email: Handle "GIT:" rather than "GIT: " during --compose + send-email: 'References:' should only reference what is sent + send-email: Remove superfluous `my $editor = ...' + +Michal Marek (1): + apply: handle filenames with double slashes better + +Michele Ballabio (1): + gitk: Add another string to translation + +Mike Hommey (7): + Don't expect verify_pack() callers to set pack_size + transport.c::get_refs_via_curl(): do not leak refs_url + http.c: new functions for the http API + transport.c::get_refs_via_curl(): use the new http API + http.c::http_fetch_ref(): use the new http API + http-push.c::remote_exists(): use the new http API + http-push.c::fetch_symref(): use the new http API + +Nguyễn Thái Ngọc Duy (3): + doc/git-rebase.txt: remove mention of multiple strategies + Terminate argv with NULL before calling setup_revisions() + t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C + +Nick Edelen (1): + diff-tree -r -t: include added/removed directories in the output + +Nick Stokoe (3): + git-cvsexportcommit can't commit files which have been removed from CVS + Remove archaic use of regex capture \1 in favour of $1 + Avoid generating a warning if $fullname{$file} is undefined + +Paolo Bonzini (1): + Test cccmd in t9001-send-email.sh and fix some bugs + +Pat Thoyts (2): + gitk: Handle msysGit version during version comparisons + git: browsing paths with spaces when using the start command + +Paul Mackerras (1): + gitk: Check git version before using --textconv flag + +Peter Harris (1): + MinGW: Scan for \r in addition to \n when reading shbang lines + +Peter Hutterer (1): + git-submodule: add support for --rebase. + +Pierre Habouzit (1): + parse-options: add parse_options_check to validate option specs. + +Ralf Wildenhues (1): + configure: test whether -lresolv is needed + +René Scharfe (13): + parseopt: add OPT_NEGBIT + parseopt: add OPT_NUMBER_CALLBACK + parseopt: add PARSE_OPT_NODASH + grep: remove global variable builtin_grep + grep: use parseopt + grep: make callback functions static + userdiff: add xdiff_clear_find_func() + grep: move context hunk mark handling into show_line() + grep: print context hunk marks between files + grep: handle pre context lines on demand + grep: add option -p/--show-function + grep -p: support user defined regular expressions + grep: simplify -p output + +Robin Rosenberg (1): + Disallow '\' in ref names + +SZEDER Gábor (3): + bash: remove always true if statement from __git_ps1() + Documentation: mention 'git stash pop --index' option explicitly + bash: add support for 'git stash pop --index' option + +Santi Béjar (3): + parse-remote: function to get the tracking branch to be merge + parse-remote: support default reflist in get_remote_merge_branch + parse-remote: remove unused functions + +Sitaram Chamarty (1): + allow -t abbreviation for --track in git branch + +Steffen Prohaska (1): + MinGW: Teach Makefile to detect msysgit and apply specific settings + +Stephen Boyd (22): + bash completion: complete variable names for "git config" with options + format-patch: migrate to parse-options API + parse-options: add PARSE_OPT_LITERAL_ARGHELP for complicated argh's + show-branch: migrate to parse-options API + parse-opts: prepare for OPT_FILENAME + parse-opts: add OPT_FILENAME and transition builtins + t5500: Modernize test style + t9120: don't expect failure with SVN_HTTPD_PORT unset + config.txt: document add.ignore-errors + git-show-branch.txt: document --date-order option + parse-options: make OPT_INTEGER's argh explicit + parse-options: simplify usage argh handling + show-branch: don't use LASTARG_DEFAULT with OPTARG + t4150: test applying with a newline in subject + am: suppress apply errors when using 3-way + git-sh-setup: introduce say() for quiet options + submodule, repack: migrate to git-sh-setup's say() + am, rebase: teach quiet option + stash: teach quiet option + show-ref: migrate to parse-options + completion: add missing config variables + completion: __git_config_get_set_variables() handle values with spaces + +Tay Ray Chuan (15): + t5540-http-push: test fetching of loose objects + t5540-http-push: test fetching of packed objects + http-push: send out fetch requests on queue + http-push: fix missing "#ifdef USE_CURL_MULTI" around "is_running_queue" + t5550-http-fetch: test fetching of packed objects + http-push, http-walker: style fixes + http-walker: verify remote packs + http*: copy string returned by sha1_to_hex + http-push: do not SEGV after fetching a bad pack idx file + http*: move common variables and macros to http.[ch] + http: create function end_url_with_slash + http*: add http_get_info_packs + http: use new http API in fetch_index() + http*: add helper methods for fetching packs + http*: add helper methods for fetching objects (loose) + +Thomas Rast (5): + Documentation: teach stash/pop workflow instead of stash/apply + git-svn: let 'dcommit $rev' work on $rev instead of HEAD + Introduce die_errno() that appends strerror(errno) to die() + Convert existing die(..., strerror(errno)) to die_errno() + Use die_errno() instead of die() when checking syscalls + +Todd Zullinger (1): + completion: Add --full-diff to log options + +Trent Piepho (1): + send-email: Add config option for sender address + +Ulrich Dangel (1): + git-svn: Canonicalize svn urls to prevent libsvn assertion + +Uwe Kleine-König (2): + more tests for git rev-parse --parse-opt + parse-opt: make PARSE_OPT_STOP_AT_NON_OPTION available to git rev-parse + +Yann Dirson (4): + git-svn.txt: stop using dash-form of commands. + git-svn.txt: make formatting more consistent. + git-svn.txt: fix fetch flags incorrectly documented as init flags. + git-svn.txt: fix description of fetch flags accepted by clone. + + +Version v1.6.3.4; changes since v1.6.3.3: +----------------------------------------- + +Brandon Casey (2): + refs.c: release file descriptor on error return + sha1_name.c: avoid unnecessary strbuf_release + +Chris Frey (1): + git-remote: fix missing .uploadpack usage for show command + +Clemens Buchacher (1): + fetch: do not create ref from empty name + +Giuseppe Bilotta (1): + gitweb/README: fix AliasMatch in example + +Johannes Sixt (2): + t3700-add: add a POSIXPERM prerequisite to a new test + Makefile: git.o depends on library headers + +Junio C Hamano (9): + request-pull: really disable pager + checkout -f: deal with a D/F conflict entry correctly + combine-diff.c: fix performance problem when folding common deleted lines + diff --cc: a lost line at the beginning of the file is shown incorrectly + do_one_ref(): null_sha1 check is not about broken ref + SunOS grep does not understand -C<n> nor -e + Fix severe breakage in "git-apply --whitespace=fix" + t8005: Nobody writes Russian in shift_jis + GIT 1.6.3.4 + +Linus Torvalds (3): + git branch: fix performance problem + git branch: avoid unnecessary object lookups + git branch: clean up detached branch handling + +Matthias Andree (1): + Fix export_marks() error handling. + +Michal Marek (1): + request-pull: really really disable pager + +Miklos Vajna (1): + git-submodule documentation: fix foreach example + +René Scharfe (1): + attr: plug minor memory leak + +Roel Kluin (1): + fread does not return negative on error + +SZEDER Gábor (1): + Trailing whitespace and no newline fix + +Sitaram Chamarty (1): + Documentation: update description of shell aliases + +Stephen Boyd (2): + add: allow configurations to be overriden by command line + config.txt: document add.ignore-errors + +Thadeu Lima de Souza Cascardo (1): + Makes some cleanup/review in gittutorial + +Thomas Rast (2): + Test git archive --remote + Test grep --and/--or/--not + +Tom Grennan (1): + request-pull: allow ls-remote to notice remote.$nickname.uploadpack + + +Version v1.6.3.3; changes since v1.6.3.2: +----------------------------------------- + +Anders Kaseorg (1): + for-each-ref: Do not lookup objects when they will not be used + +Clemens Buchacher (1): + refuse to merge during a merge + +Jim Meyering (1): + use xstrdup, not strdup in ll-merge.c + +Johannes Schindelin (1): + import-tars: support symlinks + +Johannes Sixt (2): + fetch-pack: close output channel after sideband demultiplexer terminates + diff.c: plug a memory leak in an error path + +Junio C Hamano (3): + t3505: fix abuse of test_expect_code + attribute: whitespace set to true detects all errors known to git + GIT 1.6.3.3 + +Linus Torvalds (1): + Fix big left-shifts of unsigned char + +Marco Nelissen (1): + fix handling of iconv configuration options + +Mark Lodato (1): + http.c: fix compiling with libcurl 7.9.2 + +Michael J Gruber (1): + builtin-remote: Make "remote show" display all urls + +Miklos Vajna (1): + git-svn documentation: fix typo in 'rebase vs. pull/merge' section + +Nanako Shiraishi (1): + .gitattributes: CR at the end of the line is an error + +Paolo Bonzini (2): + Documentation: git-send-mail can take rev-list arg to drive format-patch + avoid exponential regex match for java and objc function names + +René Scharfe (1): + upload-archive: fix infinite loop on Cygwin + +Shawn O. Pearce (1): + daemon: Strictly parse the "extra arg" part of the command + +Stephen Boyd (3): + git-rerere.txt: grammatical fixups and cleanups + pull, rebase: simplify to use die() + git-show-ref.txt: remove word and make consistent + +Tay Ray Chuan (1): + http*: cleanup slot->local after fclose + +Thomas Rast (1): + Documentation: refer to gitworkflows(7) from tutorial and git(1) + +Uwe Kleine-König (1): + rebase--interactive: remote stray closing parenthesis + + +Version v1.6.3.2; changes since v1.6.3.1: +----------------------------------------- + +Alex Riesen (7): + Introduce an unlink(2) wrapper which gives warning if unlink failed + replace direct calls to unlink(2) with unlink_or_warn + print unlink(2) errno in copy_or_link_directory + Clarify kind of conflict in merge-one-file helper + ls-tree manpage: use "unless" instead of "when ... is not" + ls-tree manpage: output of ls-tree is compatible with update-index + http-push.c::remove_locks(): fix use after free + +Charles Bailey (2): + t6023: merge-file fails to output anything for a degenerate merge + Change xdl_merge to generate output even for null merges + +Clemens Buchacher (1): + fix segfault showing an empty remote + +Dan McGee (1): + Fix type-punning issues + +Daniel Cordero (1): + builtin-checkout: Don't tell user that HEAD has moved before it has + +Dave Olszewski (1): + merge-recursive: never leave index unmerged while recursing + +Giuseppe Bilotta (1): + completion: use git rev-parse to detect bare repos + +Jeff King (6): + fix GIT_TRACE segfault with shell-quoted aliases + add: don't complain when adding empty project root + for-each-ref: fix segfault in copy_email + lock_ref: inform callers of unavailable ref + fetch: report ref storage DF errors more accurately + fix cat-file usage message and documentation + +Jim Meyering (2): + format-patch let -k override a config-specified format.numbered + pre-commit.sample: don't print incidental SHA1 + +Johannes Schindelin (2): + Add NO_CROSS_DIRECTORY_HARDLINKS support to the Makefile + Cope better with a _lot_ of packs + +Johannes Sixt (1): + t3701: ensure correctly set up repository after skipped tests + +Junio C Hamano (8): + Revert "git-add--interactive: remove hunk coalescing" + completion: fix PS1 display during a merge on detached HEAD + completion: simplify "current branch" in __git_ps1() + completion: enhance "current branch" display + Prepare for 1.6.3.2 + Update draft release notes for 1.6.3.2 + blame: correctly handle a path that used to be a directory + GIT 1.6.3.2 + +Linus Torvalds (3): + Avoid unnecessary 'lstat()' calls in 'get_stat_data()' + Teach 'git checkout' to preload the index contents + dir.c: clean up handling of 'path' parameter in read_directory_recursive() + +Matt Graham (1): + Splitting a hunk that adds a line at the top fails in "add -p" + +Michael J Gruber (1): + merge-options.txt: Clarify merge --squash + +Nanako Shiraishi (1): + test: checkout shouldn't say that HEAD has moved if it didn't + +Nicolas Pitre (1): + allow OFS_DELTA objects during a push + +René Scharfe (4): + grep: fix word-regexp colouring + grep: fix word-regexp at the beginning of lines + grep: fix colouring of matches with zero length + grep: fix empty word-regexp matches + +Stephen Boyd (6): + api-parse-options.txt: use 'func' instead of 'funct' + tests: Add tests for missing format-patch long options + completion: add missing options to show-branch and show + show-branch: Fix die message in parse_reflog_param() + commit: -F overrides -t + apply, fmt-merge-msg: use relative filenames + +Thomas Rast (2): + Documentation: teach stash/pop workflow instead of stash/apply + add -i: do not dump patch during application + +Tony Kemp (1): + Turn on USE_ST_TIMESPEC for OpenBSD + + +Version v1.6.3.1; changes since v1.6.3: +--------------------------------------- + +Alex Riesen (1): + Clarify kind of conflict in merge-one-file helper + +Alexander Potashev (1): + Documentation: cloning to empty directory is allowed + +Felipe Contreras (1): + git config: clarify --add and --get-color + +Junio C Hamano (4): + Start 1.6.3.1 maintenance series. + archive-tar.c: squelch a type mismatch warning + Revert "checkout branch: prime cache-tree fully" + GIT 1.6.3.1 + + +Version v1.6.3; changes since v1.6.3-rc4: +----------------------------------------- + +Alex Riesen (1): + improve error message in config.c + +Allan Caffee (1): + dir.c: Fix two minor grammatical errors in comments + +Bernd Ahlers (1): + Work around BSD whose typeof(tv.tv_sec) != time_t + +Brandon Casey (7): + t4018-diff-funcname: add cpp xfuncname pattern to syntax test + t8005: use egrep when extended regular expressions are required + t4118: add missing '&&' + t4118: avoid sed invocation on file without terminating newline + t/annotate-tests.sh: avoid passing a non-newline terminated file to sed + t4200: remove two unnecessary lines + t4200: convert sed expression which operates on non-text file to perl + +Junio C Hamano (4): + GIT 1.6.1.4 + GIT 1.6.2.5 + git-clean doc: the command only affects paths under $(cwd) + GIT 1.6.3 + +Nguyễn Thái Ngọc Duy (1): + t4029: use sh instead of bash + +Nicolas Pitre (1): + honor repack.usedeltabaseoffset when fetching packs + +Robin H. Johnson (1): + git-svn: fix a sloppy Getopt::Long usage + +Stephen Boyd (8): + completion: add missing configuration variables to _git_config() + completion: add {gui,diff,merge}tool, man, and pager config variables + completion: complete values for help.format + completion: complete values for log.date + completion: complete values for send-email + git-am.txt: add an 'a', say what 'it' is, simplify a sentence + git-am.txt: Use date or value instead of time or timestamp + git-am.txt: reword extra headers in message body + + +Version v1.6.3-rc4; changes since v1.6.3-rc3: +--------------------------------------------- + +Alex Riesen (3): + git-gui: Update Russian translation + improve error message in config.c + gitk: Add Russian translation + +Alexander Gavrilov (3): + git-gui: Fix post-commit status with subject in non-locale encoding + git-gui: Avoid an infinite rescan loop in handle_empty_diff. + git-gui: Support more git version notations. + +Allan Caffee (2): + builtin-merge: fix a typo in an error message + Documentation: fix a grammatical error in api-builtin.txt + +Benjamin Kramer (1): + daemon.c: fix segfault on OS X + +Christian Stimming (1): + gitk: Mark forgotten string for translation + +Daniel A. Steffen (2): + gitk: Fixes for Mac OS X TkAqua + git-gui: Fixes for Mac OS X TkAqua + +Eric Blake (2): + Makefile: installing git in cygwin 1.7.0 + doc: consistently use ASCIIDOC_EXTRA + +Felipe Contreras (2): + git config: error when editing a repo config and not being in one + Fix a bunch of pointer declarations (codestyle) + +Ferry Huberts (1): + git-gui: Ensure consistent usage of mergetool.keepBackup + +Giuseppe Bilotta (1): + gitk: Provide a window icon if possible + +Jeff King (1): + Makefile: fix NO_PERL bug with gitweb + +Jens Lehmann (4): + git-gui: Fix merge conflict display error when filename contains spaces + git-gui: When calling post-commit hook wrong variable was cleared. + git-gui: run post-checkout hook on checkout + git-gui: run post-checkout hook after clone + +Joerg Bornemann (1): + git-gui: fix use of undeclared variable diff_empty_count + +Johannes Schindelin (2): + t5701: do not get stuck in empty-push/ + Rename core.unreliableHardlinks to core.createObject + +Johannes Sixt (1): + prune-packed: advanced progress even for non-existing fan-out directories + +Junio C Hamano (3): + diff -c -p: do not die on submodules + merge-recursive: do not die on a conflicting submodule + GIT 1.6.3-rc4 + +Linus Torvalds (1): + grep: fix segfault when "git grep '('" is given + +Mark Drago (1): + Add semicolon to curly brace group in main Makefile + +Markus Heidelberg (5): + git-gui: don't hide the Browse button when resizing the repo chooser + git-gui: fix deleting from the context menu with empty selection + git-gui: use `git --html-path` to get the location of installed HTML docs + git-gui (Win): make "Explore Working Copy" more robust + git-gui (Win): make starting via "Git GUI Here" on .git/ possible + +Michele Ballabio (2): + gitk: Mark some more strings for translation + gitk: Map KP_Divide to focus the search box + +Pat Thoyts (4): + gitk: Handle blobs containing a DOS end-of-file marker + gitk: Remember and restore the window state with the geometry + gitk: Handle external diff tool with spaces in the path + gitk: Avoid crash if closed while reading references + +Patrick Welche (1): + NetBSD compilation fix + +Paul Mackerras (4): + gitk: Add a way to mark a commit, plus a "find descendant" command + gitk: Add a command to compare two strings of commits + gitk: Make .gitk a hidden file under windows + gitk: Fix compare-commits function when we have local changes + +Phil Lawrence (1): + Append ampersand to "Target" of lnk files created by do_cygwin_shortcut + +René Scharfe (1): + ctype.c: fix typo in comment + +Sam Hocevar (2): + git-gui: various French translation fixes + git-gui: minor spelling fix and string factorisation. + +Sam Vilain (1): + SubmittingPatches: itemize and reflect upon well written changes + +Stephen Boyd (1): + gitk: Provide a 32x32 window icon based on the git logo + +Uwe Kleine-König (1): + parseopt: fix documentation for --keep-dashdash + + +Version v1.6.3-rc3; changes since v1.6.3-rc2: +--------------------------------------------- + +Benjamin Kramer (1): + connect: replace inet_ntop with getnameinfo + +Brandon Casey (2): + t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' + t7700-repack: repack -a now works properly, expect success from test + +Johannes Schindelin (1): + Add an option not to use link(src, dest) && unlink(src) when that is unreliable + +Linus Torvalds (1): + t4202: fix typo + +Nicolas Pitre (1): + progress bar: round to the nearest instead of truncating down + +Sitaram Chamarty (1): + Remove obsolete bug warning in man git-update-server-info + +Wesley J. Landaker (2): + Documentation: git-clean: fix minor grammatical errors + Documentation: git-clean: make description more readable + + +Version v1.6.3-rc2; changes since v1.6.3-rc1: +--------------------------------------------- + +Alex Riesen (2): + Wait for git diff to finish in git difftool + Explain seemingly pointless use of system in difftool + +Allan Caffee (3): + t4202-log: extend test coverage of graphing + graph API: fix extra space during pre_commit_line state + graph API: fix a bug in the rendering of octopus merges + +Ben Jackson (1): + Work around ash "alternate value" expansion bug + +Bill Pemberton (1): + Add parsing of elm aliases to git-send-email + +Dan Loewenherz (1): + Convert to use quiet option when available + +Erik Faye-Lund (4): + test-suite: adding a test for fast-export with tag variants + builtin-fast-export.c: turn error into warning + builtin-fast-export.c: fix crash on tagged trees + builtin-fast-export.c: handle nested tags + +Frank Lichtenheld (1): + gitcvs-migration: Link to git-cvsimport documentation + +Holger Weiß (1): + gitweb: Fix snapshots requested via PATH_INFO + +Jeff King (2): + add-interactive: refactor mode hunk handling + t7800: respect NO_PERL + +Johan Herland (1): + Update docs on behaviour of 'core.sharedRepository' and 'git init --shared' + +Johannes Schindelin (1): + Fix off-by-one in read_tree_recursive + +Johannes Sixt (4): + Windows: Work around intermittent failures in mingw_rename + Windows: Skip fstat/lstat optimization in write_entry() + builtin-help: silently tolerate unknown keys + remote.c: do not trigger remote.<name>.<var> codepath for two-level names + +Junio C Hamano (9): + Speed up reflog pruning of unreachable commits + GIT 1.6.2.4 + read-tree A B: do not corrupt cache-tree + Move prime_cache_tree() to cache-tree.c + read-tree -m A B: prime cache-tree from the switched-to tree + checkout branch: prime cache-tree fully + Revert "stat_tracking_info(): only count real commits" + Makefile: ignore perl/ subdirectory under NO_PERL + GIT 1.6.3-rc2 + +Linus Torvalds (1): + Clean up reflog unreachability pruning decision + +Markus Heidelberg (1): + grep: don't support "grep.color"-like config options + +Matthieu Moy (3): + git add -p: new "quit" command at the prompt. + Update git-add.txt according to the new possibilities of 'git add -p'. + clone: add test for push on an empty clone. + +Michael J Gruber (2): + test-lib.sh: Help test_create_repo() find the templates dir + Fix more typos/spelling in comments + +Michał Kiedrowicz (3): + tests: test applying criss-cross rename patch + builtin-apply: keep information about files to be deleted + tests: make test-apply-criss-cross-rename more robust + +Mike Ralphson (3): + builtin-remote: fix typo in option description + Documentation: fix typos / spelling mistakes + Fix typos / spelling in comments + +Nguyễn Thái Ngọc Duy (1): + Makefile: remove {fetch,send}-pack from PROGRAMS as they are builtins + +Stephen Boyd (8): + test-genrandom: Add newline to usage string + config.txt: add missing format.{subjectprefix,cc,attach} variables + Documentation: use lowercase for shallow and deep threading + git-show-branch.txt: cleanup example description + git-format-patch.txt: general rewordings and cleanups + config.txt: add missing 'the's and make words plural + config.txt: clarify sentences in the configuration and syntax sections + config.txt: Make configuration paragraph more consistent + +Wesley J. Landaker (2): + Documentation: git-svn: fix spurious bolding that mangles the output + Documentation: git-svn: fix a grammatical error without awkwardness + +Wincent Colaiuta (1): + git add -p: add missing "q" to patch prompt + + +Version v1.6.3-rc1; changes since v1.6.3-rc0: +--------------------------------------------- + +Allan Caffee (1): + graph API: Added logic for colored edges + +Bert Wesarg (3): + shorten_unambiguous_ref(): add strict mode + for-each-ref: utilize core.warnAmbiguousRefs for :short-format + rev-parse: --abbrev-ref option to shorten ref name + +David Aguilar (11): + difftool: remove merge options for opendiff, tkdiff, kdiff3 and xxdiff + difftool: remove the backup file feature + difftool: use perl built-ins when testing for msys + difftool: add a -y shortcut for --no-prompt + difftool: move 'git-difftool' out of contrib + difftool: add various git-difftool tests + difftool: add support for a difftool.prompt config variable + bash completion: add git-difftool + mergetool: use $( ... ) instead of `backticks` + difftool/mergetool: refactor commands to use git-mergetool--lib + mergetool--lib: simplify API usage by removing more global variables + +Erik Broes (1): + git-shell: Add 'git-upload-archive' to allowed commands. + +Ferry Huberts (1): + Fix misspelled mergetool.keepBackup + +Frank Lichtenheld (1): + init: Do not segfault on big GIT_TEMPLATE_DIR environment variable + +Jeff King (7): + doc: clarify --no-track option + doc: refer to tracking configuration as "upstream" + doc/checkout: refer to git-branch(1) as appropriate + doc/checkout: split checkout and branch creation in synopsis + docs/checkout: clarify what "non-branch" means + add-interactive: refactor mode hunk handling + doc/gitattributes: clarify location of config text + +Johannes Sixt (1): + t1301-shared-repo: fix forced modes test + +Junio C Hamano (4): + gitignore git-bisect--helper + unpack-trees: do not muck with attributes when we are not checking out + Describe fixes since 1.6.2.3 + Update draft release notes to 1.6.3 + +Linus Torvalds (3): + Allow users to un-configure rename detection + process_{tree,blob}: show objects without buffering + show_object(): push path_name() call further down + +Markus Heidelberg (5): + doc/merge-config: list ecmerge as a built-in merge tool + git-mergetool/difftool: make (g)vimdiff workable under Windows + git-mergetool: add new merge tool TortoiseMerge + doc/git-daemon: add missing arguments to options + doc/git-daemon: add missing arguments to max-connections option + +Matthieu Moy (2): + git add -p: new "quit" command at the prompt. + Update git-add.txt according to the new possibilities of 'git add -p'. + +Michael J Gruber (1): + remote.c: use shorten_unambiguous_ref + +Michał Kiedrowicz (3): + tests: test applying criss-cross rename patch + builtin-apply: keep information about files to be deleted + Documentation: boolean value may be given by on/off + +Nanako Shiraishi (1): + git-am: teach git-am to apply a patch to an unborn branch + +Nguyễn Thái Ngọc Duy (3): + get_local_heads(): do not return random pointer if there is no head + attr: add GIT_ATTR_INDEX "direction" + archive: do not read .gitattributes in working directory + +Paul Bolle (1): + imap-send: use correct configuration variable in documentation + +Pierre Habouzit (1): + hook/update: example of how to prevent branch creation + +René Scharfe (2): + archive tests: do not use .gitattributes in working directory + archive test: attributes + +Sebastian Pipping (1): + difftool/mergetool: add diffuse as merge and diff tool + +Thomas Jarosch (1): + Fix buffer overflow in config parser + +Ulrich Windl (1): + git-apply: fix option description + + +Version v1.6.3-rc0; changes since v1.6.2.5: +------------------------------------------- + +Alex Riesen (4): + disable post-checkout test on Cygwin + Produce a nicer output in case of sha1_object_info failures in ls-tree -l + Microoptimize strbuf_cmp + Improve error message about fetch into current branch + +Ali Gholami Rudi (2): + builtin-clone.c: make junk_pid static + builtin-clone.c: no need to strdup for setenv + +Amos King (2): + Do not name "repo" struct "remote" in push_http.c + http-push.c: use a faux remote to pass to http_init + +Arjen Laarhoven (2): + Clean up use of ANSI color sequences + builtin-branch.c: Rename branch category color names + +Arto Jonsson (1): + bash completion: add options for 'git fsck' + +Ben Jackson (2): + git-svn: Add per-svn-remote ignore-paths config + git-svn: Save init/clone --ignore-paths in config + +Ben Walton (8): + configure: ensure settings from user are also usable in the script + configure: reorganize flow of argument checks + configure: add macros to stash FLAG variables + configure: wrap some library tests with GIT_STASH_FLAGS + configure: asciidoc version test cleanup + configure: make iconv tests aware of user arguments + configure: rework pthread handling to allow for user defined flags + documentation: Makefile accounts for SHELL_PATH setting + +Benjamin Kramer (4): + Remove unused function scope local variables + Move local variables to narrower scopes + Remove unused assignments + Fix various dead stores found by the clang static analyzer + +Björn Steinbrink (1): + Mailmap: Allow empty email addresses to be mapped + +Boris Byk (1): + git-svn: speed up blame command + +Brandon Casey (1): + builtin-send-pack.c: avoid empty structure initialization + +Brian Gernhardt (2): + Create USE_ST_TIMESPEC and turn it on for Darwin + Makefile: Set compiler switch for USE_NSEC + +Carlos Manuel Duclos Vergara (1): + git-archive: add --output=<file> to send output to a file + +Carlos Rica (1): + config: test for --replace-all with one argument and fix documentation. + +Chris Johnsen (13): + git-push.txt: describe how to default to pushing only current branch + Documentation: remove extra quoting/emphasis around literal texts + Documentation/Makefile: make most operations "quiet" + Documentation/Makefile: break up texi pipeline + Documentation: move callouts.xsl to manpage-{base,normal}.xsl + Documentation: use parametrized manpage-base.xsl with manpage-{1.72,normal}.xsl + Documentation: rename docbook-xsl-172 attribute to git-asciidoc-no-roff + Documentation: move quieting params into manpage-base.xsl + Documentation: move "spurious .sp" code into manpage-base.xsl + Documentation: asciidoc.conf: always use <literallayout> for [blocktext] + Documentation: asciidoc.conf: fix verse block with block titles + Documentation: option to render literal text as bold for manpages + Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set + +Christian Couder (24): + rev-list: estimate number of bisection step left + log-tree: fix patch filename computation in "git format-patch" + quote: implement "sq_dequote_many" to unwrap many args in one string + quote: add "sq_dequote_to_argv" to put unwrapped args in an argv array + refs: add "for_each_ref_in" function to refactor "for_each_*_ref" functions + rev-list: make "bisect_list" variable local to "cmd_rev_list" + rev-list: move bisect related code into its own file + rev-list: move code to show bisect vars into its own function + rev-list: make "show_bisect_vars" non static + rev-list: pass "revs" to "show_bisect_vars" + sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1 + patch-ids: use the new generic "sha1_pos" function to lookup sha1 + bisect: improve error message when branch checkout fails + rev-list: call new "filter_skip" function + bisect: use the new generic "sha1_pos" function to lookup sha1 + bisect--helper: implement "git bisect--helper" + bisect: implement "read_bisect_paths" to read paths in "$GIT_DIR/BISECT_NAMES" + bisect: use "bisect--helper" and remove "filter_skipped" function + t6030: test bisecting with paths + rev-list: pass "int flags" as last argument of "show_bisect_vars" + bisect--helper: string output variables together with "&&" + list-objects: add "void *data" parameter to show functions + rev-list: remove last static vars used in "show_commit" + rev-list: add "int bisect_show_flags" in "struct rev_list_info" + +Dan McGee (1): + Update delta compression message to be less misleading + +Daniel Barkalow (8): + Make clone parse the default refspec with the normal code + Use a single function to match names against patterns + Use the matching function to generate the match results + Keep '*' in pattern refspecs + Support '*' in the middle of a refspec + Use a common function to get the pretty name of refs + Move push matching and reporting logic into transport.c + Include log_config module in apache.conf + +David Aguilar (1): + contrib/difftool: use a separate config namespace for difftool commands + +Deskin Miller (1): + add -i: revisit hunk on editor failure + +Elijah Newren (3): + git-filter-branch: avoid collisions with variables in eval'ed commands + Correct missing SP characters in grammar comment at top of fast-import.c + fast-export: Avoid dropping files from commits + +Emil Sit (1): + config.txt: Describe special 'none' handling in core.gitProxy. + +Eric Wong (1): + git-svn: fix ls-tree usage with dash-prefixed paths + +Erik Faye-Lund (5): + connect.c: remove a few globals by using git_config callback data + test-suite: adding a test for fast-export with tag variants + builtin-fast-export.c: turn error into warning + builtin-fast-export.c: fix crash on tagged trees + builtin-fast-export.c: handle nested tags + +Eugene Letuchy (1): + Make git blame's date output format configurable, like git log + +Felipe Contreras (14): + config: Add new option to open an editor. + git config: codestyle cleanups + git_config(): not having a per-repo config file is not an error + git config: trivial rename in preparation for parseopt + git config: reorganize get_color* + git config: reorganize to use parseopt + git config: don't allow multiple config file locations + git config: don't allow multiple variable types + git config: don't allow extra arguments for -e or -l. + git config: don't allow --get-color* and variable type + Add tests for git log --pretty, --format and --oneline. + user-manual: remove some git-foo usage + docbook: change css style + user-manual: the name of the hash function is SHA-1, not sha1 + +Finn Arne Gangstad (7): + New config push.default to decide default behavior for push + Display warning for default git push with no push.default config + builtin-remote.c: Split out prune_remote as a separate function. + git remote update: New option --prune + git remote update: Report error for non-existing groups + remote: New function remote_is_configured() + git remote update: Fallback to remote if group does not exist + +Giuseppe Bilotta (1): + import-tars: separate author from committer + +Heiko Voigt (3): + Add warning about known issues to documentation of cvsimport + Cleanup warning about known issues in cvsimport documentation + Add configuration variable for sign-off to format-patch + +Janos Laube (1): + MinGW: implement mmap + +Jason Merrill (1): + git-svn: add fetch --parent option + +Jay Soffian (30): + builtin-branch: improve output when displaying remote branches + move duplicated get_local_heads() to remote.c + move duplicated ref_newer() to remote.c + move locate_head() to remote.c + remote: simplify guess_remote_head() + remote: make copy_ref() perform a deep copy + remote: let guess_remote_head() optionally return all matches + remote: make match_refs() copy src ref before assigning to peer_ref + remote: make match_refs() not short-circuit + string-list: new for_each_string_list() function + builtin-remote: refactor duplicated cleanup code + builtin-remote: remove unused code in get_ref_states + builtin-remote: rename variables and eliminate redundant function call + builtin-remote: make get_remote_ref_states() always populate states.tracked + builtin-remote: fix two inconsistencies in the output of "show <remote>" + builtin-remote: teach show to display remote HEAD + builtin-remote: add set-head subcommand + builtin-remote: new show output style + builtin-remote: new show output style for push refspecs + send-email: add --confirm option and configuration setting + bash completion: fix completion issues with fetch, pull, and push + bash completion: refactor --strategy completion + bash completion: teach fetch, pull, and push to complete their options + send-email: refactor and ensure prompting doesn't loop forever + send-email: add tests for refactored prompting + send-email: don't attempt to prompt if tty is closed + send-email: ask_default should apply to all emails, not just the first + send-email: correct two tests which were going interactive + send-email: ensure quoted addresses are rfc2047 encoded + send-email: fix nasty bug in ask() function + +Jeff King (26): + valgrind: ignore ldso and more libz errors + branch: clean up repeated strlen + add basic branch display tests + test scripts: refactor start_httpd helper + add basic http clone/fetch tests + refactor find_ref_by_name() to accept const list + remote: make guess_remote_head() use exact HEAD lookup if it is available + clone: run post-checkout hook when checking out + improve missing repository error message + config: set help text for --bool-or-int + t3000: use test_cmp instead of diff + ls-files: fix broken --no-empty-directory + ls-files: require worktree when --deleted is given + make oneline reflog dates more consistent with multiline format + remote: improve sorting of "configure for git push" list + Makefile: turn on USE_ST_TIMESPEC for FreeBSD + t0060: fix whitespace in "wc -c" invocation + tests: remove exit after test_done call + for-each-ref: refactor get_short_ref function + for-each-ref: refactor refname handling + for-each-ref: add "upstream" format field + make get_short_ref a public function + branch: show upstream branch when double verbose + Makefile: allow building without perl + tests: skip perl tests if NO_PERL is defined + add tests for remote groups + +Jens Lehmann (1): + githooks documentation: post-checkout hook is also called after clone + +Jeremy White (2): + Enable setting attach as the default in .gitconfig for git-format-patch. + imap.preformattedHTML to tell Thunderbird to send non-flowed text + +Johannes Schindelin (23): + Add valgrind support in test scripts + Valgrind support: check for more than just programming errors + test-lib.sh: optionally output to test-results/$TEST.out, too + t/Makefile: provide a 'valgrind' target + Add a script to coalesce the valgrind outputs + Tests: let --valgrind imply --verbose and --tee + test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH + valgrind: do not require valgrind 3.4.0 or newer + Avoid segfault with 'git branch' when the HEAD is detached + Turn the flags in struct dir_struct into a single variable + git config: trivial cleanup for editor action + rebase -i: avoid 'git reset' when possible + MinGW: 64-bit file offsets + Brown paper bag fix for MinGW 64-bit stat + Add an (optional, since expensive) test for >2gb clones + MinGW: fix diff --no-index /dev/null ... + winansi: support ESC [ K (erase in line) + test: do not LoadModule log_config_module unconditionally + test-lib: write test results to test-results/<basename>-<pid> + gc --aggressive: make it really aggressive + t7300: fix clean up on Windows + Guard a few Makefile variables against user environments + git-svn: always initialize with core.autocrlf=false + +Johannes Sixt (30): + recv_sideband: Bands #2 and #3 always go to stderr + test-suite: Make test script numbers unique + t9400, t9401: Do not force hard-linked clone + test suite: Use 'say' to say something instead of 'test_expect_success' + Call 'say' outside test_expect_success + test-lib: Replace uses of $(expr ...) by POSIX shell features. + test-lib: Simplify test counting. + test-lib: Introduce test_chmod and use it instead of update-index --chmod + t2200, t7004: Avoid glob pattern that also matches files + t5300, t5302, t5303: Do not use /dev/zero + t5602: Work around path mangling on MSYS + test-lib: Work around incompatible sort and find on Windows + test-lib: Work around missing sum on Windows + Tests on Windows: $(pwd) must return Windows-style paths + t0050: Check whether git init detected symbolic link support correctly + test-lib: Infrastructure to test and check for prerequisites + t3600: Use test prerequisite tags + Skip tests that fail if the executable bit is not handled by the filesystem + t5302: Use prerequisite tags to skip 64-bit offset tests + t9100, t9129: Use prerequisite tags for UTF-8 tests + Use prerequisite tags to skip tests that depend on symbolic links + t0060: Fix tests on Windows + Skip tests that require a filesystem that obeys POSIX permissions + t3700: Skip a test with backslashes in pathspec + Use prerequisites to skip tests that need unzip + t7004: Use prerequisite tags to skip tests that need gpg + t5503: GIT_DEBUG_SEND_PACK is not supported on MinGW + MinGW: Quote arguments for subprocesses that contain a single-quote + t7005-editor: Use $SHELL_PATH in the editor scripts + t7502-commit: Skip SIGTERM test on Windows + +John Tapsell (4): + Modify description file to say what this file is + Google has renamed the imap folder + Improve error message for git-filter-branch + Documentation - More examples for git bisect + +Junio C Hamano (29): + git-blame: refactor code to emit "porcelain format" output + blame: show "previous" information in --porcelain/--incremental format + Make git-clone respect branch.autosetuprebase + Draft release notes: Carry forward the warning for behaviour changes + Update draft release notes to 1.6.3 + builtin-remote.c: no "commented out" code, please + Not all systems use st_[cm]tim field for ns resolution file timestamp + grep: cast printf %.*s "precision" argument explicitly to int + http.c: style cleanups + Improve "git branch --tracking" output + http_init(): Fix config file parsing + http authentication via prompts + Update release notes to 1.6.3 + http.c: CURLOPT_NETRC_OPTIONAL is not available in ancient versions of cURL + Read attributes from the index that is being checked out + Update draft release notes to 1.6.3 + http tests: Darwin is not that special + Rename interpret/substitute nth_last_branch functions + strbuf_branchname(): a wrapper for branch name shorthands + check-ref-format --branch: give Porcelain a way to grok branch shorthand + Fix branch -m @{-1} newname + strbuf_check_branch_ref(): a helper to check a refname for a branch + check_ref_format(): tighten refname rules + Update draft release notes to 1.6.3 + Speed up reflog pruning of unreachable commits + Update draft release notes to 1.6.3 + sha1-lookup: fix up the assertion message + Update draft release notes to 1.6.3 + GIT 1.6.3-rc0 + +Keith Cascio (2): + Use DIFF_XDL_SET/DIFF_OPT_SET instead of raw bit-masking + Fix neglect of diff_setup()/diff_setup_done() symmetry. + +Kevin Ballard (1): + builtin-push.c: Fix typo: "anythig" -> "anything" + +Kevin McConnell (1): + Add --staged to bash completion for git diff + +Kjetil Barvik (18): + lstat_cache(): small cleanup and optimisation + lstat_cache(): generalise longest_match_lstat_cache() + lstat_cache(): swap func(length, string) into func(string, length) + unlink_entry(): introduce schedule_dir_for_removal() + create_directories(): remove some memcpy() and strchr() calls + write_entry(): cleanup of some duplicated code + write_entry(): use fstat() instead of lstat() when file is open + show_patch_diff(): remove a call to fstat() + lstat_cache(): print a warning if doing ping-pong between cache types + check_updates(): effective removal of cache entries marked CE_REMOVE + fix compile error when USE_NSEC is defined + make USE_NSEC work as expected + verify_uptodate(): add ce_uptodate(ce) test + write_index(): update index_state->timestamp after flushing to disk + stat_tracking_info(): only count real commits + Record ns-timestamps if possible, but do not use it without USE_NSEC + checkout bugfix: use stat.mtime instead of stat.ctime in two places + Revert "lstat_cache(): print a warning if doing ping-pong between cache types" + +Kristian Amlie (1): + Add a test for checking whether gitattributes is honored by checkout. + +Linus Torvalds (2): + Clean up reflog unreachability pruning decision + Allow users to un-configure rename detection + +Marius Storm-Olsen (2): + Add bare repository indicator for __git_ps1 + Fixup: Add bare repository indicator for __git_ps1 + +Markus Heidelberg (1): + add --html-path to get the location of installed HTML docs + +Martin Storsjö (1): + Allow curl to rewind the read buffers + +Matthieu Moy (2): + git-send-email.txt: clarify which options take an argument. + git-rev-list.txt: make ascii markup uniform with other pages. + +Michael Hendricks (1): + format-patch: add arbitrary email headers + +Michael J Gruber (6): + Typo and language fixes for git-checkout.txt + test-lib.sh: Test for presence of git-init in the right path. + test-lib.sh: Allow running the test suite against installed git + git-branch.txt: document -f correctly + Test for local branches being followed with --track + Make local branches behave like remote branches when --tracked + +Michael Lai (1): + git-svn: support intermediate paths when matching tags/branches + +Michele Ballabio (6): + apply: consistent spelling of "don't" + apply: hide unused options from short help + git log: avoid segfault with --all-match + document --force-rebase + rebase: add options passed to git-am + rebase: fix typo (force_rebas -> force-rebas) + +Mike Hommey (1): + Replace ",<,>,& with their respective XML entities in DAV requests + +Miklos Vajna (11): + parse-opt: migrate builtin-ls-files. + Tests: use test_cmp instead of diff where possible + http-push: using error() and warning() as appropriate + builtin-apply: use warning() instead of fprintf(stderr, "warning: ") + builtin-checkout: use warning() instead of fprintf(stderr, "warning: ") + builtin-fetch-pack: use warning() instead of fprintf(stderr, "warning: ") + builtin-init-db: use warning() instead of fprintf(stderr, "warning: ") + builtin-rm: use warning() instead of fprintf(stderr, "warning: ") + builtin-show-branch: use warning() instead of fprintf(stderr, "warning: ") + builtin-show-ref: use warning() instead of fprintf(stderr, "warning: ") + refs: use warning() instead of fprintf(stderr, "warning: ") + +Nanako Shiraishi (4): + Add --format that is a synonym to --pretty + Give short-hands to --pretty=tformat:%formatstring + Add --oneline that is a synonym to "--pretty=oneline --abbrev-commit" + Documentation/git.txt: GIT 1.6.2.2 has been out for a while + +Nate Case (1): + format-patch: Respect --quiet option + +Nguyễn Thái Ngọc Duy (1): + grep: prefer builtin over external one when coloring results + +Pete Wyckoff (1): + git-p4: remove tabs from usermap file + +Petr Kodl (2): + MinGW: a helper function that translates Win32 API error codes + MinGW: a hardlink implementation + +Ramsay Jones (1): + git-instaweb: fix lighttpd configuration on cygwin + +René Scharfe (12): + grep: micro-optimize hit collection for AND nodes + grep: remove grep_opt argument from match_expr_eval() + grep: add pmatch and eflags arguments to match_one_pattern() + grep: color patterns in output + grep: add support for coloring with external greps + parseopt: add PARSE_OPT_KEEP_UNKNOWN + parseopt: add PARSE_OPT_NO_INTERNAL_HELP + parseopt: make usage optional + archive: use parseopt for local-only options + parseopt: document KEEP_ARGV0, KEEP_UNKNOWN, NO_INTERNAL_HELP + parseopt: prevent KEEP_UNKNOWN and STOP_AT_NON_OPTION from being used together + pickaxe: count regex matches only once + +SZEDER Gábor (1): + rerere: remove duplicated functions + +Santi Béjar (4): + Documentation: enhance branch.<name>.{remote,merge} + Documentation: push.default applies to all remotes + Documentation: branch.*.merge can also affect 'git-push' + Documentation: Introduce "upstream branch" + +Shawn O. Pearce (1): + Don't permit ref/branch names to end with ".lock" + +Simon Arlott (2): + git-svn: don't output git commits in quiet mode + git-svn: add a double quiet option to hide git commits + +Stephen Boyd (11): + git-send-email.txt: describe --compose better + pretty.c: add %f format specifier to format_commit_message() + format-patch: construct patch filename in one function + format-patch: pass a commit to reopen_stdout() + format-patch: move get_patch_filename() into log-tree + format-patch: --attach/inline uses filename instead of SHA1 + format-patch: --numbered-files and --stdout aren't mutually exclusive + completion: add --annotate option to send-email + completion: add --cc and --no-attachment option to format-patch + completion: add --thread=deep/shallow to format-patch + format_sanitized_subject: Don't trim past initial length of strbuf + +Sverre Rabbelier (1): + Teach rebase to rebase even if upstream is up to date + +Tay Ray Chuan (1): + http.c: use strbuf API in quote_ref_url + +Ted Pavlic (4): + completion: For consistency, change "git rev-parse" to __gitdir calls + completion: Use consistent if [...] convention, not "test" + completion: Better __git_ps1 support when not in working directory + completion: More fixes to prevent unbound variable errors + +Teemu Likonen (1): + bash completion: add --format= and --oneline options for "git log" + +Thomas Rast (13): + format-patch: threading test reactivation + Support coverage testing with GCC/gcov + Test that diff can read from stdin + Test diff --dirstat functionality + Test log --graph + Test fsck a bit harder + Test log --decorate + Test rev-list --parents/--children + Test git-patch-id + format-patch: track several references + format-patch: thread as reply to cover letter even with in-reply-to + format-patch: support deep threading + Documentation: filter-branch: show --ignore-unmatch in main index-filter example + +Todd Zullinger (1): + bash completion: Update 'git am' options + +Tor Arne Vestbø (2): + git-rebase: Add --stat and --no-stat for producing diffstat on rebase + git-pull: Allow --stat and --no-stat to be used with --rebase + +Wesley J. Landaker (1): + Documentation: git-svn: fix trunk/fetch svn-remote key typo + +Wincent Colaiuta (2): + Grammar fixes to "merge" and "patch-id" docs + Grammar fix for "git merge" man page + + +Version v1.6.2.5; changes since v1.6.2.4: +----------------------------------------- + +Allan Caffee (2): + builtin-merge: fix a typo in an error message + Documentation: fix a grammatical error in api-builtin.txt + +Frank Lichtenheld (1): + gitcvs-migration: Link to git-cvsimport documentation + +Johannes Schindelin (1): + Fix off-by-one in read_tree_recursive + +Junio C Hamano (7): + read-tree A B: do not corrupt cache-tree + Move prime_cache_tree() to cache-tree.c + read-tree -m A B: prime cache-tree from the switched-to tree + checkout branch: prime cache-tree fully + diff -c -p: do not die on submodules + GIT 1.6.1.4 + GIT 1.6.2.5 + +Linus Torvalds (3): + process_{tree,blob}: show objects without buffering + show_object(): push path_name() call further down + grep: fix segfault when "git grep '('" is given + +Michał Kiedrowicz (3): + tests: test applying criss-cross rename patch + builtin-apply: keep information about files to be deleted + tests: make test-apply-criss-cross-rename more robust + +Nicolas Pitre (1): + honor repack.usedeltabaseoffset when fetching packs + +Stephen Boyd (1): + test-genrandom: Add newline to usage string + +Wincent Colaiuta (1): + git add -p: add missing "q" to patch prompt + + +Version v1.6.2.4; changes since v1.6.2.3: +----------------------------------------- + +Björn Steinbrink (1): + tree_entry_interesting: a pathspec only matches at directory boundary + +Clemens Buchacher (3): + add tests for merging with submodules + update cache for conflicting submodule entries + simplify output of conflicting merge + +Erik Faye-Lund (4): + test-suite: adding a test for fast-export with tag variants + builtin-fast-export.c: turn error into warning + builtin-fast-export.c: fix crash on tagged trees + builtin-fast-export.c: handle nested tags + +Frank Lichtenheld (1): + init: Do not segfault on big GIT_TEMPLATE_DIR environment variable + +Jeff King (2): + doc/gitattributes: clarify location of config text + add-interactive: refactor mode hunk handling + +Johan Herland (1): + Update docs on behaviour of 'core.sharedRepository' and 'git init --shared' + +Johannes Schindelin (1): + Fix 'git checkout <submodule>' to update the index + +Johannes Sixt (1): + t1301-shared-repo: fix forced modes test + +Junio C Hamano (4): + match_tree_entry(): a pathspec only matches at directory boundaries + Describe fixes since 1.6.2.3 + Speed up reflog pruning of unreachable commits + GIT 1.6.2.4 + +Linus Torvalds (1): + Clean up reflog unreachability pruning decision + +Markus Heidelberg (2): + doc/git-daemon: add missing arguments to options + doc/git-daemon: add missing arguments to max-connections option + +Matthieu Moy (2): + git add -p: new "quit" command at the prompt. + Update git-add.txt according to the new possibilities of 'git add -p'. + +Nguyễn Thái Ngọc Duy (1): + Makefile: remove {fetch,send}-pack from PROGRAMS as they are builtins + +Paul Bolle (1): + imap-send: use correct configuration variable in documentation + +Thomas Jarosch (1): + Fix buffer overflow in config parser + +Ulrich Windl (1): + git-apply: fix option description + + +Version v1.6.2.3; changes since v1.6.2.2: +----------------------------------------- + +Björn Steinbrink (1): + process_{tree,blob}: Remove useless xstrdup calls + +Brandon Casey (6): + t7700-repack: add two new tests demonstrating repacking flaws + git-repack.sh: don't use --kept-pack-only option to pack-objects + pack-objects: only repack or loosen objects residing in "local" packs + Remove --kept-pack-only option and associated infrastructure + t7700: demonstrate repack flaw which may loosen objects unnecessarily + pack-objects: don't loosen objects available in alternate or kept packs + +Dan McGee (1): + git-repack: use non-dashed update-server-info + +Daniel Cheng (aka SDiZ) (1): + State the effect of filter-branch on graft explicitly + +Jari Aalto (1): + Change double quotes to single quotes in message + +Jason Merrill (1): + Documentation: clarify .gitattributes search + +Jeff King (2): + t1301: loosen test for forced modes + commit: abort commit if interactive add failed + +Johan Herland (1): + Move chmod(foo, 0444) into move_temp_to_file() + +Julien Danjou (1): + git submodule: fix usage line + +Junio C Hamano (12): + git-repack: resist stray environment variable + has_sha1_pack(): refactor "pretend these packs do not exist" interface + has_sha1_kept_pack(): take "struct rev_info" + Consolidate ignore_packed logic more + Simplify is_kept_pack() + is_kept_pack(): final clean-up + diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged + "core.sharedrepository = 0mode" should set, not loosen + move_temp_to_file(): do not forget to chmod() in "Coda hack" codepath + set_shared_perm(): sometimes we know what the final mode bits should look like + Start 1.6.2.3 preparation + GIT 1.6.2.3 + +Linus Torvalds (1): + process_{tree,blob}: Remove useless xstrdup calls + +Markus Heidelberg (1): + doc/git-pack-refs: fix two grammar issues + +Matthieu Moy (3): + git-checkout.txt: fix incorrect statement about HEAD and index + git-checkout.txt: clarify that <branch> applies when no path is given. + git-pull.sh: better warning message for "git pull" on detached head. + + +Version v1.6.2.2; changes since v1.6.2.1: +----------------------------------------- + +Allan Caffee (1): + Documentation: update graph api example. + +Brandon Casey (1): + git-branch: display "was sha1" on branch deletion rather than just "sha1" + +Carlo Marcelo Arenas Belon (1): + documentation: update cvsimport description of "-r" for recent clone + +Daniel Barkalow (1): + Give error when no remote is configured + +Daniel Cheng (aka SDiZ) (1): + Fix bash completion in path with spaces + +David Aguilar (1): + everyday: use the dashless form of git-init + +David J. Mellor (12): + Documentation: minor grammatical fixes in git-archive.txt. + Documentation: reword the "Description" section of git-bisect.txt. + Documentation: minor grammatical fixes in git-blame.txt. + Documentation: minor grammatical fixes in git-branch.txt. + Documentation: reworded the "Description" section of git-bisect.txt. + Documentation: reword example text in git-bisect.txt. + Documentation: remove some uses of the passive voice in git-bisect.txt + Documentation: minor grammatical fixes and rewording in git-bundle.txt + Documentation: minor grammatical fixes in git-cat-file.txt + Documentation: minor grammatical fixes in git-check-attr.txt + Documentation: minor grammatical fix in git-check-ref-format.txt + Documentation: Remove spurious uses of "you" in git-bisect.txt. + +Emil Sit (1): + test-lib: Clean up comments and Makefile. + +Eric Wong (1): + git-svn: fix ls-tree usage with dash-prefixed paths + +Holger Weiß (1): + Documentation: Remove an odd "instead" + +Jeff King (3): + doc: clarify how -S works + ls-files: require worktree when --deleted is given + fix portability problem with IS_RUN_COMMAND_ERR + +Johannes Schindelin (4): + rsync transport: allow local paths, and fix tests + Smudge the files fed to external diff and textconv + import-zips: fix thinko + mailmap: resurrect lower-casing of email addresses + +Johannes Sixt (2): + Propagate --exec-path setting to external commands via GIT_EXEC_PATH + diff --no-index: Do not generate patch output if other output is requested + +Junio C Hamano (6): + read-tree A B C: do not create a bogus index and do not segfault + Remove total confusion from git-fetch and git-push + blame: read custom grafts given by -S before calling setup_revisions() + Update draft release notes to 1.6.2.2 + Update draft release notes to 1.6.2.2 + GIT 1.6.2.2 + +Linus Torvalds (1): + close_sha1_file(): make it easier to diagnose errors + +Michael J Gruber (2): + git submodule: Add test cases for git submodule add + git submodule: Fix adding of submodules at paths with ./, .. and // + +Nico -telmich- Schottelius (1): + git-tag(1): add hint about commit messages + +Nicolas Pitre (1): + avoid possible overflow in delta size filtering computation + +René Scharfe (3): + diffcore-pickaxe: use memmem() + optimize compat/ memmem() + pickaxe: count regex matches only once + +Shawn O. Pearce (1): + Increase the size of the die/warning buffer to avoid truncation + +Stephen Boyd (1): + format-patch: --numbered-files and --stdout aren't mutually exclusive + +Thomas Rast (4): + send-email: respect in-reply-to regardless of threading + send-email: test --no-thread --in-reply-to combination + Documentation: format-patch --root clarifications + bash completion: only show 'log --merge' if merging + + +Version v1.6.2.1; changes since v1.6.2: +--------------------------------------- + +Chris Johnsen (1): + builtin-revert.c: release index lock when cherry-picking an empty commit + +Christian Couder (1): + Documentation: fix badly indented paragraphs in "--bisect-all" description + +Elijah Newren (1): + Ensure proper setup of git_dir for git-hash-object + +Finn Arne Gangstad (1): + Support "\" in non-wildcard exclusion entries + +Jay Soffian (4): + send-email: allow send-email to run outside a repo + send-email: handle multiple Cc addresses when reading mbox message + send-email: --suppress-cc improvements + send-email: don't create temporary compose file until it is needed + +Jeff King (3): + never fallback relative times to absolute + t1300: use test_must_fail as appropriate + document config --bool-or-int + +John Tapsell (1): + Make the 'lock file' exists error more informative + +Junio C Hamano (4): + git-add -i/-p: learn to unwrap C-quoted paths + Beginning of 1.6.2 maintenance track + Update draft release notes for 1.6.2.1 + GIT 1.6.2.1 + +René Scharfe (1): + cleanup: add isascii() + + +Version v1.6.2; changes since v1.6.2-rc2: +----------------------------------------- + +Ben Walton (1): + git-svn - return original format_svn_date semantics + +Christian Couder (2): + bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped + bisect: fix another instance of eval'ed string + +Danijel Tasov (1): + added missing backtick in git-apply.txt + +David J. Mellor (4): + Documentation: minor grammatical fixes. + Documentation: minor grammatical fixes. + Documentation: minor grammatical fixes. + Documentation: minor grammatical fixes. + +Eric Wong (1): + git-svn: disable broken symlink workaround by default + +Jay Soffian (1): + t5540-http-push.sh: avoid non-portable grep -P + +Johannes Sixt (1): + t3400-rebase: Move detached HEAD check earlier + +Junio C Hamano (2): + git-am: make --abort less dangerous + GIT 1.6.2 + +Michael J Gruber (1): + git-am: Keep index in case of abort with dirty index + +Mike Ralphson (4): + Fix odb_mkstemp() on AIX + Documentation: Typos / spelling fixes in RelNotes + Documentation: Expand a couple of abbreviations + Documentation: Typo / spelling / formatting fixes + +Paul Mackerras (1): + gitk: Fix possible infinite loop and display corruption + +Roy Lee (1): + Documentation/git-archive.txt: Note attributes + +Todd Zullinger (1): + git-rebase: Update --whitespace documentation + + +Version v1.6.2-rc2; changes since v1.6.2-rc1: +--------------------------------------------- + +Abhijit Menon-Sen (1): + Convert git-* invocations to "git *" in the svnimport example. + +Alexandre Julliard (3): + git.el: Make sure that file lists are sorted as they are created. + git.el: Improve the confirmation message on remove and revert. + Add a README in the contrib/emacs directory. + +Allan Caffee (1): + trace: Fixed a minor typo in an error message. + +Ben Walton (1): + git-svn fix to avoid using strftime %z + +Brian Gernhardt (1): + git-svn: Create leading directories in create-ignore + +Christian Couder (1): + README: fix path to "gitcvs-migration.txt" and be more consistent + +Eric Wong (1): + git-svn: fix delete+add branch tracking with empty files + +Felipe Contreras (2): + git add: trivial codestyle cleanup + sha1_file.c: fix typo + +Gerrit Pape (3): + Documentation/git-push: --all, --mirror, --tags can not be combined + Install builtins with the user and group of the installing personality + git-quiltimport: preserve standard input to be able to read user input + +Giuseppe Bilotta (1): + gitweb: fix wrong base URL when non-root DirectoryIndex + +Jay Soffian (2): + disallow providing multiple upstream branches to rebase, pull --rebase + Allow HTTP tests to run on Darwin + +Johannes Schindelin (2): + Introduce the function strip_path_suffix() + system_path(): simplify using strip_path_suffix(), and add suffix "git" + +Johannes Sixt (1): + gitattributes.txt: Path matching rules are explained in gitignore.txt + +Junio C Hamano (4): + git-svn: fix parsing of timestamp obtained from svn + tests: fix "export var=val" + Make sure objects/pack exists before creating a new pack + GIT 1.6.2-rc2 + +Lars Noschinski (1): + filter-branch -d: Export GIT_DIR earlier + +Linus Torvalds (1): + Support 'raw' date format + +Marc Branchaud (1): + Docs: Expand explanation of the use of + in git push refspecs. + +Marcel M. Cary (2): + gitweb: Fix warnings with override permitted but no repo override + gitweb: Hyperlink multiple git hashes on the same commit message line + +Matthieu Moy (2): + Document git blame --reverse. + More friendly message when locking the index fails. + +Michael J Gruber (1): + Fix typo in contrib/examples/git-svnimport.txt + +Michael Spang (1): + Skip timestamp differences for diff --no-index + +Pete Wyckoff (1): + git-p4: avoid syncing duplicate changes + +Peter Oberndorfer (1): + git-svn: read the dcommit url from the config file on a per remote basis + +SZEDER Gábor (2): + bash: add missing 'git merge' options + bash: update 'git svn' options + +Thomas Rast (2): + bash completion: refactor common log, shortlog and gitk options + bash completion: only show 'log --merge' if merging + +Todd Zullinger (1): + Documentation: Note file formats send-email accepts + + +Version v1.6.2-rc1; changes since v1.6.2-rc0: +--------------------------------------------- + +Alexandre Julliard (1): + Describe notable git.el changes in the release notes + +Anton Gyllenberg (1): + test case for regression caused by git-svn empty symlink fix + +Christian Couder (1): + rev-list: fix showing distance when using --bisect-all + +Deskin Miller (1): + git-svn: Print revision while searching for earliest use of path + +Dévai Tamás (1): + git-svn: Fix for rewriteRoot URL containing username. + +Elijah Newren (1): + fast-export: ensure we traverse commits in topological order + +Eric Kidd (1): + filter-branch: Add more error-handling + +Eric Wong (2): + git-svn: allow disabling expensive broken symlink checks + git-svn: fix broken symlink workaround when switching branches + +Fabian Franz (1): + submodule: add --no-fetch parameter to update command + +Jacob Helwig (1): + Add 'rm -f' equivalent to 'git rm' example of filter-branch --index-filter + +Jakub Narębski (1): + gitweb: Better regexp for SHA-1 committag match + +Jeff King (1): + symbolic-ref: allow refs/<whatever> in HEAD + +Jeremy White (1): + Update documentation to add further information about using Thunderbird with git-imap-send. + +Johannes Schindelin (4): + Let ls-files strip trailing slashes in submodules' paths + submodule: warn about non-submodules + Add two extra tests for git rebase + gc: make --prune useful again by accepting an optional parameter + +Johannes Sixt (4): + Make test-path-utils more robust against incorrect use + Move sanitary_path_copy() to path.c and rename it to normalize_path_copy() + Test and fix normalize_path_copy() + Remove unused normalize_absolute_path() + +Junio C Hamano (16): + Revert "Merge branch 'js/notes'" + Modernize t5400 test script + remote prune: warn dangling symrefs + Warn use of "origin" when remotes/origin/HEAD is dangling + Drop double-semicolon in C + receive-pack: receive.denyDeleteCurrent + builtin-receive-pack.c: do not initialize statics to 0 + revision traversal and pack: notice and die on missing commit + Squelch overzealous "ignoring dangling symref" in an empty repository + Make repack less likely to corrupt repository + Prepare for 1.6.1.4. + Revert "validate_headref: tighten ref-matching to just branches" + Install the default "master" branch configuration after cloning a void + Teach the "@{-1} syntax to "git branch" + Teach @{-1} to git merge + RelNotes Update + +Keith Cascio (1): + Remove redundant bit clears from diff_setup() + +Lars Hjemli (1): + tree.c: allow read_tree_recursive() to traverse gitlink entries + +Marcel M. Cary (1): + git-sh-setup: Use "cd" option, not /bin/pwd, for symlinked work tree + +Marius Storm-Olsen (5): + Add mailmap.file as configurational option for mailmap location + Add find_insert_index, insert_at_index and clear_func functions to string_list + Add map_user() and clear_mailmap() to mailmap + Change current mailmap usage to do matching on both name and email of author/committer. + Move mailmap documentation into separate file + +Mark Burton (1): + git-rebase.txt: --interactive does not work with --whitespace + +Matt Kraai (1): + bash-completion: Complete the values of color.interactive, color.ui, color.pager + +Matt McCutchen (1): + gitweb: add $prevent_xss option to prevent XSS by repository content + +Michael J Gruber (1): + Fix the installation path for html documentation + +Nazri Ramliy (1): + Bugfix: GIT_EXTERNAL_DIFF with more than one changed files + +Pat Notz (1): + Fix contrib/hooks/post-receive-email for new duplicate branch + +René Scharfe (2): + Fix GIT_CEILING_DIRECTORIES on Windows + builtin-receive-pack.c: fix compiler warnings about format string + +SZEDER Gábor (3): + Move 'rev-parse --git-dir' test to t1500 + t1500: more 'git rev-parse --git-dir' tests + bash: fix misspelled 'git svn' option + +Sam Vilain (1): + git-svn: abstract out a block into new method other_gs() + +Santi Béjar (1): + doc/bundle: Use the more conventional suffix '.bundle' + +Shawn O. Pearce (2): + Clear the delta base cache during fast-import checkpoint + Clear the delta base cache if a pack is rebuilt + +Sitaram Chamarty (1): + Documentation: clarify commits affected by gitk --merge + +Stephan Beyer (3): + add -p: get rid of Git.pm warnings about unitialized values + Makefile: resort filenames alphabetically + Generalize and libify index_is_dirty() to index_differs_from(...) + +Tay Ray Chuan (1): + use a hash of the lock token as the suffix for PUT/MOVE + +Ted Pavlic (2): + completion: Fix GIT_PS1_SHOWDIRTYSTATE to prevent unbound variable errors. + completion: Get rid of tabbed indentation in comments. Replace with spaces. + +Thomas Rast (2): + log: do not print ellipses with --abbrev-commit + Documentation: pruning recipe for destructive filter-branch + +Todd Zullinger (1): + git-web--browse: Fix check for /bin/start + + +Version v1.6.2-rc0; changes since v1.6.1.4: +------------------------------------------- + +Adeodato Simó (3): + builtin-shortlog.c: use string_list_append(), and don't strdup unnecessarily + git.c: make autocorrected aliases work + t7501-commit.sh: explicitly check that -F prevents invoking the editor + +Alexander Potashev (4): + remove trailing LF in die() messages + add is_dot_or_dotdot inline function + Allow cloning to an existing empty directory + Replace deprecated dashed git commands in usage + +Alexandre Julliard (8): + git.el: Add a checkout command. + git.el: Add a command to create a new branch. + git.el: Add commands for cherry-pick and revert. + git.el: Make git-run-command-region display the error if any. + git.el: Set a regexp for paragraph-separate in log-edit mode. + git.el: Use integer instead of character constants in case statement. + git.el: Add some notes about Emacs versions compatibility. + emacs: Remove the no longer maintained vc-git package. + +Arjen Laarhoven (1): + t/t4202-log.sh: Add testcases + +Benjamin Kramer (1): + Ignore test-ctype + +Boyd Stephen Smith Jr (2): + color-words: Support diff.wordregex config option + Change the spelling of "wordregex". + +Brandon Casey (2): + t7700: demonstrate misbehavior of 'repack -a' when local packs exist + Makefile: use shell for-loop rather than Make's foreach loop during install + +Charles Bailey (7): + Fix some tab/space inconsistencies in git-mergetool.sh + Add -y/--no-prompt option to mergetool + mergetool: Add prompt to continue after failing to merge a file + mergetool: Don't keep temporary merge files unless told to + mergetool: respect autocrlf by using checkout-index + mergetool: Add a test for running mergetool in a sub-directory + mergetool: fix running mergetool in sub-directories + +Christian Couder (1): + sha1_file: make "read_object" static + +Clemens Buchacher (2): + clean up pathspec matching + remove pathspec_match, use match_pathspec instead + +David Aguilar (4): + contrib: add 'git difftool' for launching common merge tools + difftool: fix documentation problems + difftool: put the cursor on the editable file for Vim + contrib/difftool: Don't repeat merge tool candidates + +David M. Syzdek (1): + autoconf: Enable threaded delta search when pthreads are supported + +Eric Wong (6): + git-svn: add --authors-file test + git-svn: handle empty files marked as symlinks in SVN + git-svn: better attempt to handle broken symlink updates + git-svn: fix SVN 1.1.x compatibility + git-svn: avoid importing nested git repos + git-svn: fix memory leak when checking for empty symlinks + +Fabian Emmes (2): + cvsserver: add option to configure commit message + cvsserver: change generation of CVS author names + +Giuseppe Bilotta (16): + gitweb: add patch view + gitweb: change call pattern for git_commitdiff + gitweb: add patches view + gitweb: link to patch(es) view in commit(diff) and (short)log view + gitweb: use href() when generating URLs in OPML + gitweb: don't use pathinfo for global actions + gitweb: suggest name for OPML view + gitweb: channel image in rss feed + gitweb: feed generator metadata + gitweb: rss feed managingEditor + gitweb: rss channel date + gitweb: last-modified time should be commiter, not author + gitweb: check if-modified-since for feeds + gitweb: make static files accessible with PATH_INFO + gitweb: webserver config for PATH_INFO + gitweb: align comments to code + +Jake Goulding (3): + Make opt_parse_with_commit() non-static + Make has_commit() non-static + git-tag: Add --contains option + +Jakub Narębski (4): + gitweb: Move 'lineno' id from link to row element in git_blame + gitweb: A bit of code cleanup in git_blame() + gitweb: cache $parent_commit info in git_blame() + gitweb: Update README that gitweb works better with PATH_INFO + +Jay Soffian (2): + git-am: minor cleanups + Makefile: minor improvements for Mac OS X (Darwin) + +Jeff King (10): + Makefile: clean up TEST_PROGRAMS definition + color: make it easier for non-config to parse color specs + expand --pretty=format color options + diff: refactor tempfile cleanup handling + chain kill signals for cleanup functions + refactor signal handling for cleanup functions + pager: do wait_for_pager on signal death + validate_headref: tighten ref-matching to just branches + symbolic ref: refuse non-ref targets in HEAD + t0005: use SIGTERM for sigchain test + +Johannes Gilger (1): + mergetool: Don't repeat merge tool candidates + +Johannes Schindelin (24): + Force t5302 to use a single thread + Introduce commit notes + Add a script to edit/inspect notes + git wrapper: Make while loop more reader-friendly + bundle: allow rev-list options to exclude annotated tags + show <tag>: reuse pp_user_info() instead of duplicating code + Implement the patience diff algorithm + Introduce the diff option '--patience' + bash completions: Add the --patience option + Speed up git notes lookup + Add an expensive test for git-notes + Add color_fwrite_lines(), a function coloring each line individually + color-words: refactor word splitting and use ALLOC_GROW() + color-words: change algorithm to allow for 0-character word boundaries + color-words: take an optional regular expression describing words + Fix parsing of @{-1}@{1} + rebase -i --root: fix check for number of arguments + t3404 & t3411: undo copy&paste + lib-rebase.sh: Document what set_fake_editor() does + test-lib.sh: introduce test_commit() and test_merge() helpers + Simplify t3410 + Simplify t3411 + Simplify t3412 + Fix 'git diff --no-index' with a non-existing symlink target + +Johannes Sixt (2): + Windows: Fix signal numbers + Windows: Fix intermittent failures of t7701 + +Jon Loeliger (1): + Fix Documentation typos surrounding the word 'handful'. + +Jonas Flodén (1): + git-am: Make it easier to see which patch failed + +Junio C Hamano (26): + Document "git-reset --merge" + Start 1.6.2 cycle + Resurrect "git apply --flags -" to read from the standard input + git-am: add --directory=<dir> option + Update 1.6.2 draft release notes + git-am: fix shell quoting + checkout: implement "@{-N}" shortcut name for N-th last branch + git-am: re-fix the diag message printing + interpret_nth_last_branch(): avoid traversing the reflog twice + Fix reflog parsing for a malformed branch switching entry + interpret_nth_last_branch(): plug small memleak + Introduce for_each_recent_reflog_ent(). + Simplify parsing branch switching events in reflog + http-push.c: style fixes + am: Add --committer-date-is-author-date option + rebase -i: correctly remember --root flag across --continue + tests: Avoid single-shot environment export for shell function invocation + Update draft release notes to 1.6.2 + fsck: HEAD is part of refs + fsck: check loose objects from alternate object stores by default + http-push.c: get_remote_object_url() is only used under USE_CURL_MULTI + receive-pack: explain what to do when push updates the current branch + t3412: further simplify setting of GIT_EDITOR + tests: fix test_commit() for case insensitive filesystems + Makefile: fix misdetection of relative pathnames + GIT 1.6.2-rc0 + +Keith Cascio (1): + test more combinations of ignore-whitespace options to diff + +Kirill Smelkov (1): + mailinfo: cleanup extra spaces for complex 'From:' + +Kjetil Barvik (6): + Cleanup of unused symcache variable inside diff-lib.c + lstat_cache(): more cache effective symlink/directory detection + lstat_cache(): introduce has_symlink_or_noent_leading_path() function + lstat_cache(): introduce has_dirs_only_path() function + lstat_cache(): introduce invalidate_lstat_cache() function + lstat_cache(): introduce clear_lstat_cache() function + +Lee Marlow (2): + bash completion: Add '--intent-to-add' long option for 'git add' + bash completion: Use 'git add' completions for 'git stage' + +Linus Torvalds (1): + Add 'merge' mode to 'git reset' + +Marcel Koeppen (1): + git-svn: Show UUID in svn info for added directories with svn 1.5.5 + +Markus Heidelberg (10): + git-cherry: make <upstream> parameter optional + Documentation: clarify which parameters are optional to git-cherry + contrib/vim: change URL to point to the latest syntax files + Documentation: let asciidoc align related options + mergetool: put the cursor on the editable file for Vim + contrib/difftool: change trap condition from SIGINT to INT + contrib/difftool: remove distracting 'echo' in the SIGINT handler + use uppercase POSIX compliant signals for the 'trap' command + bash completion: add 'rename' subcommand to git-remote + contrib/difftool: add support for Kompare + +Matt Kraai (1): + gitweb: unify boolean feature subroutines + +Michele Ballabio (1): + git-shortlog.txt: fix example about .mailmap + +Miklos Vajna (3): + Add support for a pdf version of the user manual + parse-opt: migrate builtin-apply. + gittutorial: remove misleading note + +Nanako Shiraishi (3): + git-am: Add --ignore-date option + Mention "local convention" rule in the CodingGuidelines + git-bundle doc: update examples + +Nicolas Pitre (2): + autodetect number of CPUs by default when using threads + pack-objects: don't use too many threads with few objects + +Pascal Obry (1): + config.mak.in: define paths without trailing slash + +Pete Harlan (1): + git-svn: Add --localtime option to "fetch" + +Pierre Habouzit (1): + filter-branch: add git_commit_non_empty_tree and --prune-empty. + +Ralf Wildenhues (1): + Fix naming scheme for configure cache variables. + +René Scharfe (9): + diff: add option to show context between close hunks + strbuf: instate cleanup rule in case of non-memory errors + grep -w: forward to next possible position after rejected match + grep: don't call regexec() for fixed strings + Add ctype test + Reformat ctype.c + Change NUL char handling of isspecial() + Add is_regex_special() + Optimize color_parse_mem + +SZEDER Gábor (4): + bash: add '--merge' to 'git reset' + bash: remove unnecessary checks for long options with argument + bash: add missing format-patch command line options + bash: refactor 'git log --pretty=<format>' options + +Santi Béjar (2): + commit: more compact summary and without extra quotes + tutorial-2: Update with the new "git commit" ouput + +Serge van den Boom (1): + Makefile: Make 'configure --with-expat=path' actually work + +Stefan Karpinski (2): + git-cvsserver: handle CVS 'noop' command. + git-cvsserver: run post-update hook *after* update. + +Steffen Prohaska (6): + Move computation of absolute paths from Makefile to runtime (in preparation for RUNTIME_PREFIX) + git_extract_argv0_path(): Move check for valid argv0 from caller to callee + Add calls to git_extract_argv0_path() in programs that call git_config_* + Modify setup_path() to only add git_exec_path() to PATH + Compute prefix at runtime if RUNTIME_PREFIX is set + Windows: Revert to default paths and convert them by RUNTIME_PREFIX + +Stephan Beyer (5): + checkout: don't crash on file checkout before running post-checkout hook + Move run_hook() from builtin-commit.c into run-command.c (libgit) + api-run-command.txt: talk about run_hook() + run_hook(): check the executability of the hook before filling argv + run_hook(): allow more than 9 hook arguments + +Steve Haslam (1): + Refactor git_set_argv0_path() to git_extract_argv0_path() + +Sverre Rabbelier (1): + Allow cloning an empty repository + +Tay Ray Chuan (4): + http-push: refactor lock-related headers creation for curl requests + http-push: refactor request url creation + http-push: add back underscore separator before lock token + http-push: wrap signature of get_remote_object_url + +Ted Pavlic (4): + bash-completion: Support running when set -u is enabled + bash-completion: Try bash completions before simple filetype + bash-completion: Add comments to remind about required arguments + make: Remove -pthread on Darwin (it is included by cstdlib). + +Teemu Likonen (3): + Fix the building of user-manual.texi and gitman.texi documents + Fix the building of gitman.info document + diff-options.txt: Fix asciidoc markup issue + +Thomas Rast (23): + rebase -i: execute hook only after argument checking + rebase: learn to rebase root commit + rebase -i: learn to rebase root commit + rebase: update documentation for --root + notes: fix core.notesRef documentation + color-words: enable REG_NEWLINE to help user + color-words: expand docs with precise semantics + color-words: make regex configurable via attributes + sha1_name: tweak @{-N} lookup + sha1_name: support @{-N} syntax in get_sha1() + checkout: implement "-" abbreviation, add docs and tests + bash completion: move pickaxe options to log + bash completion: refactor diff options + t1505: remove debugging cruft + t3412: clean up GIT_EDITOR usage + t3412: use log|name-rev instead of log --graph + bash: offer to show (un)staged changes + add -p: change prompt separator for 'g' + add -p: trap Ctrl-D in 'goto' mode + contrib git-resurrect: find traces of a branch name and resurrect it + add -p: prompt for single characters + add -p: print errors in separate color + add -p: import Term::ReadKey with 'require' + +Tor Arne Vestbø (1): + git-notes: fix printing of multi-line notes + +Vitaly "_Vi" Shukela (3): + git-svn: add --ignore-paths option for fetching + git-svn: documented --ignore-paths + git-svn: Add test for --ignore-paths parameter + +William Pursell (5): + Add subroutine to display one-line summary of hunks + Add 'g' command to go to a hunk + git-add -i/-p: Change prompt separater from slash to comma + Add / command in add --patch + In add --patch, Handle K,k,J,j slightly more gracefully. + +jidanni@jidanni.org (1): + git-show-branch doc: show -g as synonym to --reflog in the list + +martin f. krafft (1): + git-am: implement --reject option passed to git-apply + + +Version v1.6.1.4; changes since v1.6.1.3: +----------------------------------------- + +Allan Caffee (3): + Documentation: update graph api example. + builtin-merge: fix a typo in an error message + Documentation: fix a grammatical error in api-builtin.txt + +Björn Steinbrink (2): + tree_entry_interesting: a pathspec only matches at directory boundary + process_{tree,blob}: Remove useless xstrdup calls + +Brandon Casey (7): + t7700-repack: add two new tests demonstrating repacking flaws + git-repack.sh: don't use --kept-pack-only option to pack-objects + pack-objects: only repack or loosen objects residing in "local" packs + Remove --kept-pack-only option and associated infrastructure + git-branch: display "was sha1" on branch deletion rather than just "sha1" + t7700: demonstrate repack flaw which may loosen objects unnecessarily + pack-objects: don't loosen objects available in alternate or kept packs + +Chris Johnsen (1): + builtin-revert.c: release index lock when cherry-picking an empty commit + +Christian Couder (3): + rev-list: fix showing distance when using --bisect-all + bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped + bisect: fix another instance of eval'ed string + +Dan McGee (1): + git-repack: use non-dashed update-server-info + +Daniel Cheng (aka SDiZ) (2): + Fix bash completion in path with spaces + State the effect of filter-branch on graft explicitly + +Danijel Tasov (1): + added missing backtick in git-apply.txt + +David Aguilar (1): + everyday: use the dashless form of git-init + +David J. Mellor (1): + Documentation: minor grammatical fixes. + +Elijah Newren (2): + fast-export: ensure we traverse commits in topological order + Ensure proper setup of git_dir for git-hash-object + +Emil Sit (1): + test-lib: Clean up comments and Makefile. + +Eric Kidd (1): + filter-branch: Fix fatal error on bare repositories + +Finn Arne Gangstad (1): + Support "\" in non-wildcard exclusion entries + +Frank Lichtenheld (1): + init: Do not segfault on big GIT_TEMPLATE_DIR environment variable + +Geoffrey Thomas (2): + utf8: add utf8_strwidth() + builtin-blame.c: Use utf8_strwidth for author's names + +Gerrit Pape (1): + Documentation/git-push: --all, --mirror, --tags can not be combined + +Holger Weiß (1): + Documentation: Remove an odd "instead" + +Jason Merrill (1): + Documentation: clarify .gitattributes search + +Jay Soffian (2): + builtin-remote: make rm() use properly named variable to hold return value + builtin-remote: make rm operation safer in mirrored repository + +Jeff King (5): + git: s/run_command/run_builtin/ + run_command(): handle missing command errors more gracefully + run_command(): help callers distinguish errors + git: use run_command() to execute dashed externals + commit: abort commit if interactive add failed + +Johannes Schindelin (3): + Fix submodule squashing into unrelated commit + filter-branch: do not consider diverging submodules a 'dirty worktree' + import-zips: fix thinko + +Johannes Sixt (6): + Make test-path-utils more robust against incorrect use + Move sanitary_path_copy() to path.c and rename it to normalize_path_copy() + Test and fix normalize_path_copy() + Remove unused normalize_absolute_path() + Propagate --exec-path setting to external commands via GIT_EXEC_PATH + diff --no-index: Do not generate patch output if other output is requested + +Junio C Hamano (19): + revision traversal: allow UNINTERESTING objects to be missing + rebase -i squashes submodule changes into unrelated commit + add -u: do not fail to resolve a path as deleted + revision traversal and pack: notice and die on missing commit + Make repack less likely to corrupt repository + Prepare for 1.6.1.4. + tests: fix "export var=val" + Make sure objects/pack exists before creating a new pack + git-repack: resist stray environment variable + has_sha1_pack(): refactor "pretend these packs do not exist" interface + has_sha1_kept_pack(): take "struct rev_info" + Consolidate ignore_packed logic more + Simplify is_kept_pack() + is_kept_pack(): final clean-up + blame: read custom grafts given by -S before calling setup_revisions() + diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged + match_tree_entry(): a pathspec only matches at directory boundaries + diff -c -p: do not die on submodules + GIT 1.6.1.4 + +Kirill Smelkov (4): + mailinfo: correctly handle multiline 'Subject:' header + mailinfo: 'From:' header should be unfold as well + mailinfo: add explicit test for mails like '<a.u.thor@example.com> (A U Thor)' + mailinfo: tests for RFC2047 examples + +Linus Torvalds (3): + close_sha1_file(): make it easier to diagnose errors + process_{tree,blob}: Remove useless xstrdup calls + grep: fix segfault when "git grep '('" is given + +Markus Heidelberg (1): + doc/git-daemon: add missing arguments to options + +Matt McCutchen (1): + gitweb: add $prevent_xss option to prevent XSS by repository content + +Matthieu Moy (4): + Document git blame --reverse. + More friendly message when locking the index fails. + git-checkout.txt: fix incorrect statement about HEAD and index + git-checkout.txt: clarify that <branch> applies when no path is given. + +Michael Spang (1): + Skip timestamp differences for diff --no-index + +Mike Ralphson (1): + Fix odb_mkstemp() on AIX + +Nico -telmich- Schottelius (1): + git-tag(1): add hint about commit messages + +Nicolas Pitre (1): + avoid possible overflow in delta size filtering computation + +René Scharfe (1): + Fix GIT_CEILING_DIRECTORIES on Windows + +Shawn O. Pearce (2): + Clear the delta base cache during fast-import checkpoint + Clear the delta base cache if a pack is rebuilt + +Stephen Boyd (1): + test-genrandom: Add newline to usage string + +Thomas Jarosch (1): + Fix buffer overflow in config parser + +Thomas Rast (2): + Documentation: format-patch --root clarifications + bash completion: only show 'log --merge' if merging + +Todd Zullinger (1): + Documentation: Note file formats send-email accepts + + +Version v1.6.1.3; changes since v1.6.1.2: +----------------------------------------- + +Anders Melchiorsen (2): + Documentation: more git push examples + Documentation: rework src/dst description in git push + +David J. Mellor (1): + Fixed broken git help -w when installing from RPM + +Guanqun Lu (2): + fix typo in Documentation + add test-dump-cache-tree in Makefile + +Johannes Schindelin (2): + revision walker: include a detached HEAD in --all + apply: fix access to an uninitialized mode variable, found by valgrind + +Junio C Hamano (6): + bundle: allow the same ref to be given more than once + Documentation: simplify refspec format description + diff.c: output correct index lines for a split diff + builtin-apply.c: do not set bogus mode in check_preimage() for deleted path + grep: pass -I (ignore binary) down to external grep + GIT 1.6.1.3 + +Keith Cascio (2): + test more combinations of ignore-whitespace options to diff + Fix combined use of whitespace ignore options to diff + +Linus Torvalds (1): + Wrap inflate and other zlib routines for better error reporting + +Matthieu Moy (3): + Missing && in t/t7001.sh. + Add a testcase for "git mv -f" on untracked files. + builtin-mv.c: check for unversionned files before looking at the destination. + +René Scharfe (1): + merge: fix out-of-bounds memory access + +SZEDER Gábor (1): + Fix gitdir detection when in subdir of gitdir + +Stefan Naewe (1): + urls.txt: document optional port specification in git URLS + +William Pursell (1): + User-manual: "git stash <comment>" form is long gone + + +Version v1.6.1.2; changes since v1.6.1.1: +----------------------------------------- + +Björn Steinbrink (1): + Rename detection: Avoid repeated filespec population + +Jeff King (1): + avoid 31-bit truncation in write_loose_object + +Johannes Schindelin (2): + get_sha1_basic(): fix invalid memory access, found by valgrind + test-path-utils: Fix off by one, found by valgrind + +Junio C Hamano (4): + ls-tree: add --full-tree option + Teach format-patch to handle output directory relative to cwd + send-pack: do not send unknown object name from ".have" to pack-objects + GIT 1.6.1.2 + +Marcel M. Cary (1): + git-sh-setup: Fix scripts whose PWD is a symlink to a work-dir on OS X + +Markus Heidelberg (2): + git-commit: color status output when color.ui is set + git-status -v: color diff output when color.ui is set + +Nanako Shiraishi (1): + Document git-ls-tree --full-tree + +Nguyễn Thái Ngọc Duy (2): + grep: support --no-ext-grep to test builtin grep + grep: grep cache entries if they are "assume unchanged" + +Nicolas Pitre (1): + objects to be pruned immediately don't have to be loosened + + +Version v1.6.1.1; changes since v1.6.1: +--------------------------------------- + +Adeodato Simó (2): + git-shortlog.txt: improve documentation about .mailmap files + git-send-email.txt: move --format-patch paragraph to a proper location + +Anders Melchiorsen (4): + Documentation: git push repository can also be a remote + Documentation: remove a redundant elaboration + Documentation: mention branches rather than heads + Documentation: avoid using undefined parameters + +Boyd Stephen Smith Jr (1): + Fix Documentation for git-describe + +Christian Couder (1): + builtin-fsck: fix off by one head count + +Clemens Buchacher (4): + modify/delete conflict resolution overwrites untracked file + unpack-trees: handle failure in verify_absent + unpack-trees: fix path search bug in verify_absent + unpack-trees: remove redundant path search in verify_absent + +Devin Doucette (1): + gitweb: Fix export check in git_get_projects_list + +Felipe Contreras (1): + fast-import: Cleanup mode setting. + +Henrik Austad (2): + Use capitalized names where appropriate + Be consistent in switch usage for tar + +Jay Soffian (1): + Git.pm: call Error::Simple() properly + +Joey Hess (1): + README: tutorial.txt is now called gittutorial.txt + +Johannes Schindelin (7): + merge-recursive: mark rename/delete conflict as unmerged + bisect view: call gitk if Cygwin's SESSIONNAME variable is set + git add: do not add files from a submodule + http-push: fix off-by-path_len + http-push: when making directories, have a trailing slash in the path name + t5540: clarify that http-push does not handle packed-refs on the remote + Rename diff.suppress-blank-empty to diff.suppressBlankEmpty + +Junio C Hamano (8): + merge-recursive: do not clobber untracked working tree garbage + Prepare for v1.6.1.1 maintenance release + builtin-apply: prevent non-explicit permission changes + git checkout: do not allow switching to a tree-ish that is not a commit + format-patch: show patch text for the root commit + Update draft release notes to 1.6.1.1 + Update draft release notes for 1.6.1.1 + GIT 1.6.1.1 + +Kirill A. Korinskiy (1): + http-push: support full URI in handle_remote_ls_ctx() + +Lars Noschinski (1): + shell: Document that 'cvs server' is a valid command + +Markus Heidelberg (2): + doc/git-send-email: mention sendemail.cc config variable + Documentation: let asciidoc align related options + +Michael J Gruber (2): + add test cases for "git mv -k" + fix handling of multiple untracked files for git mv -k + +Miklos Vajna (2): + fast-export: print usage when no options specified + Make t3411 executable + +Paul Jarc (1): + configure clobbers LDFLAGS + +Philippe Bruhat (1): + Git.pm: correctly handle directory name that evaluates to "false" + +Pierre Habouzit (1): + Avoid spurious error messages on error mistakes. + +René Scharfe (8): + daemon: handle freopen() failure + daemon: cleanup: replace loop with if + daemon: cleanup: factor out xstrdup_tolower() + merge-file: handle freopen() failure + pretty: factor out skip_empty_lines() + pretty: factor out format_subject() + pretty: support multiline subjects with format: + shortlog: handle multi-line subjects like log --pretty=oneline et. al. do + +Shawn O. Pearce (1): + describe: Avoid unnecessary warning when using --all + +Stephan Beyer (5): + t3501: check that commits are actually done + t3404: Add test case for aborted --continue after "edit" + t3404: Add test case for auto-amending only edited commits after "edit" + builtin-commit.c: do not remove COMMIT_EDITMSG + githooks.txt: add missing word + +Thomas Rast (3): + diff: accept -- when using --no-index + diff --no-index: test for pager after option parsing + diff --no-index -q: fix endless loop + +jidanni@jidanni.org (4): + Documentation/diff-options.txt: unify options + Documentation/git-tag.txt: minor typo and grammar fix + Documentation/git-push.txt: minor: compress one option + contrib/examples/README: give an explanation of the status of these files + + +Version v1.6.1; changes since v1.6.1-rc4: +----------------------------------------- + +Johannes Schindelin (1): + rebase -i -p: leave a --cc patch when a merge could not be redone + +Johannes Sixt (2): + Show a failure of rebase -p if the merge had a conflict + rebase -i -p: Fix --continue after a merge could not be redone + +Junio C Hamano (1): + GIT 1.6.1 + +Miklos Vajna (1): + t9129: skip the last three tests if UTF-8 locale is not available + + +Version v1.6.1-rc4; changes since v1.6.1-rc3: +--------------------------------------------- + +Alexander Gavrilov (2): + git-gui: Fix handling of relative paths in blame. + git-gui: Fix commit encoding handling. + +Arjen Laarhoven (1): + Enable threaded delta search on Mac OS X/Darwin + +Boyd Stephen Smith Jr (1): + git-revert documentation: refer to new HOWTO on reverting faulty merges + +Christian Stimming (3): + git-gui: Update German (completed) translation. + gitk: Mark forgotten strings (header sentence parts in color chooser) for translation + gitk: Update German translation + +David Aguilar (1): + git-mergetool: properly handle "git mergetool -- filename" + +Fredrik Skolmli (1): + git-gui: Starting translation for Norwegian + +Giuseppe Bilotta (1): + gitk: Map / to focus the search box + +Johannes Schindelin (3): + fast-import: close pack before unlinking it + git-gui: Get rid of the last remnants of GIT_CONFIG_LOCAL + fast-export: deal with tag objects that do not have a tagger + +Johannes Sixt (3): + gitk: Use check-buttons' -text property instead of separate labels + gitk: Ensure that "Reset branch" menu entry is enabled + gitk: Force the focus to the main window on Windows + +Junio C Hamano (12): + git-show: do not segfault when showing a bad tag + pager: do not dup2 stderr if it is already redirected + gitweb: do not run "git diff" that is Porcelain + GIT 1.5.4.7 + gitweb: do not run "git diff" that is Porcelain + make_absolute_path(): check bounds when seeing an overlong symlink + builtin-blame.c: use strbuf_readlink() + combine-diff.c: use strbuf_readlink() + fast-import: make tagger information optional + Make sure lockfiles are unlocked when dying on SIGPIPE + send-email: futureproof split_addrs() sub + GIT 1.6.1-rc4 + +Kevin Ballard (1): + gitk: Allow unbalanced quotes/braces in commit headers + +Kirill A. Korinskiy (1): + Remove the requirement opaquelocktoken uri scheme + +Lee Marlow (2): + bash completion: Sort config completion variables + bash completion: Sync config variables with their man pages + +Linus Torvalds (5): + Add generic 'strbuf_readlink()' helper function + Make 'ce_compare_link()' use the new 'strbuf_readlink()' + Make 'index_path()' use 'strbuf_readlink()' + Make 'diff_populate_filespec()' use the new 'strbuf_readlink()' + Make 'prepare_temp_file()' ignore st_size for symlinks + +Marcel M. Cary (1): + git-sh-setup: Fix scripts whose PWD is a symlink into a git work-dir + +Markus Heidelberg (7): + Documentation: fix description for enabling hooks + doc/git-reset: add reference to git-stash + Documentation: sync example output with git output + Documentation: fix typos, grammar, asciidoc syntax + Documentation: fix typos, grammar, asciidoc syntax + Documentation/git-show-branch: work around "single quote" typesetting glitch + doc/git-fsck: change the way for getting heads' SHA1s + +Michael J Gruber (1): + test overlapping ignore patterns + +Michele Ballabio (1): + git gui: update Italian translation + +Miklos Vajna (4): + git-gui: Update Hungarian translation for 0.12 + git-daemon documentation: use {tilde} + githooks documentation: add a note about the +x mode + SubmittingPatches: mention the usage of real name in Signed-off-by: lines + +Nanako Shiraishi (3): + git-gui: Update Japanese translation for 0.12 + Clarify documentation of "git checkout <tree-ish> paths" syntax + Add a documentat on how to revert a faulty merge + +Paul Mackerras (1): + gitk: Fix bugs in blaming code + +Peter Krefting (2): + git-gui: Updated Swedish translation (515t0f0u). + git-gui: Fixed typos in Swedish translation. + +René Scharfe (3): + Fix type-mismatch compiler warning from diff_populate_filespec() + connect.c: stricter port validation, silence compiler warning + fast-import.c: stricter strtoul check, silence compiler warning + +Richard Hartmann (2): + Make help entries alphabetical + Always show which directory is not a git repository + +Robin Rosenberg (1): + git-revert: record the parent against which a revert was made + +Shawn O. Pearce (2): + git-gui: Update po template to include 'Mirroring %s' message + git-gui 0.12 + +Wu Fengguang (1): + git-send-email: handle email address with quoted comma + + +Version v1.6.1-rc3; changes since v1.6.1-rc2: +--------------------------------------------- + +Alexander Gavrilov (1): + Documentation: Describe git-gui Tools menu configuration options. + +Alexander Potashev (2): + Fix typos in documentation + Fix typo in comment in builtin-add.c + +Alexey Borzenkov (1): + Define linkgit macro in [macros] section + +Brandon Casey (1): + git-branch: display sha1 on branch deletion + +Deskin Miller (1): + git-svn: Make following parents atomic + +Jakub Narębski (1): + gitweb: Fix bug in insert_file() subroutine + +Jeff King (5): + reorder ALLOW_TEXTCONV option setting + diff: allow turning on textconv explicitly for plumbing + diff: fix handling of binary rewrite diffs + diff: respect textconv in rewrite diffs + rebase: improve error messages about dirty state + +Jim Meyering (1): + git-config.txt: fix a typo + +Johannes Schindelin (1): + Get rid of the last remnants of GIT_CONFIG_LOCAL + +Junio C Hamano (4): + builtin-checkout.c: check error return from read_cache() + read-cache.c: typofix in comment + work around Python warnings from AsciiDoc + Fix t4031 + +Linus Torvalds (1): + fsck: reduce stack footprint + +Markus Heidelberg (1): + builtin-commit: remove unused message variable + +Nicolas Pitre (1): + make sure packs to be replaced are closed beforehand + +Ralf Wildenhues (1): + Improve language in git-merge.txt and related docs + +Tor Arvid Lund (1): + git-p4: Fix regression in p4Where method. + +YONETANI Tomokazu (1): + git-fast-import possible memory corruption problem + + +Version v1.6.1-rc2; changes since v1.6.1-rc1: +--------------------------------------------- + +Alex Riesen (3): + Make some of fwrite/fclose/write/close failures visible + Make chdir failures visible + Report symlink failures in merge-recursive + +Alexander Gavrilov (2): + gitk: Make line origin search update the busy status + gitk: Add a menu option to start git gui + +Christian Couder (2): + bisect: fix "git bisect skip <commit>" and add tests cases + Documentation: describe how to "bisect skip" a range of commits + +Christian Stimming (1): + gitk: Update German translation + +Davide Libenzi (1): + xdiff: give up scanning similar lines early + +Deskin Miller (1): + git-svn: Make branch use correct svn-remote + +Giuseppe Bilotta (2): + gitweb: make gitweb_check_feature a boolean wrapper + Update comment on gitweb_check/get_feature + +Jakub Narębski (2): + gitweb: Fix handling of non-ASCII characters in inserted HTML files + gitweb: Make project specific override for 'grep' feature work + +Jeff King (2): + add stage to gitignore + tag: delete TAG_EDITMSG only on successful tag + +Johannes Sixt (1): + t4030-diff-textconv: Make octal escape sequence more portable + +Junio C Hamano (17): + builtin-rm.c: explain and clarify the "local change" logic + git add --intent-to-add: fix removal of cached emptiness + git add --intent-to-add: do not let an empty blob be committed by accident + gitweb: fix 'ctags' feature check and others + gitweb: rename gitweb_check_feature to gitweb_get_feature + Makefile: introduce NO_PTHREADS + Install git-stage in exec-path + git-am --whitespace: do not lose the command line option + git-am: propagate -C<n>, -p<n> options as well + git-am: propagate --3way options as well + Test that git-am does not lose -C/-p/--whitespace options + git-am: rename apply_opt_extra file to apply-opt + Update draft release notes to 1.6.1 + GIT 1.6.0.5 + Update draft release notes for 1.6.1 + Revert "git-stash: use git rev-parse -q" + Point "stale" 1.6.0.5 documentation from the main git documentation page + +Linus Torvalds (1): + Add backslash to list of 'crud' characters in real name + +Mark Burton (1): + git-gui: Teach start_push_anywhere_action{} to notice when remote is a mirror. + +Matt McCutchen (1): + "git diff <tree>{3,}": do not reverse order of arguments + +Miklos Vajna (8): + User's Manual: remove duplicated url at the end of Appendix B + git-stash: use git rev-parse -q + filter-branch: use git rev-parse -q + lost-found: use git rev-parse -q + pull: use git rev-parse -q + rebase: use git rev-parse -q + submodule: use git rev-parse -q + http.c: use 'git_config_string' to get 'curl_http_proxy' + +Nguyễn Thái Ngọc Duy (1): + Extend index to save more flags + +Paul Mackerras (3): + gitk: Fix context menu items for generating diffs when in tree mode + gitk: Highlight only when search type is "containing:". + gitk: Fix bug in accessing undefined "notflag" variable + +Scott Chacon (1): + Add a built-in alias for 'stage' to the 'add' command + +Thomas Rast (1): + fetch-pack: Avoid memcpy() with src==dst + +Tor Arvid Lund (1): + git-p4: Fix bug in p4Where method. + + +Version v1.6.1-rc1; changes since v1.6.0.6: +------------------------------------------- + +Abhijit Menon-Sen (1): + Make cherry-pick use rerere for conflict resolution. + +Alex Riesen (11): + Extend "checkout --track" DWIM to support more cases + Remove calculation of the longest command name from where it is not used + Remove useless memset of static command name lists in builtin-merge.c + Make main_cmds and other_cmds local to builtin-help.c + Allow git help work without PATH set + list_commands: only call git_exec_path if it is needed + Add help.autocorrect to enable/disable autocorrecting + Cleanup remove_path + Fix potentially dangerous uses of mkpath and git_path + Fix handle leak in sha1_file/unpack_objects if there were damaged object data + Fix t4030-diff-textconv.sh + +Alexander Gavrilov (58): + git-gui: Support starting gitk from Gui Blame + git-gui: Support passing blame to a parent commit. + git-gui: Better positioning in Blame Parent Commit + git-gui: Allow specifying an initial line for git gui blame. + gitk: Add option to specify the default commit on command line + gitk: Add menu item for calling git gui blame + git-gui: Support resolving conflicts via the diff context menu. + git-gui: Support calling merge tools. + git-gui: Don't allow staging files with conflicts. + git-gui: Support more merge tools. + git-gui: Support conflict states _U & UT. + git-gui: Reimplement and enhance auto-selection of diffs. + git-gui: Make F5 reselect a diff, if an untracked file is selected. + git-gui: Show special diffs for complex conflict cases. + git-gui: Fix Blame Parent & Context for working copy lines. + git-gui: Restore ability to Stage Working Copy for conflicts. + gitk: Fix a bug in collapsing deeply nested trees + git-gui: Add more integration options to citool. + git-gui: Cleanup handling of the default encoding. + git-gui: Add a menu of available encodings. + git-gui: Allow forcing display encoding for diffs using a submenu. + git-gui: Optimize encoding name resolution using a lookup table. + git-gui: Support the encoding menu in gui blame. + git-gui: Reenable staging unmerged files by clicking the icon. + git-gui: Make Ctrl-T safe to use for conflicting files. + git-gui: Fix the blame window shape. + git-gui: Add a search command to the blame viewer. + git-gui: Fix the blame viewer destroy handler. + gitk: Enhance file encoding support + gitk: Implement batch lookup and caching of encoding attrs + gitk: Allow forcing branch creation if it already exists + gitk: Fix file list context menu for merge commits + builtin-blame: Reencode commit messages according to git-log rules. + gitk: Allow starting gui blame for a specific line + git-gui: Add a dialog that shows the OpenSSH public key. + git-gui: Add a simple implementation of SSH_ASKPASS. + Windows: Make OpenSSH properly detect tty detachment. + gitweb: Use single implementation of export_ok check. + gitweb: Add a per-repository authorization hook. + gitweb: Fix mod_perl support. + gitk: Add Return and Escape bindings to dialogs + gitk: Make gitk dialog windows transient + gitk: Make cherry-pick call git-citool on conflicts + gitk: Implement a user-friendly Edit View dialog + git-gui: Fix focus transition in the blame viewer. + git-gui: Add the Show SSH Key item to the clone dialog. + git-gui: Request blame metadata in utf-8. + gitk: Add accelerators to frequently used menu commands + gitk: Fix transient windows on Win32 and MacOS + gitk: Fix commit encoding support + Documentation: New GUI configuration and command-line options. + git-gui: Implement system-wide configuration handling. + git-gui: Fix the after callback execution in rescan. + git-gui: Add a Tools menu for arbitrary commands. + git-gui: Allow Tools request arguments from the user. + git-gui: Implement automatic rescan after Tool execution. + git-gui: Fix the search bar destruction handler. + gitk: Avoid handling the Return key twice in Add Branch + +Alexandre Julliard (9): + git.el: Improve error handling for commits. + git.el: Remove the env parameter in git-call-process and git-call-process-string. + git.el: Simplify handling of merge heads in the commit log-edit buffer. + git.el: Properly handle merge commits in git-amend-commit. + git.el: Fix git-amend-commit to support amending an initial commit. + git.el: Never clear the status buffer, only update the files. + git.el: Add an insert file command. + git.el: Add possibility to mark files directly in git-update-status-files. + git.el: Allow to commit even if there are no marked files. + +Anders Melchiorsen (2): + wt-status: Split header generation into three functions + wt-status: Teach how to discard changes in the working directory + +Andreas Ericsson (3): + Teach "git diff -p" to locate PHP class methods + git commit: Reformat output somewhat + rebase: Support preserving merges in non-interactive mode + +Arjen Laarhoven (1): + t6023-merge-file: Work around non-portable sed usage + +Bert Wesarg (1): + for-each-ref: `:short` format for `refname` + +Brandon Casey (9): + remote.c: add a function for deleting a refspec array and use it (twice) + dir.c: Avoid c99 array initialization + t4018-diff-funcname: test syntax of builtin xfuncname patterns + diff.c: remove duplicate bibtex pattern introduced by merge 92bb9785 + xdiff-interface.c: strip newline (and cr) from line before pattern matching + Replace xmalloc/memset(0) pairs with xcalloc + t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' + Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer + t4018-diff-funcname: add objective-c xfuncname pattern to syntax test + +Brian Downing (4): + Make xdi_diff_outf interface for running xdiff_outf diffs + Use strbuf for struct xdiff_emit_state's remainder + Always initialize xpparam_t to 0 + Allow alternate "low-level" emit function from xdl_diff + +Brian Gernhardt (2): + format-patch: autonumber by default + Avoid using non-portable `echo -n` in tests. + +Cheng Renquan (2): + git-remote: match usage string with the manual pages + git-remote: add verbose mode to git remote update + +Christian Couder (10): + merge-base: teach "git merge-base" to drive underlying merge_bases_many() + bisect: test merge base if good rev is not an ancestor of bad rev + bisect: only check merge bases when needed + bisect: remove "checkout_done" variable used when checking merge bases + refs: improve comments about "reading" argument of "resolve_ref" + bisect: fix missing "exit" + Documentation: user-manual: add information about "git help" at the beginning + Documentation: tutorial: add information about "git help" at the beginning + git-gui: french translation update + bisect: teach "skip" to accept special arguments like "A..B" + +Christian Stimming (5): + git-gui: Mark forgotten strings for translation. + git-gui: I18n fix sentence parts into full sentences for translation again. + git-gui: Updated German translation. + gitk: Add untranslated error messages to translation + git-gui: Update German translation. + +Dan Hensgen (1): + git-merge documentation: more details about resolving conflicts + +Daniel Lowe (1): + Fix non-literal format in printf-style calls + +David Aguilar (3): + git-submodule: replace duplicated code with a module_list function + git-submodule: add "sync" command + tests: add a testcase for "git submodule sync" + +David Bryson (1): + Use "git_config_string" to simplify "builtin-gc.c" code where "prune_expire" is set + +David M. Syzdek (5): + Build: add NO_UINTMAX_T to support ancient systems + Add Makefile check for FreeBSD 4.9-SECURITY + autoconf: Add link tests to each AC_CHECK_FUNC() test + Make Pthread link flags configurable + Add autoconf tests for pthreads + +David Soria Parra (1): + cast pid_t's to uintmax_t to improve portability + +David Symonds (1): + git-diff: Add --staged as a synonym for --cached. + +Davide Libenzi (1): + xdiff: give up scanning similar lines early + +Deskin Miller (4): + git-svn: testcase for partial rebuild + git-svn: do a partial rebuild if rev_map is out-of-date + git-svn: proper detection of bare repositories + git-svn: proper detection of bare repositories + +Dmitry Potapov (14): + teach index_fd to work with pipes + correct argument checking test for git hash-object + correct usage help string for git-hash-object + use parse_options() in git hash-object + add --path option to git hash-object + add --no-filters option to git hash-object + mingw: remove use of _getdrive() from lstat/fstat + add have_git_dir() function + mingw: move common functionality to win32.h + cygwin: Use native Win32 API for stat + do not segfault if make_cache_entry failed + print an error message for invalid path + check-attr: add an internal check_attr() function + check-attr: Add --stdin option + +Dotan Barak (1): + Use xmalloc() and friends to catch allocation failures + +Eric Wong (7): + git-svn: check error code of send_txstream + t9124: clean up chdir usage + git-svn: fix handling of even funkier branch names + git-svn: don't escape tilde ('~') for http(s) URLs + git-svn: respect i18n.commitencoding config + git-svn: don't escape tilde ('~') for http(s) URLs + git-svn: respect i18n.commitencoding config + +Florian Ragwitz (1): + Add git-svn branch to allow branch creation in SVN repositories + +Florian Weimer (3): + git-svn: extract base blob in generate_diff + git-svn: Introduce SVN::Git::Editor::_chg_file_get_blob + git-svn: Send deltas during commits + +Fredrik Skolmli (1): + Documentation: Spelling fix + +Garry Dolley (1): + Fixed some grammatical errors in git-rebase.txt documentation. + +Giovanni Funchal (1): + configure: auto detect dynamic library path switches + +Giuseppe Bilotta (12): + gitweb: ref markers link to named shortlogs + gitweb: shortlog now also obeys $hash_parent + gitweb: refactor input parameters parse/validation + gitweb: parse project/action/hash_base:filename PATH_INFO + gitweb: generate project/action/hash URLs + gitweb: use_pathinfo filenames start with / + gitweb: parse parent..current syntax from PATH_INFO + gitweb: generate parent..current URLs + gitweb: make the supported snapshot formats array global + gitweb: retrieve snapshot format from PATH_INFO + gitweb: embed snapshot format parameter in PATH_INFO + git-gui: try to provide a window icon under X + +Gustaf Hendeby (2): + Update .gitignore to ignore git-help + git-gui: Teach git gui about file type changes + +Heikki Orsila (1): + diff --dirstat-by-file: count changed files, not lines + +Jakub Narębski (1): + gitweb: Better processing format string in custom links in navbar + +Jan Krüger (1): + Introduce receive.denyDeletes + +Jeff King (28): + run-command: add pre-exec callback + spawn pager via run_command interface + format-patch: use default diff format even with patch options + tests: grep portability fixes + reformat informational commit message + tutorial: update output of git commit + tests: shell negation portability fix + t4012: use test_cmp instead of cmp + diff: unify external diff and funcname parsing code + diff: introduce diff.<driver>.binary + diff: add filter for converting binary to text + document "intent to add" option to git-add + rm: loosen safety valve for empty files + submodule: fix some non-portable grep invocations + diff: add missing static declaration + document the diff driver textconv feature + refactor userdiff textconv code + userdiff: require explicitly allowing textconv + only textconv regular files + wt-status: load diff ui config + add userdiff textconv tests + enable textconv for diff in verbose status/commit + t5400: expect success for denying deletion + t5516: refactor oddball tests + receive-pack: detect push to current branch of non-bare repo + define empty tree sha1 as a macro + wt-status: refactor initial commit printing + status: show "-v" diff even for initial commit + +Jim Meyering (4): + add boolean diff.suppress-blank-empty config option + SubmittingPatches: fix a typo + reword --full-index description + xdiff-interface.c: remove 10 duplicated lines + +Joey Hess (2): + git-daemon: set REMOTE_ADDR to client address + sha1_file: avoid bogus "file exists" error message + +Johan Herland (3): + Teach "git diff -p" HTML funcname patterns + Fix AsciiDoc errors in merge documentation + Fix submodule sync with relative submodule URLs + +Johannes Schindelin (7): + t9700: remove useless check + tests: Clarify dependencies between tests, 'aggregate-results' and 'clean' + Enable parallel tests + checkout --track: make up a sensible branch name if '-b' was omitted + test-lib: do not remove trash_directory if called with --debug + git wrapper: DWIM mistyped commands + Document levenshtein.c + +Johannes Sixt (11): + Revert "Windows: Use a customized struct stat that also has the st_blocks member." + filter-branch: Grok special characters in tag names + Windows: git-shell can be compiled again + compat/mingw: Support a timeout in the poll emulation if no fds are given + git-gui: Do not automatically stage file after merge tool finishes + git-gui: Remove space from the end of aspell's reply before processing + git-gui: Fix switch statement in lib/merge.tcl + git-gui: Show a round number of bytes of large untracked text files + git-gui: Mark-up strings in show_{other,unmerged}_diff() for localization + git-remote: list branches in vertical lists + git-gui: Do not munge conflict marker lines in a normal diff + +John Chapman (2): + git-p4: Support purged files and optimize memory usage + git-p4: Cache git config for performance + +Jonas Fonseca (1): + git-check-attr(1): use 'verse' for multi-line synopsis sections + +Jonathan del Strother (3): + Revert "Convert output messages in merge-recursive to past tense." + Add OS X support to the pre-auto-gc example hook + Teach git diff about Objective-C syntax + +Joshua Williams (1): + git-gui: Add support for calling out to the prepare-commit-msg hook + +Junio C Hamano (78): + builtin-add.c: restructure the code for maintainability + builtin-add.c: optimize -A option and "git add ." + imap-send.c: more style fixes + documentation: merge-base: explain "git merge-base" with more than 2 args + merge-base-many: add trivial tests based on the documentation + git-merge-octopus: use (merge-base A (merge B C D E...)) for stepwise merge + revision.c: whitespace fix + revision traversal: show full history with merge simplification + Topo-sort before --simplify-merges + update-index: refuse to add working tree items beyond symlinks + add: refuse to add working tree items beyond symlinks + xdiff-interface: hide the whole "xdiff_emit_state" business from the caller + revision --simplify-merges: use decoration instead of commit->util field + index: future proof for "extended" index entries + tests: use $TEST_DIRECTORY to refer to the t/ directory + Start 1.6.1 cycle + Makefile: Allow CC_LD_DYNPATH to be overriden + revision --simplify-merges: do not leave commits unprocessed + revision --simplify-merges: make it a no-op without pathspec + compat: introduce on_disk_bytes() + shell: do not play duplicated definition games to shrink the executable + Build-in "git-shell" + Update draft release notes for 1.6.1 + Fix "git-merge -s bogo" help text + templates/Makefile: install is unnecessary, just use mkdir -p + t7606: fix custom merge test + Revert "Build-in "git-shell"" + daemon.c: minor style fixup + checkout -f: allow ignoring unmerged paths when checking out of the index + checkout --ours/--theirs: allow checking out one side of a conflicting merge + xdl_fill_merge_buffer(): separate out a too deeply nested function + xdiff-merge: optionally show conflicts in "diff3 -m" style + xmerge.c: minimum readability fixups + xmerge.c: "diff3 -m" style clips merge reduction level to EAGER or less + rerere.c: use symbolic constants to keep track of parsing states + rerere: understand "diff3 -m" style conflicts with the original + merge.conflictstyle: choose between "merge" and "diff3 -m" styles + git-merge-recursive: learn to honor merge.conflictstyle + checkout -m: recreate merge when checking out of unmerged index + diff: vary default prefix depending on what are compared + git commit --author=$name: look $name up in existing commits + git-add --intent-to-add (-N) + checkout --conflict=<style>: recreate merge in a non-default style + git-merge documentation: describe how conflict is presented + Update draft release notes for 1.6.1 + safe_create_leading_directories(): make it about "leading" directories + git-apply:--include=pathspec + Update draft release notes for 1.6.1 + daemon.c: avoid setlinebuf() + is_directory(): a generic helper function + receive-pack: make it a builtin + push: prepare sender to receive extended ref information from the receiver + push: receiver end advertises refs from alternate repositories + Fix git-diff-tree --stdin + diff: use extended regexp to find hunk headers + diff: fix "multiple regexp" semantics to find hunk header comment + Update draft release notes to 1.6.1 + t5510: test "git fetch" following tags minimally + Update draft release notes to 1.6.1 + Fix reading of cloud tags + Update draft release notes for 1.6.1 + Fix mismerge at cdb22c4 in builtin-checkout.c + rebase-i-p: minimum fix to obvious issues + git-rebase--interactive.sh: comparision with == is bashism + receive-pack: fix "borrowing from alternate object store" implementation + compat/cygwin.c: make runtime detection of lstat/stat lessor impact + Stop using compat/regex.c on platforms with working regexp library + Update draft release notes to 1.6.1 + Update draft release notes to 1.6.1 + Update draft release notes to 1.6.1 + t5303: work around printf breakage in dash + t5303: fix printf format string for portability + git.html: Update the links to stale versions + Update draft release notes to 1.6.1 + builtin-remote.c: plug a small memory leak in get_one_remote_for_updates() + send-email: do not reverse the command line arguments + Include git-gui--askpass in git-gui RPM package + GIT 1.6.1-rc1 + +Karl Wiberg (4): + Refactoring: Split up diff_tree_stdin + diff-tree: Note that the commit ID is printed with --stdin + Teach git diff-tree --stdin to diff trees + Add test for diff-tree --stdin with two trees + +Kirill Smelkov (1): + Teach "git diff -p" Python funcname patterns + +Lee Marlow (2): + bash completion: Add 'workflows' to 'git help' + workflows documentation: fix link to git-request-pull[1] + +Linus Torvalds (8): + date/time: do not get confused by fractional seconds + Add a 'source' decorator for commits + revision: make tree comparison functions take commits rather than trees + Make '--decorate' set an explicit 'show_decorations' flag + revision traversal: '--simplify-by-decoration' + Add cache preload facility + Fix machine-parseability of 'git log --source' + Fix index preloading for racy dirty case + +Marcel Koeppen (1): + t9129-git-svn-i18n-commitencoding: Make compare_svn_head_with() compatible with OSX sed + +Marcus Griep (2): + count-objects: Add total pack size to verbose output + Update t/.gitignore to ignore all trash directories + +Marek Zawirski (1): + Make push more verbose about illegal combination of options + +Mark Burton (2): + Documentation: rev-list-options.txt: added --branches, --tags & --remotes. + git-commit.txt - mention that files listed on the command line must be known to git. + +Mark Levedahl (5): + git-submodule - Add 'foreach' subcommand + git-submodule.sh - Remove trailing / from URL if found + git-submodule.sh - Remove trailing / from URL if found + git-submodule - Use "get_default_remote" from git-parse-remote + compat/cygwin.c - Use cygwin's stat if core.filemode == true + +Markus Heidelberg (1): + Makefile: add install-man rules (quick and normal) + +Marten Svanfeldt (dev) (2): + Git.pm: Make _temp_cache use the repository directory + git-svn: Update git-svn to use the ability to place temporary files within repository directory + +Matt McCutchen (2): + "git diff <tree>{3,}": do not reverse order of arguments + git-merge-recursive: honor merge.conflictstyle once again + +Matthias Kestenholz (1): + bash-completion: Add all submodule subcommands to the completion list + +Michael J Gruber (3): + allow installation of man and html doc from the man and html branches + separate build targets for man and html documentation + make prune report removed objects on -v + +Michael Witten (9): + Docs: send-email's usage text and man page mention same options + Docs: send-email usage text much sexier + Docs: send-email: Man page option ordering + send-email: change --no-validate to boolean --[no-]validate + Docs: send-email: --chain_reply_to -> --[no-]chain-reply-to + Docs: send-email: Remove unnecessary config variable description + Docs: send-email: Create logical groupings for --help text + Docs: send-email: Create logical groupings for man text + send-email: signedoffcc -> signedoffbycc, but handle both + +Michele Ballabio (1): + git gui: update Italian translation + +Mikael Magnusson (1): + Correct output of git-count-objects. + +Mike Ralphson (1): + gitweb: Sort the list of forks on the summary page by age + +Miklos Vajna (36): + builtin-help: make some internal functions available to other builtins + builtin-merge: allow using a custom strategy + Add a new test for using a custom merge strategy + Add a second testcase for handling invalid strategies in git-merge + builtin-help: always load_command_list() in cmd_help() + Builtin git-help. + Split out merge_recursive() to merge-recursive.c + merge-recursive: introduce merge_options + builtin-merge: avoid run_command_v_opt() for recursive and subtree + cherry-pick/revert: make direct internal call to merge_tree() + merge-recursive: move call_depth to struct merge_options + merge-recursive: get rid of the index_only global variable + merge-recursive: move the global obuf to struct merge_options + merge-recursive: move current_{file,directory}_set to struct merge_options + merge-recursive: get rid of virtual_id + builtin-merge: release the lockfile in try_merge_strategy() + commit_tree(): add a new author parameter + builtin-commit: use commit_tree() + t7603: add new testcases to ensure builtin-commit uses reduce_heads() + builtin-merge: refresh the index before calling a strategy + builtin-commit: use reduce_heads() only when appropriate + Cleanup in sha1_file.c::cache_or_unpack_entry() + Implement git clone -v + Add Linux PPC support to the pre-auto-gc example hook + parse-opt: migrate builtin-checkout-index. + Implement git remote rename + remote: add a new 'origin' variable to the struct + git-remote rename: migrate from remotes/ and branches/ + git-remote: document the migration feature of the rename subcommand + Update Hungarian translation. 100% completed. + builtin-branch: use strbuf in delete_branches() + builtin-branch: use strbuf in fill_tracking_info() + builtin-branch: use strbuf in rename_branch() + builtin-clone: use strbuf in guess_dir_name() + builtin-clone: use strbuf in clone_local() and copy_or_link_directory() + builtin_clone: use strbuf in cmd_clone() + +Nanako Shiraishi (22): + t/t91XX-svn: start removing use of "git-" from these tests + t/t91XX git-svn tests: run "git svn" not "git-svn" + t9200: use "git cvsexportcommit" without dash + t9300, t9301: use "git fast-import/fast-export" without dash + t9700: use "git config" without dash + tests: use "git foo" without dash in strings + t9101: use "git hash-object" without dash + Install git-cvsserver in $(bindir) + remote.c: make free_ref(), parse_push_refspec() and free_refspecs() static. + graph.c: make many functions static + usage.c: remove unused functions + Add contrib/rerere-train script + dir.c: make dir_add_name() and dir_add_ignored() static + run-command.c: remove run_command_v_opt_cd() + config.c: make git_parse_long() static + commit.c: make read_graft_file() static + archive.c: make archiver static + rebase --no-verify + rebase: Document --no-verify option to bypass pre-rebase hook + Document "git log --source" + Document "git log --simplify-by-decoration" + git-gui: update Japanese translation + +Neil Roberts (1): + config.mak.in: Pass on LDFLAGS from configure + +Nicolas Pitre (18): + sha1write: don't copy full sized buffers + pack-objects: don't include missing preferred base objects + t5300: improve SHA1 collision test + fix openssl headers conflicting with custom SHA1 implementations + index-pack: rationalize delta resolution code + index-pack: smarter memory usage during delta resolution + fix multiple issues in index-pack + improve index-pack tests + index-pack: don't leak leaf delta result + close another possibility for propagating pack corruption + better validation on delta base object offsets + make unpack_object_header() non fatal + make packed_object_info() resilient to pack corruptions + make check_object() resilient to pack corruptions + make find_pack_revindex() aware of the nasty world + pack-objects: allow "fixing" a corrupted pack without a full repack + extend test coverage for latest pack corruption resilience improvements + pack-objects: don't leak pack window reference when splitting packs + +Paolo Bonzini (1): + provide more errors for the "merge into empty head" case + +Paul Mackerras (17): + gitk: Use <Button-2> for context menus on OSX + gitk: Clean up file encoding code and add enable/disable option + gitk: Fix binding for <Return> in sha1 entry field + gitk: New way of constructing menus that allows for Alt+letter accelerators + gitk: Regenerate .po files + gitk: Turn short SHA1 names into links too + gitk: Fix some off-by-one errors in computing which line to blame + gitk: Add a menu item to show where a given line comes from + gitk: Make the background color of marked lines configurable + gitk: Unify handling of merge diffs with normal 2-way diffs + gitk: Make "show origin of this line" work on fake commits + gitk: Cope with unmerged files in local changes + gitk: Improve cherry-pick error handling + gitk: Fix linehtag undefined error with file highlighting + gitk: Index line[hnd]tag arrays by id rather than row number + gitk: Fix switch statement in parseviewargs + gitk: Show local changes properly when we have a path limit + +Paul Talacko (1): + git-svn: set auto_props when renaming files + +Pete Harlan (2): + contrib/hooks/post-receive-email: Put rev display in separate function + contrib/hooks/post-receive-email: Make revision display configurable + +Peter Krefting (1): + Updated Swedish translation (514t0f0u). + +Peter Valdemar Mørch (2): + Teach git log --check to return an appropriate exit code + Teach git log --exit-code to return an appropriate exit code + +Petr Baudis (22): + git-web--browse: Support for using /bin/start on MinGW + git-gui: Clarify the Remote -> Delete... action + git-gui: Squash populate_{push,fetch}_menu to populate_remotes_menu + git-gui: Add support for adding remotes + git-gui: Add support for removing remotes + git-gui: mkdir -p when initializing new remote repository + git-gui: Use git web--browser for web browsing + git-gui: Add Explore Working Copy to the Repository menu + git-gui: gui.autoexplore makes explorer to pop up automatically after picking + git-gui: Avoid using the term URL when specifying repositories + git-gui: Make input boxes in init/clone/open dialogs consistent + git-gui: Fix removing non-pushable remotes + git-gui: Fix fetching from remotes when adding them + gitweb: Clean-up sorting of project list + gitweb: Quote non-displayable characters in hex, not octal + config.c: Tolerate UTF8 BOM at the beginning of config file + gitweb: Identify all summary metadata table rows + gitweb: Add support for extending the action bar with custom links + gitweb: Support for tag clouds + gitweb: Make the by_tag filter delve in forks as well + gitweb: Support for simple project search form + Do not rename read-only files during a push + +Pierre Habouzit (8): + Enable threaded delta search on *BSD and Linux. + parse-opt: migrate fmt-merge-msg. + parse-opt: migrate git-merge-base. + parse-opt: migrate builtin-merge-file. + git send-email: make the message file name more specific. + git send-email: interpret unknown files as revision lists + git send-email: add --annotate option + git send-email: ask less questions when --compose is used. + +Pieter de Bie (3): + builtin-reflog: Allow reflog expire to name partial ref + builtin-commit.c: show on which branch a commit was added + git wrapper: also use aliases to correct mistyped commands + +Quy Tonthat (1): + Update RPM spec for the new location of git-cvsserver. + +Ralf Wildenhues (2): + Correct typos in RelNotes-1.6.1 + Fix typos in the documentation. + +Raphael Zimmerer (1): + git grep: Add "-z/--null" option as in GNU's grep. + +René Scharfe (15): + log: add load_ref_decorations() + move load_ref_decorations() to log-tree.c and export it + add '%d' pretty format specifier to show decoration + add alloc_ref_with_prefix() + use alloc_ref_from_str() everywhere + make alloc_ref_from_str() the new alloc_ref() + blame: inline get_patch() + add xdi_diff_hunks() for callers that only need hunk lengths + blame: use xdi_diff_hunks(), get rid of struct patch + add strbuf_expand_dict_cb(), a helper for simple cases + merge-recursive: use strbuf_expand() instead of interpolate() + daemon: use strbuf_expand() instead of interpolate() + daemon: inline fill_in_extra_table_entries() + daemon: deglobalize variable 'directory' + remove the unused files interpolate.c and interpolate.h + +Richard Quirk (1): + gitk: Bind Key-Return to create on new branch dialog + +Robert Shearman (4): + git-imap-send: Allow the program to be run from subdirectories of a git tree + git-imap-send: Support SSL + imap-send.c: style fixes + Documentation: Improve documentation for git-imap-send(1) + +Romain Francoise (1): + builtin-help: fallback to GIT_MAN_VIEWER before man + +SZEDER Gábor (3): + bash: use for-each-ref format 'refname:short' + remove vim syntax highlighting in favor of upstream + bash: complete full refs + +Samuel Tardieu (1): + Fix deletion of last character in levenshtein distance + +Santi Béjar (1): + rev-list documentation: clarify the two parts of history simplification + +Shawn O. Pearce (7): + Make reflog query '@{1219188291}' act as '@{2008.8.19.16:24:51.-0700}' + git-gui: Hide commit related UI during citool --nocommit + git-gui: Use gitattribute "encoding" for file content display + git-gui: Assume `blame --incremental` output is in UTF-8 + git-gui: Show/hide "Sign Off" based on nocommitmsg option + describe: Make --tags and --all match lightweight tags more often + Update the po template + +Simon Hausmann (1): + Make it possible to abort the submission of a change to Perforce + +Stephan Beyer (2): + Fix commit_tree() buffer leak + merge-recursive.c: Add more generic merge_recursive_generic() + +Stephen Haberman (8): + rebase--interactive: fix parent rewriting for dropped commits + rebase-i-p: test to exclude commits from todo based on its parents + rebase-i-p: use HEAD for updating the ref instead of mapping OLDHEAD + rebase-i-p: delay saving current-commit to REWRITTEN if squashing + rebase-i-p: fix 'no squashing merges' tripping up non-merges + rebase-i-p: only list commits that require rewriting in todo + rebase-i-p: do not include non-first-parent commits touching UPSTREAM + rebase-i-p: if todo was reordered use HEAD as the rewritten parent + +Stephen R. van den Berg (4): + git-daemon: call logerror() instead of error() + git-daemon: use LOG_PID, simplify logging code + git-daemon: Simplify dead-children reaping logic + git-daemon: rewrite kindergarden, new option --max-connections + +Teemu Likonen (1): + bash completion: Add --[no-]validate to "git send-email" + +Thomas Rast (19): + filter-branch: Extend test to show rewriting bug + filter-branch: fix ref rewriting with --subdirectory-filter + filter-branch: use --simplify-merges + Documentation: rev-list-options: move --simplify-merges documentation + rev-list: fix --reverse interaction with --parents + t6013: replace use of 'tac' with equivalent Perl + git svn: catch lack of upstream info for dcommit earlier + git svn info: tests: let 'init' test run with SVN 1.5 + git svn info: tests: do not use set -e + git svn info: tests: use test_cmp instead of git-diff + git svn info: tests: fix ptouch argument order in setup + git svn info: make info relative to the current directory + git svn info: always quote URLs in 'info' output + git-svn: match SVN 1.5 behaviour of info' on unknown item + git-svn: fix 'info' tests for unknown items + Documentation: new upstream rebase recovery section in git-rebase + Documentation: Refer to git-rebase(1) to warn against rewriting + Documentation: remove stale howto/rebase-and-edit.txt + Documentation: add manpage about workflows + +Tom Preston-Werner (1): + connect.c: add a way for git-daemon to pass an error back to client + +Tommi Virtanen (1): + Install git-shell in bindir, too + +Tor Arvid Lund (1): + git-p4: Fix checkout bug when using --import-local. + +Trent Piepho (1): + send-email: Fix Pine address book parsing + +Tuncer Ayaz (2): + Teach/Fix pull/fetch -q/-v options + Retain multiple -q/-v occurrences in git pull + + +Version v1.6.0.6; changes since v1.6.0.5: +----------------------------------------- + +David Aguilar (1): + git-mergetool: properly handle "git mergetool -- filename" + +Deskin Miller (1): + git-svn: Make following parents atomic + +Jim Meyering (1): + git-config.txt: fix a typo + +Johannes Schindelin (2): + fast-import: close pack before unlinking it + fast-export: deal with tag objects that do not have a tagger + +Junio C Hamano (6): + work around Python warnings from AsciiDoc + git-show: do not segfault when showing a bad tag + pager: do not dup2 stderr if it is already redirected + gitweb: do not run "git diff" that is Porcelain + GIT 1.5.4.7 + fast-import: make tagger information optional + +Linus Torvalds (1): + fsck: reduce stack footprint + +Markus Heidelberg (1): + Documentation: fix typos, grammar, asciidoc syntax + +Miklos Vajna (1): + SubmittingPatches: mention the usage of real name in Signed-off-by: lines + +Nicolas Pitre (1): + make sure packs to be replaced are closed beforehand + +Wu Fengguang (1): + git-send-email: handle email address with quoted comma + + +Version v1.6.0.5; changes since v1.6.0.4: +----------------------------------------- + +Alexandre Julliard (2): + checkout: Don't crash when switching away from an invalid branch. + git-submodule: Avoid printing a spurious message. + +Brandon Casey (12): + t7700: demonstrate mishandling of objects in packs with a .keep file + packed_git: convert pack_local flag into a bitfield and add pack_keep + pack-objects: new option --honor-pack-keep + repack: don't repack local objects in packs with .keep file + repack: do not fall back to incremental repacking with [-a|-A] + builtin-gc.c: use new pack_keep bitfield to detect .keep file existence + t7700: demonstrate mishandling of loose objects in an alternate ODB + sha1_file.c: split has_loose_object() into local and non-local counterparts + pack-objects: extend --local to mean ignore non-local loose objects too + t7700: test that 'repack -a' packs alternate packed objects + repack: only unpack-unreachable if we are deleting redundant packs + revision.c: use proper data type in call to sizeof() within xrealloc + +Bryan Drewery (1): + Fix misleading wording for git-cherry-pick + +Christian Couder (3): + Documentation: rev-list: change a few instances of "git-cmd" to "git cmd" + Documentation: bisect: change a few instances of "git-cmd" to "git cmd" + Documentation: fix links to "everyday.html" + +Daniel Lowe (1): + Fix non-literal format in printf-style calls + +Davide Libenzi (1): + xdiff: give up scanning similar lines early + +Jakub Narębski (1): + gitweb: Make project specific override for 'grep' feature work + +Jan Krüger (1): + Documentation: git-svn: fix example for centralized SVN clone + +Jeff King (2): + commit: Fix stripping of patch in verbose mode. + tag: delete TAG_EDITMSG only on successful tag + +Joey Hess (1): + sha1_file: avoid bogus "file exists" error message + +Johannes Schindelin (1): + fast-export: use an unsorted string list for extra_refs + +Johannes Sixt (1): + compat/mingw.c: Teach mingw_rename() to replace read-only files + +Junio C Hamano (8): + Makefile: help people who run 'make check' by mistake + checkout: Fix "initial checkout" detection + Start 1.6.0.5 cycle + builtin-ls-files.c: coding style fix. + Teach ls-files --with-tree=<tree> to work with options other than -c + Teach "git diff" to honour --[no-]ext-diff + Update draft release notes to 1.6.0.5 + GIT 1.6.0.5 + +Linus Torvalds (1): + date/time: do not get confused by fractional seconds + +Martin Koegler (1): + git push: Interpret $GIT_DIR/branches in a Cogito compatible way + +Matt Kraai (1): + Remove the period after the git-check-attr summary + +Matt McCutchen (3): + config.txt: alphabetize configuration sections + git checkout: don't warn about unborn branch if -f is already passed + "git diff <tree>{3,}": do not reverse order of arguments + +Miklos Vajna (3): + Add new testcase to show fast-export does not always exports all tags + User's Manual: remove duplicated url at the end of Appendix B + http.c: use 'git_config_string' to get 'curl_http_proxy' + +Nguyễn Thái Ngọc Duy (1): + generate-cmdlist.sh: avoid selecting synopsis at wrong place + +Nicolas Pitre (1): + Fix pack.packSizeLimit and --max-pack-size handling + +Pete Wyckoff (1): + git-p4: fix keyword-expansion regex + +Ralf Wildenhues (1): + Fix typos in the documentation. + +SZEDER Gábor (2): + bash: remove dashed command leftovers + bash: offer refs instead of filenames for 'git revert' + +Sam Vilain (1): + sha1_file.c: resolve confusion EACCES vs EPERM + +Samuel Tardieu (2): + tag: Check that options are only allowed in the appropriate mode + tag: Add more tests about mixing incompatible modes and options + +Stefan Naewe (2): + git ls-remote: make usage string match manpage + request-pull: make usage string match manpage + +Thomas Rast (1): + fetch-pack: Avoid memcpy() with src==dst + + +Version v1.6.0.4; changes since v1.6.0.3: +----------------------------------------- + +Alex Riesen (10): + Add mksnpath which allows you to specify the output buffer + Fix mkpath abuse in dwim_ref and dwim_log of sha1_name.c + Fix potentially dangerous uses of mkpath and git_path + Plug a memleak in builtin-revert + Add git_snpath: a .git path formatting routine with output buffer + Fix potentially dangerous use of git_path in ref.c + git_pathdup: returns xstrdup-ed copy of the formatted path + Use git_pathdup instead of xstrdup(git_path(...)) + Add --verbose|-v to test-chmtime + Use test-chmtime -v instead of perl in t5000 to get mtime of a file + +Charles Bailey (1): + git-archive: work in bare repos + +Christian Jaeger (1): + Git.pm: do not break inheritance + +Clemens Buchacher (2): + do not force write of packed refs + push: fix local refs update if already up-to-date + +Deskin Miller (2): + git-svn: change dashed git-config to git config + git-svn: change dashed git-commit-tree to git commit-tree + +Gustaf Hendeby (1): + git-gui: Help identify aspell version on Windows too + +Jakub Narębski (1): + Documentation/gitattributes: Add subsection header for each attribute + +Jan Krüger (1): + Documentation: clarify information about 'ident' attribute + +Jeff King (5): + refactor handling of "other" files in ls-files and status + correct cache_entry allocation + pack-objects: avoid reading uninitalized data + fix overlapping memcpy in normalize_absolute_path + send-pack: do not send out single-level refs such as refs/stash + +Johannes Schindelin (1): + Fix fetch/pull when run without --update-head-ok + +Jonas Fonseca (1): + asciidoc: add minor workaround to add an empty line after code blocks + +Junio C Hamano (9): + pull: allow "git pull origin $something:$current_branch" into an unborn branch + Fix "checkout --track -b newbranch" on detached HEAD + reset --hard/read-tree --reset -u: remove unmerged new paths + demonstrate breakage of detached checkout with symbolic link HEAD + Enhance hold_lock_file_for_{update,append}() API + Start 1.6.0.4 cycle + Update draft 1.6.0.4 release notes + format-patch documentation: mention the special case of showing a single commit + GIT 1.6.0.4 + +Linus Torvalds (1): + Add file delete/create info when we overflow rename_limit + +Markus Heidelberg (1): + bash completion: add doubledash to "git show" + +Mikael Magnusson (1): + Document that git-log takes --all-match. + +Miklos Vajna (5): + Fix git branch -m for symrefs. + rename_ref(): handle the case when the reflog of a ref does not exist + Fix git update-ref --no-deref -d. + git branch -m: forbid renaming of a symref + update-ref --no-deref -d: handle the case when the pointed ref is packed + +Nanako Shiraishi (1): + Install git-cvsserver in $(bindir) + +Pierre Habouzit (1): + git send-email: avoid leaking directory file descriptors. + +Quy Tonthat (1): + Update RPM spec for the new location of git-cvsserver. + +Thomas Rast (1): + add -p: warn if only binary changes present + +Tom Preston-Werner (1): + add instructions on how to send patches to the mailing list with Gmail + +Tommi Virtanen (1): + Install git-shell in bindir, too + +Yann Dirson (1): + Add reference for status letters in documentation. + + +Version v1.6.0.3; changes since v1.6.0.2: +----------------------------------------- + +Abhijit Bhopatkar (1): + Documentation: Clarify '--signoff' for git-commit + +Alec Berryman (2): + git-svn: factor out svnserve test code for later use + git-svn: Always create a new RA when calling do_switch for svn:// + +Alex Riesen (3): + Remove empty directories in recursive merge + Add remove_path: a function to remove as much as possible of a path + Use remove_path from dir.c instead of own implementation + +Alexander Gavrilov (1): + builtin-blame: Fix blame -C -C with submodules. + +Björn Steinbrink (1): + force_object_loose: Fix memory leak + +Brandon Casey (14): + t9700/test.pl: avoid bareword 'STDERR' in 3-argument open() + t9700/test.pl: remove File::Temp requirement + diff.c: return pattern entry pointer rather than just the hunk header pattern + diff.c: associate a flag with each pattern and use it for compiling regex + diff.*.xfuncname which uses "extended" regex's for hunk header selection + t4018-diff-funcname: test syntax of builtin xfuncname patterns + builtin-prune.c: prune temporary packs in <object_dir>/pack directory + git-stash.sh: don't default to refs/stash if invalid ref supplied + builtin-merge.c: allocate correct amount of memory + git-stash.sh: fix flawed fix of invalid ref handling (commit da65e7c1) + remote.c: correct the check for a leading '/' in a remote name + t4018-diff-funcname: rework negated last expression test + t4018-diff-funcname: demonstrate end of line funcname matching flaw + xdiff-interface.c: strip newline (and cr) from line before pattern matching + +Charles Bailey (2): + Add new test to demonstrate git archive core.autocrlf inconsistency + Make git archive respect core.autocrlf when creating zip format archives + +Chris Frey (1): + Documentation: clarify the details of overriding LESS via core.pager + +Dan McGee (1): + contrib: update packinfo.pl to not use dashed commands + +Daniel Barkalow (1): + Check early that a new branch is new and valid + +David Soria Parra (1): + Solaris: Use OLD_ICONV to avoid compile warnings + +Deskin Miller (2): + maint: check return of split_cmdline to avoid bad config strings + git init: --bare/--shared overrides system/global config + +Dmitry Potapov (4): + git-rebase-interactive: do not squash commits on abort + git-rebase--interactive: auto amend only edited commit + make prefix_path() never return NULL + do not segfault if make_cache_entry failed + +Eric Raible (1): + completion: git commit should list --interactive + +Eric Wong (1): + git-svn: fix handling of even funkier branch names + +Fabrizio Chiarello (1): + builtin-clone: fix typo + +Garry Dolley (1): + Clarified gitattributes documentation regarding custom hunk header. + +Giuseppe Bilotta (1): + gitweb: remove PATH_INFO from $my_url and $my_uri + +Heikki Orsila (2): + Start conforming code to "git subcmd" style part 3 + Cosmetical command name fix + +Imre Deak (1): + builtin-apply: fix typo leading to stack corruption + +Jakub Narębski (2): + gitweb: Fix two 'uninitialized value' warnings in git_tree() + gitweb: Add path_info tests to t/t9500-gitweb-standalone-no-errors.sh + +Jeff King (3): + Makefile: do not set NEEDS_LIBICONV for Solaris 8 + git apply --directory broken for new files + tests: shell negation portability fix + +Joey Hess (1): + gitweb: avoid warnings for commits without body + +Johan Herland (2): + for-each-ref: Fix --format=%(subject) for log message without newlines + Use strchrnul() instead of strchr() plus manual workaround + +Johannes Schindelin (2): + git rm: refresh index before up-to-date check + rebase -i: do not fail when there is no commit to cherry-pick + +Johannes Sixt (2): + git-remote: do not use user input in a printf format string + git-push.txt: Describe --repo option in more detail + +Jonas Fonseca (2): + checkout: Do not show local changes when in quiet mode + git-check-attr(1): add output and example sections + +Junio C Hamano (15): + discard_cache: reset lazy name_hash bit + diff Porcelain: do not disable auto index refreshing on -C -C + diff --quiet: make it synonym to --exit-code >/dev/null + Don't verify host name in SSL certs when GIT_SSL_NO_VERIFY is set + Fix permission bits on sources checked out with an overtight umask + checkout: do not lose staged removal + diff/diff-files: do not use --cc too aggressively + Start draft release notes for 1.6.0.3 + diff: use extended regexp to find hunk headers + diff hunk pattern: fix misconverted "\{" tex macro introducers + Update draft release notes to 1.6.0.3 + diff(1): clarify what "T"ypechange status means + Hopefully the final draft release notes update before 1.6.0.3 + Fix testcase failure when extended attributes are in use + GIT 1.6.0.3 + +Linus Torvalds (1): + fix bogus "diff --git" header from "diff --no-index" + +Luc Heinrich (1): + git-svn: call 'fatal' correctly in set-tree + +Matt McCutchen (1): + t1301-shared-repo.sh: don't let a default ACL interfere with the test + +Michael J Gruber (1): + make "git remote" report multiple URLs + +Michael Prokop (1): + Replace svn.foo.org with svn.example.com in git-svn docs (RFC 2606) + +Mikael Magnusson (4): + Typo "bogos" in format-patch error message. + git-repack uses --no-repack-object, not --no-repack-delta. + Fix a few typos in relnotes + Typo "does not exists" when git remote update remote. + +Miklos Vajna (2): + test-lib: fix color reset in say_color() + Add testcase to ensure merging an early part of a branch is done properly + +Nanako Shiraishi (2): + docs: describe pre-rebase hook + Teach rebase -i to honor pre-rebase hook + +Nicolas Pitre (2): + fix pread()'s short read in index-pack + rehabilitate 'git index-pack' inside the object store + +Petr Baudis (1): + Do not perform cross-directory renames when creating packs + +Ping Yin (1): + git-submodule: Fix "Unable to checkout" for the initial 'update' + +Rafael Garcia-Suarez (1): + Clarify commit error message for unmerged files + +SZEDER Gábor (5): + t0024: add executable permission + Documentation: remove '\' in front of short options + rebase -i: proper prepare-commit-msg hook argument when squashing + rebase -i: remove leftover debugging + bash: remove fetch, push, pull dashed form leftovers + +Samuel Tardieu (1): + Do not use errno when pread() returns 0 + +Shawn O. Pearce (3): + Update release notes for 1.6.0.3 + Update release notes for 1.6.0.3 + test-lib: fix broken printf + +Stephen Haberman (1): + Clarify how the user can satisfy stash's 'dirty state' check. + +Thomas Rast (1): + sha1_file: link() returns -1 on failure, not errno + +Todd Zullinger (1): + Use dashless git commands in setgitperms.perl + +Tuncer Ayaz (1): + Fix fetch/clone --quiet when stdout is connected + +Yann Dirson (1): + Bust the ghost of long-defunct diffcore-pathspec. + +martin f. krafft (1): + Improve git-log documentation wrt file filters + + +Version v1.6.0.2; changes since v1.6.0.1: +----------------------------------------- + +Alex Riesen (1): + Fix use of hardlinks in "make install" + +Alexander Gavrilov (1): + git-gui: Fix string escaping in po2msg.sh + +Alexandre Bourget (2): + git-gui: Update french translation + git-gui: update all remaining translations to French. + +Andreas Färber (1): + Makefile: always provide a fallback when hardlinks fail + +Arjen Laarhoven (1): + Use compatibility regex library for OSX/Darwin + +Ask Bjørn Hansen (1): + Document sendemail.envelopesender configuration + +Björn Steinbrink (1): + for-each-ref: Allow a trailing slash in the patterns + +Clemens Buchacher (2): + git gui: show diffs with a minimum of 1 context line + clone: fix creation of explicitly named target directory + +Gustaf Hendeby (1): + Document clarification: gitmodules, gitattributes + +Heikki Orsila (3): + Start conforming code to "git subcmd" style + Improve documentation for --dirstat diff option + Start conforming code to "git subcmd" style part 2 + +Jeff King (4): + Fix "git log -i --grep" + pretty=format: respect date format options + checkout: fix message when leaving detached HEAD + Use compatibility regex library also on FreeBSD + +Johan Herland (1): + Bring local clone's origin URL in line with that of a remote clone + +Johannes Sixt (1): + Use compatibility regex library also on AIX + +Jonas Fonseca (1): + Fix passwd(5) ref and reflect that commit doens't use commit-tree + +Junio C Hamano (17): + ctype.c: protect tiny C preprocessor constants + shell: do not play duplicated definition games to shrink the executable + Fix example in git-name-rev documentation + git-apply: Loosen "match_beginning" logic + checkout: do not check out unmerged higher stages randomly + gitattributes: -crlf is not binary + diff: Help "less" hide ^M from the output + 'git foo' program identifies itself without dash in die() messages + Start 1.6.0.2 maintenance cycle + diff --cumulative is a sub-option of --dirstat + log --author/--committer: really match only with name part + "blame -c" should be compatible with "annotate" + Mention the fact that 'git annotate' is only for backward compatibility. + stash: refresh the index before deciding if the work tree is dirty + Update draft release notes for 1.6.0.2 + Update draft release notes for 1.6.0.2 + GIT 1.6.0.2 + +Linus Torvalds (2): + index-pack: be careful after fixing up the header/footer + Fix '--dirstat' with cross-directory renaming + +Marcus Griep (2): + Git.pm: Use File::Temp->tempfile instead of ->new + git-svn: Fixes my() parameter list syntax error in pre-5.8 Perl + +Miklos Vajna (2): + Makefile: add merge_recursive.h to LIB_H + t7501: always use test_cmp instead of diff + +Nanako Shiraishi (4): + tests: use "git xyzzy" form (t0000 - t3599) + tests: use "git xyzzy" form (t3600 - t6999) + tests: use "git xyzzy" form (t7000 - t7199) + tests: use "git xyzzy" form (t7200 - t9001) + +Nguyễn Thái Ngọc Duy (6): + index-pack: setup git repository + diff*: fix worktree setup + grep: fix worktree setup + read-tree: setup worktree if merge is required + update-index: fix worktree setup + setup_git_directory(): fix move to worktree toplevel directory + +Nicolas Pitre (7): + discard revindex data when pack list changes + pack-objects: improve returned information from write_one() + improve reliability of fixup_pack_header_footer() + pack-objects: use fixup_pack_header_footer()'s validation mode + index-pack: use fixup_pack_header_footer()'s validation mode + fixup_pack_header_footer(): use nicely aligned buffer sizes + improve handling of sideband message display + +Paolo Bonzini (1): + make git-shell paranoid about closed stdin/stdout/stderr + +Paolo Ciarrocchi (1): + tutorial: gentler illustration of Alice/Bob workflow using gitk + +Petr Baudis (1): + bash completion: Hide more plumbing commands + +Ralf Wildenhues (1): + Fix some manual typos. + +Ramsay Jones (2): + Fix a warning (on cygwin) to allow -Werror + Suppress some bash redirection error messages + +SZEDER Gábor (3): + Documentation: fix reference to a for-each-ref option + Documentation: fix disappeared lines in 'git stash' manpage + Documentation: minor cleanup in a use case in 'git stash' manual + +Shawn O. Pearce (2): + pack-objects: Allow missing base objects when creating thin packs + git-gui: Fix diff parsing for lines starting with "--" or "++" + +Teemu Likonen (1): + config.txt: Add missing colons after option name + +Yann Dirson (1): + Document gitk --argscmd flag. + + +Version v1.6.0.1; changes since v1.6.0: +--------------------------------------- + +Alexander Gavrilov (1): + Respect core.autocrlf in combined diff + +Brandon Casey (3): + t1002-read-tree-m-u-2way.sh: use 'git diff -U0' rather than 'diff -U0' + revision.h: make show_early_output an extern which is defined in revision.c + compat/snprintf.c: handle snprintf's that always return the # chars transmitted + +Don Zickus (1): + mailinfo: re-fix MIME multipart boundary parsing + +Eric Raible (1): + Completion: add missing '=' for 'diff --diff-filter' + +Eric Wong (1): + git-svn: fix dcommit to urls with embedded usernames + +Jeff King (2): + mailinfo: avoid violating strbuf assertion + decorate: allow const objects to be decorated + +Jim Meyering (2): + git format-patch: avoid underrun when format.headers is empty or all NLs + remote.c: remove useless if-before-free test + +Johannes Sixt (1): + Install templates with the user and group of the installing personality + +Jonathan Nieder (2): + Documentation: clarify pager.<cmd> configuration + Documentation: clarify pager configuration + +Junio C Hamano (9): + Start 1.6.0.X maintenance series + diff --check: do not get confused by new blank lines in the middle + for-each-ref: cope with tags with incomplete lines + completion: find out supported merge strategies correctly + "git-merge": allow fast-forwarding in a stat-dirty tree + Update draft release notes for 1.6.0.1 + unpack_trees(): protect the handcrafted in-core index from read_cache() + merge: fix numerus bugs around "trivial merge" area + GIT 1.6.0.1 + +Miklos Vajna (2): + Fix 'git help help' + Makefile: enable SNPRINTF_RETURNS_BOGUS for HP-UX + +Robert Schiele (1): + adapt git-cvsserver manpage to dash-free syntax + +Simon Hausmann (1): + Clean up the git-p4 documentation + +Tarmigan Casebolt (1): + Add hints to revert documentation about other ways to undo changes + +Tor Arvid Lund (1): + git-p4: Fix one-liner in p4_write_pipe function. + + +Version v1.6.0; changes since v1.6.0-rc3: +----------------------------------------- + +Alex Riesen (1): + Fix t3700 on filesystems which do not support question marks in names + +Alexander Gavrilov (1): + gitk: Allow safely calling nukefile from a run queue handler + +Anand Kumria (14): + Create a specific version of the read_pipe_lines command for p4 invocations + Utilise the new 'p4_read_pipe_lines' command + Have a command that specifically invokes 'p4' (via system) + Utilise the new 'p4_system' function. + Add a single command that will be used to construct the 'p4' command + If we are in verbose mode, output what we are about to run (or return) + Switch to using 'p4_build_cmd' + If the user has configured various parameters, use them. + Consistently use 'git-p4' for the configuration entries + Move git-p4.syncFromOrigin into a configuration parameters section + Put some documentation in about the parameters that have been added + Put in the two other configuration elements found in the source + Add p4 read_pipe and write_pipe wrappers + Utilise our new p4_read_pipe and p4_write_pipe wrappers + +Brandon Casey (2): + test-parse-options: use appropriate cast in length_callback + t5304-prune: adjust file mtime based on system time rather than file mtime + +Eric Blake (1): + Makefile: building git in cygwin 1.7.0 + +Eric Raible (1): + bash completion: 'git apply' should use 'fix' not 'strip' + +Junio C Hamano (1): + GIT 1.6.0 + +Kevin Ballard (1): + Fix escaping of glob special characters in pathspecs + +Lee Marlow (2): + bash completion: Add completion for 'git mergetool' + bash completion: Add '--merge' long option for 'git log' + +Marcus Griep (2): + bash-completion: Add non-command git help files to bash-completion + Git.pm: Make File::Spec and File::Temp requirement lazy + +Matt McCutchen (1): + git format-patch documentation: clarify what --cover-letter does + +Miklos Vajna (2): + Documentation: document the pager.* configuration setting + t9300: replace '!' with test_must_fail + +Robert Blum (1): + git-p4: chdir now properly sets PWD environment variable in msysGit + +Shawn O. Pearce (1): + git-gui 0.11 + +Stephan Beyer (3): + git-am: ignore --binary option + git-stash: improve synopsis in help and manual page + Improve error output of git-rebase + +Thomas Rast (2): + rebase -i -p: handle index and workdir correctly + rebase -i -p: fix parent rewriting + + +Version v1.6.0-rc3; changes since v1.6.0-rc2: +--------------------------------------------- + +Brandon Casey (2): + Makefile: set SHELL to value of SHELL_PATH + Makefile: add a target which will abort compilation with ancient shells + +Eric Wong (2): + git-svn: add ability to specify --commit-url for dcommit + git-svn: wrap long lines in a few places + +Francis Moreau (1): + git-bisect: fix wrong usage of read(1) + +Gustaf Hendeby (2): + gitattributes: Document built in hunk header patterns + Teach git diff about BibTeX head hunk patterns + +Ivan Stankovic (1): + Documentation: fix invalid reference to 'mybranch' in user manual + +Johannes Schindelin (1): + clone --mirror: avoid storing repeated tags + +Jonathan Nieder (1): + Documentation: user-manual: "git commit -a" doesn't motivate .gitignore + +Junio C Hamano (9): + asciidoc markup fixes + GIT-VERSION-GEN: mark the version 'dirty' only if there are modified files + mailinfo: fix MIME multi-part message boundary handling + Update draft RelNotes for 1.6.0 + Fix deleting reflog entries from HEAD reflog + Re-fix rev-list-options documentation + diff --check: do not unconditionally complain about trailing empty lines + Do not talk about "diff" in rev-list documentation. + GIT 1.6.0-rc3 + +Marcus Griep (5): + Fix multi-glob assertion in git-svn + git-svn: Allow deep branch names by supporting multi-globs + Git.pm: Add faculties to allow temp files to be cached + git-svn: Make it incrementally faster by minimizing temp files + git-svn: Reduce temp file usage when dealing with non-links + +Nguyễn Thái Ngọc Duy (1): + Fix typo in comments of longest_ancestor_length() + +Petr Baudis (2): + Fail properly when cloning from invalid HTTP URL + Adjust for the new way of enabling the default post-update hook + +Pieter de Bie (2): + builtin-rm: Add a --force flag + reflog test: add more tests for 'reflog delete' + +SZEDER Gábor (1): + bash: remove redundant check for 'git stash apply' options + +Stephen R. van den Berg (1): + git-daemon: SysV needs the signal handler reinstated. + +Thomas Rast (6): + Documentation: commit-tree: remove 16 parents restriction + Documentation: filter-branch: document how to filter all refs + filter-branch: be more helpful when an annotated tag changes + Documentation: rev-list-options: Fix -g paragraph formatting + Documentation: rev-list-options: Fix a typo + Documentation: rev-list-options: Rewrite simplification descriptions for clarity + + +Version v1.6.0-rc2; changes since v1.6.0-rc1: +--------------------------------------------- + +Abhijit Menon-Sen (7): + `git submodule add` now requires a <path> + Make it clear that push can take multiple refspecs + Make the DESCRIPTION match <x>... items in the SYNOPSIS + Git.pm: localise $? in command_close_bidi_pipe() + Fix hash slice syntax error + Fix typo in perl/Git.pm + Fix typos in INSTALL + +Alex Riesen (1): + Make use of stat.ctime configurable + +Alexander Gavrilov (9): + git-gui: Fix the Remote menu separator. + git-gui: Preserve scroll position on reshow_diff. + Support copy and rename detection in fast-export. + gitk: Kill back-end processes on window close + gitk: Arrange to kill diff-files & diff-index on quit + gitk: On Windows, use a Cygwin-specific flag for kill + gitk: Fixed broken exception handling in diff + gitk: Fixed automatic row selection during load + gitk: Fallback to selecting the head commit upon load + +Anders Melchiorsen (4): + Advertise the ability to abort a commit + Documentation: fix diff.external example + Flush output in start_async + Add output flushing before fork() + +Avery Pennarun (2): + Teach "git diff -p" Pascal/Delphi funcname pattern + git-svn: Abort with an error if 'fetch' parameter is invalid. + +Brandon Casey (3): + t/t4202-log.sh: add newline at end of file + Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long + perl/Makefile: handle paths with spaces in the NO_PERL_MAKEMAKER section + +Brian Gernhardt (1): + Documentation: Remove mentions of git-svnimport. + +Cesar Eduardo Barros (1): + Documentation/git-rev-parse.txt: update for new git-describe output format + +Christian Couder (2): + merge-base: die with an error message if not passed a commit ref + documentation: user-manual: update "using-bisect" section + +Christian Stimming (2): + git-gui: Update German translation + gitk: Updated German translation + +Ciaran McCreesh (1): + Make git-add -i accept ranges like 7- + +David D. Kilzer (1): + Fix race condition in t9119-git-svn-info.sh + +Dmitry Potapov (1): + correct access right for git-svn-dcommit test + +Eric Wong (2): + git-svn: properly set path for "info" command + t9119: conditionally re-enable test depending on svn(1) version + +Giuseppe Bilotta (2): + diff: add ruby funcname pattern + diff: chapter and part in funcname for tex + +Jeff King (3): + init: handle empty "template" parameter + Compact commit template message + init: handle empty "template" parameter + +Jim Meyering (1): + git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout. + +Johannes Schindelin (3): + sort_in_topological_order(): avoid setting a commit flag + clone: Add an option to set up a mirror + clone --bare: Add ".git" suffix to the directory name to clone into + +Johannes Sixt (1): + git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core' + +Jon Jensen (1): + Fix reference to Everyday Git, which is an HTML document and not a man page. + +Jonathan Nieder (1): + git-diff(1): "--c" -> "--cc" typo fix + +Junio C Hamano (19): + Allow building without any git installed + Allow installing in the traditional way + ls-tree documentation: enhance notes on subdirectory and pathspec behaviour + Documentation: clarify what is shown in "git-ls-files -s" output + t7001: fix "git mv" test + Teach gitlinks to ie_modified() and ce_modified_check_fs() + Fix merge name generation in "merge in C" + Fix test-parse-options "integer" test + Teach --find-copies-harder to "git blame" + make sure parsed wildcard refspec ends with slash + Documentation: clarify diff --cc + Update my e-mail address + Start 1.5.6.5 RelNotes to describe accumulated fixes + builtin-name-rev.c: split deeply nested part from the main function + RelNotes 1.5.6.5 updates + fix diff-tree --stdin documentation + Files given on the command line are relative to $cwd + GIT 1.5.6.5 + GIT 1.6.0-rc2 + +Kevin Ballard (1): + format-patch: Produce better output with --inline or --attach + +Lee Marlow (11): + bash completion: remove unused function _git_diff_tree + bash completion: Add more long options for 'git log' + bash completion: Add completion for 'git grep' + bash completion: Add completion for 'git clone' + bash completion: Add completion for 'git clean' + bash completion: Add completion for 'git init' + bash completion: Add completion for 'git revert' + bash completion: More completions for 'git stash' + bash completion: Add completion for 'git archive' + bash completion: Add completion for 'git ls-files' + bash completion: Add completion for 'git mv' + +Linus Torvalds (1): + diff.renamelimit is a basic diff configuration + +Michele Ballabio (2): + git-gui: update po/it.po + git-gui: add a part about format strings in po/README + +Mikael Magnusson (2): + git-gui: Update swedish translation. + gitk: Update swedish translation. + +Mike Ralphson (2): + Documentation: typos / spelling fixes in older RelNotes + Documentation: typos / spelling fixes + +Nanako Shiraishi (1): + git-gui: update Japanese translation + +Olivier Marin (1): + builtin-verify-tag: fix -v option parsing + +Pierre Habouzit (2): + Allow "non-option" revision options in parse_option-enabled commands + git-submodule: move ill placed shift. + +Pieter de Bie (1): + git-name-rev: allow --name-only in combination with --stdin + +René Scharfe (2): + archive: allow --exec and --remote without equal sign + git-name-rev: don't use printf without format + +Shawn O. Pearce (2): + git-gui: Fix gitk search in $PATH to work on Windows + git-gui: Update git-gui.pot for 0.11 nearing release + +Steffen Prohaska (6): + Refactor, adding prepare_git_cmd(const char **argv) + run-command (Windows): Run dashless "git <cmd>" + git-gui: Correct installation of library to be $prefix/share + git-gui (Windows): Switch to relative discovery of oguilib + git-gui (Windows): Change wrapper to execdir 'libexec/git-core' + Modify mingw_main() workaround to avoid link errors + +Stephan Beyer (1): + builtin-revert.c: typofix + +Steve Haslam (1): + Propagate -u/--upload-pack option of "git clone" to transport. + +Steven Grimm (1): + Optimize sha1_object_info for loose objects, not concurrent repacks + +Todd Zullinger (1): + Replace uses of "git-var" with "git var" + + +Version v1.6.0-rc1; changes since v1.6.0-rc0: +--------------------------------------------- + +Abhijit Menon-Sen (2): + git-gui: Look for gitk in $PATH, not $LIBEXEC/git-core + Clarify that "git log x.c y.h" lists commits that touch either file + +Alex Riesen (1): + Allow pager of diff command be enabled/disabled + +Alexander Gavrilov (4): + Fix pre-commit hooks under MinGW/MSYS + Add options to control the search for copies in blame. + Kill the blame back-end on window close. + Add a menu item to invoke full copy detection in blame. + +Anders Melchiorsen (1): + Documentation: fix diff.external example + +Björn Steinbrink (2): + index-pack.c: correctly initialize appended objects + rev-parse: Add support for the ^! and ^@ syntax + +Brad King (1): + git-svn: teach dcommit about svn auto-props + +Brandon Casey (7): + t/: Replace diff [-u|-U0] with test_cmp to allow compilation with old diff + t4116-apply-reverse.sh: use $TAR rather than tar + t3200,t7201: replace '!' with test_must_fail + t7502-commit.sh: rearrange test to make more portable + t/t4202-log.sh: add newline at end of file + Teach fsck and prune about the new location of temporary objects + perl/Makefile: update NO_PERL_MAKEMAKER section + +Cesar Eduardo Barros (1): + Documentation/git-submodule.txt: fix doubled word + +Daniel Barkalow (1): + In perforce, RCS keywords are case-sensitive + +Jakub Narębski (1): + gitweb: More about how gitweb gets 'owner' of repository + +Johannes Schindelin (9): + Rename .git/rebase to .git/rebase-apply + Rename path_list to string_list + Fix two leftovers from path_list->string_list + Ignore dirty submodule states in "git pull --rebase" + Add test to show that show-branch misses out the 8th column + sort_in_topological_order(): avoid setting a commit flag + builtin-commit: Two trivial style-cleanups + git daemon: avoid waking up too often + Avoid chdir() in list_commands_in_dir() + +Johannes Sixt (12): + rebase -i: When an 'edit' stops, mention the commit + Makefile: Do not install a copy of 'git' in $(gitexecdir) + Makefile: Normalize $(bindir) and $(gitexecdir) before comparing + Record the command invocation path early + Fix relative built-in paths to be relative to the command invocation + Allow the built-in exec path to be relative to the command invocation path + Allow add_path() to add non-existent directories to the path + Windows: Make $(gitexecdir) relative + Windows: Make sure argv[0] has a path + Windows: Do not compile git-shell + git-gui: Fix "Stage/Unstage Line" with one line of context. + git-gui: "Stage Line": Treat independent changes in adjacent lines better + +Jonathan Nieder (3): + git-diff(1): "--c" -> "--cc" typo fix + document that git-tag can tag more than heads + t6030 (bisect): work around Mac OS X "ls" + +Junio C Hamano (13): + Update my e-mail address + Revert "make git-status use a pager" + tests: do not rely on external "patch" + stash save: fix parameter handling + builtin-branch.c: remove unused code in append_ref() callback function + builtin-branch.c: optimize --merged and --no-merged + Documentation: clarify diff --cc + ignore non-existent refs in dwim_log() + tests: propagate $(TAR) down from the toplevel Makefile + Makefile: fix shell quoting + Documentation: clarify how to disable elements in core.whitespace + make sure parsed wildcard refspec ends with slash + GIT 1.6.0-rc1 + +Lars Hjemli (3): + builtin-branch: remove duplicated code + builtin-branch: factor out merge_filter matching + builtin-branch: fix -v for --[no-]merged + +Lee Marlow (2): + bash completion: Add long options for 'git rm' + bash completion: Add completion for 'git help' + +Miklos Vajna (2): + builtin-merge: give a proper error message for invalid strategies in config + t7601: extend the 'merge picks up the best result' test + +Nikolaj Schumacher (1): + Don't cut off last character of commit descriptions. + +Olivier Marin (4): + git-am: remove dash from help message + parse-options: fix segmentation fault when a required value is missing + git am --skip: clean the index while preserving local changes + update test case to protect am --skip behaviour + +P. Christeas (1): + svnimport: newer libsvn wants us to ask for the root with "", not "/" + +Peter Valdemar Mørch (1): + send-email: find body-encoding correctly + +Petr Baudis (4): + git-filter-branch.sh: Allow running in bare repositories + Documentation/git-filter-branch: teach "rm" instead of "update-index --remove" + git-mv: Remove dead code branch + git-mv: Keep moved index entries inact + +Philippe Bruhat (1): + mailinfo: better parse email adresses containg parentheses + +Pierre Habouzit (4): + builtin-merge: add missing structure initialization + git-submodule: move ill placed shift. + git-checkout: fix command line parsing. + git-checkout: improve error messages, detect ambiguities. + +René Scharfe (5): + archive: add write_archive() + archive: move parameter parsing code to archive.c + archive: define MAX_ARGS where it's needed + archive: declare struct archiver where it's needed + archive: allow --exec and --remote without equal sign + +SZEDER Gábor (2): + checkout: mention '--' in the docs + bash: offer only paths after '--' for 'git checkout' + +Shawn O. Pearce (2): + git-gui: Correct 'Visualize Branches' on Mac OS X to start gitk + fsck: Don't require tmp_obj_ file names are 14 bytes in length + +Stephan Beyer (7): + git-am: Add colon before the subject that is printed out as being applied + am --abort: Add to bash-completion and mention in git-rerere documentation + Make non-static functions, that may be static, static + Move launch_editor() from builtin-tag.c to editor.c + editor.c: Libify launch_editor() + git-am: Mention --abort in usage string part of OPTIONS_SPEC + git-reset: Let -q hush "locally modified" messages + +Steve Haslam (2): + Propagate -u/--upload-pack option of "git clone" to transport. + Remove references to git-fetch-pack from "git clone" documentation. + +Thomas Rast (2): + git-completion.bash: provide completion for 'show-branch' + bash completion: Add long options for 'git describe' + + +Version v1.6.0-rc0; changes since v1.5.6.6: +------------------------------------------- + +Abhijit Menon-Sen (4): + git-gui: Move on to the next filename after staging/unstaging a change + git-gui: Don't select the wrong file if the last listed file is staged. + Implement "git stash branch <newbranch> <stash>" + Add a test for "git stash branch" + +Adam Brewster (2): + Move read_revisions_from_stdin from builtin-rev-list.c to revision.c + Teach git-bundle to read revision arguments from stdin like git-rev-list. + +Alex Riesen (1): + Fix use of "perl -i" on Windows + +Alexander Gavrilov (3): + Avoid rescanning unchanged entries in search for copies. + Do not try to detect move/copy for entries below threshold. + Support gitlinks in fast-import. + +Avery Pennarun (1): + Reword "your branch has diverged..." lines to reduce line length + +Brandon Casey (1): + t7701-repack-unpack-unreachable.sh: check timestamp of unpacked objects + +Brian Gernhardt (4): + Fix t4017-diff-retval for white-space from wc + Add test results directory to t/.gitignore + Documentation: Point to gitcli(7) from git(1) + Documentation: mention ORIG_HEAD in am, merge, and rebase + +Christian Couder (2): + help: check early if we have a command, if not try a documentation topic + Fix "config_error_nonbool" used with value instead of key + +Ciaran McCreesh (1): + Make git-add -i accept ranges like 7- + +Cristian Peraferrer (1): + Print errno upon failure to open the COMMIT_EDITMSG file + +Daniel Barkalow (1): + Only use GIT_CONFIG in "git config", not other programs + +David Reiss (4): + Implement normalize_absolute_path + Fold test-absolute-path into test-path-utils + Add support for GIT_CEILING_DIRECTORIES + Eliminate an unnecessary chdir("..") + +Dmitry Kakurin (1): + Fixed text file auto-detection: treat EOF character 032 at the end of file as printable + +Dmitry Potapov (4): + update-hook-example: optionally allow non-fast-forward + shrink git-shell by avoiding redundant dependencies + completion.bash: add 'skip' and 'run' to git-bisect + git-svn: fix git svn info to work without arguments + +Don Zickus (1): + git-apply: handle a patch that touches the same path more than once better + +Eric Hanchrow (2): + user-manual: typo and grammar fixes + Documentation: fix broken "linkgit" links + +Eric Raible (3): + Documentation: tweak use case in "git stash save --keep-index" + completion: add branch options --contains --merged --no-merged + Teach lookup_prog not to select directories + +Eric Wong (1): + t/lib-git-svn: fix SVN_HTTPD tests to work with "trash directory" + +Fabian Emmes (2): + Testsuite: Unset CVS_SERVER + testsuite for cvs co -c + +Frederik Schwarzer (1): + git-svn: typofix + +Ian Katz (1): + tutorial: use prompt with user names in example, to clarify who is doing what + +Jakub Narębski (4): + gitweb: Separate filling list of projects info + gitweb: Separate generating 'sort by' table header + t/README: Add 'Skipping Tests' section below 'Running Tests' + gitweb: Describe projects_index format in more detail + +Jeff King (9): + fix whitespace violations in test scripts + mask necessary whitespace policy violations in test scripts + avoid whitespace on empty line in automatic usage message + avoid trailing whitespace in zero-change diffstat lines + enable whitespace checking of test scripts + clone: create intermediate directories of destination repo + improve for-each-ref test script + Allow per-command pager config + avoid null SHA1 in oldest reflog + +Jing Xue (1): + Add 'git-p4.allowSubmit' to git-p4 + +Johan Herland (4): + Incorporate fetched packs in future object traversal + Move pack_refs() and friends into libgit + Prepare testsuite for a "git clone" that packs refs + Teach "git clone" to pack refs + +Johannes Schindelin (12): + Windows: always chmod(, 0666) before unlink(). + commit-tree: lift completely arbitrary limit of 16 parents + Allow git-apply to recount the lines in a hunk (AKA recountdiff) + Add another fast-import example, this time for .zip files + Teach "git apply" to prepend a prefix with "--root=<root>" + git fetch-pack: do not complain about "no common commits" in an empty repo + Allow cherry-picking root commits + Convert CR/LF to LF in tag signatures + Move MERGE_RR from .git/rr-cache/ into .git/ + git-gui: MERGE_RR lives in .git/ directly with newer Git versions + shortlog: support --pretty=format: option + Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge" + +Johannes Sixt (38): + Add compat/regex.[ch] and compat/fnmatch.[ch]. + Compile some programs only conditionally. + Add target architecture MinGW. + Windows: Use the Windows style PATH separator ';'. + setup.c: Prepare for Windows directory separators. + Windows: Treat Windows style path names. + Windows: Handle absolute paths in safe_create_leading_directories(). + Windows: Strip ".exe" from the program name. + Windows: Implement a wrapper of the open() function. + Windows: A minimal implemention of getpwuid(). + Windows: Work around misbehaved rename(). + Make my_mktime() public and rename it to tm_to_time_t() + Windows: Implement gettimeofday(). + Windows: Fix PRIuMAX definition. + Windows: Implement setitimer() and sigaction(). + Windows: Wrap execve so that shell scripts can be invoked. + Windows: A pipe() replacement whose ends are not inherited to children. + Windows: Implement start_command(). + Windows: A rudimentary poll() emulation. + Windows: Disambiguate DOS style paths from SSH URLs. + Windows: Implement asynchronous functions as threads. + Windows: Work around incompatible sort and find. + Windows: Implement wrappers for gethostbyname(), socket(), and connect(). + Windows: Implement a custom spawnve(). + Windows: Add a custom implementation for utime(). + Windows: Use a customized struct stat that also has the st_blocks member. + Turn builtin_exec_path into a function. + Windows: Compute the fallback for exec_path from the program invocation. + Windows: Use a relative default template_dir and ETC_GITCONFIG + When installing, be prepared that template_dir may be relative. + Windows: Make the pager work. + Windows: Work around an oddity when a pipe with no reader is written to. + Windows: Make 'git help -a' work. + Windows: TMP and TEMP environment variables specify a temporary directory. + git-gui: Implement "Stage/Unstage Line" + t4127-apply-same-fn: Avoid sed -i + Provide fallback definitions of PRIu32 and PRIx32 + builtin-clone: rewrite guess_dir_name() + +Jonathan Nieder (23): + Documentation: don't assume git-sh-setup and git-parse-remote are in PATH + Documentation: fix links to tutorials and other new manual pages + whitespace fix in Documentation/git-repack.txt + Documentation: complicate example of "man git-command" + git-daemon(1): don't assume git-daemon is in /usr/bin + Documentation: prepare to be consistent about "git-" versus "git " + Documentation: be consistent about "git-" versus "git " + Documentation formatting and cleanup + git-format-patch(1): fix stray \ in output + Documentation: fix gitlinks + manpages: fix bogus whitespace + git(1): add comma + git-commit(1): depersonalize description + Documentation: rewrap to prepare for "git-" vs "git " change + Documentation: more "git-" versus "git " changes + gitdiffcore(7): fix awkward wording + manpages: italicize command names in synopses + manpages: italicize command names + manpages: italicize git command names (which were in teletype font) + manpages: italicize gitk's name (where it was in teletype font) + manpages: italicize nongit command names (if they are in teletype font) + manpages: italicize git subcommand names (which were in teletype font) + manpages: use teletype font for sample command lines + +João Abecasis (1): + git-svn: find-rev and rebase for SVN::Mirror repositories + +Junio C Hamano (65): + revision traversal: --children option + rev-list --children + builtin-blame.c: move prepare_final() into a separate function. + builtin-blame.c: allow more than 16 parents + git-blame --reverse + rerere: rerere_created_at() and has_resolution() abstraction + git-rerere: detect unparsable conflicts + rerere: remove dubious "tail_optimization" + t4200: fix rerere test + rerere.autoupdate + git-shell: accept "git foo" form + Prepare execv_git_cmd() for removal of builtins from the filesystem + pre-rebase hook update + Ship sample hooks with .sample suffix + Keep some git-* programs in $(bindir) + Start draft release notes for 1.6.0 + diff --check: explain why we do not care whether old side is binary + check_and_emit_line(): rename and refactor + checkdiff: pass diff_options to the callback + Teach "diff --check" about new blank lines at end + diff --check: detect leftover conflict markers + Update sample pre-commit hook to use "diff --check" + Document the double-dash "rev -- path" disambiguator + t9700: skip when Test::More is not available + Update draft release notes for 1.6.0 + Introduce get_merge_bases_many() + Introduce reduce_heads() + Update draft release notes for 1.6.0 + apply --root: thinkofix. + Refactor "tracking statistics" code used by "git checkout" + git-status: show the remote tracking statistics + git-branch -v: show the remote tracking statistics + fast-export --export-marks: fix off by one error + stat_tracking_info(): clear object flags used during counting + branch -r -v: do not spit out garbage + git-apply --directory: make --root more similar to GNU diff + Update draft release notes for 1.6.0 + Teach "am" and "rebase" to mark the original position with ORIG_HEAD + Tone down warning about GNU Interactive Tools + Documentation: update sections on naming revisions and revision ranges + branch --contains: default to HEAD + branch --merged/--no-merged: allow specifying arbitrary commit + apply: fix copy/rename breakage + Teach merge.log to "git-merge" again + Update draft release notes for 1.6.0 + reduce_heads(): protect from duplicate input + git-rebase: report checkout failure + tutorial: clarify "pull" is "fetch + merge" + Update draft release notes to 1.6.0 + t/aggregate-results: whitespace fix + Update draft release notes for 1.6.0 + read-cache.c: typofix + mailinfo: off-by-one fix for [PATCH (foobar)] removal from Subject: line + rerere.autoupdate: change the message when autoupdate is in effect + builtin-remote.c: fix earlier "skip_prefix()" conversion + t9001 (send-email): Do not use hardcoded /bin/sh in test + .mailmap update + Getting closer to 1.6.0-rc0 + builtin-add.c: restructure the code for maintainability + git-add --all: add all files + git-add --all: tests + git-add --all: documentation + Link shell with compat layer functions + Move read_in_full() and write_in_full() to wrapper.c + "needs update" considered harmful + +Karl Wiberg (2): + Clean up builtin-update-ref's option parsing + Make old sha1 optional with git update-ref -d + +Kevin Ballard (1): + git-send-email: Accept fifos as well as files + +Lars Noschinski (3): + cvsserver: Add support for packed refs + cvsserver: Add cvs co -c support + cvsserver: Add testsuite for packed refs + +Lea Wiemann (6): + test-lib.sh: add --long-tests option + t/test-lib.sh: add test_external and test_external_without_stderr + Git.pm: add test suite + gitweb: standarize HTTP status codes + test-lib.sh: show git init output when in verbose mode + GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy + +Linus Torvalds (1): + Shrink the git binary a bit by avoiding unnecessary inline functions + +Lukas Sandström (4): + Add a helper script to send patches with Mozilla Thunderbird + Make some strbuf_*() struct strbuf arguments const. + Add some useful functions for strbuf manipulation. + git-mailinfo: use strbuf's instead of fixed buffers + +Marius Storm-Olsen (4): + Add an optional <mode> argument to commit/status -u|--untracked-files option + Add argument 'no' commit/status option -u|--untracked-files + Add configuration option for default untracked files mode + Windows: Add a new lstat and fstat implementation based on Win32 API. + +Mark Levedahl (3): + install-doc-quick - use git --exec-path to find git-sh-setup + git-submodule - make "submodule add" more strict, and document it + git-submodule - register submodule URL if adding in place + +Michele Ballabio (3): + t9301-fast-export.sh: Remove debug line + builtin-merge.c: Fix option parsing + builtin-push.c: Cleanup - use OPT_BIT() and remove some variables + +Mike Hommey (4): + Catch failures from t5540-http-push + Fix http-push test + Skip t5540-http-push test when USE_CURL_MULTI is undefined + Avoid apache complaining about lack of server's FQDN + +Mike Pape (1): + We need to check for msys as well as Windows in add--interactive. + +Miklos Vajna (27): + A simple script to parse the results from the testcases + Move split_cmdline() to alias.c + Move commit_list_count() to commit.c + Move parse-options's skip_prefix() to git-compat-util.h + Add new test to ensure git-merge handles pull.twohead and pull.octopus + Move read_cache_unmerged() to read-cache.c + git-fmt-merge-msg: make it usable from other builtins + Introduce get_octopus_merge_bases() in commit.c + Add new test to ensure git-merge handles more than 25 refs. + Add new test case to ensure git-merge reduces octopus parents when possible + Retire 'stupid' merge strategy + INSTALL: Update section about git-frotz form. + hg-to-git: avoid raising a string exception + hg-to-git: abort if the project directory is not a hg repo + hg-to-git: rewrite "git-frotz" to "git frotz" + hg-to-git: use git init instead of git init-db + Add new test case to ensure git-merge prepends the custom merge message + git-commit-tree: make it usable from other builtins + Fix t7601-merge-pull-config.sh on AIX + Build in merge + t0001-init.sh: change confusing directory name + t1007-hash-object.sh: use quotes for the test description + git-bisect: use dash-less form on git bisect log + make remove-dashes: apply to scripts and programs as well, not just to builtins + t6021: add a new test for git-merge-resolve + Add a new test for git-merge-resolve + Teach 'git merge' that some merge strategies no longer exist + +Nanako Shiraishi (7): + environment.c: remove unused function + config.c: make git_env_bool() static + gitcli: Document meaning of --cached and --index + cache-tree.c: make cache_tree_find() static + builtin-describe.c: make a global variable "pattern" static + parse-options.c: make check_typos() static + git am --abort + +Nguyễn Thái Ngọc Duy (1): + Move all dashed-form commands to libexecdir + +Nicolas Pitre (11): + call init_pack_revindex() lazily + implement some resilience against pack corruptions + test case for pack resilience against corruptions + refactor pack structure allocation + optimize verify-pack a bit + move show_pack_info() where it belongs + verify-pack: check packed object CRC when using index version 2 + verify-pack: test for detection of index v2 object CRC mismatch + repack.usedeltabaseoffset config option now defaults to "true" + pack.indexversion config option now defaults to 2 + restore legacy behavior for read_sha1_file() + +Olivier Marin (3): + Documentation: remove {show,whatchanged}.difftree config options + show_stats(): fix stats width calculation + builtin-rerere: more carefully find conflict markers + +Patrick Higgins (1): + Remove the use of '--' in merge program invocation + +Pavel Roskin (1): + t9600: allow testing with cvsps 2.2, including beta versions + +Peter Harris (1): + Add ANSI control code emulation for the Windows console + +Petr Baudis (6): + Git.pm: Add remote_refs() git-ls-remote frontend + Documentation/git-submodule.txt: Add Description section + Documentation/RelNotes-1.6.0.txt: Expand on the incompatible packfiles + Documentation/git-submodule.txt: Further clarify the description + Documentation: How to ignore local changes in tracked files + Documentation/git-merge.txt: Partial rewrite of How Merge Works + +Pierre Habouzit (13): + parse-opt: have parse_options_{start,end}. + parse-opt: Export a non NORETURN usage dumper. + parse-opt: create parse_options_step. + parse-opt: do not print errors on unknown options, return -2 intead. + parse-opt: fake short strings for callers to believe in. + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option. + revisions: split handle_revision_opt() from setup_revisions() + git-blame: migrate to incremental parse-option [1/2] + git-blame: migrate to incremental parse-option [2/2] + parse-options: add PARSE_OPT_LASTARG_DEFAULT flag + git-blame: fix lapsus + git-shortlog: migrate to parse-options partially. + revisions: refactor handle_revision_opt into parse_revision_opt. + +Pieter de Bie (1): + builtin-fast-export: Add importing and exporting of revision marks + +Rafael Garcia-Suarez (1): + gitweb: remove git_blame and rename git_blame2 to git_blame + +Ramsay Jones (4): + Fix some warnings (on cygwin) to allow -Werror + t9113-*.sh: provide user feedback when test skipped + t9100-git-svn-basic.sh: Fix determination of utf-8 locale + git-request-pull: replace call to deprecated peek-remote + +René Scharfe (9): + Teach new attribute 'export-ignore' to git-archive + archive: remove args member from struct archiver + add context pointer to read_tree_recursive() + archive: add baselen member to struct archiver_args + archive: centralize archive entry writing + archive: unify file attribute handling + archive: remove extra arguments parsing code + archive: make zip compression level independent from core git + archive: remove unused headers + +Richard Quirk (1): + git-gui: Fix accidental staged state toggle when clicking top pixel row + +Robert Shearman (1): + git-send-email: Fix authenticating on some servers when using TLS. + +SZEDER Gábor (1): + stash: introduce 'stash save --keep-index' option + +Shawn O. Pearce (2): + Correct documentation for git-push --mirror + bash completion: Remove dashed command completion support + +Soeren Finster (1): + git-gui: Exit shortcut in MacOSX repaired + +Steffen Prohaska (5): + Windows: Fix ntohl() related warnings about printf formatting + compat/pread.c: Add a forward declaration to fix a warning + Move code interpreting path relative to exec-dir to new function system_path() + help.c: Add support for htmldir relative to git_exec_path() + help (Windows): Display HTML in default browser using Windows' shell API + +Stephan Beyer (10): + api-builtin.txt: update and fix typo + t3404: stricter tests for git-rebase--interactive + rerere: Separate libgit and builtin functions + t/test-lib.sh: exit with small negagive int is ok with test_must_fail + t/: Use "test_must_fail git" instead of "! git" + Make usage strings dash-less + git-am/git-mailsplit: correct synopsis for reading from stdin + t3404: test two "preserve merges with -p" cases + Make rebase--interactive use OPTIONS_SPEC + Link git-shell only to a subset of libgit.a + +SungHyun Nam (1): + t/Makefile: use specified shell when running aggregation script + +Sverre Hvammen Johansen (1): + reduce_heads(): thinkofix + +Sverre Rabbelier (2): + Modify test-lib.sh to output stats to t/test-results/* + Hook up the result aggregation in the test makefile. + +Ted Percival (1): + Don't use dash commands (git-foo) in tutorial-2 + +Teemu Likonen (3): + bash: Add more option completions for 'git log' + Add target "install-html" the the top level Makefile + bash: Add long option completion for 'git send-email' + +Thomas Rast (7): + git-send-email: add support for TLS via Net::SMTP::SSL + git-send-email: prevent undefined variable warnings if no encryption is set + git-add--interactive: replace hunk recounting with apply --recount + git-add--interactive: remove hunk coalescing + git-add--interactive: manual hunk editing mode + git-send-email: Do not attempt to STARTTLS more than once + Fix apply --recount handling of no-EOL line + + +Version v1.5.6.6; changes since v1.5.6.5: +----------------------------------------- + +Alexander Gavrilov (1): + Fix quadratic performance in rewrite_one. + +Brandon Casey (1): + t5304-prune: adjust file mtime based on system time rather than file mtime + +Francis Moreau (1): + git-bisect: fix wrong usage of read(1) + +Ivan Stankovic (1): + Documentation: fix invalid reference to 'mybranch' in user manual + +Junio C Hamano (8): + Per-ref reflog expiry configuration + Make default expiration period of reflog used for stash infinite + asciidoc markup fixes + Fix deleting reflog entries from HEAD reflog + Re-fix rev-list-options documentation + Do not talk about "diff" in rev-list documentation. + gitweb: do not run "git diff" that is Porcelain + GIT 1.5.4.7 + +Kevin Ballard (1): + Fix escaping of glob special characters in pathspecs + +Linus Torvalds (4): + Split up default "core" config parsing into helper routine + Split up default "user" config parsing into helper routine + Split up default "i18n" and "branch" config parsing into helper routines + Add config option to enable 'fsync()' of object files + +Petr Baudis (1): + Fail properly when cloning from invalid HTTP URL + +Pieter de Bie (1): + reflog test: add more tests for 'reflog delete' + +Thomas Rast (1): + Documentation: rev-list-options: Fix -g paragraph formatting + + +Version v1.5.6.5; changes since v1.5.6.4: +----------------------------------------- + +Anders Melchiorsen (1): + Documentation: fix diff.external example + +Björn Steinbrink (1): + index-pack.c: correctly initialize appended objects + +Brandon Casey (1): + t/t4202-log.sh: add newline at end of file + +Ciaran McCreesh (1): + Make git-add -i accept ranges like 7- + +Jeff King (1): + init: handle empty "template" parameter + +Jim Meyering (1): + git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout. + +Johannes Schindelin (1): + sort_in_topological_order(): avoid setting a commit flag + +Jonathan Nieder (2): + fix usage string for git grep + git-diff(1): "--c" -> "--cc" typo fix + +Junio C Hamano (12): + refresh-index: fix bitmask assignment + tests: propagate $(TAR) down from the toplevel Makefile + Makefile: fix shell quoting + make sure parsed wildcard refspec ends with slash + Documentation: clarify diff --cc + Update my e-mail address + Start 1.5.6.5 RelNotes to describe accumulated fixes + builtin-name-rev.c: split deeply nested part from the main function + RelNotes 1.5.6.5 updates + fix diff-tree --stdin documentation + Files given on the command line are relative to $cwd + GIT 1.5.6.5 + +Linus Torvalds (1): + diff.renamelimit is a basic diff configuration + +Mike Ralphson (1): + Documentation: typos / spelling fixes in older RelNotes + +Peter Valdemar Mørch (1): + send-email: find body-encoding correctly + +Pierre Habouzit (2): + git-checkout: fix command line parsing. + git-submodule: move ill placed shift. + +Pieter de Bie (1): + git-name-rev: allow --name-only in combination with --stdin + +René Scharfe (1): + git-name-rev: don't use printf without format + +Stephan Beyer (1): + builtin-revert.c: typofix + +Steve Haslam (1): + Propagate -u/--upload-pack option of "git clone" to transport. + + +Version v1.5.6.4; changes since v1.5.6.3: +----------------------------------------- + +Dmitry Potapov (3): + Fix buffer overflow in git-grep + Fix buffer overflow in git diff + Fix buffer overflow in prepare_attr_stack + +Johannes Schindelin (3): + git daemon: avoid calling syslog() from a signal handler + Add pretty format %aN which gives the author name, respecting .mailmap + git fetch-pack: do not complain about "no common commits" in an empty repo + +Johannes Sixt (1): + t7600-merge: Use test_expect_failure to test option parsing + +Junio C Hamano (4): + Start preparing 1.5.6.4 release notes + rev-list: honor --quiet option + http-fetch: do not SEGV after fetching a bad pack idx file + GIT 1.5.6.4 + +Lars Noschinski (1): + git-cvsserver: fix call to nonexistant cleanupWorkDir() + +Lukas Sandström (1): + git-mailinfo: Fix getting the subject from the in-body [PATCH] line + +Olivier Marin (1): + builtin-rm: fix index lock file path + +Petr Baudis (1): + Documentation/git-cherry-pick.txt et al.: Fix misleading -n description + +Shawn O. Pearce (9): + Correct pack memory leak causing git gc to try to exceed ulimit + bash completion: Improve responsiveness of git-log completion + bash completion: Don't offer "a.." as a completion for "a." + bash completion: Append space after file names have been completed + bash completion: Resolve git show ref:path<tab> losing ref: portion + index-pack: Refactor base arguments of resolve_delta into a struct + index-pack: Chain the struct base_data on the stack for traversal + index-pack: Track the object_entry that creates each base_data + index-pack: Honor core.deltaBaseCacheLimit when resolving deltas + +Stephan Beyer (2): + rebase-i: keep old parents when preserving merges + api-run-command.txt: typofix + + +Version v1.5.6.3; changes since v1.5.6.2: +----------------------------------------- + +Alex Riesen (1): + git-clone: remove leftover debugging fprintf(). + +Brian Hetro (5): + builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix' + convert.c: Use 'git_config_string' to get 'smudge' and 'clean' + diff.c: Use 'git_config_string' to get 'diff.external' + http.c: Use 'git_config_string' to clean up SSL config. + builtin-commit.c: Use 'git_config_string' to get 'commit.template' + +Christian Couder (1): + Fix "config_error_nonbool" used with value instead of key + +Gerrit Pape (1): + git-svn.perl: workaround assertions in svn library 1.5.0 + +Jeff King (1): + make deleting a missing ref more quiet + +Johannes Schindelin (1): + run_command(): respect GIT_TRACE + +Junio C Hamano (6): + attribute documentation: keep EXAMPLE at end + clone -q: honor "quiet" option over native transports. + mailinfo: feed the correct line length to decode_transfer_encoding() + Start preparing release notes for 1.5.6.3 + t0004: fix timing bug + GIT 1.5.6.3 + +Linus Torvalds (1): + racy-git: an empty blob has a fixed object name + +Lukas Sandström (1): + git-mailinfo: document the -n option + +Mark Levedahl (1): + git-submodule - Fix bugs in adding an existing repo as a module + +Matthew Ogilvie (1): + Documentation cvs: Clarify when a bare repository is needed + +Mikael Magnusson (1): + Fix grammar in git-rev-parse(1). + +Nikolaus Schulz (1): + Documentation: be precise about which date --pretty uses + +Petr Baudis (1): + Fix backwards-incompatible handling of core.sharedRepository + +SZEDER Gábor (1): + bash: offer only paths after '--' + +Shawn O. Pearce (1): + Remove unnecessary pack-*.keep file after successful git-clone + +Stephan Beyer (1): + git-am: Do not exit silently if committer is unset + + +Version v1.5.6.2; changes since v1.5.6.1: +----------------------------------------- + +Avery Pennarun (1): + git-svn: avoid filling up the disk with temp files. + +Björn Steinbrink (1): + git cat-file: Fix memory leak in batch mode + +Eric Wong (1): + git-svn: don't sanitize remote names in config + +Jeff King (3): + fetch: report local storage errors in status table + doc/rev-parse: clarify reflog vs --until for specifying revisions + fetch: give a hint to the user when local refs fail to update + +Jochen Voss (1): + avoid off-by-one error in run_upload_archive + +Joey Hess (1): + fix git config example syntax + +Johannes Schindelin (2): + clone: respect url.insteadOf setting in global configs + clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig + +Junio C Hamano (9): + Allow "git-reset path" when unambiguous + diff --check: do not discard error status upon seeing a good line + git-shell: accept "git foo" form + GIT 1.5.4.6 + GIT 1.5.5.5 + Start draft release notes for 1.5.6.2 + Work around gcc warnings from curl headers + Fix executable bits in t/ scripts + GIT 1.5.6.2 + +Shawn O. Pearce (1): + Fix describe --tags --long so it does not segfault + +Thomas Rast (1): + Fix 'git show' on signed tag of signed tag of commit + + +Version v1.5.6.1; changes since v1.5.6: +--------------------------------------- + +Brandon Casey (2): + git-merge.sh: fix typo in usage message: sucesses --> succeeds + t7502-commit.sh: test_must_fail doesn't work with inline environment variables + +Dan McGee (1): + completion: add --graph to log command completion + +Dmitry Potapov (1): + fix update-hook-example to work with packed tag references + +Jan Krüger (2): + Documentation: fix formatting in git-svn + git-svn: make rebuild respect rewriteRoot option + +Jeff King (2): + for-each-ref: implement missing tag values + clone: create intermediate directories of destination repo + +Junio C Hamano (2): + diff -c/--cc: do not include uninteresting deletion before leading context + GIT 1.5.6.1 + +Linus Torvalds (1): + Make git_dir a path relative to work_tree in setup_work_tree() + +Michele Ballabio (1): + parse-options.c: fix documentation syntax of optional arguments + +Patrick Higgins (1): + Workaround for AIX mkstemp() + +Stephan Beyer (4): + git-rebase.sh: Add check if rebase is in progress + api-builtin.txt: update and fix typo + api-parse-options.txt: Introduce documentation for parse options API + Extend parse-options test suite + + +Version v1.5.6; changes since v1.5.6-rc3: +----------------------------------------- + +Alejandro Mery (1): + git-am: head -1 is obsolete and doesn't work on some new systems + +Christian Couder (1): + Documentation: RelNotes-1.5.6: talk about renamed HTML files + +Jeff King (1): + clean up error conventions of remote.c:match_explicit + +Johan Herland (3): + cpio is no longer used by git-clone + Consistency: Use "libcurl" instead of "cURL library" and "curl" + The "curl" executable is no longer required + +Junio C Hamano (7): + Makefile: update check-docs target + Update RPM spec to drop curl executable requirement + diff.c: fix emit_line() again not to add extra line + create_tempfile: make sure that leading directories can be accessible by peers + sha1_file.c: simplify parse_pack_index() + builtin-rerere: fix a small leak + GIT 1.5.6 + +Lea Wiemann (2): + gitweb: quote commands properly when calling the shell + gitweb: remove unused parse_ref method + +Linus Torvalds (1): + write_loose_object: don't bother trying to read an old object + +Miklos Vajna (2): + run-command documentation: fix "memset()" parameter + path-list documentation: document all functions and data structures + +Olivier Marin (1): + Fix approxidate("never") to always return 0 + +Pierre Habouzit (1): + Make git reflog expire honour core.sharedRepository. + +SZEDER Gábor (1): + diff: reset color before printing newline + + +Version v1.5.6-rc3; changes since v1.5.6-rc2: +--------------------------------------------- + +Ask Bjørn Hansen (2): + gitweb setup instruction: rewrite HEAD and root as well + send-email: Allow the envelope sender to be set via configuration + +Avery Pennarun (2): + git-svn: don't append extra newlines at the end of commit messages. + git-svn: test that extra blank lines aren't inserted in commit messages. + +Boyd Lynn Gerber (2): + progress.c: avoid use of dynamic-sized array + Port to 12 other Platforms. + +Chris Ridd (1): + Improve sed portability + +Christian Couder (1): + documentation: bisect: remove bits talking about a bisection branch + +Flavio Poletti (1): + git-instaweb: improve auto-discovery of httpd and call conventions. + +Fred Maranhão (1): + fix typo in tutorial + +Geoffrey Irving (1): + doc: adding gitman.info and *.texi to .gitignore + +Jakub Narębski (2): + gitweb: Make it work with $GIT containing spaces + Use 'trash directory' thoroughly in t/test-lib.sh + +Jeff King (1): + document --pretty=tformat: option + +Johannes Schindelin (1): + merge-recursive: respect core.autocrlf when writing out the result + +Johannes Sixt (2): + make_nonrelative_path: Use is_absolute_path() + Remove exec bit from builtin-fast-export.c + +Junio C Hamano (8): + http-push.c: remove duplicated code + "remote prune": be quiet when there is nothing to prune + Documentation/git-pull.txt: Use more standard [NOTE] markup + Documentation: exclude @pxref{[REMOTES]} from texinfo intermediate output + user-manual: describe how higher stages are set during a merge + t4126: fix test that happened to work due to timing + sha1_file.c: dead code removal + GIT 1.5.6-rc3 + +Lea Wiemann (4): + t1006-cat-file.sh: typo + cat-file --batch / --batch-check: do not exit if hashes are missing + Documentation/git-cat-file.txt: add missing line break + t/.gitattributes: only ignore whitespace errors in test files + +Linus Torvalds (4): + Consolidate SHA1 object file close + Avoid cross-directory renames and linking on object creation + Make loose object file reading more careful + Simplify and rename find_sha1_file() + +Marius Storm-Olsen (1): + Add testcase for merging in a CRLF repo + +Mark Levedahl (1): + git-submodule - Fix errors regarding resolve_relative_url + +Mikael Magnusson (1): + Typo in RelNotes. + +Mike Hommey (1): + Don't allocate too much memory in quote_ref_url + +Miklos Vajna (3): + Remove unused code in parse_commit_buffer() + git-rebase -i: mention the short command aliases in the todo list + git-read-tree: document -v option. + +Olivier Marin (4): + remote show: fix the -n option + builtin-remote: split show_or_prune() in two separate functions + remote prune: print the list of pruned branches + remote show: list tracked remote branches with -n + +Paul Mackerras (1): + gitk: Handle detached heads better + +Philippe Bruhat (1): + git-cvsimport: do not fail when CVSROOT is / + +Pieter de Bie (1): + git-send-email: allow whitespace in addressee list + +René Scharfe (1): + Ignore .gitattributes in bare repositories + +SZEDER Gábor (2): + git add: add long equivalents of '-u' and '-f' options + completion: add more 'git add' options + +Shawn O. Pearce (1): + fast-export: Correctly generate initial commits with no parents + +Stephan Beyer (6): + git-commit.txt: Correct option alternatives + git-commit.txt: Add missing long/short options + Docs: Use "-l::\n--long\n" format in OPTIONS sections + Docs: add some long/short options + git-describe.txt: document --always + git-name-rev.txt: document --no-undefined and --always + + +Version v1.5.6-rc2; changes since v1.5.6-rc1: +--------------------------------------------- + +Adam Simpkins (2): + graph API: fix "git log --graph --first-parent" + git log --graph: print '*' for all commits, including merges + +Alex Riesen (1): + Fix t5516 on cygwin: it does not like double slashes at the beginning of a path + +Björn Steinbrink (1): + name-rev: Fix segmentation fault when using --all + +Christian Couder (2): + documentation: convert "diffcore" and "repository-layout" to man pages + documentation: move git(7) to git(1) + +Daniel Barkalow (1): + Use nonrelative paths instead of absolute paths for cloned repositories + +Dirk Süsserott (1): + Documentation/git-mailsplit: Enhanced description of -o option + +Jakub Narębski (1): + gitweb: Add charset info to "raw" output of 'text/plain' blobs + +Jeff King (1): + Fix "git clone http://$URL" to check out the worktree when asked + +Junio C Hamano (6): + t7502: do not globally unset GIT_COMMITTER_* environment variables + t7502: tighten loosely written test sequence + Documentation: git-log cannot use rev-list specific options + t7502: honor SHELL_PATH + GIT 1.5.5.4 + GIT 1.5.6-rc2 + +Lea Wiemann (2): + cat-file --batch: flush stdout also when objects are missing + git-for-each-ref.txt: minor improvements + +Michael Dressel (1): + describe: match pattern for lightweight tags too + +Miklos Vajna (1): + Strbuf documentation: document most functions + +Teemu Likonen (1): + Print info about "git help COMMAND" on git's main usage pages + + +Version v1.5.6-rc1; changes since v1.5.6-rc0: +--------------------------------------------- + +Adam Simpkins (2): + graph API: improve display of merge commits + graph API: avoid printing unnecessary padding before some octopus merges + +Christian Couder (2): + bisect: use "$GIT_DIR/BISECT_START" to check if we are bisecting + Documentation: convert "glossary" and "core-tutorial" to man pages + +Christian Engwer (1): + git-svn fails in prop_walk if $self->{path} is not empty + +Dmitry V. Levin (1): + builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value + +Gerrit Pape (2): + Documentation/git-bundle.txt: fix synopsis + commit --interactive: properly update the index before commiting + +Jakub Narębski (2): + gitweb: Remove gitweb/test/ directory + gitweb: Fix "next" link on bottom of page + +Jamis Buck (1): + git-reset: honor -q and do not show progress message + +Jeff King (1): + clone: make sure we support the transport type + +Johannes Schindelin (1): + hg-to-git: add --verbose option + +Johannes Sixt (3): + t5700-clone-reference: Quote $U + Revert "filter-branch: subdirectory filter needs --full-history" + rebase --interactive: Compute upstream SHA1 before switching branches + +John J. Franey (1): + Clarify description of <repository> argument to pull/fetch for naming remotes. + +Junio C Hamano (25): + tests: do not use implicit "git diff --no-index" + diff-files: do not play --no-index games + "git diff": do not ignore index without --no-index + Update draft release notes for 1.5.6 + log --graph: do not accept log --graphbogus + log --pretty: do not accept bogus "--prettyshort" + Release Notes for 1.5.5.2 + Documentation/git.txt: link to 1.5.5.2 documentation. + Makefile: fix dependency on wt-status.h + show-branch --current: do not barf on detached HEAD + git-diff: allow --no-index semantics a bit more + git diff --no-index: default to page like other diff frontends + GIT 1.5.5.3 + t5100: Avoid filename "nul" + Git::cat_blob: allow using an empty blob to fix git-svn breakage + fix sha1_pack_index_name() + Manual subsection to refer to other pages is SEE ALSO + Documentation: git-cherry uses git-patch-id + "git checkout -- paths..." should error out when paths cannot be written + checkout: make reset_clean_to_new() not die by itself + checkout: consolidate reset_{to_new,clean_to_new}() + unpack_trees(): allow callers to differentiate worktree errors from merge errors + checkout: "best effort" checkout + commit: drop duplicated parents + GIT v1.5.6-rc1 + +Karl Wiberg (3): + Add some tests for git update-ref -d + Fix path duplication in git svn commit-diff + Revert "git.el: Set process-environment instead of invoking env" + +Kevin Ballard (1): + Documentation/git-filter-branch.txt: Fix description of --commit-filter + +Lea Wiemann (5): + gitweb: only display "next" links in logs if there is a next page + t/test-lib.sh: resolve symlinks in working directory, for pathname comparisons + Git.pm: fix documentation of hash_object + glossary: improve a few links + Git.pm: fix return value of config method + +Linus Torvalds (2): + Make pack creation always fsync() the result + Remove now unnecessary 'sync()' calls + +Luciano Rocha (1): + git-init: accept --bare option + +Marius Storm-Olsen (2): + Clearify the documentation for core.ignoreStat + Add shortcut in refresh_cache_ent() for marked entries. + +Michele Ballabio (1): + Documentation: fix graph in git-rev-parse.txt + +Miklos Vajna (1): + Revision walking documentation: document most important functions + +Nicolas Pitre (1): + make verify-pack a bit more useful with bad packs + +Paolo Bonzini (1): + rollback lock files on more signals than just SIGINT + +Pieter de Bie (1): + builtin-fast-export: Only output a single parent per line + +Seth Falcon (1): + Add a --dry-run option to git-svn rebase + +Shawn O. Pearce (8): + git-gui: Add a --trace command line option + git-gui: Handle workdir detection when CYGWIN=nowinsymlinks + Don't diff empty tree on branch creation in paranoid update hook + Don't load missing ACL files in paranoid update hook + Ignore no-op changes in paranoid update hook + Remove unused remote_prefix member in builtin-remote + Make "git-remote prune" delete refs according to fetch specs + Make "git-remote rm" delete refs acccording to fetch specs + +Stephan Beyer (2): + Add test cases for git-am + Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh + +Twiinz (1): + git-gui: Vertically align textboxes with labels + + +Version v1.5.6-rc0; changes since v1.5.5.6: +------------------------------------------- + +Adam Roben (11): + Add tests for git cat-file + git-cat-file: Small refactor of cmd_cat_file + git-cat-file: Make option parsing a little more flexible + git-cat-file: Add --batch-check option + git-cat-file: Add --batch option + Move git-hash-object tests from t5303 to t1007 + Add more tests for git hash-object + git-hash-object: Add --stdin-paths option + Git.pm: Add command_bidi_pipe and command_close_bidi_pipe + Git.pm: Add hash_and_insert_object and cat_blob + git-svn: Speed up fetch + +Adam Simpkins (11): + Remove dead code: show_log() sep argument and diff_options.msg_sep + log: print log entry terminator even if the message is empty + revision API: split parent rewriting and parent printing options + Add history graph API + log and rev-list: add --graph option + graph API: eliminate unnecessary indentation + graph API: fix graph mis-alignment after uninteresting commits + graph API: don't print branch lines for uninteresting merge parents + log --graph --left-right: show left/right information in place of '*' + Fix output of "git log --graph --boundary" + get_revision(): honor the topo_order flag for boundary commits + +Alex Riesen (10): + Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh + Improve reporting of errors in config file routines + Make the exit code of add_file_to_index actually useful + Extend interface of add_files_to_cache to allow ignore indexing errors + Add --ignore-errors to git-add to allow it to skip files with read errors + Add a test for git-add --ignore-errors + Add a config option to ignore errors for git-add + Ensure that a test is run in the trash directory + Fix t6031 on filesystems without working exec bit + Fix t3701 if core.filemode disabled + +Anders Waldenborg (1): + gitweb: Convert string to internal form before chopping in chop_str + +Avery Pennarun (3): + git-svn: add documentation for --use-log-author option. + git-svn: Add --add-author-from option. + git-svn: add documentation for --add-author-from option. + +Bart Trojanowski (1): + make git-status use a pager + +Brandon Casey (7): + filter-branch.sh: support nearly proper tag name filtering + compat/fopen.c: avoid clobbering the system defined fopen macro + repack: modify behavior of -A option to leave unreferenced objects unpacked + git-gc: always use -A when manually repacking + builtin-gc.c: deprecate --prune, it now really has no effect + builtin-clone.c: Need to closedir() in copy_or_link_directory() + t/Makefile: "trash" directory was renamed recently + +Bryan Donlan (10): + git-rebase.sh: Fix --merge --abort failures when path contains whitespace + config.c: Escape backslashes in section names properly + git-send-email.perl: Handle shell metacharacters in $EDITOR properly + test-lib.sh: Add a test_set_editor function to safely set $VISUAL + Use test_set_editor in t9001-send-email.sh + test-lib.sh: Fix some missing path quoting + lib-git-svn.sh: Fix quoting issues with paths containing shell metacharacters + Don't use the 'export NAME=value' in the test scripts. + Fix tests breaking when checkout path contains shell metacharacters + Rename the test trash directory to contain spaces. + +Caio Marcelo de Oliveira Filho (1): + git-format-patch: add --no-binary to omit binary changes in the patch. + +Chris Frey (2): + Documentation/git-prune.txt: document unpacked logic + Documentation/git-repack.txt: document new -A behaviour + +Chris Parsons (1): + Updated status to show 'Not currently on any branch' in red + +Christian Couder (21): + bisect: add "git bisect help" subcommand to get a long usage string + help: use man viewer path from "man.<tool>.path" config var + documentation: help: add "man.<tool>.path" config variable + help: use "man.<tool>.cmd" as custom man viewer command + documentation: help: add info about "man.<tool>.cmd" config var + documentation: web--browse: add a note about konqueror + rev-parse: teach "--verify" to be quiet when using "-q" or "--quiet" + rev-parse: fix --verify to error out when passed junk after a good rev + Documentation: hooks: fix missing verb in pre-applypatch description + Documentation: rename "hooks.txt" to "githooks.txt" and make it a man page + Documentation: improve "add", "pull" and "format-patch" examples + Documentation: bisect: add a few "git bisect run" examples + rev-parse: add test script for "--verify" + rev-parse: fix using "--default" with "--verify" + rev-parse --verify: do not output anything on error + Documentation: rev-parse: add a few "--verify" and "--default" examples + bisect: add test cases to check that "git bisect start" is atomic + bisect: fix left over "BISECT_START" file when starting with junk rev + bisect: trap critical errors in "bisect_start" + bisect: use a detached HEAD to bisect + Documentation: convert tutorials to man pages + +Christian Stimming (3): + git-gui: Update German translation + gitk: Update German translation + gitk: German translation again updated + +Clemens Buchacher (2): + Reset the signal being handled + http-push: remove remote locks on exit signals + +Clifford Caoile (1): + git.el: Set process-environment instead of invoking env + +Dan McGee (3): + completion: allow 'git remote' subcommand completion + completion: remove use of dashed git commands + Allow cherry-pick (and revert) to add signoff line + +Daniel Barkalow (12): + Make walker.fetch_ref() take a struct ref. + Make ls-remote http://... list HEAD, like for git://... + Mark the list of refs to fetch as const + Add a lockfile function to append to a file + Add a library function to add an alternate to the alternates file + Have a constant extern refspec for "--tags" + Allow for having for_each_ref() list extra refs + Add a function to set a non-default work tree + Provide API access to init_db() + Build in clone + clone: fall back to copying if hardlinking fails + Test that --reference actually suppresses fetching referenced objects + +Dmitry Potapov (1): + git-init: autodetect core.ignorecase + +Dustin Sallings (2): + Allow tracking branches to set up rebase by default. + Allow tracking branches to set up rebase by default. + +Eric Wong (1): + git-svn: fix cloning of HTTP URLs with '+' in their path + +Frank Lichtenheld (4): + var: Don't require to be in a git repository. + Git.pm: Don't require a repository instance for config + Git.pm: Don't require repository instance for ident + send-email: Don't require to be called in a repository + +Gerrit Pape (3): + gitweb: fallback to system-wide config file if default config does not exist + gitweb: fallback to system-wide config file (fixup) + gitk: Makefile/install: force permissions when installing files and dirs + +Govind Salinas (1): + pretty.c: add %x00 format specifier. + +Gustaf Hendeby (6): + git-svn: Make create-ignore use git add -f + Documentation: Add create-ignore to git svn manual + Documentation/config.txt: Add git-gui options + Documentation: Add missing git svn commands + Documentation: Fix skipped section level + Make git add -n and git -u -n output consistent + +Heikki Orsila (7): + Make core.sharedRepository more generic + Document functions xmemdupz(), xread() and xwrite() + Die for an early EOF in a file reading loop + Make read_in_full() and write_in_full() consistent with xread() and xwrite() + Cleanup xread() loops to use read_in_full() + Add log.date config variable + Remove redundant code, eliminate one static variable + +Imran M Yousuf (1): + Use '-f' option to point to the .gitmodules file + +Jakub Narębski (1): + gitweb: Use feed link according to current view + +Jeff King (12): + add--interactive: ignore mode change in 'p'atch command + add--interactive: allow user to choose mode update + git-fetch: always show status of non-tracking-ref fetches + git-remote: show all remotes with "git remote show" + Documentation: point git-prune users to git-gc + add merge.renamelimit config option + bump rename limit defaults + diff: make "too many files" rename warning optional + fix bsd shell negation + t5000: tar portability fix + clone: bsd shell portability fix + filter-branch: fix variable export logic + +Johan Herland (2): + Add a test for another combination of --reference + Add test for cloning with "--reference" repo being a subset of source repo + +Johannes Schindelin (10): + Provide git_config with a callback-data parameter + builtin-clone: fix initial checkout + cvsexportcommit: chomp only removes trailing whitespace + diff options: Introduce --ignore-submodules + Teach update-index about --ignore-submodules + Ignore dirty submodule states during rebase and stash + cvsexportcommit: introduce -W for shared working trees (between Git and CVS) + submodule update: add convenience option --init + pull --rebase: exit early when the working directory is dirty + mailsplit and mailinfo: gracefully handle NUL characters + +Johannes Sixt (3): + builtin-commit.c: Remove a redundant assignment. + git-gui: Report less precise object estimates for database compression + compat-util: avoid macro redefinition warning + +Jon Loeliger (1): + Add otherwise missing --strict option to unpack-objects summary. + +Junio C Hamano (24): + Optimize rename detection for a huge diff + t5300: add test for "unpack-objects --strict" + unpack-objects: fix --strict handling + rebase [--onto O] A B: omit needless checkout + sha1-lookup: more memory efficient search in sorted list of SHA-1 + diff: make --dirstat binary-file safe + sha1-lookup: make selection of 'middle' less aggressive + log: teach "terminator" vs "separator" mode to "--pretty=format" + git_config_bool_or_int() + write_index(): optimize ce_smudge_racily_clean_entry() calls with CE_UPTODATE + diff-files: mark an index entry we know is up-to-date as such + Fix git_config_bool_or_int + First batch of post 1.5.5 updates + diff: a submodule not checked out is not modified + diff-lib.c: rename check_work_tree_entity() + is_racy_timestamp(): do not check timestamp for gitlinks + git-svn: add test for --add-author-from and --use-log-author + builtin-apply: typofix + builtin-apply: accept patch to an empty file + builtin-apply: do not declare patch is creation when we do not know it + unpack-trees: allow Porcelain to give different error messages + "git-add -n -u" should not add but just report + mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepaths + mailsplit: minor clean-up in read_line_with_nul() + +Jörg Sommer (1): + post-merge: Add it's not executed if merge failed. + +Krzysztof Kowalczyk (1): + alloc_ref_from_str(): factor out a common pattern of alloc_ref from string + +Lars Hjemli (8): + Add platform-independent .git "symlink" + Teach resolve_gitlink_ref() about the .git file + Teach git-submodule.sh about the .git file + Teach GIT-VERSION-GEN about the .git file + git-branch: add support for --merged and --no-merged + git-branch.txt: compare --contains, --merged and --no-merged + Add tests for `branch --[no-]merged` + revision.c: really honor --first-parent + +Linus Torvalds (12): + Make unpack_trees_options bit flags actual bitfields + Move name hashing functions into a file of its own + Make "index_name_exists()" return the cache_entry it found + Make hash_name_lookup able to do case-independent lookups + Add 'core.ignorecase' option + Make branch merging aware of underlying case-insensitive filsystems + Make unpack-tree update removed files before any updated files + When adding files to the index, add support for case-independent matches + Make git-add behave more sensibly in a case-insensitive environment + Optimize match_pathspec() to avoid fnmatch() + Avoid some unnecessary lstat() calls + Optimize symlink/directory detection + +Liu Yubao (1): + Documentation on --git-dir and --work-tree + +Marcel Koeppen (2): + Replace in-place sed in t7502-commit + Fix prepare-commit-msg hook and replace in-place sed + +Mark Hills (1): + Be more careful with objects directory permissions on clone + +Martin Koegler (3): + unpack-objects: prevent writing of inconsistent objects + receive-pack: allow using --strict mode for unpacking objects + t5300: add test for "index-pack --strict" + +Matthew Ogilvie (3): + git-cvsserver: add mechanism for managing working tree and current directory + implement gitcvs.usecrlfattr + git-cvsserver: add ability to guess -kb from contents + +Matthias Kestenholz (1): + Use color.ui variable in scripts too + +Matthieu Moy (1): + git-svn: detect and fail gracefully when dcommitting to a void + +Michele Ballabio (4): + gitk: Disable "Reset %s branch to here" when on a detached head + gitk: Move es.po where it belongs + builtin-cat-file.c: use parse_options() + change quoting in test t1006-cat-file.sh + +Mike Ralphson (1): + Makefile: update the default build options for AIX + +Miklos Vajna (11): + git-gc --auto: add pre-auto-gc hook + Documentation/hooks: add pre-auto-gc hook + contrib/hooks: add an example pre-auto-gc hook + git checkout: add -t alias for --track + git-format-patch: add a new format.cc configuration variable + git-send-email: add a new sendemail.cc configuration variable + Add tests for sendemail.cc configuration variable + INSTALL: add a note about GNU interactive tools has been renamed + git-fast-import: rename cmd_*() functions to parse_*() + git-merge: exclude unnecessary options from OPTIONS_SPEC + CodingGuidelines: Add a note to avoid assignments inside if() + +Nicolas Pitre (9): + pack-objects: small cleanup + pack-objects: remove some double negative logic + pack-objects: simplify the condition associated with --all-progress + pack-objects: clean up write_object() a bit + pack-objects: move compression code in a separate function + pack-objects: allow for early delta deflating + pack-objects: fix early eviction for max depth delta objects + add a force_object_loose() function + let pack-objects do the writing of unreachable objects as loose objects + +Paolo Bonzini (2): + Add a remote.*.mirror configuration option + add special "matching refs" refspec + +Paul Mackerras (40): + gitk: Use git log without --topo-order and reorganize the commits ourselves + gitk: Fix bug in assigning row numbers to arcs + gitk: Fix bug in parsing multiple revision arguments + gitk: Compute row numbers and order tokens lazily + gitk: Fix a couple of bugs + gitk: Fix more bugs resulting in Tcl "no such element in array" errors + gitk: More bug fixes and cleanups + gitk: Implement date mode in the new framework + gitk: Fix another collection of bugs + gitk: Don't try to show local changes from a head that isn't shown + gitk: Keep the same commits visible as other commits come in + gitk: Fix some corner cases in the targetid/targetrow stuff + gitk: Fix a couple of bugs in the find function + gitk: Fix potential bug with fake commit IDs in renumbervarc + gitk: Index [fnvr]highlights by id rather than row + gitk: Fix handling of flag arguments + gitk: Fix a bug in make_disporder + gitk: Select head of current branch by default + gitk: Select something appropriate on cherry-pick, branch reset and checkout + gitk: Fix bug where editing an existing view would cause an infinite loop + gitk: Fix bug causing Tcl error when no commits are selected + gitk: Fix cherry-picking to insert a real row not a fake row + gitk: Cope better with getting commits that we have already seen + gitk: Fix bug where arcs could get lost + gitk: Handle updating with path limiting better + gitk: Fix problems with target row stuff + gitk: Don't filter view arguments through git rev-parse + gitk: Correct a few strings and comments to say "git log" + gitk: Fix some corner cases in computing vrowmod and displayorder + gitk: Avoid a crash in selectline if commitinfo($id) isn't set + gitk: Fix problem with target row not being in scroll region + gitk: Reorganize processing of arguments for git log + gitk: Fix handling of tree file list with special chars in names + gitk: Make updates go faster + gitk: Synchronize highlighting in file view for 'f' and 'b' commands + gitk: Show current row number and total number of rows + gitk: Add a progress bar for checking out a head + gitk: Fix "wrong # coordinates" error on reload + gitk: Fix bug where current row number display stops working + gitk: Fix bug introduced by "gitk: Fix "wrong # coordinates" error on reload" + +Paul Oliver (1): + Make git-cvsimport remove ['s from tags, as bad_ref_char doesn't allow them. + +Peter Krefting (1): + gitk: Initial Swedish translation. + +Ping Yin (5): + git-submodule summary: --for-status option + builtin-status: submodule summary support + builtin-status: Add tests for submodule summary + t4027: test diff for submodule with empty directory + Add t7506 to test submodule related functions for git-status + +Rafael Garcia-Suarez (1): + Spelling fixes in the gitweb documentation + +Richard Quirk (2): + bash: Add completion for gitk --merge + Documentation gitk: Describe what --merge does + +SZEDER Gábor (5): + doc: moved merge.* config variables into separate merge-config.txt + merge, pull: introduce '--(no-)stat' option + add 'merge.stat' config variable + fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable + merge, pull: add '--(no-)log' command line option + +Santi Béjar (3): + Preparation to call determine_author_info from prepare_to_commit + commit: Show author if different from committer + commit: Show committer if automatic + +Santiago Gala (1): + gitk: Spanish translation of gitk + +Sebastian Schuberth (1): + mergetool: Make ECMerge use the settings as specified by the user in the GUI + +Shawn O. Pearce (3): + git-gui: Don't use '$$cr master' with aspell earlier than 0.60 + git-gui: Setup branch.remote,merge for shorthand git-pull + git-gui: Delete branches with 'git branch -D' to clear config + +Steffen Prohaska (4): + t0050: Test autodetect core.ignorecase + t0050: Set core.ignorecase case to activate case insensitivity + t0050: Add test for case insensitive add + t0050: Fix merge test on case sensitive file systems + +Stephan Beyer (1): + builtin-apply.c: use git_config_string() to get apply_default_whitespace + +Stephen R. van den Berg (2): + Simplify and fix --first-parent implementation + git-svn: Same default as cvsimport when using --use-log-author + +Steven Grimm (1): + Add svn-compatible "blame" output format to git-svn + +Teemu Likonen (1): + Documentation/git-web--browse.txt: fix small typo + +Thomas Arcila (1): + gitk: Allow users to view diffs in external diff viewer + +Trent Piepho (1): + cvsexportcommit: Create config option for CVS dir + + +Version v1.5.5.6; changes since v1.5.5.5: +----------------------------------------- + +Junio C Hamano (2): + gitweb: do not run "git diff" that is Porcelain + GIT 1.5.4.7 + + +Version v1.5.5.5; changes since v1.5.5.4: +----------------------------------------- + +Fred Maranhão (1): + fix typo in tutorial + +Johannes Sixt (1): + Remove exec bit from builtin-fast-export.c + +Junio C Hamano (4): + diff.c: fix emit_line() again not to add extra line + git-shell: accept "git foo" form + GIT 1.5.4.6 + GIT 1.5.5.5 + +Miklos Vajna (1): + git-read-tree: document -v option. + +SZEDER Gábor (1): + diff: reset color before printing newline + + +Version v1.5.5.4; changes since v1.5.5.3: +----------------------------------------- + +Björn Steinbrink (1): + name-rev: Fix segmentation fault when using --all + +Junio C Hamano (1): + GIT 1.5.5.4 + +Lea Wiemann (1): + git-for-each-ref.txt: minor improvements + +Michael Dressel (1): + describe: match pattern for lightweight tags too + + +Version v1.5.5.3; changes since v1.5.5.2: +----------------------------------------- + +Christian Couder (1): + bisect: print an error message when "git rev-list --bisect-vars" fails + +Gerrit Pape (3): + git-bisect.sh: don't accidentally override existing branch "bisect" + Documentation/git-bundle.txt: fix synopsis + commit --interactive: properly update the index before commiting + +Horst H. von Brand (1): + Fix recipient santitization + +Jeff King (2): + send-email: specify content-type of --compose body + send-email: rfc2047-quote subject lines with non-ascii characters + +Johannes Sixt (1): + Revert "filter-branch: subdirectory filter needs --full-history" + +Junio C Hamano (3): + Release Notes for 1.5.5.2 + show-branch --current: do not barf on detached HEAD + GIT 1.5.5.3 + +Lea Wiemann (1): + gitweb: only display "next" links in logs if there is a next page + +Michele Ballabio (1): + Documentation: fix graph in git-rev-parse.txt + +Pieter de Bie (1): + builtin-fast-export: Only output a single parent per line + + +Version v1.5.5.2; changes since v1.5.5.1: +----------------------------------------- + +A Large Angry SCM (1): + git-repack: re-enable parsing of -n command line option + +Alex Riesen (2): + Use "=" instead of "==" in condition as it is more portable + Fix use after free() in builtin-fetch + +Andy Parkins (1): + post-receive-email: fix accidental removal of a trailing space in signature line + +Ariel Badichi (2): + copy.c: copy_fd - correctly report write errors + archive.c: format_subst - fixed bogus argument to memchr + +Brandon Casey (1): + git-clone.txt: Adjust note to --shared for new pruning behavior of git-gc + +Dan McGee (1): + Remove 'header' from --signoff option description + +Dmitry Potapov (1): + git-gc --prune is deprecated + +Dustin Sallings (1): + Documentation/config.txt: Mention branch.<name>.rebase applies to "git pull" + +Florian Ragwitz (1): + filter-branch: Documentation fix. + +Gerrit Pape (1): + diff-options.txt: document the new "--dirstat" option + +Heikki Orsila (1): + Add missing "short" alternative to --date in rev-list-options.txt + +Ian Hilt (1): + Documentation/git-describe.txt: make description more readable + +Jeff King (11): + Don't force imap.host to be set when imap.tunnel is set + t5516: remove ambiguity test (1) + doc/git-gc: add a note about what is collected + push: allow unqualified dest refspecs to DWIM + remote: create fetch config lines with '+' + fix reflog approxidate parsing bug + cvsimport: always pass user data to "system" as a list + checkout: don't rfc2047-encode oneline on detached HEAD + doc: clarify definition of "update" for git-add -u + doc/git-daemon: s/uploadarchive/uploadarch/ + git-am: fix typo in usage message + +Johannes Sixt (2): + wt-status.h: declare global variables as extern + rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref + +Jon Loeliger (2): + git-filter-branch: Clarify file removal example. + git-show.txt: Not very stubby these days. + +Junio C Hamano (3): + write-tree: properly detect failure to write tree objects + clone: detect and fail on excess parameters + fetch-pack: brown paper bag fix + +Linus Torvalds (1): + fetch-pack: do not stop traversing an already parsed commit + +Matt Graham (1): + Linked glossary from cvs-migration page + +Matthew Ogilvie (1): + gitattributes: Fix subdirectory attributes specified from root directory + +Michael Weber (1): + svn-git: Use binmode for reading/writing binary rev maps + +Miklos Vajna (1): + diff options documentation: refer to --diff-filter in --name-status + +Sam Vilain (1): + Amend git-push refspec documentation + +Shawn O. Pearce (1): + Clarify repack -n documentation + +Sitaram Chamarty (1): + builtin-commit.c: add -u as short name for --untracked-files + +Teemu Likonen (1): + bash: Add completion for git diff --base --ours --theirs + +Thomas Guyot-Sionnest (1): + git-svn bug with blank commits and author file + +martin f. krafft (2): + Escape project name in regexp + Escape project names before creating pathinfo URLs + + +Version v1.5.5.1; changes since v1.5.5: +--------------------------------------- + +Alberto Bertogli (1): + builtin-apply: Show a more descriptive error on failure when opening a patch + +Björn Steinbrink (1): + Fix section about backdating tags in the git-tag docs + +Carlos Rica (2): + Fix documentation syntax of optional arguments in short options. + core-tutorial.txt: Fix showing the current behaviour. + +Christian Couder (4): + bisect: fix bad rev checking in "git bisect good" + bisect: report bad rev better + bisect: squelch "fatal: ref HEAD not a symref" misleading message + git-bisect: make "start", "good" and "skip" succeed or fail atomically + +Clifford Caoile (1): + Docs gitk: Explicitly mention the files that gitk uses (~/.gitk) + +Daniel Barkalow (1): + Fix config key miscount in url.*.insteadOf + +Dirk Süsserott (1): + Documentation/git-request-pull: Fixed a typo ("send" -> "end") + +Jakub Narębski (1): + gitweb: Fix 'history' view for deleted files with history + +Jeff King (1): + git-fetch: fix status output when not storing tracking ref + +Johannes Sixt (1): + Document option --only of git commit + +Jon Loeliger (1): + Clarify and fix English in "git-rm" documentation + +Jonas Fonseca (1): + git-remote: reject adding remotes with invalid names + +Junio C Hamano (7): + Document -w option to shortlog + Documentation/git-submodule: typofix + t7401: squelch garbage output + rebase: do not munge commit log message + git-am: minor cleanup + am: POSIX portability fix + GIT 1.5.5.1 + +Linus Torvalds (2): + Ignore leading empty lines while summarizing merges + git-am: cope better with an empty Subject: line + +Mark Levedahl (1): + git-submodule - possibly use branch name to describe a module + +Matthieu Moy (1): + Document that WebDAV doesn't need git on the server, and works over SSL + +Michele Ballabio (1): + revision.c: make --date-order overriddable + +Pedro Melo (1): + Force the medium pretty format on calls to git log + +Ping Yin (1): + git-submodule: Avoid 'fatal: cannot describe' message + +René Scharfe (1): + git-archive: ignore prefix when checking file attribute + +Scott Collins (1): + Clarify documentation of git-cvsserver, particularly in relation to git-shell + +Shawn Bohrer (2): + git clean: Don't automatically remove directories when run within subdirectory + git clean: Add test to verify directories aren't removed with a prefix + + +Version v1.5.5; changes since v1.5.5-rc3: +----------------------------------------- + +Christian Couder (2): + git-gui: Update french translation + test suite: remove useless TERM cruft in "t7005-editor.sh" + +Eric Wong (1): + git-svn: fix following renamed paths when tracking a single path + +Gerrit Pape (1): + gitk: Fix changing colors through Edit->Preferences + +Jakub Narębski (1): + Revert "gitweb: Add 'status_str' to parse_difftree_raw_line output" + +Junio C Hamano (2): + Fix "git apply" to correctly enforce "match at the beginning" + GIT 1.5.5 + +Kevin Ballard (1): + git-fetch: Don't trigger a bus error when given the refspec "tag" + +Michele Ballabio (1): + git-gui: use +/- instead of ]/[ to show more/less context in diff + +Pascal Obry (2): + Add interactive option in rebase command completion list. + Add prefix oriented completions for diff and format-patch commands. + +Peter Eriksen (2): + git-pack-objects.txt: Make wording slightly less ambiguous + Add description of OFS_DELTA to the pack format description + +Shawn O. Pearce (1): + git-gui: Switch keybindings for [ and ] to bracketleft and bracketright + + +Version v1.5.5-rc3; changes since v1.5.5-rc2: +--------------------------------------------- + +Brandon Casey (2): + mktag.c: improve verification of tagger field and tests + mktag.c: tweak validation of tagger field and adjust test script + +Bryan Donlan (1): + Silence cpio's "N blocks" output when cloning locally + +Christian Couder (1): + help: Add a missing OPT_END(). + +Damien Diederen (7): + cvsserver: Respond to the 'editors' and 'watchers' commands + cvsserver: Only print the file part of the filename in status header + cvsserver: Do not include status output for subdirectories if -l is passed + cvsserver: Add a few tests for 'status' command + cvsserver: Implement update -p (print to stdout) + cvsserver: Add test for update -p + cvsserver: Use the user part of the email in log and annotate results + +Eric Wong (1): + git-svn: remove redundant slashes from show-ignore + +Johannes Sixt (3): + filter-branch: Test renaming directories in a tree-filter + verify-tag: Clean up the temporary file if gpg cannot be started. + t7004-tag: Skip more tests if gpg is not available. + +Jonathan del Strother (1): + git-gui: Add shortcut keys for Show More/Less Context + +Josh Elsasser (1): + Allow git-cvsserver database table name prefix to be specified. + +Junio C Hamano (5): + Add corner case tests for diff-index and diff-files + diff-index: careful when inspecting work tree items + diff-files: careful when inspecting work tree items + Accept git aliases outside a git repository + GIT 1.5.5-rc3 + +Marius Storm-Olsen (1): + git-p4: Handle Windows EOLs properly after removal of p4 submit template handling. + +Paolo Bonzini (1): + git-cvsserver: handle change type T + +Shawn O. Pearce (1): + git-gui 0.10 + +Teemu Likonen (1): + Describe the bug in handling filenames with funny characters in 'git add -i' + +veillette@yahoo.ca (1): + filter-branch: Fix renaming a directory in the tree-filter + + +Version v1.5.5-rc2; changes since v1.5.5-rc1: +--------------------------------------------- + +Brandon Casey (1): + t/t3800-mktag.sh: use test_must_fail rather than '!' + +Daniel Barkalow (2): + Tighten refspec processing + Fix branches file configuration + +Dirk Süsserott (1): + Documentation: git-tag '-m'/'-F' implies '-a' + +Frank Lichtenheld (1): + t9600-cvsimport.sh: set HOME before checking for cvsps availability + +Gerrit Pape (1): + imap-send: properly error out if imap.host is not set in config + +Guanqun Lu (2): + Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation. + Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation. + +Jeff King (1): + Documentation: clarify use of .git{ignore,attributes} versus .git/info/* + +Johannes Schindelin (2): + RelNotes: mention checkout/branch's --track option, too + init: show "Reinit" message even in an (existing) empty repository + +Johannes Sixt (1): + builtin-remote: Fix missing newline at end of listing of pushed branches + +Julian Phillips (1): + Documentation/git-checkout: Update summary to reflect current abilities + +Junio C Hamano (7): + refspec: allow colon-less wildcard "refs/category/*" + git-fetch test: test tracking fetch results, not just FETCH_HEAD + test_must_fail: 129 is a valid error code from usage() + Update draft release notes for 1.5.4.5 + Update draft release notes for 1.5.5 + builtin-prune: protect objects listed on the command line + GIT 1.5.4.5 + +Michele Ballabio (3): + parse-options.c: introduce OPT_DATE + Add tests for git-prune + builtin-prune.c: use parse_options() + +SZEDER Gábor (1): + Always set *nongit_ok in setup_git_directory_gently() + + +Version v1.5.5-rc1; changes since v1.5.5-rc0: +--------------------------------------------- + +Brandon Casey (2): + builtin-gc.c: allow disabling all auto-gc'ing by assigning 0 to gc.auto + t/t7003-filter-branch.sh: use test_must_fail rather than '!' + +Daniel Barkalow (3): + Tighten refspec processing + Fix t3200 config + Fix tag following + +Eyvind Bernhardsen (2): + fast-import: Allow "reset" to delete a new branch without error + fast-import: Document the effect of "merge" with no "from" in a commit + +Johannes Schindelin (1): + remote show: do not show symbolic refs + +Junio C Hamano (10): + Makefile: DIFF_OBJS is not special at all these days + Makefile: flatten enumeration of headers, objects and programs + t1000: use "test_must_fail git frotz", not "! git frotz" + git-merge-one-file: fix longstanding stupid thinko + Test: catch if trash cannot be removed + Add tests to catch problems with un-unlinkable symlinks + Fix read-tree not to discard errors + remote.c: Fix overtight refspec validation + gc --auto: raise default auto pack limit from 20 to 50 + GIT 1.5.5-rc1 + +Kevin Ballard (4): + Add --reverse to the git-rev-list usage string + Document the sendemail.smtpserverport config variable + Don't try and percent-escape existing percent escapes in git-svn URIs + Make git-svn tests behave better on OS X + +Linus Torvalds (3): + Don't update unchanged merge entries + Fix possible Solaris problem in 'checkout_entry()' + Make revision limiting more robust against occasional bad commit dates + +Marius Storm-Olsen (1): + git-p4: Optimize the fetching of data from perforce. + +Miklos Vajna (1): + Documentation/git-merge: document subtree strategy. + +Nicolas Pitre (1): + make it easier for people who just want to get rid of 'git gc --auto' + +Ralf Wildenhues (1): + Improve description of git filter-branch. + +Shawn Bohrer (2): + git-p4: Unset P4DIFF environment variable when using 'p4 -du diff' + git-p4: Use P4EDITOR environment variable when set + + +Version v1.5.5-rc0; changes since v1.5.4.7: +------------------------------------------- + +Adam Piątyszek (1): + git-gui: Add option for changing the width of the commit message text box + +Alex Riesen (4): + Fix builtin checkout crashing when given an invalid path + Fix test for cleanup failure in t7300 on Windows + Do not use GUID on dir in git init --shared=all on FreeBSD + git-gui: update russian translation + +Alexandre Julliard (5): + git.el: Support for showing unknown/ignored directories. + git.el: Added a command to amend a commit. + git.el: Check for existing buffers on revert. + git.el: Better handling of subprocess errors. + git.el: Do not display empty directories. + +Andreas Ericsson (1): + pack-objects: Add runtime detection of online CPU's + +Brandon Casey (13): + builtin-reflog.c: fix typo that accesses an unset variable + Add compat/fopen.c which returns NULL on attempt to open directory + builtin-reflog.c: don't install new reflog on write failure + reflog-delete: parse standard reflog options + git-reflog: add option --rewrite to update reflog entries while expiring + refs.c: make close_ref() and commit_ref() non-static + git-reflog: add option --updateref to write the last reflog sha1 into the ref + git-stash: add new 'drop' subcommand + git-stash: add new 'pop' subcommand + pack-objects: Print a message describing the number of threads for packing + t3903-stash.sh: Add missing '&&' to body of testcase + git-reflog.txt: Document new commands --updateref and --rewrite + t3903-stash.sh: Add tests for new stash commands drop and pop + +Brian Downing (1): + compat: Add simplified merge sort implementation from glibc + +Bruno Ribas (2): + gitweb: Make use of the $git_dir variable at sub git_get_project_url_list + gitweb: Use the config file to set repository owner's name. + +Carl Worth (1): + Eliminate confusing "won't bisect on seeked tree" failure + +Carlos Rica (1): + Make builtin-reset.c use parse_options. + +Charles Bailey (6): + Tidy up git mergetool's backup file behaviour + Changed an internal variable of mergetool to support custom commands + Teach git mergetool to use custom commands defined at config time + Add a very basic test script for git mergetool + git-mergetool documentaiton: show toolnames in typewriter font + merge-tool documentation: describe custom command usage + +Cheng Renquan (4): + cleanup: remove unused git_checkout_config + whatchanged documentation: share description of --pretty with others + specify explicit "--pretty=medium" with `git log/show/whatchanged` + log/show/whatchanged: introduce format.pretty configuration + +Christian Couder (17): + help: make 'git-help--browse' usable outside 'git-help'. + help--browse: add '--config' option to check a config option for a browser. + Rename 'git-help--browse.sh' to 'git-web--browse.sh'. + instaweb: use 'git-web--browse' to launch browser. + config: add test cases for empty value and no value config variables. + Documentation: instaweb: add 'git-web--browse' information. + web--browse: Add a few quotes in 'init_browser_path'. + Documentation: add 'git-web--browse.txt' and simplify other docs. + help.c: use 'git_config_string' to get 'help_default_format'. + run-command: Redirect stderr to a pipe before redirecting stdout to stderr + help: add "man.viewer" config var to use "woman" or "konqueror" + Documentation: help: describe 'man.viewer' config variable + help: implement multi-valued "man.viewer" config option + Documentation: help: explain 'man.viewer' multiple values + help: warn if specified 'man.viewer' is unsupported, instead of erroring out + web--browse: use custom commands defined at config time + Documention: web--browse: add info about "browser.<tool>.cmd" config var + +Christian Stimming (4): + git-gui: (i18n) Fix a bunch of still untranslated strings. + git-gui: Update German translation. + git-gui: (i18n) Add newly added translation strings to template. + git-gui: Update German translation. + +Clemens Buchacher (2): + http-push: push <remote> :<branch> deletes remote branch + http-push: add regression tests + +Daniel Barkalow (33): + Test :/string form for checkout + Reduce the number of connects when fetching + Allow callers of unpack_trees() to handle failure + Add flag to make unpack_trees() not print errors. + Send unpack-trees debugging output to stderr + Discard "deleted" cache entries after using them to update the working tree + Add "skip_unmerged" option to unpack_trees. + Build-in merge-recursive + Move create_branch into a library file + Use diff -u instead of diff in t7201 + Library function to check for unmerged index entries + Move code to clean up after a branch change to branch.c + Build in checkout + Clean up reporting differences on branch switch + API documentation for remote.h + Add more tests for format-patch + Improve message-id generation flow control for format-patch + Export some email and pretty-printing functions + Use ALLOC_GROW in remote.{c,h} + Add a --cover-letter option to format-patch + Add tests for extra headers in format-patch + Fix format.headers not ending with a newline + Combine To: and Cc: headers + Support a --cc=<email> option in format-patch + Resolve value supplied for no-colon push refspecs + builtin-checkout.c: Remove unused prefix arguments in switch_branches path + Add support for url aliases in config files + Add API access to shortlog + Improve collection of information for format-patch --cover-letter + Always use the current connection's remote ref list in git protocol + Use diff_tree() directly in making cover letter + Write index file on any checkout of files + Write diff output to a file in struct diff_options + +David Aguilar (1): + gitk: Don't show local changes when we there is no work tree + +David Brown (1): + git-send-email: Generalize auto-cc recipient mechanism. + +David Kågedal (1): + git.el: Set process-environment instead of invoking env + +Dmitry Potapov (3): + git-web--browse: do not start the browser with nohup + Make private quote_path() in wt-status.c available as quote_path_relative() + git-clean: correct printing relative path + +Eric Wong (1): + git-svn: improve repository URL matching when following parents + +Florian La Roche (1): + gitweb: Make feed entries point to commitdiff view + +Frank Lichtenheld (1): + gc: Add --quiet option + +Gerrit Pape (4): + gitk: properly deal with tag names containing / (slash) + git-merge-index documentation: clarify synopsis + builtin-tag.c: remove cruft + hash-object: cleanup handling of command line options + +Jakub Narębski (11): + gitweb: Fix displaying unchopped argument in chop_and_escape_str + gitweb: Add new option -nohtml to quot_xxx subroutines + gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form + gitweb: Fix bugs in git_search_grep_body: it's length(), not len() + gitweb: Better cutting matched string and its context + Add '--fixed-strings' option to "git log --grep" and friends + gitweb: Change parse_commits signature to allow for multiple options + gitweb: Simplify fixed string search + Documentation: Remove --{min,max}-age option from git-log(1) + gitweb: Mark first match when searching commit messages + gitweb: Fix and simplify pickaxe search + +James Bowes (1): + Add a BuildRequires for gettext in the spec file. + +Jason McMullan (1): + Remove $Id: ..$ $Header: ..$ etc from +ko and +k files during import + +Jay Soffian (8): + git-web--browse: fix misplaced quote in init_browser_path() + git-help--browse: improve browser support under OS X + builtin-checkout.c: fix possible usage segfault + branch: optionally setup branch.*.merge from upstream local branches + doc: documentation update for the branch track changes + Correct git-pull documentation + send-email: fix In-Reply-To regression + pull: pass --strategy along to to rebase + +Jean-Luc Herren (1): + fast-import: exit with proper message if not a git dir + +Jeff King (31): + allow suppressing of global and system config + fix config reading in tests + hard-code the empty tree object + add--interactive: handle initial commit better + git_config_*: don't assume we are parsing a config file + t3404: use configured shell instead of /bin/sh + diff: fix java funcname pattern for solaris + t9001: enhance fake sendmail test harness + send-email: test compose functionality + help: use parseopt + make alias lookup a public, procedural function + help: respect aliases + use build-time SHELL_PATH in test scripts + rename: warn user when we have turned off rename detection + allow git-am to run in a subdirectory + Add a test for read-tree -u --reset with a D/F conflict + gitk: make autoselect optional + tr portability fixes + t0050: perl portability fix + more tr portability test script fixes + grep portability fix: don't use "-e" or "-q" + remove use of "tail -n 1" and "tail -1" + add test_cmp function for test scripts + t4020: don't use grep -a + t6000lib: tr portability fix + add NO_EXTERNAL_GREP build option + filter-branch: don't use xargs -0 + filter-branch: use $SHELL_PATH instead of 'sh' + t9112: add missing #!/bin/sh header + t7505: use SHELL_PATH in hook + t6000lib: re-fix tr portability + +Jim Meyering (1): + Avoid unnecessary "if-before-free" tests. + +Johan Herland (2): + Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR + Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR + +Johannes Schindelin (21): + Teach "git reflog" a subcommand to delete single entries + Also use unpack_trees() in do_diff_cache() + Fix "git clone" for git:// protocol + Adjust .gitignore for 5884f1(Rename 'git-help--browse.sh'...) + Introduce the config variable pack.packSizeLimit + bisect view: check for MinGW32 and MacOSX in addition to X11 + xdl_merge(): make XDL_MERGE_ZEALOUS output simpler + xdl_merge(): introduce XDL_MERGE_ZEALOUS_ALNUM + completion: support format-patch's --cover-letter option + path-list: add functions to work with unsorted lists + parseopt: add flag to stop on first non option + Test "git remote show" and "git remote prune" + Make git-remote a builtin + builtin-remote: prune remotes correctly that were added with --mirror + Fix make_absolute_path() for parameters without a slash + format-patch: use the diff options for the cover letter, too + format-patch: wrap cover-letter's shortlog sensibly + remote show: Clean up connection correctly if object fetch wasn't done + remote: fix "update [group...]" + builtin remote rm: remove symbolic refs, too + gc: call "prune --expire 2.weeks.ago" by default + +Johannes Sixt (7): + Fix misuse of prefix_path() + gitk: Heed the lines of context in merge commits + Technical documentation of the run-command API. + prefix_path: use is_absolute_path() instead of *orig == '/' + start_command(), .in/.out/.err = -1: Callers must close the file descriptor + start_command(), if .in/.out > 0, closes file descriptors, not the callers + git-submodule summary: fix that some "wc" flavors produce leading spaces + +Jonas Fonseca (2): + man pages are littered with .ft C and others + shortlog: do not require to run from inside a git repository + +Junichi Uekawa (1): + git-blame.el: show the when, who and what in the minibuffer. + +Junio C Hamano (93): + index: be careful when handling long names + Avoid running lstat(2) on the same cache entry. + read-cache.c: fix a couple more CE_REMOVE conversion + read-cache.c: introduce is_racy_timestamp() helper + lazy index hashing + Sane use of test_expect_failure + test: reword the final message of tests with known breakages + known breakage: revision range computation with clock skew + fix misuse of prefix_path() + builtin-apply.c: refactor small part that matches context + builtin-apply.c: restructure "offset" matching + builtin-apply.c: push match-beginning/end logic down + builtin-apply.c: make it more line oriented + builtin-apply.c: optimize match_beginning/end processing a bit. + builtin-apply.c: mark common context lines in lineinfo structure. + builtin-apply.c: clean-up apply_one_fragment() + builtin-apply.c: simplify calling site to apply_line() + builtin-apply.c: do not feed copy_wsfix() leading '+' + builtin-apply.c: move copy_wsfix() function a bit higher. + builtin-apply.c: pass ws_rule down to match_fragment() + git-apply --whitespace=fix: fix whitespace fuzz introduced by previous run + core.whitespace: cr-at-eol + Documentation/SubmittingPatches: Instruct how to use [PATCH] Subject header + Documentation/SubmittingPatches: discuss first then submit + Documentation/SubmittingPatches: What's Acked-by and Tested-by? + Make error messages from cherry-pick/revert more sensible + setup: sanitize absolute and funny paths in get_pathspec() + git-add: adjust to the get_pathspec() changes. + builtin-mv: minimum fix to avoid losing files + gitignore(5): Allow "foo/" in ignore list to match directory "foo" + gitignore: lazily find dtype + Define the project whitespace policy + apply: do not barf on patch with too large an offset + Update the main documentation (stale notes section) + .mailmap: adjust to a recent patch application glitch. + diff --relative: output paths as relative to the current subdirectory + diff --relative: help working in a bare repository + checkout: notice when the switched branch is behind or forked + Documentation/SubmittingPatches - a suggested patch flow + Sync with 1.5.4.2 and start 1.5.5 Release Notes + sending errors to stdout under $PAGER + merge-recursive: split low-level merge functions out. + expose a helper function peel_to_type(). + checkout: tone down the "forked status" diagnostic messages + checkout: work from a subdirectory + git-reset --hard and git-read-tree --reset: fix read_cache_unmerged() + checkout: updates to tracking report + gitweb: Better chopping in commit search results + Add merge-subtree back + checkout: show progress when checkout takes long time while switching branches + ws_fix_copy(): move the whitespace fixing function to ws.c + checkout: error out when index is unmerged even with -m + diff --dirstat: saner handling of binary and unmerged files + url rewriting: take longest and first match + git-apply --whitespace=fix: fix off by one thinko + Revert "pack-objects: Print a message describing the number of threads for packing" + git-remote: do not complain on multiple URLs for a remote + format-patch: remove a leftover debugging message + tests: introduce test_must_fail + Update draft release notes for 1.5.5 + t6024: move "git reset" to prepare for a test inside the test itself + CodingGuidelines: spell out how we use grep in our scripts + find_unique_abbrev(): redefine semantics + Clean up find_unique_abbrev() callers + diff-lib.c: constness strengthening + diff: make sure work tree side is shown as 0{40} when different + Update draft release notes for 1.5.5 + describe --always: fall back to showing an abbreviated object name + git-describe: use tags found in packed-refs correctly + describe: fix --long output + describe: re-fix display_name() + t6120 (describe): check --long properly + Revert "receive-pack: use strict mode for unpacking objects" + Revert "unpack-objects: prevent writing of inconsistent objects" + fsck.c: fix bogus "empty tree" check + am: read from the right mailbox when started from a subdirectory + am: remove support for -d .dotest + am: --rebasing + get_pathspec(): die when an out-of-tree path is given + Revert part of 744dacd (builtin-mv: minimum fix to avoid losing files) + Revert part of 1abf095 (git-add: adjust to the get_pathspec() changes) + Revert part of d089eba (setup: sanitize absolute and funny paths in get_pathspec()) + git-clean: add tests for relative path + send-email: --no-signed-off-cc should suppress 'sob' cc + traverse_trees_recursive(): propagate merge errors up + git-gui: Simplify MSGFMT setting in Makefile + Documentation/config: typofix + Documentation/git-help: typofix + read-tree() and unpack_trees(): use consistent limit + Redo "add test_cmp function for test scripts" + git-gui: Improve directions regarding POT update in po/README + Resurrect git-rerere to contrib/examples + Update draft release notes for 1.5.5 + +Karl Wiberg (2): + git-svn: Don't call git-repack anymore + Let "git svn" run "git gc --auto" occasionally + +Kevin Ballard (1): + bash: Properly quote the GIT_DIR at all times to fix subdirectory paths with spaces + +Kristian Høgsberg (1): + wt-status.c: no need for dup() dance anymore + +Lars Hjemli (1): + Simplify setup of $GIT_DIR in git-sh-setup.sh + +Linus Torvalds (22): + Make on-disk index representation separate from in-core one + Make run_diff_index() use unpack_trees(), not read_tree() + Create pathname-based hash-table lookup into index + Add "--dirstat" for some directory statistics + gitk: learn --show-all output + Add "--show-all" revision walker flag for debugging + Fix name re-hashing semantics + Name hash fixups: export (and rename) remove_hash_entry + Use helper function for copying index entry information + Be more verbose when checkout takes a long time + Add 'df_name_compare()' helper function + Make 'traverse_tree()' use linked structure rather than 'const char *base' + Add return value to 'traverse_tree()' callback + Make 'traverse_trees()' traverse conflicting DF entries in parallel + Move 'unpack_trees()' over to 'traverse_trees()' interface + Fix tree-walking compare_entry() in the presense of --prefix + Add 'const' where appropriate to index handling functions + Make 'unpack_trees()' take the index to work on as an argument + Make 'unpack_trees()' have a separate source and destination index + unpack_trees(): minor memory leak fix in unused destination index + unpack_trees(): fix diff-index regression. + Fix recent 'unpack_trees()'-related changes breaking 'git stash' + +Marco Costalba (1): + Avoid a useless prefix lookup in strbuf_expand() + +Mark Levedahl (1): + git-submodule - Allow adding a submodule in-place + +Martin Koegler (28): + git-fsck: report missing author/commit line in a commit as an error + parse_object_buffer: don't ignore errors from the object specific parsing functions + deref_tag: handle return value NULL + deref_tag: handle tag->tagged = NULL + check return code of prepare_revision_walk + read_object_with_reference: don't read beyond the buffer + get_sha1_oneline: check return value of parse_object + mark_blob/tree_uninteresting: check for NULL + reachable.c::add_one_tree: handle NULL from lookup_tree + list-objects.c::process_tree/blob: check for NULL + check results of parse_commit in merge_bases + process_tag: handle tag->tagged == NULL + reachable.c::process_tree/blob: check for NULL + revision.c: handle tag->tagged == NULL + parse_commit: don't fail, if object is NULL + check return value from parse_commit() in various functions + peel_onion: handle NULL + add generic, type aware object chain walker + builtin-fsck: move away from object-refs to fsck_walk + Remove unused object-ref code + builtin-fsck: reports missing parent commits + builtin-fsck: move common object checking code to fsck.c + add common fsck error printing function + unpack-object: cache for non written objects + unpack-objects: prevent writing of inconsistent objects + index-pack: introduce checking mode + receive-pack: use strict mode for unpacking objects + fetch-pack: check parse_commit/object results + +Matthias Kestenholz (1): + Add color.ui variable which globally enables colorization if set + +Michael Witten (3): + git-send-email: ssh/login style password requests + git-send-email: SIG{TERM,INT} handlers + git-send-email: Better handling of EOF + +Michal Rokos (2): + Add compat/snprintf.c for systems that return bogus + autoconf: Test FREAD_READS_DIRECTORIES + +Michele Ballabio (7): + gitk: Fix "Key bindings" message + git-gui: fix typo in lib/spellcheck.tcl + builtin-for-each-ref.c: fix typo in error message + gitk: Mark another string for translation + git-gui: update Italian translation + gitk: initial Italian translation + git-gui: remove spurious "fuzzy" attributes in po/it.po + +Mike Hommey (5): + Work around curl-gnutls not liking to be reinitialized + Add test for git rebase --abort + Documentation/git-rebase.txt: Add --strategy to synopsys + git rebase --abort: always restore the right commit + t3407-rebase-abort.sh: Enhance existing tests, and add test for rebase --merge + +Miklos Vajna (4): + git-clean: handle errors if removing files fails + Improve t6029 to check the real "subtree" case + Update Hungarian translation. 100% completed. + git-gui: Updated Hungarian translation (e5fba18) + +Nanako Shiraishi (2): + git-gui: Update Japanese translation + git-gui: Update Japanese translation + +Nicolas Pitre (5): + factorize revindex code out of builtin-pack-objects.c + make verify_one_pack() a bit less wrong wrt packed_git structure + fix unimplemented packed_object_info_detail() features + add storage size output to 'git verify-pack -v' + pack-objects: proper pack time stamping with --max-pack-size + +Paolo Bonzini (4): + git-commit: support variable number of hook arguments + git-commit: set GIT_EDITOR=: if editor will not be launched + git-commit: Refactor creation of log message. + git-commit: add a prepare-commit-msg hook + +Paul Mackerras (3): + gitk: Only restore window size from ~/.gitk, not position + gitk: Avoid Tcl error when switching views + gitk: Default to using po2msg.sh if msgfmt doesn't grok --tcl, -l and -d + +Pekka Kaitaniemi (1): + gitk: Add horizontal scrollbar to the diff view + +Peter Krefting (2): + git-gui: Regenerated po template and merged translations with it + git-gui: updated Swedish translation + +Petr Baudis (1): + gitweb: Clearly distinguish regexp / exact match searches + +Philipp A. Hartmann (1): + git-gui: if a background colour is set, set foreground colour as well + +Philippe Bruhat (3): + cvsimport: have default merge regex allow for dashes in the branch name + cvsimport: allow for multiple -M options + cvsimport: document that -M can be used multiple times + +Pierre Habouzit (4): + git-describe: Add a --match option to limit considered tags. + git-name-rev: add a --(no-)undefined option. + parse-opt: bring PARSE_OPT_HIDDEN and NONEG to git-rev-parse --parseopt + parse-options: new option type to treat an option-like parameter as an argument. + +Ping Yin (5): + git-submodule summary: code framework + git-submodule summary: show commit summary + git-submodule summary: limit summary size + git-submodule summary: documentation + git-submodule summary: test + +Rafael Garcia-Suarez (1): + Make git-remote.perl "use strict" compliant + +Ralf Wildenhues (1): + Fix doc typos. + +Robin Rosenberg (2): + Make blame accept absolute paths + Improve bash prompt to detect various states like an unfinished merge + +SZEDER Gábor (9): + bash: add git-branch options + bash: git-branch -d and -m lists only local branches + bash: remove unnecessary conditions when checking for subcommands + bash: refactor searching for subcommands on the command line + bash: add new 'git stash' subcommands + bash: add 'git svn' subcommands and options + bash: use __gitdir when completing 'git rebase' options + bash: fix long option with argument double completion + update 'git rebase' documentation + +Samuel Tardieu (1): + "remote update": print remote name being fetched from + +Santi Béjar (3): + git-bundle.txt: Add different strategies to create the bundle + git-describe: --long shows the object name even for a tagged commit + clone: support cloning full bundles + +Sebastian Noack (1): + git-svn: Don't prompt for client cert password everytime. + +Shawn O. Pearce (37): + git-gui: Automatically spell check commit messages as the user types + git-gui: Paper bag fix bad string length call in spellchecker + git-gui: Correct size of dictionary name widget in options dialog + Include annotated tags in fast-import crash reports + Include the fast-import marks table in crash reports + Finish current packfile during fast-import crash handler + Update fast-import documentation to discuss crash reports + Teach git-grep --name-only as synonym for -l + git-gui: Ensure all spellchecker 'class' variables are initialized + git-gui: Remove explicit references to 'aspell' in message strings + git-gui: Only bind the spellcheck popup suggestion hook once + git-gui: Catch and display aspell startup failures to the user + git-gui: Gracefully display non-aspell version errors to users + git-gui: Shorten Aspell version strings to just Aspell version number + Optimize peel_ref for the current ref of a for_each_ref callback + Teach git-describe to use peeled ref information when scanning tags + Avoid accessing non-tag refs in git-describe unless --all is requested + Teach git-describe --exact-match to avoid expensive tag searches + Use git-describe --exact-match in bash prompt on detached HEAD + Teach git-describe to verify annotated tag names before output + Remove unused variable in builtin-fetch find_non_local_tags + Remove unnecessary delaying of free_refs(ref_map) in builtin-fetch + Ensure tail pointer gets setup correctly when we fetch HEAD only + Allow builtin-fetch's find_non_local_tags to append onto a list + Free the path_lists used to find non-local tags in git-fetch + Teach upload-pack to log the received need lines to an fd + Make git-fetch follow tags we already have objects for sooner + Teach git-fetch to grab a tag at the same time as a commit + Don't allow git-describe failures to go unnoticed in t6120 + Test for packed tags in git-describe output + Add git-describe test for "verify annotated tag names on output" + git-pack-objects: Automatically pack annotated tags if object was packed + Teach fetch-pack/upload-pack about --include-tag + Teach git-fetch to exploit server side automatic tag following + bash: Remove completion of core.legacyheaders option + git-gui: Don't translate the special Apple menu + git-gui: Adjusted Japanese translation to updated POT + +Simon Hausmann (7): + git-p4: Fix submit user-interface. + git-p4: Ensure the working directory and the index are clean before "git-p4 rebase" + git-p4: Remove --log-substitutions feature. + git-p4: Clean up git-p4 submit's log message handling. + git-p4: Removed git-p4 submit --direct. + git-p4: git-p4 submit cleanups. + git-p4: Fix import of changesets with file deletions + +Steffen Prohaska (4): + safecrlf: Add mechanism to warn about irreversible crlf conversions + gitk: Add checkbutton to ignore space changes + t4014: Replace sed's non-standard 'Q' by standard 'q' + Add tests for filesystem challenges (case and unicode normalization) + +Teemu Likonen (1): + bash: Add more long options to be completed with "git --<TAB>" + +Tim Stoakes (1): + Add `git svn blame' command + +Toby Allsopp (1): + git-p4: Fix indentation from tab to spaces + +Tommy Thorn (2): + git-p4: Fix an obvious typo + git-p4: support exclude paths + +Tor Arvid Lund (1): + git-p4: Support usage of perforce client spec + +Uwe Kleine-König (1): + rev-list: add --branches, --tags and --remotes + +Yann Dirson (1): + Add an --argscmd flag to get the list of refs to show + +eric miao (1): + git-gui: translate the remaining messages in zh_cn.po to chinese + + +Version v1.5.4.7; changes since v1.5.4.6: +----------------------------------------- + +Junio C Hamano (2): + gitweb: do not run "git diff" that is Porcelain + GIT 1.5.4.7 + + +Version v1.5.4.6; changes since v1.5.4.5: +----------------------------------------- + +A Large Angry SCM (1): + git-repack: re-enable parsing of -n command line option + +Alberto Bertogli (1): + builtin-apply: Show a more descriptive error on failure when opening a patch + +Ariel Badichi (2): + copy.c: copy_fd - correctly report write errors + archive.c: format_subst - fixed bogus argument to memchr + +Björn Steinbrink (1): + Fix section about backdating tags in the git-tag docs + +Carlos Rica (2): + Fix documentation syntax of optional arguments in short options. + core-tutorial.txt: Fix showing the current behaviour. + +Christian Couder (4): + bisect: fix bad rev checking in "git bisect good" + bisect: report bad rev better + bisect: squelch "fatal: ref HEAD not a symref" misleading message + git-bisect: make "start", "good" and "skip" succeed or fail atomically + +Clifford Caoile (1): + Docs gitk: Explicitly mention the files that gitk uses (~/.gitk) + +Dan McGee (1): + Remove 'header' from --signoff option description + +Dirk Süsserott (1): + Documentation/git-request-pull: Fixed a typo ("send" -> "end") + +Dustin Sallings (1): + Documentation/config.txt: Mention branch.<name>.rebase applies to "git pull" + +Florian Ragwitz (1): + filter-branch: Documentation fix. + +Ian Hilt (1): + Documentation/git-describe.txt: make description more readable + +Jeff King (6): + t5516: remove ambiguity test (1) + fix reflog approxidate parsing bug + cvsimport: always pass user data to "system" as a list + doc: clarify definition of "update" for git-add -u + doc/git-daemon: s/uploadarchive/uploadarch/ + git-am: fix typo in usage message + +Johannes Sixt (3): + Document option --only of git commit + wt-status.h: declare global variables as extern + rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref + +Jon Loeliger (1): + Clarify and fix English in "git-rm" documentation + +Junio C Hamano (7): + Fix "git apply" to correctly enforce "match at the beginning" + Document -w option to shortlog + git-am: minor cleanup + am: POSIX portability fix + write-tree: properly detect failure to write tree objects + git-shell: accept "git foo" form + GIT 1.5.4.6 + +Linus Torvalds (2): + Ignore leading empty lines while summarizing merges + git-am: cope better with an empty Subject: line + +Matt Graham (1): + Linked glossary from cvs-migration page + +Matthew Ogilvie (1): + gitattributes: Fix subdirectory attributes specified from root directory + +Michael Weber (1): + svn-git: Use binmode for reading/writing binary rev maps + +Michele Ballabio (1): + revision.c: make --date-order overriddable + +Miklos Vajna (1): + diff options documentation: refer to --diff-filter in --name-status + +Pieter de Bie (1): + builtin-fast-export: Only output a single parent per line + +René Scharfe (1): + git-archive: ignore prefix when checking file attribute + +Scott Collins (1): + Clarify documentation of git-cvsserver, particularly in relation to git-shell + +Sitaram Chamarty (1): + builtin-commit.c: add -u as short name for --untracked-files + +Thomas Guyot-Sionnest (1): + git-svn bug with blank commits and author file + + +Version v1.5.4.5; changes since v1.5.4.4: +----------------------------------------- + +Andy Whitcroft (1): + shortlog: take the first populated line of the description + +Bernt Hansen (1): + git-new-workdir: Share SVN meta data between work dirs and the repository + +Brandon Casey (1): + t/t3800-mktag.sh: use test_must_fail rather than '!' + +Clemens Buchacher (1): + merge-recursive: handle file mode changes + +Daniel Barkalow (2): + Tighten refspec processing + Fix branches file configuration + +Eric Wong (1): + git-svn: don't blindly append '*' to branch/tags config + +Guanqun Lu (1): + Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation. + +Jakub Narębski (1): + gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form + +Jeff King (2): + t0021: tr portability fix for Solaris + Documentation: clarify use of .git{ignore,attributes} versus .git/info/* + +Johannes Schindelin (3): + launch_editor(): allow spaces in the filename + git fetch: Take '-n' to mean '--no-tags' + merge-file: handle empty files gracefully + +Jonas Fonseca (1): + Make man page building quiet when DOCBOOK_XSL_172 is defined + +Junio C Hamano (9): + filter-branch: handle "disappearing tree" case correctly in subdir filter + git-pull documentation: warn about the option order + quiltimport: fix misquoting of parsed -p<num> parameter + format-patch: generate MIME header as needed even when there is format.header + rebase -m: do not trigger pre-commit verification + Start draft ReleaseNotes for 1.5.4.5 + git-fetch test: test tracking fetch results, not just FETCH_HEAD + Update draft release notes for 1.5.4.5 + GIT 1.5.4.5 + +Linus Torvalds (1): + rev-parse: fix meaning of rev~ vs rev~0. + +Marc-André Lureau (2): + git-svn: fix find-rev error message when missing arg + git-cvsimport: fix merging with remote parent branch + +Mike Hommey (1): + git rebase --abort: always restore the right commit + +Pierre Habouzit (1): + git-quiltimport: better parser to grok "enhanced" series files. + +Vineet Kumar (1): + Minor wording changes in the keyboard descriptions in git-add --interactive. + + +Version v1.5.4.4; changes since v1.5.4.3: +----------------------------------------- + +Adeodato Simó (1): + Really make the LF after reset in fast-import optional + +Björn Steinbrink (1): + receive-pack: Initialize PATH to include exec-dir. + +Brandon Casey (1): + builtin-reflog.c: don't install new reflog on write failure + +Bryan Donlan (1): + Documentation/git-am.txt: Pass -r in the example invocation of rm -f .dotest + +Caio Marcelo de Oliveira Filho (1): + filter-branch documentation: non-zero exit status in command abort the filter + +Carl Worth (1): + Eliminate confusing "won't bisect on seeked tree" failure + +Daniel Barkalow (3): + Use a single implementation and API for copy_file() + Don't use GIT_CONFIG in t5505-remote + Correct name of diff_flush() in API documentation + +Gerrit Pape (2): + templates/Makefile: don't depend on local umask setting + git-merge.sh: better handling of combined --squash,--no-ff,--no-commit options + +Jay Soffian (2): + rev-parse: fix potential bus error with --parseopt option spec handling + send-email: fix In-Reply-To regression + +Jeff King (1): + revert: actually check for a dirty index + +Johan Herland (2): + Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR + Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR + +Johannes Schindelin (4): + http-push: avoid invalid memory accesses + http-push: do not get confused by submodules + http-push: avoid a needless goto + cvsexportcommit: be graceful when "cvs status" reorders the arguments + +Johannes Sixt (2): + daemon: send more error messages to the syslog + daemon: ensure that base-path is an existing directory + +John Goerzen (1): + Fix dcommit, rebase when rewriteRoot is in use + +Jonathan del Strother (1): + Prompt to continue when editing during rebase --interactive + +Junio C Hamano (6): + Fix "git log --merge --left-right" + Start preparing for 1.5.4.4 + tests: introduce test_must_fail + Update draft release notes for 1.5.4.4 + test-lib: fix TERM to dumb for test repeatability + GIT 1.5.4.4 + +Matthieu Moy (1): + Fix incorrect wording in git-merge.txt. + +Mike Hommey (2): + Set proxy override with http_init() + Fix random crashes in http_cleanup() + +Mike Ralphson (1): + Documentation cherry-pick: Fix cut-and-paste error + +Miklos Vajna (2): + Documentation/git-filter-branch: add a new msg-filter example + Documentation/git svn log: add a note about timezones. + +Pierre Habouzit (1): + unquote_c_style: fix off-by-one. + +Ping Yin (1): + git-submodule: Fix typo 'url' which should be '$url' + +Rémi Vanicat (1): + git.el: find the git-status buffer whatever its name is + +Santi Béjar (1): + ident.c: reword error message when the user name cannot be determined + +Sebastian Noack (1): + git-svn: Don't prompt for client cert password everytime. + +Shawn O. Pearce (6): + Ensure 'make dist' compiles git-archive.exe on Cygwin + Protect peel_ref fallback case from NULL parse_object result + Correct fast-export file mode strings to match fast-import standard + git-gui: Paper bag fix info dialog when no files are staged at commit + Fix 'git remote show' regression on empty repository in 1.5.4 + git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl fails + +Steven Drake (1): + timezone_names[]: fixed the tz offset for New Zealand. + +Uwe Kleine-König (1): + config.txt: refer to --upload-pack and --receive-pack instead of --exec + + +Version v1.5.4.3; changes since v1.5.4.2: +----------------------------------------- + +Gerrit Pape (1): + git-clone.sh: properly configure remote even if remote's head is dangling + +Jay Soffian (2): + git-gui: support Git Gui.app under OS X 10.5 + send-email: squelch warning due to comparing undefined $_ to "" + +Jeff King (4): + push: indicate partialness of error message + Documentation/push: clarify matching refspec behavior + push: document the status output + hash: fix lookup_hash semantics + +Junio C Hamano (1): + GIT 1.5.4.3 + +Kristian Høgsberg (1): + Rename git-core rpm to just git and rename the meta-pacakge to git-all. + +Miklos Vajna (1): + Documentation/git-stash: document options for git stash list + +Pekka Kaitaniemi (1): + Clarified the meaning of git-add -u in the documentation + +Shawn O. Pearce (5): + git-gui: Ensure error dialogs always appear over all other windows + git-gui: Paper bag fix error dialogs opening over the main window + git-gui: Default TCL_PATH to same location as TCLTK_PATH + git-gui: Avoid hardcoded Windows paths in Cygwin package files + git-gui: Focus insertion point at end of strings in repository chooser + +Wincent Colaiuta (1): + git-gui: relax "dirty" version detection + + +Version v1.5.4.2; changes since v1.5.4.1: +----------------------------------------- + +Christian Couder (8): + config: add test cases for empty value and no value config variables. + diff.c: replace a 'strdup' with 'xstrdup'. + diff.c: remove useless check for value != NULL + config: add 'git_config_string' to refactor string config variables. + Add "const" qualifier to "char *pager_program". + Add "const" qualifier to "char *editor_program". + Add "const" qualifier to "char *excludes_file". + diff.c: add "const" qualifier to "char *cmd" member of "struct ll_diff_driver" + +Daniel Barkalow (1): + Validate nicknames of remote branches to prohibit confusing ones + +David Steven Tweed (1): + Make git prune remove temporary packs that look like write failures + +Frank Lichtenheld (1): + config: Fix --unset for continuation lines + +Gerrit Pape (2): + builtin-commit: remove .git/SQUASH_MSG upon successful commit + cvsimport: have default merge regex also match beginning of commit message + +James Bowes (1): + Add a BuildRequires for gettext in the spec file. + +Jay Soffian (1): + mailinfo: feed only one line to handle_filter() for QP input + +Jeff King (2): + status: suggest "git rm --cached" to unstage for initial commit + commit: discard index after setting up partial commit + +Johannes Schindelin (3): + bisect: allow starting with a detached HEAD + Document that the default of branch.autosetupmerge is true + bisect: use verbatim commit subject in the bisect log + +Johannes Sixt (1): + upload-pack: Initialize the exec-path. + +Jonas Fonseca (1): + man pages are littered with .ft C and others + +Junio C Hamano (31): + git-pull documentation: fix markup + archive-tar.c: guard config parser from value=NULL + Add config_error_nonbool() helper function + builtin-apply.c: guard config parser from value=NULL + builtin-branch.c: guard config parser from value=NULL + builtin-commit.c: guard config parser from value=NULL + builtin-config.c: guard config parser from value=NULL + builtin-log.c: guard config parser from value=NULL + builtin-reflog.c: guard config parser from value=NULL + builtin-show-branch.c: guard config parser from value=NULL + builtin-tag.c: guard config parser from value=NULL + connect.c: guard config parser from value=NULL + convert.c: guard config parser from value=NULL + diff.c: guard config parser from value=NULL + git.c: guard config parser from value=NULL + help.c: guard config parser from value=NULL + http.c: guard config parser from value=NULL + merge-recursive.c: guard config parser from value=NULL + remote.c: guard config parser from value=NULL + setup.c: guard config parser from value=NULL + wt-status.c: guard config parser from value=NULL + imap-send.c: guard config parser from value=NULL + builtin-log.c: guard config parser from value=NULL + config.c: guard config parser from value=NULL + Revert "pack-objects: only throw away data during memory pressure" + Protect get_author_ident_from_commit() from filenames in work tree + diff.c: fixup garding of config parser from value=NULL + diff: Fix miscounting of --check output + filter-branch: handle filenames that need quoting + Documentation/git-reset: + GIT 1.5.4.2 + +Martin Koegler (1): + pack-objects: only throw away data during memory pressure + +Mike Hommey (1): + Work around curl-gnutls not liking to be reinitialized + +Miklos Vajna (2): + builtin-gc.c: guard config parser from value=NULL + git clone -s documentation: force a new paragraph for the NOTE + +Pieter de Bie (2): + Documentation/git-reset: don't mention --mixed for selected-paths reset + Documentation/git-reset: Add an example of resetting selected paths + +Sergei Organov (1): + git-cvsimport.txt: fix '-M' description. + +Shawn O. Pearce (1): + fast-import: check return value from unpack_entry() + +Stelian Pop (1): + hg-to-git: fix parent analysis + +Uwe Kleine-König (1): + rebase -i: accept -m as advertised in the man page + + +Version v1.5.4.1; changes since v1.5.4: +--------------------------------------- + +Gerrit Pape (1): + INSTALL: git-merge no longer uses cpio + +Jari Aalto (1): + Documentation/git-stash.txt: Adjust SYNOPSIS command syntax (2) + +Junio C Hamano (3): + Update stale documentation links from the main documentation. + Fix "git-commit -C $tag" + gitattributes: fix relative path matching + +Jörg Sommer (2): + git-am: fix type in its usage string + git-remote documentation: fix synopsis to match description + +Tim Stoakes (1): + Fix typo in 'blame' documentation. + +Timo Hirvonen (1): + Fix parsing numeric color values + + +Version v1.5.4; changes since v1.5.4-rc5: +----------------------------------------- + +Brandon Casey (4): + git-relink: avoid hard linking in objects/info directory + filter-branch.sh: remove temporary directory on failure + filter-branch docs: remove brackets so not to imply revision arg is optional + filter-branch: assume HEAD if no revision supplied + +Bruno Ribas (1): + gitweb: Make use of the $git_dir variable at sub git_get_project_description + +Christian Couder (3): + Documentation: config: add "browser.<tool>.path". + Documentation: help: specify supported html browsers. + instaweb: use 'browser.<tool>.path' config option if it's set. + +Jakub Narębski (1): + gitweb: Add info about $projectroot and $projects_list to gitweb/README + +Jean-Luc Herren (1): + Documentation/git-cvsserver: Fix typo + +Jeff King (1): + t9001: add missing && operators + +Jim Meyering (1): + fix doc typos + +Johannes Schindelin (1): + Add test for rebase -i with commits that do not pass pre-commit + +Junio C Hamano (4): + reflog-expire: Avoid creating new files in a directory inside readdir(3) loop + Revert "filter-branch docs: remove brackets so not to imply revision arg is optional" + Fix "git checkout -b foo ':/substring'" + GIT 1.5.4 + +Michele Ballabio (1): + Fix typo in a comment in t/test-lib.sh + +Miklos Vajna (1): + git rev-parse manpage: spelling fix + +Shawn O. Pearce (1): + Use 'printf %s $x' notation in t5401 + +Yasushi SHOJI (1): + gitweb: Convert generated contents to utf8 in commitdiff_plain + + +Version v1.5.4-rc5; changes since v1.5.4-rc4: +--------------------------------------------- + +Alex Riesen (1): + Make t5710 more strict when creating nested repos + +Brandon Casey (1): + git-commit: exit non-zero if we fail to commit the index + +Eric Wong (1): + git-svn: default to repacking every 1000 commits + +Gustaf Hendeby (1): + send-email, fix breakage in combination with --compose + +Jakub Narębski (1): + autoconf: define NO_SYS_SELECT_H on systems without <sys/select.h>. + +Johannes Schindelin (1): + pull --rebase: be cleverer with rebased upstream branches + +Junio C Hamano (5): + git-submodule: rename shell functions for consistency + git-submodule: fix subcommand parser + git-submodule: add test for the subcommand parser fix + Clarify that http-push being temporarily disabled with older cURL + GIT 1.5.4-rc5 + +Mike Hommey (2): + Add a missing dependency on http.h + Documentation: add a bit about sendemail.to configuration + +Miklos Vajna (2): + git-clone -s: document problems with git gc --prune + git pull manpage: don't include -n from fetch-options.txt + +Nicolas Pitre (1): + pack-objects: Fix segfault when object count is less than thread count + +Pierre Habouzit (1): + parse-options: catch likely typo in presense of aggregated options. + +Robert Schiele (2): + pre-POSIX.1-2001 systems do not have <sys/select.h> + Makefile: customization for supporting HP-UX + +Sam Vilain (1): + git-svn(1): update instructions for resuming a git-svn clone + +Shawn O. Pearce (10): + git-gui: Honor the standard commit-msg hook + git-gui: Correct window title for hook failure dialogs + git-gui: Consolidate hook execution code into a single function + git-gui: Correct encoding of glossary/fr.po to UTF-8 + Teach fast-import to honor pack.compression and pack.depth + Document the hairy gfi_unpack_entry part of fast-import + git-gui: Work around random missing scrollbar in revision list + git-gui: Fallback to Tcl based po2msg.sh if msgfmt isn't available + git-gui: Make the statistics of po2msg match those of msgfmt + git-gui: Correctly cleanup msgfmt '1 message untranslated' output + +Steffen Prohaska (3): + submodule: Document the details of the command line syntax + t9400-git-cvsserver-server: Wrap setup into test case + cvsserver: Fix for histories with multiple roots + + +Version v1.5.4-rc4; changes since v1.5.4-rc3: +--------------------------------------------- + +Bill Lear (1): + Correct spelling in diff.c comment + +Brandon Casey (4): + close_lock_file(): new function in the lockfile API + Improve use of lockfile API + refs.c: rework ref_locks by abstracting from underlying struct lock_file + fast-import.c: don't try to commit marks file if write failed + +Christian Couder (2): + git-gui: Initial french translation + git-gui: add french glossary: glossary/fr.po + +Christian Stimming (4): + git-gui: Update glossary: add term "hunk" + git-gui: Update German translation + git-gui: Fix broken revert confirmation. + git-gui: Improve German translation. + +Dan McGee (3): + Remove usage of git- (dash) commands from email hook + cvsimport: remove last use of repo-config from git standard tools + Update git-completion for new 'remote rm' option + +Dave Peticolas (1): + Documentation: fix and clarify grammar in git-merge docs. + +Dmitry Potapov (1): + treat any file with NUL as binary + +Eric Wong (1): + git-svn: handle leading/trailing whitespace from svnsync revprops + +Grégoire Barbier (4): + http-push: disable http-push without USE_CURL_MULTI + http-push: fix webdav lock leak. + http-push: fail when info/refs exists and is already locked + http-push and http-fetch: handle URLs without trailing / + +Jakub Narębski (1): + autoconf: Add checking for unsetenv function + +Jean-Luc Herren (1): + Make default pre-commit hook less noisy + +Jeff King (5): + git-clean: fix off-by-one memory access when given no arguments + color unchanged lines as "plain" in "diff --color-words" + send-email: detect invocation errors earlier + send-email: validate patches before sending anything + send-email: add no-validate option + +Jim Meyering (2): + fast-import: Don't use a maybe-clobbered errno value + doc typo: s/prior committing/prior to committing/ + +Johannes Schindelin (1): + gitk: make Ctrl "+" really increase the font size + +Junio C Hamano (8): + builtin-commit.c: remove useless check added by faulty cut and paste + Revert "builtin-commit.c: remove useless check added by faulty cut and paste" + Fix git-rerere documentation + Squelch bogus progress output from git-rebase--interactive + Document lockfile API + Officially deprecate repo-config. + http-push: clarify the reason of error from the initial PROPFIND request + GIT 1.5.4-rc4 + +Kristian Høgsberg (1): + git-commit: fix double close(2) that can close a wrong file descriptor + +Lars Hjemli (1): + Move sha1_file_to_archive into libgit + +Linus Torvalds (4): + Fix performance regression for partial commits + Make builtin-commit.c more careful about parenthood + Make 'git fsck' complain about non-commit branches + Be more careful about updating refs + +Mark Drago (1): + hg-to-git: improve popen calls + +Mark Levedahl (1): + git-gui: Makefile - Handle $DESTDIR on Cygwin + +Martin Koegler (1): + parse_commit_buffer: tighten checks while parsing + +Miklos Vajna (3): + Add using merge subtree How-To + ls-remote: add -t and -h options. + Include rev-list options in git-log manpage. + +Peter Krefting (1): + git-gui: Updated Swedish translation after mailing list review. + +Shawn O. Pearce (3): + git-gui: Allow 'Create New Repository' on existing directories + git-gui: Refresh file status description after hunk application + Fix random fast-import errors when compiled with NO_MMAP + +Thomas Zander (1): + core-tutorial typofix + + +Version v1.5.4-rc3; changes since v1.5.4-rc2: +--------------------------------------------- + +Alexandre Julliard (6): + git.el: Support for getting diffs from inside the log-edit buffer. + git.el: Retrieve the permissions for up-to-date files. + git.el: Display file types and type changes. + git.el: Make sure we never insert the same file twice. + git.el: Refresh files from their real state upon commit. + git.el: Make status refresh faster. + +Bernt Hansen (1): + git-gui: Make commit log messages end with a newline + +Brandon Casey (1): + git-relink.txt: describe more clearly how hard linking occurs + +Charles Bailey (1): + gitk: Fix the Makefile to cope with systems lacking msgfmt + +Christian Couder (1): + Documentation: config: add 'help.*' and 'instaweb.*' variables. + +Christian Stimming (10): + gitk i18n: Add Makefile with rules for po file creation and installation + gitk i18n: Import msgcat for message string translation; load translation catalogs + gitk i18n: Markup several strings for translation + gitk i18n: Initial German translation + gitk i18n: More markup -- various options menus + gitk i18n: Recode gitk from latin1 to utf8 so that the (c) copyright character is valid utf8. + gitk: Update and fix Makefile + gitk: Update German translation + gitk: Fix typo in user message. + gitk: Update German translation. + +Dan McGee (1): + Documentation: rename gitlink macro to linkgit + +Eric Wong (4): + git-svn: allow dcommit --no-rebase to commit multiple, dependent changes + git-svn: unlink index files that were globbed, too + git-svn: support for funky branch and project names over HTTP(S) + git-svn: clarify the "Ignoring error from SVN" piece + +Florian La Roche (1): + Change git-gc documentation to reflect gc.packrefs implementation. + +Gerrit Pape (1): + gitk: use user-configured background in view definition dialog + +Grégoire Barbier (1): + Fix double-free() in http-push.c:remote_exists() + +Gustaf Hendeby (1): + Documentation/user-manual.txt: fix typo + +J. Bruce Fields (1): + Documentation: fix remote.<name>.skipDefaultUpdate description + +James Bowes (1): + Make the git metapackage require the same version of the subpackages. + +Jeff King (8): + config: handle lack of newline at end of file better + git-reset: refuse to do hard reset in a bare repository + add a "basic" diff config callback + diff: load funcname patterns in "basic" config + diff: remove lazy config loading + add--interactive: remove unused diff colors + add--interactive: allow diff colors without interactive colors + Document the color.interactive semantics + +Jim Meyering (3): + Fix grammar nits in documentation and in code comments. + Don't access line[-1] for a zero-length "line" from fgets. + bundle, fast-import: detect write failure + +Johannes Schindelin (2): + Optimize prefixcmp() + shortlog: mention the "-e" option in the usage + +Johannes Sixt (2): + git-gui: Move frequently used commands to the top of the context menu. + recv_sideband: Do not use ANSI escape sequence on dumb terminals. + +Junio C Hamano (27): + Documentation/git-submodule.txt: typofix + "git pull --tags": error out with a better message. + git-rebase -i behaves better on commits with incomplete messages + git-rebase -i: clean-up error check codepath. + lock_any_ref_for_update(): reject wildcard return from check_ref_format + Update callers of check_ref_format() + Uninline prefixcmp() + git-clean: make "Would remove ..." path relative to cwd again + t/t7600: avoid GNUism in grep + t/t{3600,3800,5401}: do not use egrep when grep would do + t/t3800: do not use a temporary file to hold expected result. + Update draft release notes for 1.5.4 + git-stash clear: refuse to work with extra parameter for now + git-rev-parse --symbolic-full-name + filter-branch: work correctly with ambiguous refnames + custom pretty format: tolerate empty e-mail address + Documentation: remove gitman.info with "make clean" + Documentation: fix "gitlink::foobar[s]" + utf8: pick_one_utf8_char() + utf8_width(): allow non NUL-terminated input + diff: do not chomp hunk-header in the middle of a character + Update draft release notes for 1.5.4 + GIT 1.5.3.8 + "git-apply --check" should not report "fixed" + pack-objects: remove redundant and wrong call to deflateEnd() + RPM spec: include gitk message files. + GIT 1.5.4-rc3 + +Kevin Ballard (1): + Trim leading / off of paths in git-svn prop_walk + +Marco Costalba (2): + Document git-reset defaults to HEAD if no commit is given + git-stash: use stdout instead of stderr for non error messages + +Mark Levedahl (2): + git-gui: Unconditionally use absolute paths with Cygwin + Documentation/Makefile - honor $DESTDIR for quick-install target + +Martin Koegler (4): + receive-pack: check object type of sha1 before using them as commits + receive-pack: reject invalid refnames + parse_tag_buffer: don't parse invalid tags + tree-walk: don't parse incorrect entries + +Michael Stefaniuc (1): + git-am: Run git gc only once and not for every patch. + +Michele Ballabio (1): + Document some default values in config.txt + +Miklos Vajna (2): + git-sh-setup: document git_editor() and get_author_ident_from_commit() + t/t7001: avoid unnecessary ERE when using grep + +Nicolas Pitre (1): + slightly better auto gc message + +Paul Mackerras (2): + gitk: Recode de.po to UTF-8 + gitk: Restore some widget options whose defaults changed in Tk 8.5 + +Peter Krefting (1): + Added Swedish translation. + +Ralf Wildenhues (1): + Documentation: typofix + +Rogan Dawes (1): + Allow git-mergetool to handle paths with a leading space + +Shawn O. Pearce (1): + git-gui: Handle file mode changes (644->755) in diff viewer + + +Version v1.5.4-rc2; changes since v1.5.4-rc1: +--------------------------------------------- + +Alex Riesen (1): + Allow selection of different cleanup modes for commit messages + +Arjen Laarhoven (1): + Fix "git log --diff-filter" bug + +Charles Bailey (1): + Remove old generated files from .gitignore. + +Gustaf Hendeby (2): + Make git send-email accept $EDITOR with arguments + shortlog manpage documentation: work around asciidoc markup issues + +Jakub Narębski (1): + gitweb: fix whitespace in config_to_multi (indent with tab) + +Jeff King (2): + clean up 1.5.4 release notes + cvsimport: die on cvsps errors + +Jim Meyering (1): + Don't dereference NULL upon lookup failure. + +Johannes Schindelin (2): + Teach diff machinery to display other prefixes than "a/" and "b/" + Mention git-shell's "cvs" substitution in the RelNotes + +Junio C Hamano (14): + t4024: fix test script to use simpler sed pattern + fix git commit --amend -m "new message" + shell-scripts usage(): consistently exit with non-zero + Documentation: ls-files -v is about "assume unchanged". + Fix $EDITOR regression introduced by rewrite in C. + t7005: do not exit inside test. + builtin-commit: fix amending of the initial commit + builtin-commit: avoid double-negation in the code. + Documentation: describe 'union' low-level merge driver + Fix documentation of --first-parent in git-log and copy it to git-rev-list + combine-diff: Fix path quoting + Fix rewrite_diff() name quoting. + contrib: resurrect scripted git-revert. + GIT 1.5.4-rc2 + +Linus Torvalds (1): + Re(-re)*fix trim_common_tail() + +Miklos Vajna (1): + everyday: replace 'prune' and 'repack' with 'gc' + +Pierre Habouzit (3): + git-tag: fix -l switch handling regression. + Force the sticked form for options with optional arguments. + parse-options: Add a gitcli(5) man page. + +René Scharfe (1): + Make "--pretty=format" parser a bit more careful. + +Shawn O. Pearce (2): + Reallow git-rebase --interactive --continue if commit is unnecessary + Improve error messages when int/long cannot be parsed from config + +Stefan Sperling (1): + Small comment fix for git-cvsimport. + +Wincent Colaiuta (1): + Emit helpful status for accidental "git stash" save + + +Version v1.5.4-rc1; changes since v1.5.4-rc0: +--------------------------------------------- + +Andy Whitcroft (1): + git-svn: expand handling of From: and Signed-off-by: + +Charles Bailey (1): + Fix git-instaweb breakage on MacOS X due to the limited sed functionality + +Christian Couder (1): + git-help: add "help.format" config variable. + +David S. Miller (1): + fast-import: fix unalinged allocation and access + +Eric Wong (5): + git-svn: unlink internal index files after operations + git-svn: handle our top-level path being deleted and later re-added + git-svn: avoid leaving leftover committer/author info in rebase + git-svn: workaround a for broken symlinks in SVN + git-svn: avoid warning when run without arguments + +Finn Arne Gangstad (1): + Improved submodule merge support + +H. Merijn Brand (1): + the use of 'tr' in the test suite isn't really portable + +J. Bruce Fields (8): + whitespace: fix off-by-one error in non-space-in-indent checking + whitespace: reorganize initial-indent check + whitespace: minor cleanup + whitespace: fix initial-indent checking + whitespace: more accurate initial-indent highlighting + whitespace: fix config.txt description of indent-with-non-tab + builtin-apply: minor cleanup of whitespace detection + builtin-apply: stronger indent-with-on-tab fixing + +Jakub Narębski (2): + gitweb: disambiguate heads and tags withs the same name + gitweb: Teach "a=blob" action to be more lenient about blob/file mime type + +Jeff King (7): + cvsexportcommit: fix massive commits + trim_common_tail: brown paper bag fix. + teach bash completion to treat commands with "--" as a helper + rename git-browse--help to git-help--browse + clone: correctly report http_fetch errors + git-send-email: avoid duplicate message-ids + test "git clone -o" + +Jim Meyering (1): + git-filter-branch.sh: more portable tr usage: use \012, not \n. + +Johannes Schindelin (4): + Support config variable diff.external + Document diff.external and mergetool.<tool>.path + rebase -p -i: handle "no changes" gracefully + git show <tag>: show the tagger + +Johannes Sixt (4): + threaded pack-objects: Use condition variables for thread communication. + Plug a resource leak in threaded pack-objects code. + Clean up documentation that references deprecated 'git peek-remote'. + filter-branch: Remove broken and unnecessary summary of rewritten refs. + +Junio C Hamano (18): + git-commit: squelch needless message during an empty merge + xdl_diff: identify call sites. + xdi_diff: trim common trailing lines + diff --check: minor fixups + Add tests for "git diff --check" with core.whitespace options + xdiff tail trimming: use correct type. + commit: allow --amend to reuse message from another commit + remote: Fix bogus make_branch() call in configuration reader. + Rename git-browse-help helper to git-browse--help + Retire git-runstatus for real. + Start preparing the API documents. + Update draft release notes for 1.5.4 + Re-re-re-fix common tail optimization + builtin-commit: fix summary output. + builtin-commit: make summary output consistent with status + Documentation/git-submodule: refer to gitmodules(5) + builtin-blame.c: remove unneeded memclr() + GIT 1.5.4-rc1 + +Kristian Høgsberg (1): + Use a strbuf for building up section header and key/value pair strings. + +Li Hong (1): + Fix a memory leak + +Linus Torvalds (1): + unpack-trees: FLEX_ARRAY fix + +Marco Roeland (1): + clone: fix options '-o' and '--origin' to be recognised again + +Mike Hommey (8): + Fix some more memory leaks in http-push.c + Fix random sha1 in error message in http-fetch and http-push + Remove the default_headers variable from http-push.c + Remove a CURLOPT_HTTPHEADER (un)setting + Avoid redundant declaration of missing_target() + Use strbuf in http code + Fix various memory leaks in http-push.c and http-walker.c + Move fetch_ref from http-push.c and http-walker.c to http.c + +Nicolas Pitre (3): + provide advance warning of some future pack default changes + fix style of a few comments in diff-delta.c + make 'git describe --all --contains' work + +Petr Baudis (1): + gitweb: Make config_to_multi return [] instead of [undef] + +Pierre Habouzit (1): + Fix segfault in diff-delta.c when FLEX_ARRAY is 1 + +Ralf Wildenhues (1): + Fix some documentation typos. + +Sam Vilain (1): + Clarify error response from 'git fetch' for bad responses + +Sean Estabrooks (1): + Fix interactive rebase to preserve author email address + +Shawn Bohrer (1): + Fix spelling mistakes in user manual + +Shawn O. Pearce (2): + Avoid update hook during git-rebase --interactive + Catch and handle git-commit failures in git-rebase --interactive + +Wincent Colaiuta (5): + "diff --check" should affect exit status + Unify whitespace checking + Make "diff --check" output match "git apply" + Use shorter error messages for whitespace problems + Test interaction between diff --check and --exit-code + +anonymous (1): + Documentation: describe pack idx v2 + + +Version v1.5.4-rc0; changes since v1.5.3.8: +------------------------------------------- + +Alex Riesen (12): + fix t5403-post-checkout-hook.sh: built-in test in dash does not have "==" + Fix a crash in ls-remote when refspec expands into nothing + More updates and corrections to the russian translation of git-gui + Rework make_usage to print the usage message immediately + Updated russian translation of git-gui + Do no colorify test output if stdout is not a terminal + Add a test checking if send-pack updated local tracking branches correctly + Update the tracking references only if they were succesfully updated on remote + Fix dependencies of parse-options test program + Do not generate full commit log message if it is not going to be used + Simplify crud() in ident.c + Fix git-fast-export for zero-sized blobs + +Alexandre Julliard (12): + git.el: Keep the status buffer sorted by filename. + git.el: Allow selecting whether to display uptodate/unknown/ignored files. + git.el: Allow the add and remove commands to be applied to ignored files. + git.el: Preserve file marks when doing a full refresh. + git.el: Do not print a status message on every git command. + git.el: Update a file status in the git buffer upon save. + git.el: Reset the permission flags when changing a file state. + git.el: Fix typo in "Reverted file" message. + git.el: Fix typo in git-update-saved-file error handling. + git.el: Refresh only the changed file marks when marking/unmarking all. + git.el: Run git-gc --auto after commits. + git.el: Added a menu for git-status-mode. + +Andreas Ericsson (1): + Simplify strchrnul() compat code + +André Goddard Rosa (2): + Print the real filename that we failed to open. + Error out when user doesn't have access permission to the repository + +Andy Parkins (4): + parse_date_format(): convert a format name to an enum date_mode + Make for-each-ref allow atom names like "<name>:<something>" + Make for-each-ref's grab_date() support per-atom formatting + Add a test script for for-each-ref, including test of date formatting + +Andy Whitcroft (6): + Teach send-pack a mirror mode + git-push: plumb in --mirror mode + Add tests for git push'es mirror mode + git-push: add documentation for the newly added --mirror mode + git-quiltimport.sh fix --patches handling + git-svn: add support for pulling author from From: and Signed-off-by: + +Anton Gyllenberg (1): + gitview: import only one of gtksourceview and gtksourceview2 + +Ask Bjørn Hansen (1): + send-email: Don't add To: recipients to the Cc: header + +Benoit Sigoure (7): + git-svn: add a generic tree traversal to fetch SVN properties + git-svn: implement git svn create-ignore + git-svn: add git svn propget + git-svn: add git svn proplist + git-svn: simplify the handling of fatal errors + core-tutorial: Catch up with current Git + git-svn: sort the options in the --help message. + +Björn Steinbrink (1): + git config: Don't rely on regexec() returning 1 on non-match + +Blake Ramsdell (1): + transport.c: squelch a gcc 4.0.1 complaint about an uninitialized variable + +Brandon Casey (2): + git-gc: by default use safer "-A" option to repack when not --prune'ing + git-gc --auto: simplify "repack" command line building + +Brian Ewins (2): + Add a --dry-run option to git-send-pack. + Add a --dry-run option to git-push. + +Brian Gernhardt (3): + format-patch: Add configuration and off switch for --numbered + format-patch: Test --[no-]numbered and format.numbered + t3502: Disambiguate between file and rev by adding -- + +Carlos Rica (5): + Function for updating refs. + Add tests for documented features of "git reset". + Move make_cache_entry() from merge-recursive.c into read-cache.c + Make "git reset" a builtin. + Make builtin-tag.c use parse_options. + +Charles Bailey (1): + Fix clone not to ignore depth when performing a local clone + +Cheng Renquan (1): + gitweb: the commitdiff is very commonly used, it's needed on search page, too + +Chris Pettitt (3): + git-p4 support for perforce renames. + git-p4: Add a helper function to parse the full git diff-tree output. + git-p4: Detect changes to executable bit and include them in p4 submit. + +Christian Couder (27): + rev-list --bisect: Move finding bisection into do_find_bisection. + rev-list --bisect: Move some bisection code into best_bisection. + rev-list --bisect: Bisection "distance" clean up. + rev-list --bisect: Fix best == NULL case. + Test suite: reset TERM to its previous value after testing. + rev-list: implement --bisect-all + rev-list documentation: add "--bisect-all". + Bisect: fix some white spaces and empty lines breakages. + Bisect: implement "bisect skip" to mark untestable revisions. + Bisect: refactor "bisect_write_*" functions. + Bisect: refactor some logging into "bisect_write". + Bisect: refactor "bisect_{bad,good,skip}" into "bisect_state". + Bisect: add "bisect skip" to the documentation. + Bisect: add a "bisect replay" test case. + Bisect run: "skip" current commit if script exit code is 125. + Bisect: add "skip" to the short usage string. + Bisect reset: remove bisect refs that may have been packed. + Bisect visualize: use "for-each-ref" to list all good refs. + Bisect: use "$GIT_DIR/BISECT_NAMES" to check if we are bisecting. + Bisect reset: do nothing when not bisecting. + Documentation: add a new man page for "git-help" + Trace and quote with argv: get rid of unneeded count argument. + git-help: add -i|--info option to display info page. + Documentation: describe -i/--info option to "git-help" + git-help: add -w|--web option to display html man page in a browser. + Use {web,instaweb,help}.browser config options. + Documentation: describe -w/--web option to "git-help". + +Christian Stimming (14): + Mark strings for translation. + Makefile rules for translation catalog generation and installation. + Add glossary that can be converted into a po file for each language. + Add glossary translation template into git. + German translation for git-gui + German glossary for translation + git-gui: Add more words to translation glossary + git-gui: Update German glossary according to mailing list discussion + git-gui: Incorporate glossary changes into existing German translation + git-gui: Update German translation, including latest glossary changes + git-gui: Add more terms to glossary. + git-gui: Update German translation + Update git-gui.pot with latest (few) string additions and changes. + Update German translation. 100% completed. + +Dan McGee (1): + Remove outdated references to cogito in documentation + +Daniel Barkalow (23): + Refactor http.h USE_CURL_MULTI fill_active_slots(). + Make function to refill http queue a callback + Remove obsolete commit-walkers + Modularize commit-walker + Add uploadpack configuration info to remote. + Report information on branches from remote.h + Make fetch-pack a builtin with an internal API + Push code for transport library + Add matching and parsing for fetch-side refspec rules + Add fetch methods to transport library. + Make fetch a builtin + Allow abbreviations in the first refspec to be merged + Fix adding a submodule with a remote url + Restore default verbosity for http fetches. + Remove duplicate ref matches in fetch + Correct handling of upload-pack in builtin-fetch-pack + Miscellaneous const changes and utilities + Build-in peek-remote, using transport infrastructure. + Use built-in send-pack. + Build-in send-pack, with an API for other programs to call. + Build in ls-remote + Use parseopts in builtin-push + Add more checkout tests + +David D. Kilzer (8): + git-svn log: fix ascending revision ranges + git-svn log: include commit log for the smallest revision in a range + git-svn log: handle unreachable revisions like "svn log" + git-send-email: show all headers when sending mail + git-svn: extract reusable code into utility functions + git-svn info: implement info command + git-svn: info --url [path] + git-svn: Remove unnecessary Git::SVN::Util package + +David Kastrup (3): + diff-delta.c: pack the index structure + diff-delta.c: Rationalize culling of hash buckets + git-commit.sh: Shell script cleanup + +David Reiss (1): + git-svn: Fix a typo and add a comma in an error message in git-svn + +David Symonds (7): + gitweb: Provide title attributes for abbreviated author names. + gitweb: Refactor abbreviation-with-title-attribute code. + gitweb: Use chop_and_escape_str in more places. + Rearrange git-format-patch synopsis to improve clarity. + git-checkout: Support relative paths containing "..". + git-checkout: Test for relative path use. + Mention that git-rm can be an appropriate resolution as well as git-add. + +Dmitry Potapov (1): + preserve executable bits in zip archives + +Douglas Stockwell (1): + send-email: Add support for SSL and SMTP-AUTH + +Emil Medve (2): + Fixed a command line option type for builtin-fsck.c + git-stash: Fix listing stashes + +Eric Wong (6): + git-svn: support for funky branch and project names over HTTP(S) + git-svn: add tests for command-line usage of init and clone commands + t9106: fix a race condition that caused svn to miss modifications + git-svn: allow `info' command to work offline + git-svn: replace .rev_db with a more space-efficient .rev_map format + git-svn: reinstate old rev_db optimization in new rev_map + +Eygene Ryabinkin (2): + git-svn: respect Subversion's [auth] section configuration values + git-svn: use "no warnings 'once'" to disable false-positives + +Eyvind Bernhardsen (1): + Fix mis-markup of the -p, --patch option in git-add(1) + +Frederick Akalin (1): + gtksourceview2 support for gitview + +Gerrit Pape (9): + No longer install git-svnimport, move to contrib/examples + git-reset: add -q option to operate quietly + contrib/hooks/post-receive-email: fix typo + contrib/hooks/post-receive-email: reformat to wrap comments at 76 chars + contrib/hooks/post-receive-email: make subject prefix configurable + hooks--update: fix test for properly set up project description file + hooks--update: decline deleting tags or branches by default, add config options + contrib/hooks/post-receive-email: remove cruft, $committer is not used + Don't cache DESTDIR in perl/perl.mak. + +Gordon Hopper (1): + git-cvsimport: fix handling of user name when it is not set in CVSROOT + +Guido Ostkamp (2): + Remove unreachable statements + Use compat mkdtemp() on Solaris boxes + +Gustaf Hendeby (1): + git-svn now reads settings even if called in subdirectory + +H. Merijn Brand (1): + Do not rely on the exit status of "unset" for unset variables + +Harri Ilari Tapio Liusvaara (1): + git-gui: Disambiguate "commit" + +Heikki Orsila (1): + git-clone: honor "--" to end argument parsing + +Irina Riesen (1): + git-gui: initial version of russian translation + +J. Bruce Fields (3): + git-rebase: support --whitespace=<option> + git-rebase: fix -C option + errors: "strict subset" -> "ancestor" + +Jakub Narębski (18): + gitweb: Fix and simplify "split patch" detection + gitweb: Always set 'from_file' and 'to_file' in parse_difftree_raw_line + gitweb: Add 'status_str' to parse_difftree_raw_line output + gitweb: Remove CGI::Carp::set_programname() call from t9500 gitweb test + gitweb: Easier adding/changing parameters to current URL + gitweb: Use href(-replay=>1, page=>...) to generate pagination links + gitweb: Use href(-replay=>1, action=>...) to generate alternate views + gitweb: Add tests for overriding gitweb config with repo config + gitweb: Read repo config using 'git config -z -l' + gitweb: Use config file for repository description and URLs + gitweb: Style all tables using CSS + gitweb: Put project README in div.readme, fix its padding + autoconf: Add tests for memmem, strtoumax and mkdtemp functions + Add config_int() method to the Git perl module + gitweb: Update and improve gitweb/README file + contrib: Make remotes2config.sh script more robust + autoconf: Add test for OLD_ICONV (squelching compiler warning) + autoconf: Check asciidoc version to automatically set ASCIIDOC8 + +James Bowes (3): + remote: add 'rm' subcommand + remote: document the 'rm' subcommand + gc: use parse_options + +Jari Aalto (2): + git-remote: exit with non-zero status after detecting error in "rm". + On error, do not list all commands, but point to --help option + +Jeff King (36): + contrib/fast-import: add perl version of simple example + diffcore-rename: cache file deltas + git-rebase: document suppression of duplicate commits + send-pack: don't update tracking refs on error + t5516: test update of local refs on push + git-gc: improve wording of --auto notification + Documentation/git-gc: explain --auto in description + Documentation/git-gc: improve description of --auto + more terse push output + receive-pack: don't mention successful updates + send-pack: require --verbose to show update of tracking refs + git-ls-files: add --exclude-standard + send-pack: track errors for each ref + send-pack: check ref->status before updating tracking refs + send-pack: assign remote errors to each ref + make "find_ref_by_name" a public function + send-pack: tighten remote error reporting + send-pack: fix "everything up-to-date" message + avoid "defined but not used" warning for fetch_objs_via_walker + send-pack: cluster ref status reporting + git-tag: test that -s implies an annotated tag + Revert "t5516: test update of local refs on push" + git-commit: clean up die messages + Enable rewrite as well as rename detection in git-status + quote_path: fix collapsing of relative paths + t9600: require cvsps 2.1 to perform tests + t7300: add test for clean with wildcard pathspec + wt-status.c:quote_path(): convert empty path to "./" + add status.relativePaths config variable + git-status: documentation improvements + don't mention index refreshing side effect in git-status docs + Add git-browse-help to .gitignore + Support GIT_PAGER_IN_USE environment variable + git-svn: get color config from --get-colorbool + shortlog: document -e option + git-clone: print an error message when trying to clone empty repo + +Jeff Muizelaar (1): + fix contrib/hooks/post-receive-email hooks.recipients error message + +Jim Meyering (1): + hooks-pre-commit: use \t, rather than a literal TAB in regexp + +Johannes Schindelin (57): + Add po/git-gui.pot + Ignore po/*.msg + Teach "git remote" a mirror mode + verify-tag: also grok CR/LFs in the tag signature + apply: get rid of --index-info in favor of --build-fake-ancestor + Move bundle specific stuff into bundle.[ch] + Add bundle transport + git-gui: Deiconify startup wizard so it raises to the top + git-gui: add a simple msgfmt replacement + rebase -i: commit when continuing after "edit" + rebase -i: style fixes and minor cleanups + rebase -i: Fix numbers in progress report + rebase -i: avoid exporting GIT_AUTHOR_* variables + rebase -i: work on a detached HEAD + rebase -i: support single-letter abbreviations for the actions + Introduce remove_dir_recursively() + fetch/push: readd rsync support + Support cvs via git-shell + Fix compilation when NO_CURL is defined + cvsexportcommit: get rid of temporary directory + fetch: if not fetching from default remote, ignore default merge + Deduce exec_path also from calls to git with a relative path + Add tests for parse-options.c + parse-options: Allow abbreviated options when unambiguous + po2msg: ignore entries marked with "fuzzy" + po2msg: ignore untranslated messages + po2msg: actually output statistics + git-reset: do not be confused if there is nothing to reset + Split off the pretty print stuff into its own file + parse-options: abbreviation engine fix. + builtin-reset: do not call "ls-files --unmerged" + builtin-reset: avoid forking "update-index --refresh" + Deprecate git-lost-found + rebase: operate on a detached HEAD + builtin-blame: set up the work_tree before the first file access + rebase: fix "rebase --continue" breakage + Close files opened by lock_file() before unlinking. + rebase -i: move help to end of todo file + launch_editor(): read the file, even when EDITOR=: + builtin-commit: fix reflog message generation + git status: show relative paths when run in a subdirectory + builtin-commit: fix --signoff + builtin-commit --s: add a newline if the last line was not a S-o-b + builtin-commit: resurrect behavior for multiple -m options + builtin-commit: Add newline when showing which commit was created + Replace "runstatus" with "status" in the tests + filter-branch: fix dirty way to provide the helpers to commit filters + git checkout's reflog: even when detaching the HEAD, say from where + bash completion: add diff options + Replace instances of export VAR=VAL with VAR=VAL; export VAR + Teach 'git pull' about --rebase + rebase -i: give rerere a chance + receive-pack: allow deletion of corrupt refs + Add "--expire <time>" option to 'git prune' + Add 'git fast-export', the sister of 'git fast-import' + fast-export: rename the signed tag mode 'ignore' to 'verbatim' + Allow ':/<oneline-prefix>' syntax to work with save_commit_buffer == 0 + +Johannes Sixt (38): + git-gui: Change main window layout to support wider screens + gitk: Do not pick up file names of "copy from" lines + Change git_connect() to return a struct child_process instead of a pid_t. + Use start_command() in git_connect() instead of explicit fork/exec. + Use start_command() to run content filters instead of explicit fork/exec. + Use run_command() to spawn external diff programs instead of fork/exec. + Use start_comand() in builtin-fetch-pack.c instead of explicit fork/exec. + Have start_command() create a pipe to read the stderr of the child. + upload-pack: Use start_command() to run pack-objects in create_pack_file(). + Add infrastructure to run a function asynchronously. + Use the asyncronous function infrastructure in builtin-fetch-pack.c. + upload-pack: Move the revision walker into a separate function. + upload-pack: Run rev-list in an asynchronous function. + t0021-conversion.sh: Test that the clean filter really cleans content. + Avoid a dup2(2) in apply_filter() - start_command() can do it for us. + Use the asyncronous function infrastructure to run the content filter. + Fix an infinite loop in sq_quote_buf(). + upload-pack: Use finish_{command,async}() instead of waitpid(). + Give git-am back the ability to add Signed-off-by lines. + git-clean: Fix error message if clean.requireForce is not set. + Fix preprocessor logic that determines the availablity of strchrnul(). + t5300-pack-object.sh: Split the big verify-pack test into smaller parts. + t7501-commit.sh: Not all seds understand option -i + t5302-pack-index: Skip tests of 64-bit offsets if necessary. + Skip t3902-quoted.sh if the file system does not support funny names. + Use is_absolute_path() in sha1_file.c. + Move #include <sys/select.h> and <sys/ioctl.h> to git-compat-util.h. + builtin run_command: do not exit with -1. + Allow a relative builtin template directory. + Introduce git_etc_gitconfig() that encapsulates access of ETC_GITCONFIG. + Allow ETC_GITCONFIG to be a relative path. + refs.c: Remove unused get_ref_sha1() + fetch-pack: Prepare for a side-band demultiplexer in a thread. + Flush progress message buffer in display(). + git-gui: Improve the application icon on Windows. + git-commit: Allow to amend a merge commit that does not change the tree + for-each-ref: Fix quoting style constants. + Fix a typo in checkout.sh and cleanup one-line help messages + +Jonas Fonseca (2): + Update manpages to reflect new short and long option aliases + Documentation: Fix references to deprecated commands + +Jonathan del Strother (2): + Fixing path quoting in git-rebase + gitk: Add support for OS X mouse wheel + +Josh England (4): + Add post-merge hook, related documentation, and tests. + Added example hook script to save/restore permissions/ownership. + post-checkout hook, tests, and docs + Minor usage update in setgitperms.perl + +Junio C Hamano (157): + Keep last used delta base in the delta window + git-gui po/README: Guide to translators + Start 1.5.4 cycle + Implement git gc --auto + Invoke "git gc --auto" from commit, merge, am and rebase. + archive - leakfix for format_subst() + git-commit: Allow partial commit of file removal. + An additional test for "git-reset -- path" + Simplify cache API + git-commit: partial commit of paths only removed from the index + Document ls-files --with-tree=<tree-ish> + builtin-pack-objects.c: avoid bogus gcc warnings + stash: implement "stash create" + rebase: allow starting from a dirty tree. + Export matches_pack_name() and fix its return value + pack-objects --keep-unreachable + repack -A -d: use --keep-unreachable when repacking + git-gc --auto: move threshold check to need_to_gc() function. + git-gc --auto: add documentation. + git-gc --auto: protect ourselves from accumulated cruft + git-gc --auto: restructure the way "repack" command line is built. + git-gc --auto: run "repack -A -d -l" as necessary. + builtin-apply.c: fix a tiny leak introduced during xmemdupz() conversion. + builtin-for-each-ref.c::copy_name() - do not overstep the buffer. + git-remote rm: add tests and minor fix-ups + Start RelNotes for 1.5.4 + strbuf_setlen(): do not barf on setting length of an empty buffer to 0 + send-email --smtp-server-port: allow overriding the default port + rerere: Fix use of an empty strbuf.buf + git-am: make the output quieter. + bundle transport: fix an alloc_ref() call + Update stale documentation link in the k.org site + git-am: fix typo in the previous one. + dateformat: parse %(xxdate) %(yydate:format) correctly + builtin-apply: fix conversion error in strbuf series + Update state documentation link for 1.5.3.4 + k.org git toppage: Add link to 1.5.3 release notes. + help: remove extra blank line after "See 'git --help'" message + revert/cherry-pick: work on merge commits as well + git-fetch: do not fail when remote branch disappears + RelNotes-1.5.4: describe recent updates + git-gui: Update Japanese strings (part 2) + Revert "rebase: allow starting from a dirty tree." + git-merge: no reason to use cpio anymore + format-patch -s: add MIME encoding header if signer's name requires so + cherry-pick/revert -m: add tests + test format-patch -s: make sure MIME content type is shown as needed + War on whitespace: first, a bit of retreat. + git-diff: complain about >=8 consecutive spaces in initial indent + core.whitespace: add test for diff whitespace error highlighting + clean: require -f to do damage by default + gc: --prune prunes unreferenced objects. + scripts: Add placeholders for OPTIONS_SPEC + git-rev-parse --parseopt + git-sh-setup: fix parseopt `eval` string underquoting + send-pack: segfault fix on forced push + Style: place opening brace of a function definition at column 1 + git-am: -i does not take a string parameter. + Update draft release notes for 1.5.4 + Documentation: lost-found is now deprecated. + Make check-docs target detect removed commands + Documentation: remove documentation for removed tools. + git-commit: a bit more tests + Resurrect git-revert.sh example and add comment to builtin-revert.c + core.excludesfile clean-up + Fix per-directory exclude handing for "git add" + git-bisect: war on "sed" + git-bisect: use update-ref to mark good/bad commits + git-bisect: modernize branch shuffling hack + Update draft release notes for 1.5.4 + Draft release notes: fix clean.requireForce description + Update draft release notes for 1.5.4 + Move gitk to its own subdirectory + git-clean: Fix error message if clean.requireForce is not set. + git-compat-util.h: auto-adjust to compiler support of FLEX_ARRAY a bit better + Fix "quote" misconversion for rewrite diff output. + Make test scripts executable. + file_exists(): dangling symlinks do exist + builtin-commit: do not color status output shown in the message template + builtin-commit: run commit-msg hook with correct message file + Export three helper functions from ls-files + Fix add_files_to_cache() to take pathspec, not user specified list of files + builtin-commit: fix partial-commit support + Addendum to "MaintNotes" + git-add -i: allow multiple selection in patch subcommand + git-branch --contains=commit + git-branch --contains: doc and test + builtin-tag: accept and process multiple -m just like git-commit + Add a few more tests for git-commit + builtin-apply: rename "whitespace" variables and fix styles + t4119: correct overeager war-on-whitespace + builtin-apply: teach whitespace_rules + core.whitespace: documentation updates. + Deprecate peek-remote + Update draft release notes for 1.5.4 + builtin-add: fix command line building to call interactive + add -i: Fix running from a subdirectory + "git-tag -s" should create a signed annotated tag + revert/cherry-pick: do not mention the original ref + "color.diff = true" is not "always" anymore. + git-config --get-color: get configured color + dir.c: minor clean-up + per-directory-exclude: lazily read .gitignore files + Update draft release notes for 1.5.4 + Resurrect peek-remote + Consolidate command list to one. + Update draft release notes for 1.5.4 + rename: Break filepairs with different types. + git-am: catch missing author date early. + Fix --signoff in builtin-commit differently. + git-commit: Allow to amend a merge commit that does not change the tree + git-commit --allow-empty + git-commit --allow-empty + git-commit documentation: fix unfinished sentence. + Add git-fast-export to list of commands. + Update draft release notes for 1.5.4 + Run the specified perl in Documentation/ + Formatting fix for Documentation/git-help.txt + Documentation: rerere is enabled by default these days. + Documentation/git.txt: typofix + t5510: add a bit more tests for fetch + git-cvsserver runs hooks/post-update + Revert "git-am: catch missing author date early." + Documentation: color.* = true means "auto" + git config --get-colorbool + Color support for "git-add -i" + git-clean: Honor pathspec. + config --get-colorbool: diff.color is a deprecated synonym to color.diff + Use gitattributes to define per-path whitespace rule + hg-to-git: handle an empty dir in hg. + do not discard status in fetch_refs_via_pack() + git-status documentation: mention subdirectory behaviour + Update draft release notes to 1.5.4 + git-bisect visualize: work in non-windowed environments better + mailmap: fix bogus for() loop that happened to be safe by accident + shortlog: code restructuring and clean-up + git-shortlog -e: show e-mail address as well + ls-remote: resurrect pattern limit support + Fix commit-msg hook to allow editing + Re-fix "builtin-commit: fix --signoff" + Re-fix ls-remote + Update draft Release Notes for 1.5.4 + Documentation: add gitman.info target + git-help -i: invoke info with document and node name + git-help -i: show info documentation from matching version of git + send-email: do not muck with initial-reply-to when unset. + commit: do not add extra LF at the end of the summary. + Support a merge with conflicting gitlink change + blame: drop blob data after passing blame to the parent + shortlog: default to HEAD when the standard input is a tty + git-diff --numstat -z: make it machine readable + disable t9119 for now. + Documentation: rename git.texi to user-manual.texi + git.spec.in: remove python_path + git-help -w: do not require to be in git repository + RPM spec: Adjust htmldir + GIT 1.5.4-rc0 + +Kevin Leung (2): + git-p4: Fix typo in --detect-labels + git-stash: Display help message if git-stash is run with wrong sub-commands + +Kirill (1): + Updated Russian translation. + +Konstantin V. Arkhipov (1): + git-svn's dcommit must use subversion's config + +Kristian Høgsberg (18): + Enable wt-status output to a given FILE pointer. + Enable wt-status to run against non-standard index file. + Add strbuf_read_file(). + Clean up stripspace a bit, use strbuf even more. + Introduce entry point add_interactive and add_files_to_cache + Export rerere() and launch_editor(). + Port builtin-add.c to use the new option parser. + Add testcase for amending and fixing author in git commit. + Export launch_editor() and make it accept ':' as a no-op editor. + Port git commit to C. + builtin-commit: Refresh cache after adding files. + Call refresh_cache() when updating the user index for --only commits. + builtin-commit: Clean up an unused variable and a debug fprintf(). + t7501-commit: Add test for git commit <file> with dirty index. + builtin-commit: Include the diff in the commit message when verbose. + Fix off-by-one error when truncating the diff out of the commit message. + Use a strbuf for copying the command line for the reflog. + Rewrite builtin-fetch option parsing to use parse_options(). + +Kristof Provost (1): + makefile: Add a cscope target + +Lars Hjemli (11): + git-svn: add support for --first-parent + git-svn: always use --first-parent + Add test-script for git-merge porcelain + git-merge: fix faulty SQUASH_MSG + git-merge: refactor option parsing + git-merge: add support for branch.<name>.mergeoptions + git-merge: add support for --commit and --no-squash + git-merge: add --ff and --no-ff options + Make merge-recursive honor diff.renamelimit + Teach git-pull about --[no-]ff, --no-squash and --commit + for-each-ref: fix setup of option-parsing for --sort + +Lars Knoll (1): + Speedup scanning for excluded files. + +Linus Torvalds (18): + optimize diffcore-delta by sorting hash entries. + Add 'diffcore.h' to LIB_H + Split out "exact content match" phase of rename detection + Ref-count the filespecs used by diffcore + copy vs rename detection: avoid unnecessary O(n*m) loops + Do linear-time/space rename logic for exact renames + Do exact rename detection regardless of rename limits + Fix ugly magic special case in exact rename detection + Do the fuzzy rename detection limits with the exact renames removed + Simplify topo-sort logic + Add "--early-output" log flag for interactive GUI use + Enhance --early-output format + revision walker: mini clean-up + Fix rev-list when showing objects involving submodules + Fix parent rewriting in --early-output + Fix a pathological case in git detecting proper renames + Fix a pathological case in git detecting proper renames + "git tag -u keyname" broken + +Luke Lu (1): + gitweb: speed up project listing on large work trees by limiting find depth + +Marius Storm-Olsen (2): + Add 'git-p4 commit' as an alias for 'git-p4 submit' + Teach core.autocrlf to 'git blame' + +Mark Levedahl (1): + git-submodule - allow a relative path as the subproject url + +Matt Kraai (2): + Move convert-objects to contrib. + rebase -i: create .dotest-merge after validating options. + +Matthias Kestenholz (1): + Documentation: add --patch option to synopsis of git-add + +Michael Gebetsroither (1): + hg-to-git speedup through selectable repack intervals + +Michael W. Olson (2): + git-rebase--interactive.sh: Quote arguments to test + Documentation/git-tag.txt: Document how to backdate tags + +Michael Witten (2): + git-cvsexportcommit.perl: git-apply no longer needs --binary + git-cvsserver runs hooks/post-receive + +Michal Vitecek (1): + Don't use "<unknown>" for placeholders and suppress printing of empty user formats. + +Michele Ballabio (7): + git-gui: remove dots in some UI strings + git-gui: add some strings to translation + git-gui: fix typo in lib/blame.tcl + git-gui: update Italian translation + test-lib.sh: move error line after error() declaration + git-gui: fix a typo in lib/commit.tcl + git-gui: update it.po and glossary/it.po + +Mike Dalessio (2): + instaweb: allow for use of auto-generated scripts + instaweb: support for Ruby's WEBrick server + +Mike Hommey (13): + Reuse previous annotation when overwriting a tag + Add tests for git tag + Refactor working tree setup + Use setup_work_tree() in builtin-ls-files.c + Don't always require working tree for git-rm + Make git-blame fail when working tree is needed and we're not in one + Small code readability improvement in show_reference() in builtin-tag.c + Do git reset --hard HEAD when using git rebase --skip + Fix and improve t7004 (git-tag tests) + git-send-email.perl: Really add angle brackets to In-Reply-To if necessary + Cleanup variables in http.[ch] + Fix small memory leaks induced by diff_tree_setup_paths + Fix XML parser leaks in http-push + +Miklos Vajna (4): + Hungarian translation of git-gui + git-send-email: add a new sendemail.to configuration variable + Include diff options in the git-log manpage + Update Hungarian translation. 100% completed. + +Nanako Shiraishi (3): + Japanese translation of git-gui + git-gui: Update Japanese strings + Update ja.po for git-gui + +Nguyễn Thái Ngọc Duy (3): + contrib/fast-import: add simple shell example + git-sh-setup.sh: use "git rev-parse --show-cdup" to check for SUBDIRECTORY_OK + Remove repo version check from setup_git_directory + +Nicolas Pitre (42): + straighten the list of objects to deltify + localize window memory usage accounting + rearrange delta search progress reporting + basic threaded delta search + threaded delta search: refine work allocation + threaded delta search: better chunck split point + threaded delta search: specify number of threads at run time + fix threaded delta search locking + threaded delta search: add pack.threads config variable + threaded delta search: proper locking for cache accounting + more compact progress display + cope with multiple line breaks within sideband progress messages + pack-objects: no delta possible with only one object in the list + pack-objects.c: fix some global variable abuse and memory leaks + fix const issues with some functions + fix for more minor memory leaks + prune-packed: don't call display_progress() for every file + make struct progress an opaque type + relax usage of the progress API + add throughput to progress display + add throughput display to index-pack + add some copyright notice to the progress display code + add throughput display to git-push + return the prune-packed progress display to the inner loop + make sure throughput display gets updated even if progress doesn't move + Show total transferred as part of throughput progress + make the pack index version configurable + pack-objects: get rid of an ugly cast + git-fetch: more terse fetch output + fix display overlap between remote and local progress + sideband.c: ESC is spelled '\033' not '\e' for portability. + make display of total transferred more accurate + remove dead code from the csum-file interface + restore fetching with thin-pack capability + make display of total transferred fully accurate + nicer display of thin pack completion + add a howto document about corrupted blob recovery + rehabilitate some t5302 tests on 32-bit off_t machines + pack-objects: fix delta cache size accounting + pack-objects: reverse the delta search sort list + pack-objects: fix threaded load balancing + pack-objects: more threaded load balancing fix with often changed paths + +Paolo Ciarrocchi (1): + Italian translation of git-gui + +Pascal Obry (2): + git-stash: do not get fooled with "color.diff = true" + Set OLD_ICONV on Cygwin. + +Paul Mackerras (37): + gitk: Establish and use global left-to-right ordering for commits + gitk: Improve the drawing of links to parent lines + gitk: Eliminate diagonal arrows + gitk: Get rid of idrowranges and rowrangelist + gitk: Get rid of idinlist array + gitk: Fix some problems with the display of ids as links + gitk: Get rid of the rowchk array + gitk: Do only the parts of the layout that are needed + gitk: Fix bug causing incorrect ref list contents when switching view + gitk: Fix bug causing undefined variable error when cherry-picking + gitk: Add a cache for the topology info + gitk: Make it possible to lay out all the rows we have received so far + gitk: Fix bugs in setting rowfinal + gitk: Get rid of lookingforhead, use commitinterest instead + gitk: Fix bug in generating patches + gitk: Simplify highlighting interface and combine with Find function + gitk: Fix a couple of bugs + gitk: Add progress bars for reading in stuff and for finding + gitk: Fix the tab setting in the diff display window + gitk: Fix bug causing Tcl error when changing find match type + gitk: Use named fonts instead of the font specification + gitk: Keep track of font attributes ourselves instead of using font actual + gitk: Add a font chooser + gitk: Fix bug where the last few commits would sometimes not be visible + gitk: Get rid of the diffopts variable + gitk: Fix Tcl error: can't unset findcurline + gitk: Check that we are running on at least Tcl/Tk 8.4 + gitk: Avoid an error when cherry-picking if HEAD has moved on + gitk: Fix "can't unset prevlines(...)" Tcl error + gitk: Limit diff display to listed paths by default + gitk: Ensure tabstop setting gets restored by Cancel button + gitk: Integrate the reset progress bar in the main frame + gitk: Use the status window for other functions + gitk: Fix some bugs with path limiting in the diff display + gitk: Fix a couple more bugs in the path limiting + gitk: Simplify the code for finding commits + gitk: Use the UI font for the diff/old version/new version radio buttons + +Pierre Habouzit (80): + Rework strbuf API and semantics. + Simplify strbuf uses in archive-tar.c using strbuf API + fast-import: Use strbuf API, and simplify cmd_data() + mktree: Simplify write_tree() using strbuf API + Use strbuf API in apply, blame, commit-tree and diff + Use strbuf API in buitin-rerere.c + Use strbuf API in cache-tree.c + Strbuf API extensions and fixes. + Change semantics of interpolate to work like snprintf. + Rework pretty_print_commit to use strbufs instead of custom buffers. + Use strbuf_read in builtin-fetch-tool.c. + Use strbufs to in read_message (imap-send.c), custom buffer--. + Replace all read_fd use with strbuf_read, and get rid of it. + New strbuf APIs: splice and attach. + Rewrite convert_to_{git,working_tree} to use strbuf's. + Now that cache.h needs strbuf.h, remove useless includes. + builtin-apply: use strbuf's instead of buffer_desc's. + Refactor replace_encoding_header. + Remove preemptive allocations. + Drop strbuf's 'eof' marker, and make read_line a first class citizen. + fast-import was using dbuf's, replace them with strbuf's. + fast-import optimization: + Add xmemdupz() that duplicates a block of memory, and NUL terminates it. + Use xmemdupz() in many places. + Fix the expansion pattern of the pseudo-static path buffer. + nfv?asprintf are broken without va_copy, workaround them. + strbuf API additions and enhancements. + Rework unquote_c_style to work on a strbuf. + Full rework of quote_c_style and write_name_quoted. + sq_quote_argv and add_to_string rework with strbuf's. + Add strbuf_cmp. + Make builtin-rerere use of strbuf nicer and more efficient. + Small cache_tree_write refactor. + double free in builtin-update-index.c + strbuf change: be sure ->buf is never ever NULL. + strbuf_read_file enhancement, and use it. + Make read_patch_file work on a strbuf. + Fix in-place editing functions in convert.c + Add some fancy colors in the test library when terminal supports it. + Support a --quiet option in the test-suite. + fast-import.c: fix regression due to strbuf conversion + Add a simple option parser. + parse-options: be able to generate usages automatically + parse-options: make some arguments optional, add callbacks. + Add shortcuts for very often used options. + parse-options: allow callbacks to take no arguments at all. + Make builtin-rm.c use parse_options. + Make builtin-mv.c use parse-options + Make builtin-branch.c use parse_options. + Make builtin-describe.c use parse_options + Make builtin-revert.c use parse_options. + Make builtin-update-ref.c use parse_options + Make builtin-symbolic-ref.c use parse_options. + Make builtin-for-each-ref.c use parse-opts. + Make builtin-fsck.c use parse_options. + Make builtin-count-objects.c use parse_options. + Make builtin-name-rev.c use parse_options. + Make builtin-pack-refs.c use parse_options. + git-fetch: be even quieter. + Some better parse-options documentation. + Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts. + Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt + Migrate git-clean.sh to use git-rev-parse --parseopt. + Migrate git-clone to use git-rev-parse --parseopt + Migrate git-am.sh to use git-rev-parse --parseopt + Migrate git-merge.sh to use git-rev-parse --parseopt + Migrate git-instaweb.sh to use git-rev-parse --parseopt + Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash + Migrate git-quiltimport.sh to use git-rev-parse --parseopt + Migrate git-repack.sh to use git-rev-parse --parseopt + sh-setup: don't let eval output to be shell-expanded. + parse-options new features. + Use OPT_SET_INT and OPT_BIT in builtin-branch + Use OPT_BIT in builtin-for-each-ref + Use OPT_BIT in builtin-pack-refs + Make the diff_options bitfields be an unsigned with explicit masks. + Reorder diff_opt_parse options more logically per topics. + parse-options: Allow to hide options from the default usage. + builtin-commit.c: export GIT_INDEX_FILE for launch_editor as well. + Invert numbers and names in the git-shortlog summary mode. + +Pini Reznik (1): + Open external merge tool with original file extensions for all three files + +Ralf Wildenhues (10): + manual: Fix or remove em dashes. + Fix some typos, punctuation, missing words, minor markup. + Fix wording in push definition. + manual: Fix example finding commits referencing given content. + manual: add some markup. + manual: use 'URL' instead of 'url'. + git-cherry-pick: improve description of -x. + Fix minor nits in configure.ac + git-bisect.sh: Fix sed script to work with AIX and BSD sed. + Document all help keys in "git add -i" patch mode. + +René Scharfe (13): + Export format_commit_message() + archive: specfile support (--pretty=format: in archive files) + Remove unused function convert_sha1_file() + add memmem() + archive: specfile syntax change: "$Format:%PLCHLDR$" instead of just "%PLCHLDR" (take 2) + archive: rename attribute specfile to export-subst + archive: fix subst file generation + Correct some sizeof(size_t) != sizeof(unsigned long) typing errors + Add strchrnul() + --pretty=format: on-demand format expansion + --pretty=format: parse commit message only once + add strbuf_adddup() + --format=pretty: avoid calculating expensive expansions twice + +Robert Boone (1): + Define NO_MEMMEM of FreeBSD as it lacks the function + +Robert Schiele (2): + git-gui: install-sh from automake does not like -m755 + install-sh from automake does not like -m without delimiting space + +Robin Rosenberg (1): + cvsexportcommit: Add switch to specify CVS workdir + +Sam Vilain (6): + git-svn: fix test for trunk svn (commit message not needed) + git-svn: fix test for trunk svn (transaction out of date) + git-svn: handle changed svn command-line syntax + gitk: disable colours when calling git log + Allow HTTP proxy to be overridden in config + Add remote.<name>.proxy + +Scott R Parish (7): + "git" returns 1; "git help" and "git help -a" return 0 + remove unused/unneeded "pattern" argument of list_commands + "current_exec_path" is a misleading name, use "argv_exec_path" + list_commands(): simplify code by using chdir() + use only the $PATH for exec'ing git commands + include $PATH in generating list of commands for "help -a" + shell should call the new setup_path() to setup $PATH + +Sergei Organov (7): + core-tutorial.txt: Fix git-show-branch example and its description + user-manual.txt: fix a few mistakes + user-manual: minor rewording for clarity. + Documentation: customize diff-options depending on particular command + user-manual.txt: minor clarification. + Documentation: fix git-clone manpage not to refer to itself + Let git-help prefer man-pages installed with this version of git + +Shawn Bohrer (4): + Add more tests for git-clean + Make git-clean a builtin + Teach git clean to use setup_standard_excludes() + Make git status usage say git status instead of git commit + +Shawn O. Pearce (106): + git-gui: Locate the library directory early during startup + git-gui: Initialize Tcl's msgcat library for internationalization + git-gui: Update po/README as symlink process is not necessary + git-gui: Correct stock message for 'Invalid font specified in %s' + git-gui: Quiet the msgfmt part of the make process + git-gui: Ensure msgfmt failure stops GNU make + Define NO_MEMMEM on Darwin as it lacks the function + git-gui: Mark revision chooser tooltip for translation + git-gui: Localize commit/author dates when displaying them + git-gui: Support context-sensitive i18n + git-gui: Document the new i18n context support + git-gui: Make the tree browser also use lightgray selection + git-gui: Paper bag fix missing translated strings + Correct builtin-fetch to handle + in refspecs + Fix off by one bug in reflog messages written by builtin-fetch + Remove unnecessary debugging from builtin-fetch + Remove unused unpacklimit variable from builtin-fetch + Replace custom memory growth allocator with ALLOC_GROW + Simplify fetch transport API to just one function + Refactor index-pack "keep $sha1" handling for reuse + Remove pack.keep after ref updates in git-fetch + Always ensure the pack.keep file is removed by git-fetch + Fix builtin-fetch memory corruption by not overstepping array + Backup the array passed to fetch_pack so we can free items + Properly cleanup in http_cleanup so builtin-fetch does not segfault + Don't bother passing ref log details to walker in builtin-fetch + Cleanup duplicate initialization code in transport_get + Add transport.h to LIB_H as transport.o is in LIB_OBJS + Remove unnecessary 'fetch' argument from transport_get API + Allow builtin-fetch to work on a detached HEAD + Don't configure remote "." to fetch everything to itself + Remove more debugging from builtin-fetch + builtin-fetch: Don't segfault on "fetch +foo" + Don't attempt to merge non-existant remotes in t5515 + Correct handling of branch.$name.merge in builtin-fetch + Avoid printing unnecessary warnings during fetch and push + Use 'unsigned:1' when we mean boolean options + Rename remote.uri to remote.url within remote handling internals + Refactor struct transport_ops inlined into struct transport + Always obtain fetch-pack arguments from struct fetch_pack_args + Ensure builtin-fetch honors {fetch,transfer}.unpackLimit + Fix memory leaks when disconnecting transport instances + git-gui: Fix missing i18n markup in push/fetch windows + git-gui: Support native Win32 Tcl/Tk under Cygwin + git-gui: Refactor some UI init to occur earlier + git-gui: Allow users to choose/create/clone a repository + git-gui: Avoid console scrollbars unless they are necessary + git-gui: Don't bother showing OS error message about hardlinks + git-gui: Keep the UI responsive while counting objects in clone + git-gui: Copy objects/info/alternates during standard clone + Cleanup style nit of 'x == NULL' in remote.c + Cleanup unnecessary break in remote.c + Prevent send-pack from segfaulting when a branch doesn't match + git-gui: Don't delete console window namespaces too early + git-gui: Don't delete scrollbars in console windows + git-gui: Switch the git-gui logo to Henrik Nyh's logo + git-gui: Make the status bar easier to read in the setup wizard + git-gui: Use Henrik Nyh's git logo icon on Windows systems + git-gui: Support a native Mac OS X application bundle + git-gui: Refer to ourselves as "Git Gui" and not "git-gui" + git-gui: Allow forced push into remote repository + git-gui: Refactor Henrik Nyh's logo into its own procedure + git-gui: Refactor about dialog code into its own module + git-gui: Include our Git logo in the about dialog + git-gui: Use progress meter in the status bar during index updates + git-gui: Consolidate the Fetch and Push menus into a Remote menu + git-gui: Bind Cmd-, to Preferences on Mac OS X + git-gui: Shorten the staged/unstaged changes title bar text + git-gui: Updated po strings based on current sources + git-gui: Move load_config procedure below git-version selection + git-gui: Refactor git-config --list parsing + git-gui: Support LFs embedded in config file values + git-gui: Change repository browser radio buttons to hyperlinks + git-gui: Offer repository management features in menu bar + git-gui: Fix bind errors when switching repository chooser panels + git-gui: Disable the text widget in the repository chooser + git-gui: Bind n/c/o accelerators in repository chooser + git-gui: Ensure copyright message is correctly read as UTF-8 + git-gui: Use proper Windows shortcuts instead of bat files + git-gui: Support cloning Cygwin based work-dirs + git-gui: Collapse $env(HOME) to ~/ in recent repositories on Windows + git-gui: Honor a config.mak in git-gui's top level + Fix 'push --all branch...' error handling + Support 'push --dry-run' for rsync transport + Support 'push --dry-run' for http transport + git-gui: Paper bag fix the global config parsing + Change 'Deltifying objects' to 'Compressing objects' + Teach prune-packed to use the standard progress meter + Stop displaying "Pack pack-$ID created." during git-gc + Avoid scary errors about tagged trees/blobs during git-fetch + Define compat version of mkdtemp for systems lacking it + Improved const correctness for strings + Use PRIuMAX instead of 'unsigned long long' in show-index + git-gui: Make sure we get errors from git-update-index + git-gui: Protect against bad translation strings + git-gui: Allow users to set font weights to bold + Reteach builtin-ls-remote to understand remotes + git-gui: Bind Meta-T for "Stage To Commit" menu action + git-fetch: Always fetch tags if the object they reference exists + run-command: Support sending stderr to /dev/null + rev-list: Introduce --quiet to avoid /dev/null redirects + git-fetch: avoid local fetching from alternate (again) + Handle broken vsnprintf implementations in strbuf + Fix warning about bitfield in struct ref + git-gui 0.9.0 + Remove git-status from list of scripts as it is builtin + +Simon Hausmann (10): + git-p4: Always call 'p4 sync ...' before submitting to Perforce. + git-p4: After submission to p4 always synchronize from p4 again (into refs/remotes). Whether to rebase HEAD or not is still left as question to the end-user. + git-p4: Cleanup; moved the code for getting a sorted list of p4 changes for a list of given depot paths into a standalone method. + git-p4: Cleanup; moved the code to import a list of p4 changes using fast-import into a separate member function of P4Sync. + git-p4: Cleanup; Turn self.revision into a function local variable (it's not used anywhere outside the function). + git-p4: Cleanup; moved the code for the initial #head or revision import into a separate function, out of P4Sync.run. + git-p4: Cleanup; moved the (duplicated) code for turning a branch into a git ref (for example foo -> refs/remotes/p4/<project>/foo) into a separate method. + git-p4: Added support for automatically importing newly appearing perforce branches. + git-p4: When skipping a patch as part of "git-p4 submit" make sure we correctly revert to the previous state of the files using "p4 revert". + git-p4: Fix direct import from perforce after fetching changes through git from origin + +Simon Sasburg (1): + Make mailsplit and mailinfo strip whitespace from the start of the input + +Stefan Sperling (1): + Fix pool handling in git-svnimport to avoid memory leaks. + +Steffen Prohaska (16): + git-gui: add directory git-gui is located in to PATH (on Windows) + git-gui: set NO_MSGFMT to force using pure tcl replacement in msysgit + git-gui: add mingw specific startup wrapper + git-gui: offer a list of recent repositories on startup + mergetool: use path to mergetool in config var mergetool.<tool>.path + mergetool: add support for ECMerge + mergetool: avoid misleading message "Resetting to default..." + Fix comment in strbuf.h to use correct name strbuf_avail() + push: mention --verbose option in documentation + push: teach push to pass --verbose option to transport layer + push: support pushing HEAD to real branch name + add refname_match() + push: use same rules as git-rev-parse to resolve refspecs + refactor fetch's ref matching to use refname_match() + Use is_absolute_path() in diff-lib.c, lockfile.c, setup.c, trace.c + sha1_file.c: Fix size_t related printf format warnings + +Steven Grimm (3): + Add a message explaining that automatic GC is about to start + builtin-fetch: Add "-q" as a synonym for "--quiet" + git-svn: Don't create a "master" branch every time rebase is run + +Steven Walter (1): + Don't checkout the full tree if avoidable + +Theodore Ts'o (2): + Make the list of common commands more exclusive + Remove hint to use "git help -a" + +Thomas Harning (1): + git-merge-ours: make it a builtin. + +Uwe Kleine-König (1): + send-email: apply --suppress-from to S-o-b and cc-cmd + +Vineet Kumar (1): + git-svn: add a show-externals command. + +Väinö Järvelä (1): + Added a test for fetching remote tags when there is not tags. + +Wincent Colaiuta (21): + Further clarify clean.requireForce changes + Authenticate only once in git-send-email + Refactor patch_update_cmd + Teach builtin-add to pass multiple paths to git-add--interactive + Add path-limiting to git-add--interactive + Add "--patch" option to git-add--interactive + Fix typo in draft 1.5.4 release notes + Highlight keyboard shortcuts in git-add--interactive + revert/cherry-pick: Allow overriding the help text by the calling Porcelain + add -i: allow prefix highlighting for "Add untracked" as well. + git-add -i: add help text for list-and-choose UI + Silence iconv warnings on Leopard + Teach "git add -i" to colorize whitespace errors + Allow --no-verify to bypass commit-msg hook + Documentation: fix --no-verify documentation for "git commit" + Add tests for pre-commit and commit-msg hooks + Interactive editor tests for commit-msg hook + Style fixes for pre-commit hook tests + Use "whitespace" consistently + Documentation: minor grammar fix for "git apply" + Fix "diff --check" whitespace detection + +Xudong Guan (2): + Initial Chinese translation for git-gui + git-gui: Added initial version of po/glossary/zh_cn.po + +brian m. carlson (1): + git-gui: Reorder msgfmt command-line arguments + +İsmail Dönmez (1): + gitweb: use Perl built-in utf8 function for UTF-8 decoding. + + +Version v1.5.3.8; changes since v1.5.3.7: +----------------------------------------- + +David Symonds (1): + Change from using email.com to example.com as example domain, as per RFC 2606. + +Eric Wong (2): + git-svn: support for funky branch and project names over HTTP(S) + git-svn: clarify the "Ignoring error from SVN" piece + +Jeff King (3): + t9600: test cvsimport from CVS working tree + clone: correctly report http_fetch errors + git-send-email: avoid duplicate message-ids + +Jim Meyering (1): + config.c:store_write_pair(): don't read the byte before a malloc'd buffer. + +Junio C Hamano (3): + git grep shows the same hit repeatedly for unmerged paths + git-am -i: report rewritten title + GIT 1.5.3.8 + +Nguyễn Thái Ngọc Duy (3): + Add missing inside_work_tree setting in setup_git_directory_gently + Do check_repository_format() early + Do check_repository_format() early (re-fix) + + +Version v1.5.3.7; changes since v1.5.3.6: +----------------------------------------- + +Björn Steinbrink (3): + git-commit.sh: Fix usage checks regarding paths given when they do not make sense + t7005-editor.sh: Don't invoke real vi when it is in GIT_EXEC_PATH + git-commit: Add tests for invalid usage of -a/--interactive with paths + +Brian Downing (2): + config: correct core.loosecompression documentation + config: clarify compression defaults + +J. Bruce Fields (7): + git-remote.txt: fix example url + user-manual: mention "..." in "Generating diffs", etc. + Documentation: Fix references to deprecated commands + user-manual: define "branch" and "working tree" at start + user-manual: failed push to public repository + user-manual: clarify language about "modifying" old commits + user-manual: recovering from corruption + +Jan Hudec (1): + Improve description of git-branch -d and -D in man page. + +Jeff King (5): + send-email: add transfer encoding header with content-type + Add basic cvsimport tests + cvsimport: use rev-parse to support packed refs + cvsimport: miscellaneous packed-ref fixes + cvsimport: fix usage of cvsimport.module + +Johannes Schindelin (2): + bundle create: keep symbolic refs' names instead of resolving them + Replace the word 'update-cache' by 'update-index' everywhere + +Johannes Sixt (1): + t7003-filter-branch: Fix test of a failing --msg-filter. + +Junio C Hamano (11): + format-patch -s: add MIME encoding header if signer's name requires so + test format-patch -s: make sure MIME content type is shown as needed + ce_match_stat, run_diff_files: use symbolic constants for readability + git-add: make the entry stat-clean after re-adding the same contents + t2200: test more cases of "add -u" + Make test scripts executable. + Fix sample pre-commit hook + git-checkout: describe detached head correctly + scripts: do not get confused with HEAD in work tree + Fix typo in t4008 test title + GIT 1.5.3.7 + +Linus Torvalds (1): + Fix rev-list when showing objects involving submodules + +Matthieu Moy (1): + Doc fix for git-reflog: mention @{...} syntax, and <ref> in synopsys. + +Rémi Vanicat (1): + Make GIT_INDEX_FILE apply to git-commit + +Steffen Prohaska (1): + user-manual: Add section "Why bisecting merge commits can be harder ..." + + +Version v1.5.3.6; changes since v1.5.3.5: +----------------------------------------- + +Alex Riesen (1): + stop t1400 hiding errors in tests + +Ask Bjørn Hansen (1): + When exec() fails include the failing command in the error message + +Benoit Sigoure (2): + git-send-email: Change the prompt for the subject of the initial message. + git-svn: prevent dcommitting if the index is dirty. + +Brad King (1): + cvsexportcommit: fix for commits that do not have parents + +Christian Couder (1): + for-each-ref: fix off by one read. + +David D. Kilzer (2): + RelNotes-1.5.3.5: fix typo + RelNotes-1.5.3.5: fix another typo + +David Symonds (1): + Improve accuracy of check for presence of deflateBound. + +Eric Wong (2): + git-svn: fix dcommit clobbering when committing a series of diffs + git-svn: t9114: verify merge commit message in test + +Gerrit Pape (4): + git-diff.txt: add section "output format" describing the diff formats + git-cvsimport: really convert underscores in branch names to dots with -u + git-daemon: fix remote port number in log entry + git-mailsplit: with maildirs not only process cur/, but also new/ + +Jakub Narębski (1): + gitweb: Update config file example for snapshot feature in gitweb/INSTALL + +Jeff King (2): + git-branch: remove mention of non-existent '-b' option + git-send-email: add charset header if we add encoded 'From' + +Jing Xue (1): + replace reference to git-rm with git-reset in git-commit doc + +Johannes Schindelin (1): + Add Documentation/CodingGuidelines + +Jonas Fonseca (3): + Remove escaping of '|' in manpage option sections + instaweb: Minor cleanups and fixes for potential problems + Documentation: Fix man page breakage with DocBook XSL v1.72 + +Jonathan del Strother (1): + Fixing path quoting in git-rebase + +Junio C Hamano (12): + grep with unmerged index + refresh_index_quietly(): express "optional" nature of index writing better + Makefile: add missing dependency on wt-status.h + Start preparing for 1.5.3.6 + t/t3404: fix test for a bogus todo file. + revert/cherry-pick: allow starting from dirty work tree. + git-clean: honor core.excludesfile + core.excludesfile clean-up + Fix per-directory exclude handing for "git add" + Update draft release notes for 1.5.3.6 + grep -An -Bm: fix invocation of external grep command + GIT 1.5.3.6 + +Kristian Høgsberg (1): + Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites. + +Marco Costalba (1): + Remove a couple of duplicated include + +Mike Hommey (1): + Delay pager setup in git blame + +Nicolas Pitre (3): + print warning/error/fatal messages in one shot + git-hash-object should honor config variables + fix index-pack with packs >4GB containing deltas on 32-bit machines + +Ralf Wildenhues (3): + git-clone.txt: Improve --depth description. + Avoid a few unportable, needlessly nested "...`...". + Fix sed string regex escaping in module_name. + +Sergei Organov (6): + git-filter-branch.txt: fix a typo. + git-format-patch.txt: fix explanation of an example. + Documentation: quote commit messages consistently. + SubmittingPatches: improve the 'Patch:' section of the checklist + core-tutorial.txt: Fix argument mistake in an example. + git-remote.txt: fix typo + +Shawn O. Pearce (2): + Fix memory leak in traverse_commit_list + Don't allow fast-import tree delta chains to exceed maximum depth + +Vincent Zanotti (1): + gitweb: correct month in date display for atom feeds + +Wincent Colaiuta (2): + Grammar fixes for gitattributes documentation + Fix t9101 test failure caused by Subversion "auto-props" + + +Version v1.5.3.5; changes since v1.5.3.4: +----------------------------------------- + +Alex Bennée (1): + Ensure we add directories in the correct order + +Alex Riesen (1): + Fix generation of perl/perl.mak + +Andrew Clausen (1): + helpful error message when send-pack finds no refs in common. + +Aurelien Bompard (1): + honor the http.sslVerify option in shell scripts + +Benoit Sigoure (1): + Fix a small memory leak in builtin-add + +Björn Steinbrink (3): + Fix --strategy parsing in git-rebase--interactive.sh + git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick. + git-rebase--interactive.sh: Make 3-way merge strategies work for -p. + +Brian Gernhardt (1): + cvsserver: Use exit 1 instead of die when req_Root fails. + +Frank Lichtenheld (1): + git-config: don't silently ignore options after --list + +Gerrit Pape (2): + git-config: handle --file option with relative pathname properly + git-config: print error message if the config file cannot be read + +Jean-Luc Herren (2): + git add -i: Fix parsing of abbreviated hunk headers + git add -i: Remove unused variables + +Jeff King (1): + send-pack: respect '+' on wildcard refspecs + +Joakim Tjernlund (1): + Improve receive-pack error message about funny ref creation + +Johannes Schindelin (5): + clear_commit_marks(): avoid deep recursion + rebase -i: use diff plumbing instead of porcelain + Fix setup_git_directory_gently() with relative GIT_DIR & GIT_WORK_TREE + fix filter-branch documentation + filter-branch: update current branch when rewritten + +Julian Phillips (1): + fast-import: Fix argument order to die in file_change_m + +Junio C Hamano (8): + git-remote: fix "Use of uninitialized value in string ne" + sha1_file.c: avoid gcc signed overflow warnings + merge-recursive.c: mrtree in merge() is not used before set + RelNotes-1.5.3.5: describe recent fixes + Prevent send-pack from segfaulting (backport from 'master') + git-merge: document but discourage the historical syntax + Update GIT 1.5.3.5 Release Notes + GIT 1.5.3.5 + +Lars Hjemli (1): + Make merge-recursive honor diff.renamelimit + +Linus Torvalds (6): + Fix embarrassing "git log --follow" bug + Clean up "git log" format with DIFF_FORMAT_NO_OUTPUT + git-blame shouldn't crash if run in an unmerged tree + Avoid scary errors about tagged trees/blobs during git-fetch + Fix directory scanner to correctly ignore files without d_type + Fix diffcore-break total breakage + +Mathias Megyei (1): + Do not remove distributed configure script + +Michael W. Olson (1): + Documentation/git-cvsexportcommit.txt: s/mgs/msg/ in example + +Michele Ballabio (2): + git-reflog: document --verbose + git-archive: document --exec + +Nicolas Pitre (1): + cherry-pick/revert: more compact user direction message + +Patrick Welche (1): + Define NI_MAXSERV if not defined by operating system + +Ralf Wildenhues (1): + gitk.txt: Fix markup. + +Robert Schiele (1): + fixing output of non-fast-forward output of post-receive-email + +Sergei Organov (1): + core-tutorial: Use new syntax for git-merge. + +Shawn O. Pearce (17): + git-gui: Display message box when we cannot find git in $PATH + git-gui: Handle starting on mapped shares under Cygwin + git-gui: Ensure .git/info/exclude is honored in Cygwin workdirs + git-gui: Allow gitk to be started on Cygwin with native Tcl/Tk + git-gui: Don't crash when starting gitk from a browser session + Whip post 1.5.3.4 maintenance series into shape. + Correct typos in release notes for 1.5.3.5 + Avoid 'expr index' on Mac OS X as it isn't supported + Document additional 1.5.3.5 fixes in release notes + Yet more 1.5.3.5 fixes mentioned in release notes + Avoid invoking diff drivers during git-stash + Further 1.5.3.5 fixes described in release notes + Paper bag fix diff invocation in 'git stash show' + git-gui: Correctly report failures from git-write-tree + git-gui: Handle progress bars from newer gits + git-gui: Don't display CR within console windows + Describe more 1.5.3.5 fixes in release notes + +Simon Sasburg (1): + git-gui: Avoid using bold text in entire gui for some fonts + +Steffen Prohaska (2): + git-gui: accept versions containing text annotations, like 1.5.3.mingw.1 + attr: fix segfault in gitattributes parsing code + + +Version v1.5.3.4; changes since v1.5.3.3: +----------------------------------------- + +Andy Parkins (1): + post-receive-hook: Remove the From field from the generated email header so that the pusher's name is used + +Carl Worth (1): + Add test case for ls-files --with-tree + +Federico Mena Quintero (4): + Say when --track is useful in the git-checkout docs. + Add documentation for --track and --no-track to the git-branch docs. + Note that git-branch will not automatically checkout the new branch + Make git-pull complain and give advice when there is nothing to merge with + +Jari Aalto (1): + git-remote: exit with non-zero status after detecting errors. + +Jean-Luc Herren (2): + git-add--interactive: Allow Ctrl-D to exit + git-add--interactive: Improve behavior on bogus input + +Jeff King (1): + diffcore-rename: cache file deltas + +Johan Herland (1): + Mention 'cpio' dependency in INSTALL + +Johannes Schindelin (2): + rebase -i: squash should retain the authorship of the _first_ commit + Fix typo in config.txt + +Junio C Hamano (5): + Whip post 1.5.3.3 maintenance series into shape. + git-commit: initialize TMP_INDEX just to be sure. + for-each-ref: fix %(numparent) and %(parent) + rename diff_free_filespec_data_large() to diff_free_filespec_blob() + GIT 1.5.3.4 + +Keith Packard (1): + Must not modify the_index.cache as it may be passed to realloc at some point. + +Miklos Vajna (1): + git stash: document apply's --index switch + +Robert Schiele (1): + the ar tool is called gar on some systems + +Steffen Prohaska (1): + fixed link in documentation of diff-options + + +Version v1.5.3.3; changes since v1.5.3.2: +----------------------------------------- + +Carlos Rica (1): + Move make_cache_entry() from merge-recursive.c into read-cache.c + +Dan Nicholson (1): + quiltimport: Skip non-existent patches + +David Brown (1): + Detect exec bit in more cases. + +David Kastrup (1): + Supplant the "while case ... break ;; esac" idiom + +Eric Wong (1): + git-svn: don't attempt to spawn pager if we don't want one + +Glenn Rempe (1): + Fixed minor typo in t/t9001-send-email.sh test command line. + +J. Bruce Fields (1): + user-manual: don't assume refs are stored under .git/refs + +Jakub Narębski (2): + gitweb: Remove parse_from_to_diffinfo code from git_patchset_body + gitweb: No difftree output for trivial merge + +Jim Meyering (2): + unexpected Make output (e.g. from --debug) causes build failure + Do not over-quote the -f envelopesender value. + +Johannes Schindelin (1): + apply: get rid of --index-info in favor of --build-fake-ancestor + +Johannes Sixt (2): + gitattributes.txt: Remove a duplicated paragraph about 'ident' and 'crlf' interaction. + gitattributes.txt: Be more to the point in the filter driver description. + +Junio C Hamano (3): + Documentation/git-lost-found.txt: drop unnecessarily duplicated name. + Mergetool generating blank files (1.5.3) + GIT 1.5.3.3 + +Linus Torvalds (1): + Fix revision log diff setup, avoid unnecessary diff generation + +Matt Kraai (2): + Move the paragraph specifying where the .idx and .pack files should be + Conjugate "search" correctly in the git-prune-packed man page. + +Michael Smith (1): + user-manual: Explain what submodules are good for. + +Miklos Vajna (2): + User Manual: add a chapter for submodules + git-bundle: fix commandline examples in the manpage + +Randy Dunlap (1): + core-tutorial: correct URL + +Shawn Bohrer (1): + Fix spelling of overridden in documentation + +Theodore Ts'o (2): + mergetool: fix emerge when running in a subdirectory + mergetool: Fix typo in options passed to kdiff3 + + +Version v1.5.3.2; changes since v1.5.3.1: +----------------------------------------- + +Alexandre Julliard (1): + hooks--update: Explicitly check for all zeros for a deleted ref. + +Benoit Sigoure (1): + Add test to check recent fix to "git add -u" + +Carlos Rica (1): + git-tag -s must fail if gpg cannot sign the tag. + +David Kastrup (1): + git-send-email.perl: Add angle brackets to In-Reply-To if necessary + +Dmitry V. Levin (2): + Makefile: Add cache-tree.h to the headers list + git-commit: Disallow amend if it is going to produce an empty non-merge commit + +Eric Wong (3): + git-svn: fix "Malformed network data" with svn:// servers + git-svn: understand grafts when doing dcommit + Documentation/git-svn: updated design philosophy notes + +Gerrit Pape (2): + git-gui: lib/index.tcl: handle files with % in the filename properly + git-clone: improve error message if curl program is missing or not executable + +J. Bruce Fields (13): + user-manual: adjust section levels in "git internals" + user-manual: move object format details to hacking-git chapter + user-manual: rename "git internals" to "git concepts" + user-manual: create new "low-level git operations" chapter + user-manual: rewrite index discussion + user-manual: reorder commit, blob, tree discussion + user-manual: rewrite object database discussion + user-manual: move packfile and dangling object discussion + user-manual: fix introduction to packfiles + user-manual: todo updates and cleanup + documentation: replace Discussion section by link to user-manual chapter + core-tutorial: minor cleanup + git-apply: fix whitespace stripping + +Jari Aalto (1): + Documentation/git-archive.txt: a couple of clarifications. + +Jean-Luc Herren (1): + stash: end index commit log with a newline + +Jeff King (1): + git-push: documentation and tests for pushing only branches + +Johannes Schindelin (2): + revision walker: --cherry-pick is a limited operation + apply --index-info: fall back to current index for mode changes + +Junio C Hamano (13): + git-apply: do not read past the end of buffer + git-add -u: do not barf on type changes + git-format-patch --in-reply-to: accept <message@id> with angle brackets + diff --no-index: do not forget to run diff_setup_done() + Documentation/git-config.txt: AsciiDoc tweak to avoid leading dot + Split grep arguments in a way that does not requires to add /dev/null. + git-sh-setup: typofix in comments + send-email: make message-id generation a bit more robust + git-commit: Allow partial commit of file removal. + git-commit: partial commit of paths only removed from the index + Document ls-files --with-tree=<tree-ish> + t/t4014: test "am -3" with mode-only change. + GIT 1.5.3.2 + +Linus Torvalds (1): + Fix the rename detection limit checking + +Matthias Urlichs (1): + git-svnimport: Use separate arguments in the pipe for git-rev-parse + +Michael Smith (1): + (cvs|svn)import: Ask git-tag to overwrite old tags. + +Michele Ballabio (2): + git-gui: show unstaged symlinks in diff viewer + git-gui: handle "deleted symlink" diff marker + +Mike Ralphson (1): + Documentation / grammer nit + +Nicolas Pitre (1): + fix doc for --compression argument to pack-objects + +Pierre Habouzit (1): + Fix lapsus in builtin-apply.c + +Ramsay Jones (1): + Fix a test failure (t9500-*.sh) on cygwin + +Shawn O. Pearce (17): + git-gui: Correct starting of git-remote to handle -w option + git-gui: Fix detaching current branch during checkout + git-gui: Properly set the state of "Stage/Unstage Hunk" action + Don't allow contrib/workdir/git-new-workdir to trash existing dirs + Cleanup unnecessary file modifications in t1400-update-ref + Include a git-push example for creating a remote branch + git-gui: Disable Tk send in all git-gui sessions + git-gui: Avoid use of libdir in Makefile + git-gui: Assume untracked directories are Git submodules + git-gui: Trim trailing slashes from untracked submodule names + Make --no-thin the default in git-push to save server resources + git-gui: Don't delete send on Windows as it doesn't exist + git-gui: Make backporting changes from i18n version easier + git-gui: Font chooser to handle a large number of font families + git-gui: Provide 'uninstall' Makefile target to undo an installation + git-gui: Paper bag fix "Commit->Revert" format arguments + git-gui: Disable native platform text selection in "lists" + +Sven Verdoolaege (1): + git-diff: don't squelch the new SHA1 in submodule diffs + +Ulrik Sverdrup (1): + Remove duplicate note about removing commits with git-filter-branch + +Väinö Järvelä (1): + Fixed update-hook example allow-users format. + + +Version v1.5.3.1; changes since v1.5.3: +--------------------------------------- + +Junio C Hamano (2): + Typofix: 1.5.3 release notes + GIT 1.5.3.1: obsolete git-p4 in RPM spec file. + + +Version v1.5.3; changes since v1.5.3-rc7: +----------------------------------------- + +Alex Riesen (1): + Temporary fix for stack smashing in mailinfo + +Carlos Rica (1): + git-tag: Fix -l option to use better shell style globs. + +Eric Wong (1): + git-svn: fix dcommit clobbering upstream when committing multiple changes + +Giuseppe Bilotta (2): + git-filter-branch: more detailed USAGE + git-filter-branch: document --original option + +Joe Perches (1): + git-send-email --cc-cmd + +Johannes Schindelin (5): + completion: also complete git-log's --left-right and --cherry-pick option + filter-branch: fix remnants of old syntax in documentation + rebase -i: mention the option to split commits in the man page + filter-branch: provide the convenience functions also for commit filters + filter-branch: introduce convenience function "skip_commit" + +Johannes Sixt (1): + rebase -m: Fix incorrect short-logs of already applied commits. + +Junio C Hamano (13): + git-daemon(1): assorted improvements. + ls-files --error-unmatch: do not barf if the same pattern is given twice. + Makefile: do not allow gnu make to remove test-*.o files + filter-branch: make sure orig_namespace ends with a single slash. + git-init: autodetect core.symlinks + Make "git-log --" without paths behave the same as "git-log" without -- + Hopefully the final update to draft release notes for 1.5.3. + git-svn: Protect against "diff.color = true". + git-diff: resurrect the traditional empty "diff --git" behaviour + Avoid one-or-more (\+) non BRE in sed scripts. + Documentation: minor AsciiDoc mark-up fixes. + Update my contact address as the maintainer. + GIT 1.5.3 + +Luben Tuikov (1): + URL: allow port specification in ssh:// URLs + +Miles Bader (1): + Make git-archimport log entries more consistent + +Nicolas Pitre (1): + fix same sized delta logic + +Paul Mackerras (1): + gitk: Fix bug causing undefined variable error when cherry-picking + +Robin Rosenberg (1): + Mention -m as an abbreviation for --merge + +Shawn O. Pearce (1): + Teach bash about completing arguments for git-tag + +Tom Clarke (1): + Fixing comment in merge strategies + + +Version v1.5.3-rc7; changes since v1.5.3-rc6: +--------------------------------------------- + +Alex Riesen (1): + Fix git-remote for ActiveState Perl + +Alexandre Julliard (1): + git.el: Avoid a lisp error when there's no current branch (detached HEAD). + +Brian Hetro (5): + Documentation: For consistency, use CVS instead of cvs. + Documentation: Correct various misspellings and typos. + Make usage documentation for git-am consistent. + Make usage documentation for git-add consistent. + When nothing to git-commit, honor the git-status color setting. + +David Kastrup (4): + diff-delta.c: Fix broken skip calculation. + Documentation/user-manual.txt: fix a few omissions of gitlink commands. + Documentation/user-manual.txt: fix a few omissions of gitlink commands. + git-svn.txt: fix an obvious misspelling. + +David Kågedal (1): + git.el: Added colors for dark background + +Eric Wong (2): + git-svn: update documentation with CAVEATS section + git-svn: dcommit prints out the URL to be committed to + +J. Bruce Fields (5): + user-manual: edit "ignoring files" for conciseness + user-manual: minor editing for conciseness + user-manual: introduce the word "commit" earlier + user-manual: use pithier example commit + user-manual: fix incorrect header level + +Jakub Narębski (1): + gitweb: Fix escaping HTML of project owner in 'projects_list' and 'summary' views + +Jari Aalto (1): + git-tag(1): Remove duplicate text + +Johannes Schindelin (2): + rebase -i: fix squashing corner case + name-rev: Fix non-shortest description + +Junio C Hamano (11): + blame: check return value from read_sha1_file() + pack-objects: check return value from read_sha1_file() + RelNotes draft for 1.5.3 update. + Fix initialization of a bare repository + git --bare cmd: do not unconditionally nuke GIT_DIR + git-merge: do up-to-date check also for all strategies + Porcelain level "log" family should recurse when diffing. + "format-patch --root rev" is the way to show everything. + Documentation/git-diff: A..B and A...B cannot take tree-ishes + format-patch documentation: reword to hint "--root <one-commit>" more clearly + GIT 1.5.3-rc7 + +Linus Torvalds (1): + Fix racy-git handling in git-write-tree. + +Mike Hommey (1): + Describe two-dot and three-dot notation for diff endpoints. + +Petr Baudis (4): + gitweb: Fix searchbox positioning + gitweb: Lift any characters restriction on searched strings + git-add: Make the "tried to add ignored file" error message less confusing + git-add: Make the filename globbing note a bit clearer + +Quy Tonthat (1): + Fix breakage in git-rev-list.txt + +René Scharfe (1): + Documentation: update tar.umask default + +Sean Estabrooks (1): + Reset terminal attributes when terminating git send-email + +Shawn O. Pearce (13): + git-gui: Fix window manager problems on ion3 + git-gui: Allow git-merge to use branch names in conflict markers + git-gui: Paper bag fix "Stage Hunk For Commit" in diff context menu + git-gui: Fix "unoptimized loading" to not cause git-gui to crash + Fix new-workdir (again) to work on bare repositories + Suggest unsetting core.bare when using new-workdir on a bare repository + Update bash completion with new 1.5.3 command line options + Teach bash to complete ref arguments to git-describe + Teach bash about git-submodule and its subcommands + git-gui: Refactor diff pane popup support for future improvements + git-gui: Do not offer to stage three-way diff hunks into the index + git-gui: Correct 'git gui blame' in a subdirectory + Don't segfault if we failed to inflate a packed delta + +Simon Hausmann (2): + git-p4: Make 'git-p4 branches' work after an initial clone with git clone from an origin-updated repository. + git-p4: Fix warnings about non-existant refs/remotes/p4/HEAD ref when running git-p4 sync the first time after a git clone. + +Stefan Sperling (1): + Document -u option in git-svnimport man page + +martin f. krafft (2): + git-svn init/clone --stdlayout option to default-init trunk/tags/branches + Install man3 manpages to $PREFIX/share/man/man3 even for site installs + + +Version v1.5.3-rc6; changes since v1.5.3-rc5: +--------------------------------------------- + +Alex Riesen (2): + Fix whitespace in "Format of STDIN stream" of fast-import + Avoid using va_copy in fast-import: it seems to be unportable. + +Arjen Laarhoven (2): + gitk: Make the date/time display configurable + t1301-shared-repo.sh: fix 'stat' portability issue + +Brian Downing (1): + Clarify actual behavior of 'git add' and ignored files + +Brian Gernhardt (1): + Minor clarifications to git-filter-branch usage and doc + +Dave Watson (1): + Fix misspelling of 'suppress' in docs + +Eric Wong (1): + git-svn: fix log with single revision against a non-HEAD branch + +Johannes Sixt (1): + gitk: Handle 'copy from' and 'copy to' in diff headers. + +Junio C Hamano (10): + Fix "git add -u" data corruption. + GIT 1.5.2.5 + Fix read-tree merging more than 3 trees using 3-way merge + Update documentation links for older releases. + git-clone: allow --bare clone + Documentation/git-rebase: fix an example + Clean-up read-tree error condition. + fast-import pull request + git clone: do not issue warning while cloning locally across filesystems + GIT 1.5.3-rc6 + +Lars Hjemli (1): + git-submodule: re-enable 'status' as the default subcommand + +Linus Torvalds (2): + Make thin-pack generation subproject aware. + Take binary diffs into account for "git rebase" + +Lukas Sandström (1): + Add the word reflog to Documentation/config.txt:core.logAllRefUpdates + +Mark Levedahl (1): + git-completion.bash - add support for git-bundle + +Matthieu Moy (1): + Add and document a global --no-pager option for git. + +Mike Hommey (1): + Clarify commit-tree documentation + +Nicolas Pitre (1): + pack-objects: remove bogus arguments to delta_cacheable() + +Paul Mackerras (3): + gitk: Fix warning when removing a branch + gitk: Fix bug in fix for warning when removing a branch + gitk: Add a window to list branches, tags and other references + +René Scharfe (1): + path-list.c: always free strdup'ed paths + +Salikh Zakirov (1): + git-add -u paths... now works from subdirectory + +Sean Estabrooks (1): + Fix small typo in git send-email man page. + +Shawn O. Pearce (11): + git-gui: Avoid Tcl error in popup menu on diff viewer + Actually allow TAG_FIXUP branches in fast-import + Use handy ALLOC_GROW macro in fast-import when possible + Teach fast-import to ignore lines starting with '#' + Make trailing LF following fast-import `data` commands optional + Make trailing LF optional for all fast-import commands + Allow frontends to bidirectionally communicate with fast-import + Generate crash reports on die in fast-import + Include recent command history in fast-import crash reports + Correct documentation of 'reflog show' to explain it shows HEAD + Don't allow combination of -g and --reverse as it doesn't work + +Steffen Prohaska (1): + gitk: Let user easily specify lines of context in diff view + +Steven Grimm (1): + Document what the stage numbers in the :$n:path syntax mean. + +Sven Verdoolaege (1): + git-apply: apply submodule changes + +Väinö Järvelä (1): + git-gui: Added support for OS X right click + + +Version v1.5.3-rc5; changes since v1.5.3-rc4: +--------------------------------------------- + +Adam Roben (1): + Documentation/git-svn: how to clone a git-svn-created repository + +Alberto Bertogli (1): + Allow git-svnimport to take "" as the trunk directory. + +Alex Riesen (3): + Fix filehandle leak in "git branch -D" + gitk: Continue and show error message in new repos + gitk: Show an error and exit if no .git could be found + +Alexandre Julliard (3): + git.el: Add support for interactive diffs. + git.el: Always set the current directory in the git-diff buffer. + git-add: Add support for --refresh option. + +Brian Downing (2): + cvsserver: Fix for work trees + Add read_cache to builtin-check-attr + +Brian Gernhardt (1): + Fix t5701-clone-local for white space from wc + +Carlos Rica (3): + Make git tag a builtin. + builtin-tag.c: Fix two memory leaks and minor notation changes. + Make verify-tag a builtin. + +David Kastrup (6): + Documentation/git-commit.txt: correct bad list formatting. + Add support for an info version of the user manual + INSTALL: explain info installation and dependencies. + Documentation/Makefile: remove cmd-list.made before redirecting to it. + git-sh-setup.sh: make GIT_DIR absolute + Add a test for git-commit being confused by relative GIT_DIR + +Gerrit Pape (1): + git-am: initialize variable $resume on startup + +J. Bruce Fields (4): + user-manual: update for new default --track behavior + user-manual: mention git-gui + documentation: use the word "index" in the git-add manual page + documentation: use the word "index" in the git-commit man page + +Jakub Narębski (1): + gitweb: Fix handling of $file_name in feed generation + +Johannes Schindelin (4): + launch_editor(): Heed GIT_EDITOR and core.editor settings + Teach "git stripspace" the --strip-comments option + checkout-index needs a working tree + Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset + +Junio C Hamano (24): + git-clone: aggressively optimize local clone behaviour. + git-completion: add "git stash" + INSTALL: add warning on docbook-xsl 1.72 and 1.73 + unpack-trees.c: assume submodules are clean during check-out + Fix install-doc-quick target + user-manual: mention git stash + setup.c:verify_non_filename(): don't die unnecessarily while disambiguating + pager: find out pager setting from configuration + Fix "make GZ=1 quick-install-doc" + Reorder the list of commands in the manual. + Fix formatting of git-blame documentation. + Fix an illustration in git-rev-parse.txt + tweak manpage formatting + Revert "tweak manpage formatting" + Optimize "diff --cached" performance. + allow git-bundle to create bottomless bundle + allow git-bundle to create bottomless bundle + t3404: fix "fake-editor" + builtin-bundle create - use lock_file + git-diff: squelch "empty" diffs + merge-recursive: do not rudely die on binary merge + attr.c: refactoring + attr.c: read .gitattributes from index as well. + GIT 1.5.3-rc5 + +Jyotirmoy Bhattacharya (1): + Fixed git-push manpage + +Linus Torvalds (8): + connect: accept file:// URL scheme + apply: remove directory that becomes empty by renaming the last file away + Start moving unpack-trees to "struct tree_desc" + Fix "git commit directory/" performance anomaly + Move old index entry removal from "unpack_trees()" into the individual functions + Optimize the common cases of git-read-tree + Optimize the two-way merge of git-read-tree too + Optimize the three-way merge of git-read-tree + +Luiz Fernando N. Capitulino (3): + Avoid ambiguous error message if pack.idx header is wrong + Introduces xmkstemp() + Use xmkstemp() instead of mkstemp() + +Marco Costalba (1): + Add --log-size to git log to print message size + +Mark Levedahl (5): + builtin-bundle.c - use stream buffered input for rev-list + builtin-bundle - use buffered reads for bundle header + gitk: Enable selected patch text on Windows + gitk: Handle MouseWheel events on Windows + t3902 - skip test if file system doesn't support HT in names + +Paul Mackerras (4): + gitk: Add a context menu for file list entries + gitk: Fix bug causing the "can't unset idinlist(...)" error + gitk: Fix bug introduced in commit 67a4f1a7 + gitk: Fix bug causing Tcl error when updating graph + +Randal L. Schwartz (1): + add "test-absolute-path" to .gitignore + +Reece H. Dunn (1): + git-p4: Fix the sorting of changelists when cloning a Perforce repository. + +René Scharfe (2): + diff: don't run pager if user asked for a diff style exit code + diff: squelch empty diffs even more + +Shawn O. Pearce (4): + Document GIT_SSH environment variable alongside other variables + Teach update-paranoid how to store ACLs organized by groups + Teach the update-paranoid to look at file differences + Use the empty tree for base diff in paranoid-update on new branches + +Simon Hausmann (2): + git-p4: Fix support for symlinks. + git-p4: Fix git-p4 submit to include only changed files in the perforce submit template. + +Steffen Prohaska (1): + Improved hint on how to set identity + +Steve Hoelzer (2): + git-stash documentation: stash numbering starts at zero, not one + git-stash documentation: add missing backtick + +Steven Grimm (1): + Add a note about the index being updated by git-status in some cases + +Uwe Kleine-König (3): + send-email: teach sanitize_address to do rfc2047 quoting + send-email: rfc822 forbids using <address@domain> without a non-empty "phrase" + send-email: get all the quoting of realnames right + + +Version v1.5.3-rc4; changes since v1.5.3-rc3: +--------------------------------------------- + +Alex Riesen (4): + Add an option to specify a file to config builtin + Add a test for git-config --file + Make verse of git-config manpage more readable + Hack git-add--interactive to make it work with ActiveState Perl + +Alexandre Julliard (2): + git.el: Avoid using ewoc-set-data for compatibility with Emacs 21. + git.el: Take into account the core.excludesfile config option. + +Bradford C. Smith (2): + fully resolve symlinks when creating lockfiles + use lockfile.c routines in git_commit_set_multivar() + +Brian Gernhardt (1): + Document commit.template configuration variable. + +Christian Couder (1): + rev-list --bisect: fix allocation of "int*" instead of "int". + +Christian Stimming (1): + git-gui: Unify wording to say "to stage" instead of "to add" + +David Kastrup (3): + Makefile: use $(FIND) instead of find + git-sh-setup.sh: make GIT_EDITOR/core.editor/VISUAL/EDITOR accept commands + When generating manpages, delete outdated targets first. + +David Soria Parra (1): + Documentation/gitattributes.txt: typofix + +David Symonds (1): + Fix documentation for core.gitproxy to reflect code + +Han-Wen Nienhuys (2): + Sort output of "p4 change" in incremental import before further + Fix style nit in Python slicing. + +Jakub Narębski (3): + gitweb: Show submodule entries in the 'tree' view + gitweb: Simplify 'opt' parameter validation, add "no merges" feeds + gitweb: Allow for multivalued parameters passed to href subroutine + +Jeff King (2): + Documentation/git-diff: remove -r from --name-status example + git-diff: turn on recursion by default + +Jens Axboe (1): + --base-path-relaxed option + +Johannes Schindelin (11): + rebase -i: fix overzealous output redirection + rebase -i: fix interrupted squashing + white space fixes in setup.c + Add is_absolute_path() and make_absolute_path() + Add functions get_relative_cwd() and is_inside_dir() + Add set_git_dir() function + Clean up work-tree handling + get_relative_cwd(): clarify why it handles dir == NULL + rebase -i: ignore patches that are already in the upstream + rebase -i: fix for optional [branch] parameter + read-tree: remove unnecessary call to setup_git_directory() + +Julian Phillips (1): + git-gui: Handle git versions of the form n.n.n.GIT + +Junio C Hamano (23): + Make sure git-stash works from subdirectory. + gitweb: fix broken snapshot + git-submodule module_name: avoid using unwieldy "value_regexp" feature. + git-submodule: remove redundant call to git-describe + When locking in a symlinked repository, try to lock the original. + git_mkstemp(): be careful not to overflow the path buffer. + Update description of -z option. + git-stash: do not remove a ref by hand. + Add test for symlinked configuration file updates. + Fix git-stash apply --index + git-stash apply --index: optimize postprocessing + log_ref_write() -- do not chomp reflog message at the first LF + symbolic-ref, update-ref: do not refuse reflog message with LF + rebase: try not to munge commit log message + add_file_to_index: skip rehashing if the cached stat already matches + Unset GIT_EDITOR while running tests. + git.c: execution path + git-commit.sh: Permit the --amend message to be given with -m/-c/-C/-F. + RelNotes 1.5.3 updates before -rc4 + Fix work-tree related breakages + gitweb: do not choke on recursive symlink + Fix bogus use of printf in t3700 test + GIT 1.5.3-rc4 + +Kristian Høgsberg (1): + Add test case for basic commit functionality. + +Mark Levedahl (1): + gitk: Ignore ctrl-z as EOF on windows + +Nanako Shiraishi (1): + git-stash: Make sure reflog is created for refs/stash + +Nguyễn Thái Ngọc Duy (1): + git-write-tree should not crash if prefix does not exist + +Paul Mackerras (4): + gitk: Show changes in index and changes in working directory separately + gitk: Make the fake commit for the index changes green rather than magenta + gitk: Wait for the window to become visible after creating it + gitk: Fix bugs in the Find function + +Robert Ewald (1): + git-svn: Translate invalid characters in refname + +Robert Schiele (2): + add option to find zlib in custom path + make the name of the library directory a config option + +Robin Rosenberg (1): + Document --unified/-U option + +Seth Falcon (1): + Rename git-rebase interactive buffer: todo => git-rebase-todo + +Shawn O. Pearce (49): + git-gui: Skip -dirty suffix on core git versions + git-gui: Brown paper bag "dirty git version fix" + git-gui: Always disable the Tcl EOF character when reading + git-gui: Delay searching for 'nice' until its really asked for + git-gui: Don't crash in ask_popup if we haven't mapped main window yet + git-gui: Change our initial GC hint to be an estimate + git-gui: Let the user continue even if we cannot understand git version + git-gui: Delay the GC hint until after we are running + git-gui: Move feature option selection before GIT_DIR init + git-gui: Allow blame/browser subcommands on bare repositories + git-gui: Allow browser subcommand to start in subdirectory + git-gui: Allow users to browse any branch, not just the current one + git-gui: Clarify the visualize history menu options + git-gui: Increase the default height of the revision picker + git-gui: Convert merge dialog to use class system + Don't offer my special Tools/Migrate hack unless in multicommit + git-gui: Bind Ctrl/Cmd-M to merge action + git-gui: Avoid unnecessary global statements when possible + git-gui: Translate standard encoding names to Tcl ones + git-gui: Don't show blame tooltips that we have no data for + git-gui: Completely remove support for creating octopus merges + git-gui: Automatically backup the user's commit buffer + git-gui: Save the merge base during checkout_op processing + git-gui: Factor out common fast-forward merge case + git-gui: Simplify error case for unsupported merge types + git-gui: Skip unnecessary read-tree work during checkout + git-gui: Internally allow fetch without storing for future pull support + git-gui: Completely remove my Tools/Migrate hack + git-gui: Fix unnecessary fast-forward during checkout + gitk: Bind keyboard actions to the command key on Mac OS + git-gui: Clarify meaning of add tracked menu option + git-gui: Paper bag fix quitting crash after commit + git-gui: Refactor diff popup into a procedure to ease i18n work + git-gui: Refactor current branch menu items to make i18n easier + git-gui: Avoid unnecessary symbolic-ref call during checkout + git-gui: Save remote urls obtained from config/remotes setup + git-gui: Display commit/tag/remote info in tooltip of revision picker + git-gui: Show ref last update times in revision chooser tooltips + git-gui: Replace merge dialog with our revision picker widget + git-gui: Cleanup bindings within merge dialog + git-gui: Format tracking branch merges as though they were pulls + git-gui: Remove usernames from absolute SSH urls during merging + git-gui: Don't kill modified commit message buffer with merge templates + git-gui: Honor core.excludesfile when listing extra files + git-gui: Use progress bar while resetting/aborting files + git-gui: Make sure remotes are loaded when picking revisions + git-gui: Don't offer to stage hunks from untracked files + git-gui: Use more modern looking icons in the tree browser + git-gui: Minor refactoring of merge command line in merge support + +Simon Hausmann (1): + git-p4: Fix p4 user cache population on Windows. + +Steve Hoelzer (1): + Try to be consistent with capitalization in the documentation + +Thomas Schwinge (2): + Don't rely on unspecified behavior + Support building on GNU/Hurd + + +Version v1.5.3-rc3; changes since v1.5.3-rc2: +--------------------------------------------- + +Adam Roben (1): + Add GIT_EDITOR environment and core.editor configuration variables + +Alexandre Julliard (2): + git.el: Support for incremental status updates. + git.el: Pass an explicit argument to enable smerge-mode. + +Carlos Rica (1): + Rename read_pipe() with read_fd() and make its buffer nul-terminated. + +David Kastrup (2): + contrib/emacs/Makefile: Also install .el files. + Documentation/gitignore.txt: Fix the seriously misleading priority explanation + +Eric Wong (1): + git-svn: fix commiting renames over DAV with funky file names + +Francis Moreau (1): + Fix git-branch documentation when using remote refs + +Jakub Narębski (3): + gitweb cleanup: Move @diff_opts declaration earlier + gitweb: Fix support for legacy gitweb config for snapshots + gitweb: More detailed error messages for snapshot format + +Jim Meyering (1): + pretty-options.txt: tiny doc fix + +Johannes Schindelin (11): + filter-branch: get rid of "set -e" + rebase -i: call editor just once for a multi-squash + fsck --lost-found: write blob's contents, not their SHA-1 + mailinfo: fix 'fatal: cannot convert from utf-8 to utf-8' + Shut "git rebase -i" up when no --verbose was given + rebase -i: exchange all "if [ .. ]" by "if test .." + filter-branch: Big syntax change; support rewriting multiple refs + Teach revision machinery about --no-walk + git log -g: Complain, but do not fail, when no reflogs are there + Teach approxidate() to understand "never" + git am: skip pine's internal folder data + +Julian Phillips (1): + Force listingblocks to be monospaced in manpages + +Junio C Hamano (8): + Update INSTALL + Do not expect unlink(2) to fail on a directory. + Fix VISUAL/EDITOR preference order in Documentation/config.txt. + Synonyms: -i == --regexp-ignore-case, -E == --extended-regexp + Mark user-manual as UTF-8 + user-manual: fix typolets. + t9200: Be careful when checking CVS/Entries + GIT 1.5.3-rc3 + +Kumar Gala (1): + send-email: Update regex parsing for pine aliases + +Linus Torvalds (2): + Do a better job at guessing unknown character sets + Fix up duplicate parents removal + +Marco Costalba (1): + Avoid to duplicate commit message when is not encoded + +Matt McCutchen (1): + gitweb: snapshot cleanups & support for offering multiple formats + +Nanako Shiraishi (1): + Document "git stash message..." + +René Scharfe (2): + filter-branch: fix dash complaining about "Missing '))'" + cleanup unpack-trees.c: shrink struct tree_entry_list + +Richard MUSIL (1): + git-svn: Minimalistic patch which allows svn usernames with space(s). + +Robin Rosenberg (1): + cvsexportcommit: avoid racy CVS problem. + +Scott Lamb (2): + git-p4: use subprocess in p4CmdList + git-p4: input to "p4 files" by stdin instead of arguments + +Simon Hausmann (3): + git-p4: Cleanup, make listExistingP4Branches a global function for later use. + git-p4: Fix upstream branch detection for submit/rebase with multiple branches. + git-p4: Cleanup, used common function for listing imported p4 branches + +Steven Grimm (2): + Document how to tell git to not launch a pager + Teach git-commit about commit message templates. + +Sven Verdoolaege (1): + unpack-trees.c: assume submodules are clean during check-out + + +Version v1.5.3-rc2; changes since v1.5.3-rc1: +--------------------------------------------- + +Alex Riesen (1): + Fix git-rebase -i to allow squashing of fast-forwardable commits + +Emil Medve (1): + Use $(RM) in Makefiles instead of 'rm -f' + +Eric Wong (1): + git-svn: remove leading slashes from fetch lines in the generate config + +Greg KH (1): + make git-send-email.perl handle email addresses with no names when Email::Valid is present + +Jakub Narębski (3): + Update git-merge documentation. + Document long options '--message=<msg>' and '--no-commit' + Document git commit --untracked-files and --verbose + +Jim Meyering (1): + git-cvsserver: detect/diagnose write failure, etc. + +Josh Triplett (1): + Remove useless uses of cat, and replace with filename arguments + +Junio C Hamano (7): + Make show_rfc2822_date() just another date output format. + Wire new date formats to --date=<format> parser. + Document new --date=<format> + Add contrib/stats/mailmap.pl script + Update .mailmap + Documentation/git-commit-tree: remove description of a nonexistent limitation + GIT v1.5.3-rc2 + +Marius Storm-Olsen (1): + Fix git-p4 on Windows to not use the Posix sysconf function. + +Matthieu Moy (1): + More permissive "git-rm --cached" behavior without -f. + +Nicolas Pitre (1): + Pack-objects: properly initialize the depth value + +Paul Mackerras (1): + gitk: Fix bug introduced by previous commit + +Peter Hagervall (1): + Make every builtin-*.c file #include "builtin.h" + +Robin Rosenberg (1): + Support output ISO 8601 format dates + +Sean Estabrooks (3): + Remove "WITH_P4IMPORT" knob from the Makefile + Remove p4 rpm from git.spec.in. + Demote git-p4import to contrib status. + +Shawn O. Pearce (2): + Correct trivial typo in fast-import documentation + Teach fast-import to recursively copy files/directories + +Stephen Rothwell (1): + send-email: discard blank around address in extract_valid_address as well. + +Sven Verdoolaege (1): + lockfile.c: schedule remove_lock_file only once. + + +Version v1.5.3-rc1; changes since v1.5.3-rc0: +--------------------------------------------- + +Alecs King (1): + fix remote.origin.url in tutorial.txt + +Alex Riesen (4): + Handle missing prefix for "Subject:" as if no prefix given + Handle format.subjectprefix for every command which accepts --pretty + Fix t5516 to create test repo without hooks + Add -v|--verbose to git remote to show remote url + +Andrew Ruder (2): + Remove USE_PAGER from git-pickaxe and git-annotate + Add urls.txt to git-clone man page + +Andy Parkins (1): + user-manual: grammar and style fixes + +Brian Downing (10): + pack-objects: Prefer shallower deltas if the size is equal + gitk: Fix for tree view ending in nested directories + Pack information tool + Correct shebang line for contrib/stats/packinfo.pl + Don't try to delta if target is much smaller than source + Support fetching the memory usage of a delta index + Add functions for parsing integers with size suffixes + Add pack-objects window memory usage limit + Add --window-memory option to git-repack + Add documentation for --window-memory, pack.windowMemory + +Brian Gernhardt (1): + Add core.pager config variable. + +CJ van den Berg (1): + git-submodule: Fix two instances of the same typo + +Carlos Rica (5): + t7004: Skip tests for signed tags in an old version of gpg. + t0030: Remove repeated instructions and add missing && + t0030: Add tests with consecutive text lines and others with spaces added. + t7004: Add tests for the git tag -n option. + Function stripspace now gets a buffer instead file descriptors. + +Daniel Barkalow (2): + Add allocation and freeing functions for struct refs + Some cosmetic changes to remote library + +David Kastrup (1): + Add missing functions to contrib/emacs/vc-git.el + +Eric Wong (1): + git-svn: fix blocking with svn:// servers after do_switch + +Frank Lichtenheld (1): + cvsserver: always initialize state in argsplit() + +Gerrit Pape (2): + git-gui: properly popup error if gitk should be started but is not installed + git-commit: don't add multiple Signed-off-by: from the same identity + +J. Bruce Fields (2): + tutorial: Fix typo + user-manual: more explanation of push and pull usage + +James Bowes (1): + stash: allow running from a subdirectory + +Jim Meyering (1): + Don't smash stack when $GIT_ALTERNATE_OBJECT_DIRECTORIES is too long + +Johannes Schindelin (24): + diff --no-index: fix --name-status with added files + glossary: add 'reflog' + Document git-filter-branch + Add diff-option --ext-diff + filter-branch: add a test for the commit removal example + filter-branch: make output nicer + filter-branch: a few more touch ups to the man page + filter-branch documentation: clarify which filters are eval'ed + filter-branch: fail gracefully when a filter fails + Future-proof source for changes in xdemitconf_t + Teach git-stash to "apply --index" + Enable "git rerere" by the config variable rerere.enabled + git-branch: default to --track + Fix "apply --reverse" with regard to whitespace + branch.autosetupmerge: allow boolean values, or "all" + rebase -i: handle --continue more like non-interactive rebase + rebase -i: actually show the diffstat when being verbose + rebase -i: remember the settings of -v, -s and -p when interrupted + rebase -i: put a nice warning into the todo list + rerere: record resolution even if file is not in merge base + Fix core.sharedRepository = 2 + Fix --cherry-pick with given paths + Add for_each_remote() function, and extend remote_find_tracking() + branch --track: code cleanup and saner handling of local branches + +Johannes Sixt (3): + filter-branch: Avoid an error message in the map function. + filter-branch documentation: some more touch-ups. + Allow rebase to run if upstream is completely merged + +Jonas Fonseca (1): + fsck --lost-found writes to subdirectories in .git/lost-found/ + +Junio C Hamano (22): + Update draft Release Notes for 1.5.3 + Update reflog message created for stashes + Do not check if getcwd() result begins with a slash. + Fix git-stash(1) markup. + git-stash: allow more descriptive reminder message when saving + Introduce diff_filespec_is_binary() + Per-path attribute based hunk header selection. + Fix configuration syntax to specify customized hunk header patterns. + diff: honor binariness specified in attributes + gitweb: make repeated calls to git_get_project_owner() bearable + diff.c: make built-in hunk header pattern a separate table + git-gui: use "blame -w -C -C" for "where did it come from, originally?" + git-stash: try reusing cached stat info as much as possible + Fix merge-one-file for our-side-added/our-side-removed cases + Document custom hunk header selection + revision.c: remove duplicated parents after history simplification + Revert 88494423 (removal of duplicate parents in the output codepath) + Re-code builtin-branch.c in UTF-8 + Teach read-tree 2-way merge to ignore intermediate symlinks + GIT 1.5.2.4 + Update list of older git docs + GIT v1.5.3-rc1 + +Lars Hjemli (1): + git-submodule(1): update description and key names + +Marcus Fritzsch (1): + Fixed a formulation mistake in Documentation/user-manual.txt + +Matt Kraai (3): + Prefer EMAIL to username@hostname. + Change "added.moved or removed" to "added, moved or removed" in + Add [verse] to the SYNOPSIS section of git-submodule.txt. + +Matt McCutchen (3): + gitweb: make search form generate pathinfo-style URLs + gitweb: make "No commits" in project list gray, not bold green + Makefile: rebuild git.o on version change, clean up git$X flags + +Matthias Lederhofer (3): + git-init: set core.worktree if GIT_WORK_TREE is specified + git-clone: split up long &&-command-chain and use a function for cleanup + make git-clone GIT_WORK_TREE aware + +Michael Hendricks (2): + git-send-email: allow an email alias for --from + gitweb: configurable width for the projects list Description column + +Miklos Vajna (3): + Document -<n> for git-format-patch + gitweb: prefer git_get_project_owner() over get_file_owner() + gitweb: new cgi parameter: opt + +Nicolas Pitre (3): + apply delta depth bias to already deltified objects + script to display a distribution of longest common hash prefixes + reduce git-pack-objects memory usage a little more + +Paul Mackerras (6): + gitk: Fix the find and highlight functions + gitk: Fix bug in the anc_or_desc routine + gitk: Remove the unused stopfindproc function + gitk: Fix bug causing "can't read commitrow(0,n)" error + gitk: Use git log and add support for --left-right + gitk: Improve handling of -- and ambiguous arguments + +René Scharfe (1): + diff-lib.c: don't strdup twice + +Sean Estabrooks (1): + Alter git-checkout reflog message to include "from" branch + +Shawn O. Pearce (46): + git-gui: Unlock the index when cancelling merge dialog + git-gui: Start blame windows as tall as possible + git-gui: Correct resizing of remote branch delete dialog + git-gui: Don't bind F5/M1-R in all windows + git-gui: Bind M1-P to push action + git-gui: Include a Push action on the left toolbar + git-gui: Ensure windows shortcuts always have .bat extension + git-gui: Honor rerere.enabled configuration option + git-gui: New Git version check support routine + git-gui: Skip nicknames when selecting author initials + git-gui: Teach class system to support [$this cmd] syntax + git-gui: Abstract the revision picker into a mega widget + git-gui: Refactor the delete branch dialog to use class system + git-gui: Optimize for newstyle refs/remotes layout + git-gui: Maintain remote and source ref for tracking branches + git-gui: Allow users to match remote branch names locally + git-gui: Fast-forward existing branch in branch create dialog + git-gui: Enhance choose_rev to handle hundreds of branches + git-gui: Sort tags descending by tagger date + git-gui: Option to default new branches to match tracking branches + git-gui: Automatically refresh tracking branches when needed + git-gui: Better handling of detached HEAD + git-gui: Refactor our ui_status_value update technique + git-gui: Refactor branch switch to support detached head + git-gui: Unabbreviate commit SHA-1s prior to display + git-gui: Default selection to first matching ref + git-gui: Allow double-click in checkout dialog to start checkout + git-gui: Extract blame viewer status bar into mega-widget + git-gui: Change the main window progress bar to use status_bar + git-gui: Show a progress meter for checking out files + git-gui: Always use absolute path to all git executables + git-gui: Correct gitk installation location + git-gui: Assume unfound commands are known by git wrapper + git-gui: Treat `git version` as `git --version` + git-gui: Perform our own magic shbang detection on Windows + git-gui: Teach console widget to use git_read + git-gui: Improve the Windows and Mac OS X shortcut creators + git-gui: Correct ls-tree buffering problem in browser + git-gui: Don't linewrap within console windows + git-gui: Paper bag fix for Cygwin shortcut creation + git-gui: Use sh.exe in Cygwin shortcuts + git-gui: Include a space in Cygwin shortcut command lines + Clarify documentation of fast-import's D subcommand + Support wholesale directory renames in fast-import + git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree} + git-gui: Change prior tree SHA-1 verification to use git_read + +Steffen Prohaska (1): + filter-branch: added missing warn function + +Steven Walter (1): + Documentation for git-log --follow + +Uwe Kleine-König (2): + stash: end commit log with a newline + repack: don't report "Nothing new to pack." if -q is given + +William Pursell (1): + user-manual: fix directory name in git-archive example + + +Version v1.5.3-rc0; changes since v1.5.2.5: +------------------------------------------- + +Adam Roben (3): + git-send-email: Add --threaded option + git-send-email: make options easier to configure. + format-patch: Add format.subjectprefix config option + +Alex Riesen (11): + Fix the progress code to output LF only when it is really needed + Add run_command_v_opt_cd: chdir into a directory before exec + Add ability to specify environment extension to run_command + Allow environment variables to be unset in the processes started by run_command + Verbose connect messages to show the IP addresses used + Add another verbosity level to git-fetch + Add a configuration option to control diffstat after merge + Fix push with refspecs containing wildcards + Do not use h_errno after connect(2): the function does not set it + cvsserver: Actually implement --export-all + Avoid perl in t1300-repo-config + +Alexandre Julliard (1): + pack-check: Sort entries by pack offset before unpacking them. + +Alexandre Vassalotti (1): + git-tag: Fix "can't shift that many". + +Andy Whitcroft (3): + cvsimport: add support for new style remote layout + cvsimport: update documentation to include separate remotes option + cvsimport: add <remote>/HEAD reference in separate remotes more + +Aneesh Kumar K.V (2): + gitview: Fix the blame interface. + gitview: run blame with -C -C + +Benjamin Sergeant (1): + git-p4 fails when cloning a p4 depo. + +Brian Gernhardt (1): + Fix t5516-fetch for systems where `wc -l` outputs whitespace. + +Carlos Rica (3): + Fix git-stripspace to process correctly long lines and spaces. + Add test script for git-stripspace. + Add test-script for git-tag + +Dan McGee (1): + git-mergetool: Allow gvimdiff to be used as a mergetool + +Dana L. How (8): + Custom compression levels for objects and packs + Alter sha1close() 3rd argument to request flush only + git-repack --max-pack-size: new file statics and code restructuring + git-repack --max-pack-size: write_{object,one}() respect pack limit + git-repack --max-pack-size: split packs as asked by write_{object,one}() + git-repack --max-pack-size: add option parsing to enable feature + pack-objects: clarification & option checks for --max-pack-size + Ensure git-repack -a -d --max-pack-size=N deletes correct packs + +Daniel Barkalow (6): + Move remote parsing into a library file out of builtin-push. + Move refspec parser from connect.c and cache.h to remote.{c,h} + Add handlers for fetch-side configuration of remotes. + Update local tracking refs when pushing + Move refspec pattern matching to match_refs(). + Fix pushing to a pattern with no dst + +Dave O'Neill (1): + Generate tags with correct timestamp (git-svnimport) + +Elvis Pranskevichus (1): + Use git-tag in git-cvsimport + +Emil Medve (1): + git-submodule: Instead of using only annotated tags, use any tags. + +Eric Wong (4): + git-svn: cleanup: factor out longest_common_path() function + git-svn: test for creating new directories over svn:// + git-svn: reduce stat() calls for a backwards compatibility check + git-svn: allow dcommit to retain local merge information + +Fernando J. Pereda (1): + Teach mailsplit about Maildir's + +Frank Lichtenheld (11): + t9400: Add test cases for config file handling + t9400: Add some more cvs update tests + t9400: Add some basic pserver tests + t9400: Work around CVS' deficiencies + cvsserver: Handle 'cvs login' + cvsserver: Make req_Root more critical of its input data + cvsserver: Add some useful commandline options + cvsserver: Let --base-path and pserver get along just fine + cvsserver: Actually implement --export-all + config: Add --null/-z option for null-delimted output + config: add support for --bool and --int while setting values + +Geert Bosch (1): + Unify write_index_file functions + +Gerrit Pape (3): + git-branch: cleanup config file when deleting branches + git-svn: trailing slash in prefix is mandatory with --branches/-b + git-cvsimport: force checkout of working tree after initial import + +Han-Wen Nienhuys (28): + Cleanups + reformatting: break long lines. + rename apply() to applyCommit(); apply is a python builtin + add .dotest to .gitignore + Robustness fixes for pipes + cleanup + minor cleanups + clone and sync --keep-path to keep perforce path to module. + use string.strip() iso. slicing. + use strip() iso. slicing for removing \n + add --verbose to all commands. + Extract multiple paths concurrently. + Diverse cleanups + remove global .gitdir + Read p4 files in one batch. + Thinko, fix buglet. + store p4 user cache in home directory. + thinko. + read files before creating the commit. + don't p4 print deleted files. + only run p4 print if necessary + use p4CmdList() to get file contents in Python dicts. This is more robust. + Cleanups & import into p4/master for local import + remove debug print + thinko: really ignore deleted files. + look for 'text' and 'binary' files. + print error message when p4 print fails (eg. due to permission problems) + also strip p4/ from local imports. + +Jakub Narębski (16): + gitweb: Add test t9500 for gitweb (as standalone script) + Add an option to git-ls-tree to display also the size of blob + gitweb: Provide links to commitdiff to each parent in 'commitdiff' view + gitweb: Improve "next" link in commitdiff view + gitweb: Split git_patchset_body into separate subroutines + gitweb: Create special from-file/to-file header for combined diff + gitweb: Add links to blobdiffs in from-file/to-file header for merges + gitweb: '--cc' for merges in 'commitdiff' view + Document git rev-list --full-history + Document git read-tree --trivial + Document git rev-parse --is-inside-git-dir + Document git reflog --stale-fix + Document git rev-list --timestamp + Use tabs for indenting definition list for options in git-log.txt + Document git log --abbrev-commit, as a kind of pretty option + Document git log --full-diff + +James Bowes (2): + Add colour support in rebase and merge tree diff stats output. + rev-parse: Identify short sha1 sums correctly. + +Jeff King (12): + cmd_log_init: remove parsing of --encoding command line parameter + refactor dir_add_name + dir_struct: add collect_ignored option + builtin-add: simplify (and increase accuracy of) exclude handling + Fix ALLOC_GROW off-by-one + Fix ALLOC_GROW calls with obsolete semantics + git-stash: fix "no arguments" case in documentation + git-stash: fix "can't shift that many" with no arguments + git-stash: don't complain when listing in a repo with no stash + Documentation: quote {non-attributes} for asciidoc + Documentation: quote {non-attributes} for asciidoc + Documentation: minor cleanups to branch/checkout wording + +Jeffrey C. Ollie (2): + Add an option to quiet git-init. + Quiet the output from git-init when cloning, if requested. + +Jim Meyering (4): + Don't dereference a strdup-returned NULL + detect close failure on just-written file handles + Don't ignore a pack-refs write failure + git-log: detect dup and fdopen failure + +Johan Herland (1): + Remove unnecessary code and comments on non-existing 8kB tag object restriction + +Johannes Schindelin (23): + Update to SubmittingPatches + Add git-filter-branch + git-fsck: learn about --verbose + Move buffer_is_binary() to xdiff-interface.h + merge-recursive: refuse to merge binary files + git-merge-file: refuse to merge binary files + filter-branch: use $(($i+1)) instead of $((i+1)) + filter-branch: fix behaviour of '-k' + t5000: skip ZIP tests if unzip was not found + Teach filter-branch about subdirectory filtering + Teach diff to imply --find-copies-harder upon -C -C + pp_header(): work around possible memory corruption + diffcore-rename: favour identical basenames + filter-branch: add example to move everything into a subdirectory + Move the pick_author code to git-sh-setup + Teach rebase an interactive mode + rebase -i: several cleanups + rebase -i: provide reasonable reflog for the rebased branch + Teach rebase -i about --preserve-merges + t7004: ship trustdb to avoid gpg warnings + git add: respect core.filemode with unmerged entries + Make '!' aliases more useful + git-fsck: add --lost-found option + +Johannes Sixt (9): + filter-branch: Use rev-list arguments to specify revision ranges. + filter-branch: also don't fail in map() if a commit cannot be mapped + Makefile: Remove git-merge-base from PROGRAMS. + filter-branch: Simplify parent computation. + filter-branch: subdirectory filter needs --full-history + Avoid double-slash in path names that depend on $(sharedir). + Remove trailing slash from $(template_dir). + git-remote show: Also shorten non-fast-forward refs in the 'push' listing + Test 'git add' for unmerged entries when core.symlinks=false. + +Jon Loeliger (1): + Add the --numbered-files option to git-format-patch. + +Jonas Fonseca (2): + Fix git-am(1) synopsis formatting + git-rebase: suggest to use git-add instead of git-update-index + +Josh Triplett (1): + Fix typo in git-mergetool + +Julian Phillips (2): + Makefile: Use generic rule to build test programs + new-workdir: handle rev-parse --git-dir not always giving full path + +Junio C Hamano (48): + git-apply: Fix removal of new trailing blank lines. + pack-objects: pass fullname down to add_object_entry() + Teach "delta" attribute to pack-objects. + builtin-pack-objects: remove unnecessary code for no-delta + Fix command line parameter parser of revert/cherry-pick + Remove git-applypatch + mailsplit: fix for more than one input files + Add DLH to .mailmap + Release Notes: start preparing for 1.5.3 + git-apply: what is detected and fixed is not just trailing spaces. + t7003: make test repeatable + git-branch --track: fix tracking branch computation. + War on whitespace + Test wildcard push/fetch + More missing static + More missing static + Even more missing static + remote.c: refactor match_explicit_refs() + remote.c: refactor creation of new dst ref + remote.c: minor clean-up of match_explicit() + remote.c: fix "git push" weak match disambiguation + remote.c: "git-push frotz" should update what matches at the source. + git-push: Update description of refspecs and add examples + git-blame: do not indent with spaces. + git-blame -w: ignore whitespace + mktag: minimally update the description. + Lift 16kB limit of log message output + Extend --pretty=oneline to cover the first paragraph, + Makefile: common-cmds.h depends on generate-cmdlist.sh script + Makefile: allow generating git.o for debugging purposes + -Wold-style-definition fix + More static + Documentation: update "stale" links for 1.5.2.2 + INSTALL: explain how to build documentation + Two trivial -Wcast-qual fixes + git-send-email: Do not make @-less message ID + Add core.quotepath configuration variable. + Update draft Release Notes for 1.5.3 + diffcore_count_changes: pass diffcore_filespec + diffcore_filespec: add is_binary + diffcore-delta.c: update the comment on the algorithm. + diffcore-delta.c: Ignore CR in CRLF for text files + git-stash: require "save" to be explicit and update documentation + Update public documentation links for 1.5.2.3 + "git-push $URL" without refspecs pushes only matching branches + Rewrite "git-frotz" to "git frotz" + git-stash: make "save" the default action again. + Mark disused commit walkers officially deprecated. + +Kevin Green (1): + git-p4: check for existence of repo dir before trying to create + +Lars Hjemli (10): + Add git-submodule command + Add basic test-script for git-submodule + git-submodule: move cloning into a separate function + git-submodule: clone during update, not during init + t7400: barf if git-submodule removes or replaces a file + git-submodule: remember to checkout after clone + Rename sections from "module" to "submodule" in .gitmodules + git-submodule: give submodules proper names + Add gitmodules(5) + gitmodules(5): remove leading period from synopsis + +Linus Torvalds (9): + Make "git gc" pack all refs by default + Make the pack-refs interfaces usable from outside + Makefile: add an explicit rule for building assembly output + Finally implement "git log --follow" + Fix up "git log --follow" a bit.. + Clean up internal command handling + Check for IO errors after running a command + git: Try a bit harder not to lose errno in stdio + Start deprecating "git-command" in favor of "git command" + +Marco Costalba (1): + Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file + +Marius Storm-Olsen (7): + Make the command call silent + Replace \r\n with \n when importing from p4 on Windows + Ensure that the commit message is Windows formated (CRLF) before invoking the editor. + Fix git-p4 clone (defaultDestination) + Fix single branch import into remotes + Exclude the HEAD symbolic ref from the list of known branches + Only use double quotes on Windows + +Mark Levedahl (6): + gitk: Make selection highlight color configurable + gitk: Update fontsize in patch / tree list + gitk: Allow specifying tabstop as other than default 8 characters. + gitweb.perl - Optionally send archives as .zip files + gitk: Use a spinbox for setting tabstop settings + gitk: Update selection background colorbar in prefs dialog + +Martin Koegler (5): + builtin-pack-objects: don't fail, if delta is not possible + git-pack-objects: cache small deltas between big objects + builtin-pack-object: cache small deltas + diff-delta: use realloc instead of xrealloc + gitweb: Handle non UTF-8 text better + +Martin Waitz (1): + rename dirlink to gitlink. + +Matthias Lederhofer (18): + add git-filter-branch to .gitignore + make clean should remove all the test programs too + filter-branch: prevent filters from reading from stdin + chmod +x git-filter-branch.sh + rev-parse: document --is-inside-git-dir + rev-parse: introduce --is-bare-repository + test git rev-parse + introduce GIT_WORK_TREE to specify the work tree + Use new semantics of is_bare/inside_git_dir/inside_work_tree + extend rev-parse test for --is-inside-work-tree + test GIT_WORK_TREE + setup_git_directory: fix segfault if repository is found in cwd + filter-branch: always export GIT_DIR if it is set + gitweb: change filename/directory name of snapshots + make git barf when an alias changes environment variables + make dist: include configure script in tarball + ignore git-rebase--interactive + getenv/setenv: use constants if available + +Matthijs Melchior (1): + Teach git-tag about showing tag annotations. + +Michael Ellerman (2): + gitview: Use new-style classes + gitview: Define __slots__ for Commit + +Michael Krelin (1): + git-svn: honor ~/.subversion/ client cert file settings. + +Michael S. Tsirkin (1): + connect: display connection progress + +Nanako Shiraishi (3): + Cloning from a repo without "current branch" + Add git-stash script + Document git-stash + +Nicolas Pitre (8): + allow for undeltified objects not to be reused + make "repack -f" imply "pack-objects --no-reuse-object" + deprecate the new loose object header format + fixes to output of git-verify-pack -v + improve delta long block matching with big files + update diff-delta.c copyright + fix repack with --max-pack-size + always start looking up objects in the last used pack first + +Paul Mackerras (18): + gitk: Use the -q flag to git checkout + gitk: New infrastructure for working out branches & previous/next tags + gitk: Don't try to list large numbers of tags or heads in the details pane + gitk: Add some more comments to the optimize_rows procedure + gitk: Improve the behaviour of the initial selection + gitk: Implement a simple scheduler for the compute-intensive stuff + gitk: Cope with commit messages with carriage-returns and initial blank lines + gitk: Disable the head context menu entries for the checked-out branch + gitk: Store ids in rowrangelist and idrowranges rather than row numbers + gitk: New algorithm for drawing the graph lines + gitk: Show local uncommitted changes as a fake commit + gitk: Speed up the reading of references + gitk: Get rid of the childlist variable + gitk: Add a "reset branch to here" row context-menu operation + gitk: Limit how often we change the canvas scrolling region + gitk: Fix bug causing nearby tags/heads to sometimes not be displayed + gitk: Improve handling of whitespace and special chars in filenames + gitk: Add a progress bar to show progress while resetting + +Petr Baudis (2): + git-rev-list: Add regexp tuning options + git-applymbox: Remove command + +Pierre Habouzit (3): + $EMAIL is a last resort fallback, as it's system-wide. + Active_nr is unsigned, hence can't be < 0 + Missing statics. + +Quy Tonthat (1): + git.spec: RPM failed, looking for wrong files. + +Randal L. Schwartz (1): + Add test-sha1 to .gitignore. + +René Scharfe (3): + t5000: silence unzip availability check + diffcore-rename: don't change similarity index based on basename equality + diff: round down similarity index + +Robin Rosenberg (1): + Add option to cvs update before export + +Sam Vilain (3): + git-svn: avoid string eval for defining functions + git-svn: use git-log rather than rev-list | xargs cat-file + git-svn: cache max revision in rev_db databases + +Shawn O. Pearce (24): + Teach git-describe how to run name-rev + Lazily open pack index files on demand + Micro-optimize prepare_alt_odb + Attempt to delay prepare_alt_odb during get_sha1 + git gui 0.8.0 + git-gui: GUI support for running 'git remote prune <name>' + git-gui: Show the git-gui library path in 'About git-gui' + git-gui: Enable verbose Tcl loading earlier + git-gui: Provide fatal error if library is unavailable + git-gui: Disable tearoff menus on Windows, Mac OS X + git-gui: Allow users to rename branches through 'branch -m' + git-gui: Allow users to delete remote branches + git-gui: Expose the merge.diffstat configuration option + Allow contrib new-workdir to link into bare repositories + Test for recent rev-parse $abbrev_sha1 regression + Simplify index access condition in count-objects, pack-redundant + Ensure the pack index is opened before access + Style nit - don't put space after function names + git-gui: Internalize symbolic-ref HEAD reading logic + git-gui: Quiet our installation process + Avoid src:dst syntax as default bash completion for git push + Document git-gui, git-citool as mainporcelain manual pages + Teach bash how to complete +refspec on git-push + Correct usages of sed in git-tag for Mac OS X + +Simon Hausmann (223): + Initial import of a python script to import changesets from Perforce into git. + Added basic support for specifying the depot path to import from as well as the range of perforce changes. + Slightly improved help usage output and made specifying the trailing slash for the depot path optional. + Implemented basic support for converting the date of the perforce change to the git format. The timezone isn't correctly set up yet though. + Some fixes to the timezone conversion between the date of a perforce change and the git commit. + Speed up the import of individual files from Perforce into git by passing the output of "p4 print" directly to git fast-import. Also try to set the mode of the file in git correctly based on file type heuristics. + Removed unused p4cat function and added helper function for the perforce python interface (p4Cmd). + Changed the import mechanism to write to git fast-import through a pipe instead of having p4-fast-export write to stdout and let the caller connect it to git fast-import. + Minor code cleanups and ported some p4 interfacing code over to the p4 python mode. + Instead of parsing the output of "p4 users" use the python objects of "p4 -G users". + Ported the remaining functions that parsed p4 shell output over to the p4 python interface. + Avoid calling fstat for every imported file (slow!) and instead read the file data first into the python process and use the length of the bytes read for the size field of git fast-import. + Permit calling p4-fast-export with a depot path that has the typical ... wildcard at the end. + Fixed displaying import progress by calling flush on stdout. + Create a git tag for every changeset imported from perforce. + Fix file permissions of p4-fast-export.py to be executable. + Started working on incremental imports from Perforce. + Simplify the incremental import by elimination the need for a temporary import branch. + Code cleanups, move the code to create a commit with fast-import into a separate function out of the main loop. + Initial support for importing a directory from Perforce at a specified revision. + Minor cleanups and print an error message of git fast-import if it fails. + Fixed incremental imports by using the correct "from" command instead of "merge" with git fast-import. + Make incremental imports easier to use by storing the p4 depot path after an import in .git/config and re-using it when we're invoked again later. + Make specifying the revision ranges more convenient. + Fix calculation of the newest imported revision for #head imports. + Catch io exceptions from git fast-import again and print the error message. + Made the name of the git branch used for the perforce import configurable through a new --branch=<name> commandline option. + Added a little helper script to debug the output of the p4 python interface. + Minor code cleanups. + Avoid the excessive use of git tags for every perforce change and instead just create one git tag for the last imported change. + Changed the default git import branch from "p4" to "master". + Added a little helper script to remove unused tags from the perforce import. + Create lightweight git tags (using the "reset" trick) for the incremental import instead of full-blown ones. Also fix parsing the output of git name-rev for figuring out the last imported p4 change number. + Cleanups, remove unused variable. + Code cleanups. + Started work on p4 branch detection (experimental!). + More fixes in heuristic p4 branch detection based on common path components. + After marking a p4 branch as merged don't ever merge it in git again. + Set git fast-import marks for every imported change for future use. + When trying to map p4 integrations to git merges just record it as a single merge with the newest p4 change as secondary parent. + Make it possible to specify the p4 changes to import through a text file (for debugging) and made various improvements to the branch/merge heuristic detection. + Use sets.Set() instead of set() to run also with older versions of Python. + Fix single-branch imports by skipping the branch/merge detection correctly. + Added p4 delete behavioural emulation as todo item. + Added support for --silent so that p4-fast-export can be called from cronjobs. + More work in --silent support. + Don't print a plain newline at the end of the execution (avoids bogus cron error mails). + Adjust the output parsing of git name-rev to handle the output of the latest git version. + Work in progress on detecting branches. + Changed --known-branches to take a file as argument instead of a comma separated list. + Fixed p4-debug file extension. + Make the p4 data/command cache configurable through the --cache-debug commandline option. + Minor code cleanups. + More code cleanups and preparations for more branch detection heuristics. + More work on branch detection by implementing changeIsBranchMerge(). + Reduce the number of false "merges" by skipping "branch from" entries in the integrated output as well as by ignoring integrations of future (newer) changes. + Split up the cache commandline options into (command) cache and data cache. + First version of a new script to submit changes back to perforce from git repositories. + Fix git-dir option and allow reading log substitutions from a file + Lots of bugfixes to p4-git-sync. + Automatically operate on a temporary branch, needed for cherry-pick to work when applying changes to + Be nice and use /usr/bin/env python for the git-p4 scripts + Ignore Apple resource files when importing from perforce to git. + Auto-detect the current git branch before submitting back to perforce. + Use p4 revert ... instead of revert -a ... after submitting, to make sure the p4 checkout is clean. + Default to interactive syncing + Improved the git dir detection. + Pass the right number of arguments to commit, fixes single-branch imports. + Start moving the git-p4 tools into one single script. + Provide a little bit of help description for the git-p4 "tools". + First (untested) attempt at migrating p4-git-sync into the final git-p4 script + Part of the code is copyright by Trolltech ASA. + sync-to-perforce is now called submit and fixed the gitdir check a little bit + Completely untested "merge" of p4-fast-export.py into git-p4.py + Added missing "self"s to make the script evaluate correctly. + Fixed the initial version import by getting the file index correct by correctly skipping deleted files. + Removed p4-fast-export and p4-git-sync as they've been integrated into git-p4 now. + Start of the git-p4 documentation. + Documentation enhancements. + Added experimental but super-fast --apply-as-patch option to git-p4 submit + Fix support for deletions in git-p4 submit when using --apply-as-patch by filtering out deletions in the diff-tree output. + Made --apply-as-patch the default for git-p4 submit as it's significantly faster. + Make it possible to invoke git-p4 from within subdirectories of a git working tree. + Don't show the submit template and the diff first in less but show it in $editor right away + Removed the .py extension from git-p4 as it's annoying to type every time. + Changed the format of the imported log message slightly, so that it's easier to parse again. + Changed the default branch for imports from "master" to "p4" + Added some helper function(s) to parse the depot path and change number from the log message + Helper function to check the existance of a revision + Set the default branch in run, not in the constructor + Brand new smart incremental import that doesn't need tags or git repo-config :) + Make it possible to run git-p4 submit from within the git repository + Use the new incremental import style by default + Different versions of p4 have different output for the where command ;( + Minor cosmetic fixlet for the git-p4 submit sync question. + Prefer git command over git-command. + Don't try to parse any options with git-p4 debug but pass it straight on to p4 + git-p4 debug doesn't need a git repository + Added support for mapping p4 labels to git tags + Fix variable usage in tag import + Fix the docs for git-p4 submit and turn git-p4 submit --master=foo into simply git-p4 submit mytopicbranch. + Fix "compilation" :) + Clean up python class names. + Added git-p4 rebase convenience + Provide a tree summary after git-p4 rebase + Turn off potentially slow label detection by default + Honor --silent for labels + Added git-p4 clone convenience command + Fix file determination for #head imports + fix variable usage (oops) + Added a simple example of usage to the "documentation" :) + Allow for convenient rebasing after git-p4 submit + Print an error message of some sort if git fast-import fails. + Fix the timezone formatting. Now qgit also displays (parses) it correctly. + Removed the old patch apply code from git-p4 submit. + Slightly improved formatting of the raw_input questions. + A new attempt at fixing the child-fast-import-process-not-finished race condition in the clone command + Handle patch errors in git-p4 submit better. + Doc cleanups. + Micro cleanup + cleanup, renamed self.globalPrefix to self.depotPath + Cleanup, removed the old tagging code + Document some implementation details, for the curious... :) + Use the subprocess module instead of popen2 to make it work on Windows. + Added a little .bat wrapper from Marius + Make sure all popen calls use binary mode (for Windows) and + Make submitting work on Windows. + Converted to unix newlines + Fix git-p4 clone //depot/project (head import) + Make git-p4 work with bare repositories. + Added the possibility of skipping patches during git-p4 submit + Give a better hint if git-p4 submit fails + Fix calling git-p4 rebase from within a subdirectory (git rebase wants to be in toplevel) + A little todo note before I forget it :), based on a suggestion from Lars. + Fixing syncing (gitdir discovery / cd) for bare repositories + Always pass a sha1 for the initial parent so that git-fast-import doesn't think it's creating a new branch from itself. It's a sensible error in general but in the case of incremental imports we have to apply force :) + Clean up code duplication for revision parsing and fix previous commit to not import into remotes/p4 (yet!). + Removed cleantags command. It doesn't have any meaning anymore. + Removed ancient and unused code to find the last imported revision from previous imports to use for the current import by looking at the p4 tags. The current approach of using the log message works better. + Create the origin based import branch using git update-ref instead of git branch so that it's possible to have the import branch in refs/remotes. + Changed the default p4 import branch to be refs/remotes/p4/{HEAD,master} instead of refs/heads/p4. + Bite the bullet and automatically convert old style refs/heads/p4 repositories to the new style refs/remotes/p4 branching. + Added support for git-p4 sync/rebase --with-origin. See git-p4.txt for details :) + Removed todo item that is implemented :) + Fix branch setup after initial clone. + Removed unused cache variables. + Started rewriting the branch detection, based on "p4 branches" and "p4 branch -o foo". + Give branches a nice project prefix and don't bail out on clone if we failed to detect the master branch. + More work on the incremental importing of multiple branches. Improved error detection by checking the exit code of git-fast-import. + Cleanup/speed up the branch<> file split and removed change range limitation that I added for debugging (oops). + More cleanups and speedups for labels and branches + Removed unused variable, more cleanups + Cache the output of "p4 users" for faster syncs on high latency links. + Fix gitdir not being set when cloning. Needed for writing the p4 users cache. + Oops, not only /set/ gitdir on clone, also set it /correctly/ :) + Use git format-patch and git apply --apply when extracting patches from git and applying them to a Perforce checkout. This should make it possible to apply git commits with binary files that cannot be handled by path. + Added support for git-p4 submit --direct (experimental) + Specifying --detect-branches is now only needed for the initial clone/sync. Afterwards it's turned on implicitly if more p4 branches than remotes/p4/master are found. + Had an idea for debugging, record it :) + Another (potentially life-saving) idea for submit --direct + Improved output for multi branch imports and noted another little todo item + Fix conversion from old style heads/p4 to remotes/p4/master + Fix error detection with git-p4 submit when the requested depot path is not in the client view. + Fix git symbolic-ref warning on initial clone + Detect with git-p4 submit --direct when there are no changes in the working directory + Make git-p4 submit --direct safer by also creating a git commit + Added a rollback command for debugging. It sets back the heads of the p4 branches to the specified p4 change number or earlier. + Fix branch detection in multi-branch imports + Fixes for rollback, delete branches that did not exist at the specified p4 change + Added support for importing multiple branches into refs/heads instead of just refs/remotes using --import-local. Needs some further microfix but seems to work otherwise. + Added support for --max-changes=<count> to ease import debugging + Use refs/heads/* instead of refs/heads/p4/* for local imports + Doc updates + Avoid calling git symbolic-ref refs/heads/p4//HEAD (double slash) + Make rollback work with locally imported branches + Don't make len(p4Cmd("p4 changes -m 1 //foo/...")) == 0 succeed when the p4 command itself failed. + Oops, fill the /list/ correct with the p4 exit code. + Catch p4 errors in rollback early enough (before deleting refs!) + Fix p4 execution in git-p4 rollback. + Fix multi-branch import with --silent. + Load the user map from p4 only once at run-time. + Fix creating the remotes/p4 branches based on origin/* for the multi-branch import + Forgot to remove this return statement from debugging + Added support for --with-origin with multi-branch imports + Oops, fix --with-origin to /really/ also call git fetch :) + Avoid creating non-p4 branches in remotes/p4 off of remotes/origin + Make git-p4 work with packed refs (don't use os.path.exists to check for the existance of a ref) + Make --with-origin also work without origin :) + Make --with-origin the default for syncing. + Shortcut the case where we have no origin branch + Forgot to remove this TODO item when I made --with-origin the default :) + Added git-p4 submit --trust-me-like-a-fool for the adventurous users :) + Fix creation of refs/remotes/p4/HEAD symbolic ref + Fix my email address, this isn't really KDE related :) + In *_pipe print the command that failed if it fails. Fixed old calls to mypopen. + Fix typo in listExistingP4Branches that broke sync. + Fix support for "depot-path" in older git-p4 imports + Fix common path "calculation" from logs of multiple branches. Need to use min instead of max for prev/cur to avoid out-of-bounds string access. Also treat "i" as index of the last match instead of a length because in case of a complete match of the two strings i was off by one. + Don't attempt to set the initialParent on multi-branch imports (useless). At some point the code paths should be unified, but for now I need a working git-p4 :) + Hack to make the multi-branch import work again with self.depotPaths now that self.depotPath is gone + Fix git-p4 rebase + Fix git-p4 submit + Fix depot-path determination for git-p4 submit + Make clone behave like git clone by default again. + Make git-p4 submit detect the correct reference (origin) branch when working with multi-branch imports. + Only get the expensive branch mapping from the p4 server when not syncing with the help of an origin remote (which we instead then use to get new branches from). + Fixed the check to make sure to exclude the HEAD symbolic refs when updating the remotes/p4 branches from origin. + Fix updating/creating remotes/p4/* heads from origin/p4/* + Fix project name guessing + Fix depot-paths encoding for multi-path imports (don't split up //depot/path/foo) + Fix support for explicit disabling of syncing with the origin + Write out the options tag in the log message of imports only if we actually have options + Provide some information for single branch imports where the commits go + Mention remotes/p4/master also in the documentation. + git-p4 submit: Fix missing quotes around p4 commands to make them work with spaces in filenames + Moved the code from git-p4 submit to figure out the upstream branch point into a separate helper method. + Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally always rebasing on top of remotes/p4/master + Fix initial multi-branch import. + Fix the branch mapping detection to be independent from the order of the "p4 branches" output. + Warn about conflicting p4 branch mappings and use the first one found. + Added git-p4 branches command that shows the mapping of perforce depot paths to imported git branches. + Make it possible to specify the HEAD for the internal findUpstreamBranchPoint function. + git-new-workdir: Fix shell warning about operator == used with test. + +Sven Verdoolaege (4): + git-update-ref: add --no-deref option for overwriting/detaching ref + t9500: skip gitweb tests if perl version is too old + git-submodule: provide easy way of adding new submodules + git-clone: fetch possibly detached HEAD over dumb http + +Theodore Ts'o (4): + Add --aggressive option to 'git gc' + Fix minor grammatical typos in the git-gc man page + git-mergetool: Make default selection of merge-tool more intelligent + Don't fflush(stdout) when it's not helpful + +İsmail Dönmez (1): + Change default man page path to /usr/share/man + + +Version v1.5.2.5; changes since v1.5.2.4: +----------------------------------------- + +Christian Couder (1): + rev-list --bisect: fix allocation of "int*" instead of "int". + +Julian Phillips (1): + Force listingblocks to be monospaced in manpages + +Junio C Hamano (4): + Do not expect unlink(2) to fail on a directory. + setup.c:verify_non_filename(): don't die unnecessarily while disambiguating + Fix "git add -u" data corruption. + GIT 1.5.2.5 + +Linus Torvalds (1): + apply: remove directory that becomes empty by renaming the last file away + +Salikh Zakirov (1): + git-add -u paths... now works from subdirectory + + +Version v1.5.2.4; changes since v1.5.2.3: +----------------------------------------- + +Andy Parkins (2): + Make git-prune submodule aware (and fix a SEGFAULT in the process) + user-manual: grammar and style fixes + +Gerrit Pape (1): + git-gui: properly popup error if gitk should be started but is not installed + +J. Bruce Fields (2): + tutorial: Fix typo + user-manual: more explanation of push and pull usage + +Jim Meyering (1): + Don't smash stack when $GIT_ALTERNATE_OBJECT_DIRECTORIES is too long + +Johannes Schindelin (3): + diff --no-index: fix --name-status with added files + glossary: add 'reflog' + Fix "apply --reverse" with regard to whitespace + +Junio C Hamano (2): + Teach read-tree 2-way merge to ignore intermediate symlinks + GIT 1.5.2.4 + +Michael Hendricks (1): + Correctly document the name of the global excludes file configuration + +Miklos Vajna (1): + Document -<n> for git-format-patch + +Shawn O. Pearce (10): + git-gui: Unlock the index when cancelling merge dialog + git-gui: Don't bind F5/M1-R in all windows + git-gui: Bind M1-P to push action + git-gui: Include a Push action on the left toolbar + git-gui: Ensure windows shortcuts always have .bat extension + git-gui: Skip nicknames when selecting author initials + git-gui: Correct ls-tree buffering problem in browser + git-gui: Don't linewrap within console windows + Clarify documentation of fast-import's D subcommand + git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree} + +William Pursell (1): + user-manual: fix directory name in git-archive example + + +Version v1.5.2.3; changes since v1.5.2.2: +----------------------------------------- + +Frank Lichtenheld (2): + config: Complete documentation of --get-regexp + config: Change output of --get-regexp for valueless keys + +Junio C Hamano (1): + GIT 1.5.2.3 + +Linus Torvalds (1): + Fix zero-object version-2 packs + +Matt Kraai (1): + Correct the name of NO_R_TO_GCC_LINKER in the comment describing it. + +Sam Vilain (3): + cleanup merge-base test script + repack: improve documentation on -a option + git-remote: document -n + +Shawn O. Pearce (5): + git-gui: Correctly install to /usr/bin on Cygwin + git-gui: Bind Tab/Shift-Tab to cycle between panes in blame + git-gui: Don't require $DISPLAY just to get --version + git-gui: Don't nice git blame on MSYS as nice is not supported + git-gui: Don't require a .pvcsrc to create Tools/Migrate menu hack + +Sven Verdoolaege (1): + Ignore submodule commits when fetching over dumb protocols + + +Version v1.5.2.2; changes since v1.5.2.1: +----------------------------------------- + +Alex Riesen (3): + Make the installation target of git-gui a little less chatty + Fix clone to setup the origin if its name ends with .git + Add a local implementation of hstrerror for the system which do not have it + +Gerrit Pape (1): + Fix typo in remote branch example in git user manual + +J. Bruce Fields (4): + user-manual: quick-start updates + user-manual: add a missing section ID + Documentation: user-manual todo + tutorial: use "project history" instead of "changelog" in header + +Jakub Narębski (1): + Generated spec file to be ignored is named git.spec and not git-core.spec + +Johannes Schindelin (2): + Move buffer_is_binary() to xdiff-interface.h + merge-recursive: refuse to merge binary files + +Johannes Sixt (1): + Accept dates before 2000/01/01 when specified as seconds since the epoch + +Junio C Hamano (6): + checkout: do not get confused with ambiguous tag/branch names + $EMAIL is a last resort fallback, as it's system-wide. + git-branch --track: fix tracking branch computation. + Avoid diff cost on "git log -z" + Documentation: adjust to AsciiDoc 8 + GIT 1.5.2.2 + +Kristian Høgsberg (1): + Unquote From line from patch before comparing with given from address. + +Luiz Fernando N. Capitulino (1): + git-cherry: Document 'limit' command-line option + +Matthijs Melchior (1): + New selection indication and softer colors + +Michael Milligan (1): + git-cvsimport: Make sure to use $git_dir always instead of .git sometimes + +Sam Vilain (2): + fix documentation of unpack-objects -n + Don't assume tree entries that are not dirs are blobs + +Shawn O. Pearce (47): + git-gui: Allow creating a branch when none exists + git-gui: Allow as few as 0 lines of diff context + git-gui: Don't quit when we destroy a child widget + git-gui: Attach font_ui to all spinbox widgets + git-gui: Verify Tcl/Tk is new enough for our needs + Revert "Make the installation target of git-gui a little less chatty" + git-gui: Add a 4 digit commit abbreviation to the blame viewer + git-gui: Cleanup blame::new widget initialization + git-gui: Remove empty blank line at end of blame + git-gui: Improve the coloring in blame viewer + git-gui: Simplify consecutive lines that come from the same commit + git-gui: Use arror cursor in blame viewer file data + git-gui: Display tooltips in blame viewer + git-gui: Highlight the blame commit header from everything else + git-gui: Remove unnecessary reshow of blamed commit + git-gui: Cleanup minor style nit + git-gui: Space the commit group continuation out in blame view + git-gui: Show author initials in blame groups + git-gui: Allow the user to control the blame/commit split point + git-gui: Display a progress bar during blame annotation gathering + git-gui: Allow digging through history in blame viewer + git-gui: Combine blame groups only if commit and filename match + git-gui: Show original filename in blame tooltip + git-gui: Use a label instead of a button for the back button + git-gui: Clip the commit summaries in the blame history menu + git-gui: Remove the loaded column from the blame viewer + git-gui: Remove unnecessary space between columns in blame viewer + git-gui: Use lighter colors in blame view + git-gui: Make the line number column slightly wider in blame + git-gui: Automatically expand the line number column as needed + git-gui: Remove unused commit_list from blame viewer + git-gui: Better document our blame variables + git-gui: Cleanup redundant column management in blame viewer + git-gui: Switch internal blame structure to Tcl lists + git-gui: Label the uncommitted blame history entry + git-gui: Rename fields in blame viewer to better descriptions + git-gui: Display the "Loading annotation..." message in italic + git-gui: Run blame twice on the same file and display both outputs + git-gui: Display both commits in our tooltips + git-gui: Jump to original line in blame viewer + git-gui: Use three colors for the blame viewer background + git-gui: Improve our labeling of blame annotation types + git-gui: Favor the original annotations over the recent ones + git-gui: Changed blame header bar background to match main window + git-gui: Include 'war on whitespace' fixes from git.git + git-gui: Give amend precedence to HEAD over MERGE_MSG + git-gui: Save geometry before the window layout is damaged + +William Pursell (1): + Make command description imperative statement, not third-person present. + + +Version v1.5.2.1; changes since v1.5.2: +--------------------------------------- + +Andy Parkins (2): + Fix mishandling of $Id$ expanded in the repository copy in convert.c + Add test case for $Id$ expanded in the repository + +Carlos Rica (1): + fix memory leak in parse_object when check_sha1_signature fails + +Eric Wong (1): + git-svn: avoid md5 calculation entirely if SVN doesn't provide one + +Fernando J. Pereda (1): + Use PATH_MAX instead of TEMPFILE_PATH_LEN + +Frank Lichtenheld (7): + t1300: Add tests for git-config --bool --get + git-config: Correct asciidoc documentation for --int/--bool + cvsserver: Correct inetd.conf example in asciidoc documentation + cvsserver: Note that CVS_SERVER can also be specified as method variable + cvsserver: Fix some typos in asciidoc documentation + git-config: Various small fixes to asciidoc documentation + git-config: Improve documentation of git-config file handling + +Jakub Narębski (3): + Documentation: Clean up links in GIT Glossary + Replace the last 'dircache's by 'index' + Documentation: Add definition of "evil merge" to GIT Glossary + +James Bowes (1): + Documentation: fix git-config.xml generation + +James Y Knight (1): + Fix git-svn to handle svn not reporting the md5sum of a file, and test. + +Jeff King (3): + git-am: use printf instead of echo on user-supplied strings + More echo "$user_message" fixes. + Documentation: robustify asciidoc GIT_VERSION replacement + +Jerald Fitzjerald (1): + decode_85(): fix missing return. + +Jim Meyering (1): + git-daemon: don't ignore pid-file write failure + +Johan Herland (1): + Fix stupid typo in lookup_tag() + +Johannes Schindelin (2): + SubmittingPatches: mention older C compiler compatibility + git-status: respect core.excludesFile + +Jonas Fonseca (2): + branch: fix segfault when resolving an invalid HEAD + Update bash completion to ignore some more plumbing commands + +Josh Triplett (1): + Create a new manpage for the gitignore format, and reference it elsewhere + +Junio C Hamano (6): + annotate: make it work from subdirectories. + git-cvsserver: fix disabling service via per-method config + name-rev: tolerate clock skew in committer dates + git-commit: use printf '%s\n' instead of echo on user-supplied strings + Add tests for the last two fixes. + GIT 1.5.2.1 + +Kristian Høgsberg (1): + Use =20 when rfc2047 encoding spaces. + +Linus Torvalds (1): + fix signed range problems with hex conversions + +Nguyễn Thái Ngọc Duy (1): + Makefile: Remove git-fsck and git-verify-pack from PROGRAMS + +Paolo Bonzini (1): + Document branch.autosetupmerge. + +Shawn O. Pearce (12): + git-gui: Tighten internal pattern match for lib/ directory + Refactor fast-import branch creation from existing commit + Fix possible coredump with fast-import --import-marks + Hide the plumbing diff-{files,index,tree} from bash completion + Teach bash completion about git-shortlog + Remove a duplicate --not option in bash completion + Update bash completion header documentation + Teach bash completion about 'git remote update' + Teach bash completion about recent log long options + Update bash completion for git-config options + Correct key bindings to Control-<foo> + git-gui: Guess our share/git-gui/lib path at runtime if possible + +Simon Hausmann (2): + fast-import: Fix uninitialized variable + fast-import: Fix crash when referencing already existing objects + +Steffen Prohaska (1): + user-manual: fixed typo in example + +Stephan Springl (1): + Use git-for-each-ref to check whether the origin branch exists. + +Sven Verdoolaege (1): + unpack-trees.c: verify_uptodate: remove dead code + + +Version v1.5.2; changes since v1.5.2-rc3: +----------------------------------------- + +Alex Riesen (1): + Allow fetching references from any namespace + +Andy Parkins (2): + Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs + Fix crlf attribute handling to match documentation + +Andy Whitcroft (1): + git name-rev writes beyond the end of malloc() with large generations + +Eric Wong (6): + git-svn: don't drop the username from URLs when dcommit is run + git-svn: clean up caching of SVN::Ra functions + git-svn: fix segfaults due to initial SVN pool being cleared + git-svn: don't attempt to minimize URLs by default + git-svn: avoid crashing svnserve when creating new directories + git-svn: don't minimize-url when doing an init that tracks multiple paths + +Frank Lichtenheld (5): + cvsserver: Limit config parser to needed options + cvsserver: Don't send mixed messages to clients + builtin-log.c: Fix typo in comment + Documentation: format-patch has no --mbox option + git-am: Clean up the asciidoc documentation + +J. Bruce Fields (14): + user-manual: revise birdseye-view chapter + glossary: expand and clarify some definitions, prune cross-references + user-manual: move quick-start to an appendix + Documentation: remove howto's now incorporated into manual + user-manual: move howto/make-dist.txt into user manual + user-manual: move howto/using-topic-branches into manual + user-manual: add a "counting commits" example + user-manual: introduce git + user-manual: listing commits reachable from some refs not others + user-manual: reorganize public git repo discussion + tutorials: add user-manual links + tutorial: revise index introduction + user-manual: discourage shared repository + user-manual: finding commits referencing given file content + +Jakub Narębski (10): + gitweb: Test if $from_id and $to_id are defined before comparison + gitweb: Check if requested object exists + gitweb: Fix "Use of unitialized value" warnings in empty repository + Documentation: Split description of pretty formats of commit log + gitweb: Add a few comments about %feature hash + gitweb: Do not use absolute font sizes + gitweb: Separate search regexp from search text + gitweb: Empty patch for merge means trivial merge, not no differences + gitweb: Fix error in git_patchset_body for deletion in merge commit + gitweb: Fix "Use of uninitialized value" warning in git_feed + +Jan Hudec (2): + Updated documentation of hooks in git-receive-pack. + Minor fixup to documentation of hooks in git-receive-pack. + +Jeff King (3): + git-add: allow path limiting with -u + Documentation/git-add: clarify -u with path limiting + format-patch: add MIME-Version header when we add content-type. + +Johan Herland (3): + Fix signedness on return value from xread() + Ensure return value from xread() is always stored into an ssize_t + user-manual: Add section on ignoring files + +Johannes Schindelin (2): + import-tars: Use the "Link indicator" to identify directories + Add a birdview-on-the-source-code section to the user manual + +Junio C Hamano (17): + Minor copyediting on Release Notes for 1.5.2 + Add has_symlink_leading_path() function. + apply: do not get confused by symlinks in the middle + read-tree -m -u: avoid getting confused by intermediate symlinks. + t9400: Use the repository config and nothing else. + checkout: allow detaching to HEAD even when switching to the tip of a branch + git-config: do not forget seeing "a.b.var" means we are out of "a.var" section. + Link to HTML version of external doc if available + Fix git-clone buglet for remote case. + Prepare for 1.5.1.5 Release Notes + gitweb: fix another use of undefined value + GIT v1.5.1.5 + Add link to 1.5.1.5 release notes. + Documentation/git.txt: Update links to older documentation pages. + GIT 1.5.1.6 + git-cvsserver: exit with 1 upon "I HATE YOU" + GIT 1.5.2 + +Lars Hjemli (1): + git-archive: don't die when repository uses subprojects + +Marco Costalba (1): + Fix an unmatched comment end in arm/sha1_arm.S + +Matthias Kestenholz (2): + Documentation: Added [verse] to SYNOPSIS where necessary + Documentation: Reformatted SYNOPSIS for several commands + +Matthieu Castet (1): + Remove stale non-static-inline prototype for tree_entry_extract() + +Michael Hendricks (2): + git-send-email: allow leading white space on mutt aliases + Document core.excludesfile for git-add + +Petr Baudis (5): + gitweb: Normalize searchbar font size + gitweb: Add support for grep searches + gitweb: Allow arbitrary strings to be dug with pickaxe + Documentation: git-rev-list's "patterns" + gitweb: Remove redundant $searchtype setup + +Quy Tonthat (2): + RPM spec: include files in technical/ to package. + Documentation/branch: fix small typo in -D example + +René Scharfe (1): + git-archive: convert archive entries like checkouts do + +Shawn O. Pearce (1): + git-gui: Gracefully handle bad TCL_PATH at compile time + +Steffen Prohaska (4): + tiny fix in documentation of git-clone + git-config: test for 'do not forget "a.b.var" ends "a.var" section'. + Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file. + Fixed link in user-manual + + +Version v1.5.2-rc3; changes since v1.5.2-rc2: +--------------------------------------------- + +Alex Riesen (1): + Use GIT_OBJECT_DIR for temporary files of pack-objects + +Amos Waterland (1): + wcwidth redeclaration + +Frank Lichtenheld (1): + cvsserver: Add test cases for git-cvsserver + +Gerrit Pape (1): + gitweb: choose appropriate view for file type if a= parameter missing + +J. Bruce Fields (7): + user-manual: more discussion of detached heads, fix typos + user-manual: add section ID's + user-manual: clean up fast-forward and dangling-objects sections + user-manual: fix .gitconfig editing examples + user-manual: miscellaneous editing + user-manual: stop deprecating the manual + user-manual: fix clone and fetch typos + +Jakub Narębski (6): + gitweb: Add parsing of raw combined diff format to parse_difftree_raw_line + gitweb: Add combined diff support to git_difftree_body + gitweb: Add combined diff support to git_patchset_body + gitweb: Make it possible to use pre-parsed info in git_difftree_body + gitweb: Show combined diff for merge commits in 'commitdiff' view + gitweb: Show combined diff for merge commits in 'commit' view + +Jari Aalto (1): + SPECIFYING RANGES typo fix: it it => it is + +Jeff King (1): + Documentation: don't reference non-existent 'git-cvsapplycommit' + +Johannes Sixt (1): + git-gui: Call changes "Staged" and "Unstaged" in file list titles. + +Junio C Hamano (10): + diff: release blobs after generating textual diff. + diff.c: do not use a separate "size cache". + diff -M: release the preimage candidate blobs after rename detection. + diff -S: release the image after looking for needle in it + GIT v1.5.1.4 + Update documentation links to point at 1.5.1.4 + t9400: skip cvsserver test if Perl SQLite interface is unavailable + git-clone: don't get fooled by $PWD + .mailmap: add some aliases + GIT v1.5.2-rc3 + +Matthieu Moy (2): + Document git add -u introduced earlier. + Added a reference to git-add in the documentation for git-update-index + +Michael Hendricks (1): + Document 'git-log --decorate' + +Michael Spang (3): + dir.c: Omit non-excluded directories with dir->show_ignored + t7300: Basic tests for git-clean + Fix minor documentation errors + +Paul Mackerras (1): + gitk: Allow user to choose whether to see the diff, old file, or new file + +Petr Baudis (2): + Git.pm: config_boolean() -> config_bool() + gitweb: Do not use absolute font sizes + +Quy Tonthat (2): + Add howto files to rpm packages. + Added new git-gui library files to rpm spec + +Richard P. Curnow (2): + Fix documentation of tag in git-fast-import.txt + Fix documentation of tag in git-fast-import.txt + +Shawn O. Pearce (32): + git-gui: Correctly handle UTF-8 encoded commit messages + git-gui: Allow spaces in path to 'wish' + git-gui: Include the subject in the status bar after commit + git-gui: Warn users before making an octopus merge + git-gui: Correct line wrapping for too many branch message + git-gui: Cleanup common font handling for font_ui + git-gui: Use option database defaults to set the font + git-gui: Refactor to use our git proc more often + git-gui: Track our own embedded values and rebuild when they change + Properly handle '0' filenames in import-tars + git-gui: Refactor into multiple files to save my sanity + git-gui: Move console procs into their own namespace + git-gui: Allow vi keys to scroll the diff/blame regions + git-gui: Move merge support into a namespace + git-gui: Show all possible branches for merge + git-gui: Include commit id/subject in merge choices + git-gui: Use vi-like keys in merge dialog + Remove duplicate exports from Makefile + git-gui: Allow shift-{k,j} to select a range of branches to merge + git-gui: Define a simple class/method system + git-gui: Convert browser, console to "class" format + git-gui: Don't attempt to inline array reads in methods + git-gui: Convert blame to the "class" way of doing things + git-gui: Use prefix if blame is run in a subdirectory + git-gui: Smarter command line parsing for browser, blame + git-gui: Generate blame on uncommitted working tree file + git-gui: Cleanup minor nits in blame code + git-gui: Format author/committer times in ISO format + Use .git/MERGE_MSG in cherry-pick/revert + git-gui: Paperbag fix blame in subdirectory + git gui 0.7.0 + Correct error message in revert/cherry-pick + +Theodore Ts'o (2): + Add pack.depth option to git-pack-objects. + Increase pack.depth default to 50 + + +Version v1.5.2-rc2; changes since v1.5.2-rc1: +--------------------------------------------- + +Alex Riesen (2): + Small correction in reading of commit headers + Handle return code of parse_commit in revision machinery + +Alexandre Julliard (1): + http-fetch: Disable use of curl multi support for libcurl < 7.16. + +Arjen Laarhoven (1): + Document 'opendiff' value in config.txt and git-mergetool.txt + +Bryan Larsen (2): + Allow PERL_PATH="/usr/bin/env perl" + posix compatibility for t4200 + +Carl Worth (1): + Mention version 1.5.1 in tutorial and user-manual + +Dana L. How (1): + Create pack-write.c for common pack writing code + +Daniel Barkalow (1): + Make xstrndup common + +Frank Lichtenheld (1): + cvsserver: Handle re-added files correctly + +Jakub Narębski (1): + diff format documentation: describe raw combined diff format + +James Bowes (1): + Documentation: fix typo in git-remote.txt + +Johannes Schindelin (1): + Teach import-tars about GNU tar's @LongLink extension. + +Jonas Fonseca (1): + git-tag(1): -v option is a subcommand; fix code block + +Junio C Hamano (6): + blame: use .mailmap unconditionally + diff.c: fix "size cache" handling. + blame: Notice a wholesale incorporation of an existing file. + blame: -C -C -C + Add test for blame corner cases. + GIT v1.5.2-rc2 + +Karl Wiberg (2): + Fix markup in git-svn man page + Add --no-rebase option to git-svn dcommit + +Linus Torvalds (1): + Fix --boundary output + +Martin Koegler (1): + Fix compilation of test-delta + +Shawn O. Pearce (3): + Reuse fixup_pack_header_footer in index-pack + Don't use seq in tests, not everyone has it + Improve request-pull to handle non-rebased branches + +İsmail Dönmez (1): + gitweb: use decode_utf8 directly + + +Version v1.5.2-rc1; changes since v1.5.2-rc0: +--------------------------------------------- + +Adam Roben (5): + Remove usernames from all commit messages, not just when using svmprops + git-svn: Don't rely on $_ after making a function call + git-svn: Ignore usernames in URLs in find_by_url + git-svn: Added 'find-rev' command + git-svn: Add 'find-rev' command + +Alex Riesen (8): + Fix handle leak in write_tree + Avoid excessive rewrites in merge-recursive + Add a test for merging changed and rename-changed branches + Ignore merged status of the file-level merge + Use strlcpy instead of strncpy in mailmap.c + Fix read_mailmap to handle a caller uninterested in repo abbreviation + Remove pointless calls to access(2) when checking for .mailmap + Include mailmap.h in mailmap.c to catch mailmap interface changes + +Andrew Ruder (8): + Removing -n option from git-diff-files documentation + Document additional options for git-fetch + Update git-fmt-merge documentation + Update git-grep documentation + Update -L documentation for git-blame/git-annotate + Update git-http-push documentation + Update git-local-fetch documentation + Update git-http-fetch documentation + +Andy Parkins (3): + post-receive-email example hook: fastforward should have been fast_forward + post-receive-email example hook: detect rewind-only updates and output sensible message + post-receive-email example hook: sed command for getting description was wrong + +Brian Gernhardt (2): + Reverse the order of -b and --track in the man page. + Ignore all man sections as they are generated files. + +Gerrit Pape (1): + Documentation/git-reset.txt: suggest git commit --amend in example. + +Jari Aalto (3): + Clarify SubmittingPatches Checklist + git.7: Mention preformatted html doc location + send-email documentation: clarify --smtp-server + +Johannes Schindelin (3): + dir.c(common_prefix): Fix two bugs + t4201: Do not display weird characters on the terminal + import-tars: be nice to wrong directory modes + +Josh Triplett (5): + Add clean.requireForce option, and add -f option to git-clean to override it + Fix typo in git-am: s/Was is/Was it/ + Create a sysconfdir variable, and use it for ETC_GITCONFIG + Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation + Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL + +Julian Phillips (1): + http.c: Fix problem with repeated calls of http_init + +Junio C Hamano (25): + Move index-related variables into a structure. + Make read-cache.c "the_index" free. + Document "diff=driver" attribute + t5302: avoid using tail -c + t6030: grab commit object name as we go + Build RPM with ETC_GITCONFIG=/etc/gitconfig + Diff between two blobs should take mode changes into account now. + t/test-lib.sh: Protect ourselves from common misconfiguration that exports CDPATH to the environment + gitattributes documentation: clarify overriding + applymbox & quiltimport: typofix. + Add 'ident' conversion. + Add 'filter' attribute and external filter driver definition. + Add --date={local,relative,default} + Start preparing for 1.5.1.3 + Do not barf on too long action description + Update .mailmap with "Michael" + Fix import-tars fix. + blame -s: suppress author name and time. + Split out mailmap handling out of shortlog + Apply mailmap in git-blame output. + Make macros to prevent double-inclusion in headers consistent. + Make sure test-genrandom and test-chmtime are builtas part of the main build. + Fix symlink handling in git-svn, related to PerlIO + GIT v1.5.1.3 + GIT v1.5.2-rc1 + +Luiz Fernando N. Capitulino (5): + remove_subtree(): Use strerror() when possible + entry.c: Use const qualifier for 'struct checkout' parameters + read_cache_from(): small simplification + core-tutorial: minor fixes + init_buffer(): Kill buf pointer + +Martin Koegler (5): + Add S_IFINVALID mode + add get_sha1_with_mode + add add_object_array_with_mode + store mode in rev_list, if <tree>:<filename> syntax is used + use mode of the tree in git-diff, if <tree>:<file> syntax is used + +Michele Ballabio (1): + git shortlog documentation: add long options and fix a typo + +Nicolas Pitre (1): + add file checkout progress + +OGAWA Hirofumi (1): + git-fetch: Fix "argument list too long" + +Robin H. Johnson (10): + Document --dry-run parameter to send-email. + Prefix Dry- to the message status to denote dry-runs. + Debugging cleanup improvements + Change the scope of the $cc variable as it is not needed outside of send_message. + Perform correct quoting of recipient names. + Validate @recipients before using it for sendmail and Net::SMTP. + Ensure clean addresses are always used with Net::SMTP + Allow users to optionally specify their envelope sender. + Document --dry-run and envelope-sender for git-send-email. + Sanitize @to recipients. + +Sami Farin (1): + fast-import: size_t vs ssize_t + +Shawn O. Pearce (4): + Don't repack existing objects in fast-import + Actually handle some-low memory conditions + Don't allow empty pathnames in fast-import + Catch empty pathnames in trees during fsck + +Uwe Kleine-König (1): + fix importing of subversion tars + + +Version v1.5.2-rc0; changes since v1.5.1.6: +------------------------------------------- + +Alex Riesen (7): + Fix passing of TCLTK_PATH to git-gui + Fix t4201: accidental arithmetic expansion + Fix permissions on test scripts + Tests for core subproject support + Simplify calling of CR/LF conversion routines + Fix a typo in crlf conversion code + Fix crash in t0020 (crlf conversion) + +Alexandre Julliard (1): + git.el: Add a commit description to the reflog. + +Andrew Ruder (1): + Add policy on user-interface changes + +Andy Parkins (1): + Show binary file size change in diff --stat + +Aneesh Kumar K.V (1): + gitview: annotation support + +Brian Gernhardt (2): + Remove unused WITH_OWN_SUBPROCESS_PY from RPM spec + Remove case-sensitive file in t3030-merge-recursive. + +Christian Couder (4): + Bisect: teach "bisect start" to optionally use one bad and many good revs. + Documentation: bisect: "start" accepts one bad and many good commits + Bisect: simplify "bisect start" logging. + Bisect: rename "t/t6030-bisect-run.sh" to "t/t6030-bisect-porcelain.sh". + +Eric Wong (1): + git-svn: bail out on incorrect command-line options + +Eygene Ryabinkin (11): + Add the WITH_P4IMPORT knob to the Makefile. + Added git-p4 package to the list of git RPMs. + Added correct Python path to the RPM specfile. + NO_TCLTK + Add --with-tcltk and --without-tcltk to configure. + Rewrite Tcl/Tk interpreter path for the GUI tools. + Eliminate checks of user-specified Tcl/Tk interpreter. + Allow wish interpreter to be defined with TCLTK_PATH + Teach git-gui to use the user-defined UI font everywhere. + Improve look-and-feel of the git-gui tool. + Do not break git-gui messages into multiple lines. + +Fernando J. Pereda (1): + Makefile: Add '+' to QUIET_SUBDIR0 to fix parallel make. + +Frank Lichtenheld (16): + cvsserver: Introduce new state variable 'method' + cvsserver: Handle three part keys in git config correctly + cvsserver: Allow to override the configuration per access method + cvsserver: Make the database backend configurable + cvsserver: Abort if connect to database fails + Documentation: Replace @@GIT_VERSION@@ in documentation + Documentation: Add version information to man pages + cvsserver: Use DBI->table_info instead of DBI->tables + cvsserver: Corrections to the database backend configuration + cvsserver: Add asciidoc documentation for new database backend configuration + gitweb: Allow forks with project list file + gitweb: Allow configuring the default projects order and add order 'none' + cvsserver: Allow to "add" a removed file + cvsserver: Reword documentation on necessity of write access + cvsserver: Document the GIT branches -> CVS modules mapping more prominently + config.txt: Add gitcvs.db* variables + +Jakub Narębski (2): + gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (3) + gitweb: Quote hash keys, and do not use barewords keys + +James Bowes (1): + Document git-check-attr + +Jim Meyering (1): + sscanf/strtoul: parse integers robustly + +Johannes Schindelin (1): + Use print_wrapped_text() in shortlog + +Julian Phillips (1): + refs.c: add a function to sort a ref list, rather then sorting on add + +Junio C Hamano (83): + git-fetch: add --quiet + t6002: minor spelling fix. + git-rev-list: add --bisect-vars option. + git-rev-list --bisect: optimization + t6004: add a bit more path optimization test. + rev-list --bisect: Fix "halfway" optimization. + make the previous optimization work also on path-limited rev-list --bisect + Documentation: unbreak user-manual. + Optional Tck/Tk: ignore generated files. + checkout: allow detaching to HEAD even when switching to the tip of a branch + _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file. + git-read-tree --index-output=<file> + add_cache_entry(): removal of file foo does not conflict with foo/bar + unpack_trees.c: pass unpack_trees_options structure to keep_entry() as well. + unpack-trees: get rid of *indpos parameter. + Fix read-tree --prefix=dir/. + Fix twoway_merge that passed d/f conflict marker to merged_entry(). + Fix switching to a branch with D/F when current branch has file D. + RPM spec: include git-p4 in the list of all packages. + Fix bogus error message from merge-recursive error path + Propagate cache error internal to refresh_cache() via parameter. + Rename internal function "add_file_to_cache" in builtin-update-index.c + Rename static variable write_index to update_index in builtin-apply.c + Rename add_file_to_index() to add_file_to_cache() + git-bisect: modernization + t6030: add a bit more tests to git-bisect + git-bisect: allow bisecting with only one bad commit. + git-push reports the URL after failing. + git-push to multiple locations does not stop at the first failure + A new merge stragety 'subtree'. + Start 1.5.2 cycle by prepareing RelNotes for it. + shortlog -w: make wrap-line behaviour optional. + t1000: fix case table. + Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge() + merge-recursive: do not barf on "to be removed" entries. + merge-recursive: handle D/F conflict case more carefully. + t3030: merge-recursive backend test. + git-fetch--tool pick-rref + git-fetch: use fetch--tool pick-rref to avoid local fetch from alternate + Add %m to '--pretty=format:' + Refactor patch-id filtering out of git-cherry and git-format-patch. + git-log --cherry-pick A...B + Documentation: --cherry-pick + Fix git {log,show,...} --pretty=email + Add basic infrastructure to assign attributes to paths + Define 'crlf' attribute. + Teach 'diff' about 'diff' attribute. + Fix 'crlf' attribute semantics. + Fix 'diff' attribute semantics. + Makefile: add patch-ids.h back in. + attribute macro support + Define a built-in attribute macro "binary". + Change attribute negation marker from '!' to '-'. + send-email: do not leave an empty CC: line if no cc is present. + Make sure quickfetch is not fooled with a previous, incomplete fetch. + Allow more than true/false to attributes. + merge-recursive: separate out xdl_merge() interface. + git-gui: Honor TCLTK_PATH if supplied + Allow specifying specialized merge-backend per path. + Add a demonstration/test of customized merge. + Update draft release notes for 1.5.2 with accumulated changes. + Custom low-level merge driver support. + Allow the default low-level merge driver to be configured. + Custom low-level merge driver: change the configuration scheme. + Allow low-level driver to specify different behaviour during internal merge. + Fix funny types used in attribute value representation + Counto-fix in merge-recursive + Simplify code to find recursive merge driver. + Documentation: support manual section (5) - file formats. + Update 'crlf' attribute semantics. + Document gitattributes(5) + git-add -u: match the index with working tree. + Fix bogus linked-list management for user defined merge drivers. + convert.c: restructure the attribute checking part. + lockfile: record the primary process. + Update documentation links to point at v1.5.1.2 + Documentation/Makefile: fix section (5) installation + Update draft release notes for v1.5.2 + pack-objects: quickfix for permission modes. + Fix 'quickfix' on pack-objects. + Update tests not to assume that generated packfiles are writable. + pack-objects: make generated packfile read-only + Support 'diff=pgm' attribute + +Linus Torvalds (24): + Optimize directory listing with pathspec limiter. + diff-lib: use ce_mode_from_stat() rather than messing with modes manually + Avoid overflowing name buffer in deep directory structures + Add 'resolve_gitlink_ref()' helper function + Add "S_IFDIRLNK" file mode infrastructure for git links + Teach "fsck" not to follow subproject links + Teach core object handling functions about gitlinks + Fix thinko in subproject entry sorting + Teach directory traversal about subprojects + Teach git-update-index about gitlinks + Don't show gitlink directories when we want "other" files + Teach git list-objects logic not to follow gitlinks + Teach "git-read-tree -u" to check out submodules as a directory + Fix gitlink index entry filesystem matching + Teach git list-objects logic to not follow gitlinks + Teach "git-read-tree -u" to check out submodules as a directory + Fix some "git ls-files -o" fallout from gitlinks + Expose subprojects as special files to "git diff" machinery + Add a generic "object decorator" interface, and make object refs use it + Add support for "commit name decorations" to log family of commands + Use proper object allocators for unknown object nodes too + Clean up object creation to use more common code + Fix working directory errno handling when unlinking a directory + Fix a copy-n-paste bug in the object decorator code. + +Luiz Fernando N. Capitulino (2): + ident.c: Use const qualifier for 'struct passwd' parameters + ident.c: Use size_t (instead of int) to store sizes + +Martin Koegler (1): + gitweb: Show "no difference" message for empty diff + +Michael S. Tsirkin (1): + Display the subject of the commit just made. + +Nicolas Pitre (32): + clean up and optimize nth_packed_object_sha1() usage + get rid of num_packed_objects() + make overflow test on delta base offset work regardless of variable size + add overflow tests on pack offset variables + compute a CRC32 for each object as stored in a pack + compute object CRC32 with index-pack + pack-objects: learn about pack index version 2 + index-pack: learn about pack index version 2 + sha1_file.c: learn about index version 2 + show-index.c: learn about index v2 + pack-redundant.c: learn about index v2 + allow forcing index v2 and 64-bit offset treshold + validate reused pack data with CRC when possible + simple random data generator for tests + use test-genrandom in tests instead of /dev/urandom + tests for various pack index features + clean up add_object_entry() + pack-objects: optimize preferred base handling a bit + pack-objects: equal objects in size should delta against newer objects + pack-objects: rework check_delta_limit usage + pack-objects: clean up list sorting + pack-objects: get rid of reuse_cached_pack + pack-objects: get rid of create_final_object_list() + pack-objects: make in_pack_header_size a variable of its own + add get_size_from_delta() + pack-objects: better check_object() performances + pack-objects: remove obsolete comments + document --index-version for index-pack and pack-objects + common progress display support + make progress "title" part of the common progress interface + provide a facility for "delayed" progress reporting + delay progress display when checking out files + +René Scharfe (1): + git-archive: make tar the default format + +Robin H. Johnson (2): + Add custom subject prefix support to format-patch (take 3) + Add testcase for format-patch --subject-prefix (take 3) + +Shawn O. Pearce (8): + Always bind the return key to the default button + Fix lost-found to show commits only referenced by reflogs + Don't yap about merge-subtree during make + git-gui: Display the directory basename in the title + Revert "Allow wish interpreter to be defined with TCLTK_PATH" + Contribute a fairly paranoid update hook + Kill the useless progress meter in merge-recursive + Cleanup variables in cat-file + +Steven Grimm (3): + Add --quiet option to suppress output of "rm" commands for removed files. + git-rm: Trivial fix for a comment typo. + Add --ignore-unmatch option to exit with zero status when no files are removed. + +Xavier Maillard (2): + git-blame.el: separate git-blame-mode to ease maintenance + git-blame.el: pick a set of random colors for each git-blame turn + + +Version v1.5.1.6; changes since v1.5.1.5: +----------------------------------------- + +Eric Wong (2): + git-svn: avoid crashing svnserve when creating new directories + git-svn: don't minimize-url when doing an init that tracks multiple paths + +J. Bruce Fields (4): + tutorials: add user-manual links + tutorial: revise index introduction + user-manual: discourage shared repository + user-manual: finding commits referencing given file content + +Johan Herland (1): + user-manual: Add section on ignoring files + +Junio C Hamano (1): + GIT 1.5.1.6 + +Matthias Kestenholz (2): + Documentation: Added [verse] to SYNOPSIS where necessary + Documentation: Reformatted SYNOPSIS for several commands + + +Version v1.5.1.5; changes since v1.5.1.4: +----------------------------------------- + +Alex Riesen (1): + Allow fetching references from any namespace + +Andy Whitcroft (1): + git name-rev writes beyond the end of malloc() with large generations + +Eric Wong (4): + git-svn: don't drop the username from URLs when dcommit is run + git-svn: clean up caching of SVN::Ra functions + git-svn: fix segfaults due to initial SVN pool being cleared + git-svn: don't attempt to minimize URLs by default + +Frank Lichtenheld (3): + builtin-log.c: Fix typo in comment + Documentation: format-patch has no --mbox option + git-am: Clean up the asciidoc documentation + +J. Bruce Fields (10): + user-manual: revise birdseye-view chapter + glossary: expand and clarify some definitions, prune cross-references + user-manual: move quick-start to an appendix + Documentation: remove howto's now incorporated into manual + user-manual: move howto/make-dist.txt into user manual + user-manual: move howto/using-topic-branches into manual + user-manual: add a "counting commits" example + user-manual: introduce git + user-manual: listing commits reachable from some refs not others + user-manual: reorganize public git repo discussion + +Jakub Narębski (1): + gitweb: Add a few comments about %feature hash + +Jan Hudec (1): + Updated documentation of hooks in git-receive-pack. + +Jari Aalto (1): + SPECIFYING RANGES typo fix: it it => it is + +Jeff King (1): + format-patch: add MIME-Version header when we add content-type. + +Johannes Schindelin (2): + import-tars: Use the "Link indicator" to identify directories + Add a birdview-on-the-source-code section to the user manual + +Junio C Hamano (7): + git-clone: don't get fooled by $PWD + .mailmap: add some aliases + checkout: allow detaching to HEAD even when switching to the tip of a branch + git-config: do not forget seeing "a.b.var" means we are out of "a.var" section. + Fix git-clone buglet for remote case. + Prepare for 1.5.1.5 Release Notes + GIT v1.5.1.5 + +Marco Costalba (1): + Fix an unmatched comment end in arm/sha1_arm.S + +Matthieu Castet (1): + Remove stale non-static-inline prototype for tree_entry_extract() + +Michael Hendricks (2): + git-send-email: allow leading white space on mutt aliases + Document core.excludesfile for git-add + +Petr Baudis (1): + Documentation: git-rev-list's "patterns" + +Quy Tonthat (2): + RPM spec: include files in technical/ to package. + Documentation/branch: fix small typo in -D example + +Richard P. Curnow (2): + Fix documentation of tag in git-fast-import.txt + Fix documentation of tag in git-fast-import.txt + +Shawn O. Pearce (1): + Properly handle '0' filenames in import-tars + +Steffen Prohaska (3): + tiny fix in documentation of git-clone + git-config: test for 'do not forget "a.b.var" ends "a.var" section'. + Fixed link in user-manual + + +Version v1.5.1.4; changes since v1.5.1.3: +----------------------------------------- + +Alex Riesen (1): + Small correction in reading of commit headers + +Alexandre Julliard (1): + http-fetch: Disable use of curl multi support for libcurl < 7.16. + +Amos Waterland (1): + wcwidth redeclaration + +Arjen Laarhoven (1): + Document 'opendiff' value in config.txt and git-mergetool.txt + +Bryan Larsen (2): + Allow PERL_PATH="/usr/bin/env perl" + posix compatibility for t4200 + +Carl Worth (1): + Mention version 1.5.1 in tutorial and user-manual + +Daniel Barkalow (1): + Make xstrndup common + +Frank Lichtenheld (1): + cvsserver: Handle re-added files correctly + +J. Bruce Fields (7): + user-manual: more discussion of detached heads, fix typos + user-manual: add section ID's + user-manual: clean up fast-forward and dangling-objects sections + user-manual: fix .gitconfig editing examples + user-manual: miscellaneous editing + user-manual: stop deprecating the manual + user-manual: fix clone and fetch typos + +Jakub Narębski (1): + diff format documentation: describe raw combined diff format + +James Bowes (1): + Documentation: fix typo in git-remote.txt + +Jeff King (1): + Documentation: don't reference non-existent 'git-cvsapplycommit' + +Johannes Schindelin (1): + Teach import-tars about GNU tar's @LongLink extension. + +Junio C Hamano (5): + diff.c: fix "size cache" handling. + blame: Notice a wholesale incorporation of an existing file. + blame: -C -C -C + Add test for blame corner cases. + GIT v1.5.1.4 + +Karl Wiberg (2): + Fix markup in git-svn man page + Add --no-rebase option to git-svn dcommit + +Linus Torvalds (1): + Fix --boundary output + +Martin Koegler (1): + Fix compilation of test-delta + +Paul Mackerras (1): + gitk: Allow user to choose whether to see the diff, old file, or new file + +Quy Tonthat (1): + Add howto files to rpm packages. + +Shawn O. Pearce (1): + git-gui: Allow spaces in path to 'wish' + +İsmail Dönmez (1): + gitweb: use decode_utf8 directly + + +Version v1.5.1.3; changes since v1.5.1.2: +----------------------------------------- + +Adam Roben (5): + Remove usernames from all commit messages, not just when using svmprops + git-svn: Don't rely on $_ after making a function call + git-svn: Ignore usernames in URLs in find_by_url + git-svn: Added 'find-rev' command + git-svn: Add 'find-rev' command + +Alex Riesen (1): + Fix handle leak in write_tree + +Andrew Ruder (8): + Removing -n option from git-diff-files documentation + Document additional options for git-fetch + Update git-fmt-merge documentation + Update git-grep documentation + Update -L documentation for git-blame/git-annotate + Update git-http-push documentation + Update git-local-fetch documentation + Update git-http-fetch documentation + +Brian Gernhardt (2): + Reverse the order of -b and --track in the man page. + Ignore all man sections as they are generated files. + +Gerrit Pape (1): + Documentation/git-reset.txt: suggest git commit --amend in example. + +Jari Aalto (3): + Clarify SubmittingPatches Checklist + git.7: Mention preformatted html doc location + send-email documentation: clarify --smtp-server + +Johannes Schindelin (2): + dir.c(common_prefix): Fix two bugs + import-tars: be nice to wrong directory modes + +Josh Triplett (3): + Fix typo in git-am: s/Was is/Was it/ + Create a sysconfdir variable, and use it for ETC_GITCONFIG + Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation + +Julian Phillips (1): + http.c: Fix problem with repeated calls of http_init + +Junio C Hamano (8): + Build RPM with ETC_GITCONFIG=/etc/gitconfig + applymbox & quiltimport: typofix. + Start preparing for 1.5.1.3 + Do not barf on too long action description + Update .mailmap with "Michael" + Fix import-tars fix. + Fix symlink handling in git-svn, related to PerlIO + GIT v1.5.1.3 + +Michele Ballabio (1): + git shortlog documentation: add long options and fix a typo + +Robin H. Johnson (10): + Document --dry-run parameter to send-email. + Prefix Dry- to the message status to denote dry-runs. + Debugging cleanup improvements + Change the scope of the $cc variable as it is not needed outside of send_message. + Perform correct quoting of recipient names. + Validate @recipients before using it for sendmail and Net::SMTP. + Ensure clean addresses are always used with Net::SMTP + Allow users to optionally specify their envelope sender. + Document --dry-run and envelope-sender for git-send-email. + Sanitize @to recipients. + +Shawn O. Pearce (3): + Actually handle some-low memory conditions + Don't allow empty pathnames in fast-import + Catch empty pathnames in trees during fsck + + +Version v1.5.1.2; changes since v1.5.1.1: +----------------------------------------- + +Alex Riesen (3): + Use rev-list --reverse in git-rebase.sh + Document -g (--walk-reflogs) option of git-log + Fix overwriting of files when applying contextually independent diffs + +Andrew Ruder (8): + Update git-am documentation + Update git-applymbox documentation + Update git-apply documentation + Update git-annotate/git-blame documentation + Update git-archive documentation + Update git-cherry-pick documentation + Fix unmatched emphasis tag in git-tutorial + Update git-config documentation + +Andy Whitcroft (1): + fix up strtoul_ui error handling + +Carlos Rica (1): + Use const qualifier for 'sha1' parameter in delete_ref function + +Eric Wong (4): + git-svn: respect lower bound of -r/--revision when following parent + git-svn: quiet some warnings when run only with --version/--help + git-svn: don't allow globs to match regular files + perl: install private Error.pm if the site version is older than our own + +Eygene Ryabinkin (2): + Teach gitk to use the user-defined UI font everywhere. + Improve look-and-feel of the gitk tool. + +Frank Lichtenheld (5): + config.txt: Document gitcvs.allbinary + config.txt: Document core.autocrlf + config.txt: Change pserver to server in description of gitcvs.* + config.txt: Fix grammatical error in description of http.noEPSV + git-shortlog: Fix two formatting errors in asciidoc documentation + +Gerrit Pape (2): + variable $projectdesc needs to be set before checking against unchanged default. + Have sample update hook not refuse deleting a branch through push. + +J. Bruce Fields (7): + Documentation: minor edits of git-lost-found manpage + Documentation: clarify git-checkout -f, minor editing + Documentation: clarify track/no-track option. + user-manual: fix discussion of default clone + user-manual: detached HEAD + user-manual: start revising "internals" chapter + user-manual: use detached head when rewriting history + +Jim Meyering (1): + sscanf/strtoul: parse integers robustly + +Junio C Hamano (4): + Do not default to --no-index when given two directories. + Start preparing for 1.5.1.2 + git-clone: fix dumb protocol transport to clone from pack-pruned ref + GIT 1.5.1.2 + +Linus Torvalds (1): + git-quiltimport complaining yet still working + +Matthias Lederhofer (1): + handle_options in git wrapper miscounts the options it handled. + +Michael Spang (1): + git-blame: Fix overrun in fake_working_tree_commit() + +Sam Vilain (1): + git-tar-tree: complete deprecation conversion message + +Shawn O. Pearce (1): + git-gui: Brown paper bag fix division by 0 in blame + + +Version v1.5.1.1; changes since v1.5.1: +--------------------------------------- + +Arjen Laarhoven (4): + usermanual.txt: some capitalization nits + t3200-branch.sh: small language nit + t5300-pack-object.sh: portability issue using /usr/bin/stat + Makefile: iconv() on Darwin has the old interface + +Brian Gernhardt (3): + Fix t4200-rerere for white-space from "wc -l" + Document --left-right option to rev-list. + Distinguish branches by more than case in tests. + +Dana L. How (1): + Fix lseek(2) calls with args 2 and 3 swapped + +Eric Wong (3): + git-svn: bail out on incorrect command-line options + git-svn: dcommit/rebase confused by patches with git-svn-id: lines + git-svn: fix log command to avoid infinite loop on long commit messages + +Frank Lichtenheld (7): + cvsimport: sync usage lines with existing options + cvsimport: Improve documentation of CVSROOT and CVS module determination + cvsimport: Improve usage error reporting + cvsimport: Reorder options in documentation for better understanding + cvsimport: Improve formating consistency + cvsserver: small corrections to asciidoc documentation + cvsserver: Fix handling of diappeared files on update + +Geert Bosch (1): + Fix renaming branch without config file + +Gerrit Pape (1): + rename contrib/hooks/post-receieve-email to contrib/hooks/post-receive-email. + +Jakub Narębski (1): + gitweb: Fix bug in "blobdiff" view for split (e.g. file to symlink) patches + +Jim Meyering (1): + (encode_85, decode_85): Mark source buffer pointer as "const". + +Julian Phillips (1): + Documentation: show-ref: document --exclude-existing + +Junio C Hamano (7): + rerere: make sorting really stable. + Fix dependency of common-cmds.h + Documentation: tighten dependency for git.{html,txt} + Prepare for 1.5.1.1 + Add Documentation/cmd-list.made to .gitignore + fsck: do not complain on detached HEAD. + GIT 1.5.1.1 + +Lars Hjemli (2): + rename_ref(): only print a warning when config-file update fails + Make builtin-branch.c handle the git config file + +René Scharfe (1): + Revert "builtin-archive: use RUN_SETUP" + +Shawn O. Pearce (1): + Honor -p<n> when applying git diffs + +Tomash Brechko (1): + cvsexportcommit -p : fix the usage of git-apply -C. + +Ville Skyttä (1): + DESTDIR support for git/contrib/emacs + +YOSHIFUJI Hideaki (1): + Avoid composing too long "References" header. + + +Version v1.5.1; changes since v1.5.1-rc3: +----------------------------------------- + +Alex Riesen (1): + Keep rename/rename conflicts of intermediate merges while doing recursive merge + +Andy Parkins (1): + Reimplement emailing part of hooks--update in contrib/hooks/post-receive-email + +Christian Couder (1): + Bisect: Improve error message in "bisect_next_check". + +Don Zickus (1): + git-mailinfo fixes for patch munging + +Eric Wong (2): + git-svn: avoid respewing similar error messages for missing paths + git-svn: fail on rebase if we are unable to find a ref to rebase against + +Francis Daly (1): + git-quiltimport /bin/sh-ism fix + +Frank Lichtenheld (1): + cvsserver: Don't lie about binary mode in asciidoc documentation + +Gerrit Pape (2): + Documentation/git-svnimport.txt: fix typo. + Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES. + +H. Peter Anvin (1): + git-upload-pack: make sure we close unused pipe ends + +Jakub Narębski (2): + gitweb: Support comparing blobs (files) with different names + Documentation: A few minor fixes to Git User's Manual + +Julian Phillips (1): + contrib/workdir: add a simple script to create a working directory + +Junio C Hamano (6): + Update draft release notes for 1.5.1 + Do not bother documenting fetch--tool + Hopefully final update to the draft Release Notes, preparing for 1.5.1 + rerere should not repeat the earlier hunks in later ones + GIT 1.5.0.7 + GIT 1.5.1 + +Nicolas Pitre (1): + Plug memory leak in index-pack collision checking codepath. + +Theodore Ts'o (12): + Fix minor formatting issue in man page for git-mergetool + mergetool: Replace use of "echo -n" with printf(1) to be more portable + mergetool: Don't error out in the merge case where the local file is deleted + mergetool: portability fix: don't assume true is in /bin + mergetool: portability fix: don't use reserved word function + mergetool: factor out common code + mergetool: Remove spurious error message if merge.tool config option not set + mergetool: Fix abort command when resolving symlinks and deleted files + mergetool: Add support for Apple Mac OS X's opendiff command + mergetool: Make git-rm quiet when resolving a deleted file conflict + mergetool: Clean up description of files and prompts for merge resolutions + Rename warn() to warning() to fix symbol conflicts on BSD and Mac OS + + +Version v1.5.1-rc3; changes since v1.5.1-rc2: +--------------------------------------------- + +Alexandre Julliard (1): + git.el: Display some information about the HEAD commit. + +Christian Couder (2): + Bisect: Use "git-show-ref --verify" when reseting. + Bisect: add checks at the beginning of "git bisect run". + +Gerrit Pape (3): + Makefile: remove test-chmtime program in target clean. + http-fetch: don't use double-slash as directory separator in URLs + http-fetch: remove path_len from struct alt_base, it was computed but never used + +H. Peter Anvin (1): + git-upload-pack: make sure we close unused pipe ends + +Jakub Narębski (2): + gitweb: Add example of config file and how to generate projects list to gitweb/INSTALL + gitweb: Cleanup and uniquify die_error calls + +James Bowes (2): + read-tree: use xcalloc + use xrealloc in help.c + +Jeff King (6): + git-rm: don't remove newly added file without -f + --pretty=format: fix broken %ct and %at interpolation + Add some basic tests of rev-list --pretty=format + Fix "--pretty=format:" encoding item + t/t6006: add tests for a slightly more complex commit messages + commit: fix pretty-printing of messages with "\nencoding " + +Jim Meyering (1): + sha1_file.c (write_sha1_from_fd): Detect close failure. + +Johannes Schindelin (1): + t4118: be nice to non-GNU sed + +Junio C Hamano (7): + Document git-log --first-parent + sha1_file.c (write_sha1_file): Detect close failure + git-commit: "read-tree -m HEAD" is not the right way to read-tree quickly + Fix "--pretty=format:" for parent related items. + GIT 1.5.0.6 + Update main git.html page to point at 1.5.0.6 documentation + GIT 1.5.1-rc3 + +Linus Torvalds (1): + Fix "getaddrinfo()" buglet + + +Version v1.5.1-rc2; changes since v1.5.1-rc1: +--------------------------------------------- + +Alex Riesen (2): + Document --quiet option to git-diff + Use diff* with --exit-code in git-am, git-rebase and git-merge-ours + +Andy Parkins (2): + update-hook: abort early if the project description is unset + update-hook: remove e-mail sending hook. + +Brandon Casey (1): + prefer "git COMMAND" over "git-COMMAND" in gitk + +Chris Wright (1): + make git clone -q suppress the noise with http fetch + +Christian Couder (6): + Bisect: implement "git bisect run <cmd>..." to automatically bisect. + Documentation: bisect: reformat some paragraphs. + Documentation: bisect: reword one paragraph. + Documentation: bisect: reformat more paragraphs. + Documentation: bisect: add some titles to some paragraphs. + Documentation: bisect: make a comment fit better in the man page. + +Eric Wong (2): + gitk: bind <F5> key to Update (reread commits) + git-svn: fix rel_path() when not connected to the repository root + +J. Bruce Fields (5): + user-manual: run xsltproc without --nonet option + user-manual: Use def_ instead of ref_ for glossary references. + glossary: stop generating automatically + glossary: clean up cross-references + user-manual: introduce "branch" and "branch head" differently + +Jakub Narębski (4): + gitweb: Fix "next" link in commit view + gitweb: Don't escape attributes in CGI.pm HTML methods + gitweb: Fix not marking signoff lines in "log" view + gitweb: Add some installation notes in gitweb/INSTALL + +James Bowes (2): + Replace remaining instances of strdup with xstrdup. + use xmalloc in git.c and help.c + +Jim Meyering (1): + user-manual.txt: fix a tiny typo. + +Johannes Schindelin (5): + xdiff/xutils.c(xdl_hash_record): factor out whitespace handling + Add a HOWTO for setting up a standalone git daemon + Provide some technical documentation for shallow clones + t4118: be nice to non-GNU sed + git-revert: Revert revert message to old behaviour + +Johannes Sixt (1): + Teach git-remote to list pushed branches. + +Junio C Hamano (15): + git-log --first-parent: show only the first parent log + blame: micro-optimize cmp_suspect() + blame: cmp_suspect is not "cmp" anymore. + Teach tree_entry_interesting() that the tree entries are sorted. + tree-diff: avoid strncmp() + tree_entry_interesting(): allow it to say "everything is interesting" + git-rebase: make 'rebase HEAD branch' work as expected. + git-apply: Do not free the wrong buffer when we convert the data for writeout + checkout: report where the new HEAD is upon detaching HEAD + git-bisect: typofix + git-bisect.sh: properly dq $GIT_DIR + Fix path-limited "rev-list --bisect" termination condition. + git-am documentation: describe what is taken from where. + Update README to point at a few key periodical messages to the list + GIT 1.5.1-rc2 + +Li Yang (1): + gitweb: Change to use explicitly function call cgi->escapHTML() + +Linus Torvalds (6): + Fix loose object uncompression check. + Don't ever return corrupt objects from "parse_object()" + Be more careful about zlib return values + Remove "pathlen" from "struct name_entry" + Initialize tree descriptors with a helper function rather than by hand. + Switch over tree descriptors to contain a pre-parsed entry + +Michael S. Tsirkin (2): + fix typo in git-am manpage + git-merge: Put FETCH_HEAD data in merge commit message + +Nicolas Pitre (10): + clean up the delta base cache size a bit + use a LRU eviction policy for the delta base cache + don't ever allow SHA1 collisions to exist by fetching a pack + index-pack: use hash_sha1_file() + index-pack: more validation checks and cleanups + improve checkout message when asking for same branch + minor git-prune optimization + update HEAD reflog when branch pointed to by HEAD is directly modified + make it more obvious that temporary files are temporary files + write_sha1_from_fd() should make new objects read-only + +Peter Eriksen (1): + Documentation/pack-format.txt: Clear up description of types. + +Santi Béjar (1): + git-fetch: Fix single_force in append_fetch_head + +Shawn O. Pearce (1): + contrib/continuous: a continuous integration build manager + +Uwe Kleine-König (1): + Bisect: convert revs given to good and bad to commits + + +Version v1.5.1-rc1; changes since v1.5.0.7: +------------------------------------------- + +Alex Riesen (7): + disable t4016-diff-quote.sh on some filesystems + git-gui: Support of "make -s" in: do not output anything of the build itself + More build output cleaning up + Support of "make -s": do not output anything of the build itself + Allow "make -w" generate its usual output + Allow git-diff exit with codes similar to diff(1) + Add tests for --quiet option of diff programs + +Alexandre Julliard (1): + git.el: Add support for commit hooks. + +Andy Parkins (7): + Only show log entries for new revisions in hooks--update + Have git-cvsserver call hooks/update before really altering the ref + The "table-of-contents" in the update hook script should match the body + cvsserver: Remove trailing "\n" from commithash in checkin function + cvsserver: Make always-binary mode a config file option + Sample update hook: typofix and modernization to use "git log" + update-hook: fix incorrect use of git-describe and sed for finding previous tag + +Aneesh Kumar K.V (1): + Documentation: document remote.<name>.tagopt + +Avi Kivity (1): + git-send-email: configurable bcc and chain-reply-to + +Don Zickus (3): + builtin-mailinfo.c infrastrcture changes + restrict the patch filtering + Add a couple more test cases to the suite. + +Eric Wong (119): + git-svn: move authentication prompts into their own namespace + git-svn: cleanup: move process_rm around + git-svn: cleanup: put SVN workarounds into their own namespace + git-svn: cleanup: avoid re-use()ing Git.pm in sub-packages + git-svn: add Git::SVN module (to avoid global variables) + git-svn: convert 'init' to use Git::SVN + git-svn: convert multi-init over to using Git::SVN + git-svn: make multi-init capable of reusing the Ra connection + git-svn: add a test for show-ignore + git-svn: convert show-ignore over to Git::SVN + git-svn: moved the 'log' command into its own namespace + git-svn: port the 'rebuild' command to use Git::SVN objects + git-svn: do not let Git.pm warn if we prematurely close pipes + git-svn: convert the 'commit-diff' command to Git::SVN + git-svn: get rid of Memoize for now... + git-svn: fetch/multi-fetch converted over to Git::SVN module + git-svn: switch dcommit to using Git::SVN code + git-svn: convert 'set-tree' command to use Git::SVN + git-svn: remove graft-branches command + git-svn: add support for metadata in .git/config + git-svn: fix a regression in dcommit that caused empty log messages + git-svn: reuse open SVN::Ra connections by URL + git-svn: enable --minimize to simplify the config and connections + git-svn: fix --follow-parent to work with Git::SVN + git-svn: --follow-parent works with svn-remotes multiple branches + git-svn: disallow ambigious local refspecs + git-svn: allow --follow-parent on deleted directories + git-svn: get rid of additional fetch-arguments + git-svn: allow 'init' to work outside of tests + git-svn: better error reporting if --follow-parent fails + git-svn: 'init' attempts to connect to the repository root if possible + git-svn: --follow-parent now works on sub-directories of larger branches + git-svn: track writes writes to the index in fetch + git-svn: add an odd test case that seems to cause segfaults over HTTP + git-svn: avoid tracking change-less revisions + git-svn: correctly track revisions made to deleted branches + git-svn: fix segfaults from accessing svn_log_changed_path_t + git-svn: fix committing to subdirectories, add tests + git-svn: avoid an extra svn_ra connection during commits + git-svn: simplify usage of the SVN::Git::Editor interface + git-svn: cleanup remove unused function + git-svn: allow multi-fetch to fetch things chronologically + git-svn: correctly track diff-less copies with do_switch + git-svn: correctly handle do_{switch,update} in deep directories + git-svn: stop using path names as refnames with --follow-parent + git-svn: cleanup: move editor-specific variables into the editor namespace + git-svn: just use Digest::MD5 instead of requiring it + git-svn: reinstate the default SVN error handler after using get_log + git-svn: don't rely on do_switch + reparenting with svn(+ssh):// + git-svn: fetch tracks initial change with --follow-parent + git-svn: remove the 'rebuild' command and make the functionality automatic + git-svn: fix several fetch bugs related to repeated invocations + git-svn: reinstate --no-metadata, add --svn-remote=, variable cleanups + git-svn: gracefully handle --follow-parent failures + git-svn: make (multi-)fetch safer but slower + git-svn: avoid a huge memory spike with high-numbered revisions + git-svn: re-enable repacking flags + git-svn: do our best to ensure that our ref and rev_db are consistent + git-svn: avoid redundant get_log calls between invocations + git-svn: use sys* IO functions for reading rev_db + git-svn: don't write to the config file from --follow-parent + git-svn: save paths to tags/branches with for future reuse + git-svn: migrations default to [svn-remote "git-svn"] + git-svn: get rid of revisions_eq check for --follow-parent + git-svn: avoid extra get_log calls when refspecs are added for fetching + git-svn: just name the default svn-remote "svn" instead of "git-svn" + git-svn: prepare multi-init for wildcard support + git-svn: reintroduce using a single get_log() to fetch + git-svn: run get_log() on a sub-directory if possible + git-svn: implement auto-discovery of branches/tags + git-svn: --follow-parent tracks multi-parent paths + git-svn: remove check_path calls before calling do_update + git-svn: remove some noisy debugging messages + git-svn: enable follow-parent functionality by default + git-svn: fix buggy regular expression usage in several places + git-svn: correctly handle the -q flag in SVN::Git::Fetcher + git-svn: correctly handle globs with a right-hand-side path component + git-svn: remove optimized commit stuff for set-tree + git-svn: add support for SVN::Mirror/svk using revprops for metadata + git-svn: add support for per-[svn-remote "..."] options + git-svn: use private $GIT_DIR/svn/config file more + git-svn: extra safety for noMetadata and useSvmProps users + git-svn: use separate, per-repository .rev_db files + git-svn: write the highest maxRex out for branches and tags + git-svn: handle multi-init without --trunk, UseSvmProps fixes + git-svn: make dcommit usable for glob users + git-svn: include merges when calling rev-list for decommit + git-svn: usability fixes for the 'git svn log' command + t910*: s/repo-config/config/g; poke around possible race conditions + git-svn: hopefully make 'fetch' more user-friendly + git-svn: allow 'init' to act as multi-init + git-svn: brown paper bag fixes + git-svn: simplify the (multi-)init methods of fetching + git-svn: allow --log-window-size to be specified, default to 100 + git-svn: remember to check for clean indices on globbed refs, too + git-svn: error checking for invalid [svn-remote "..."] sections + git-svn: allow dcommit for those who only fetch from SVM with useSvmProps + git-svn: documentation updates for new functionality + git-svn: add support for --stat in the log command + git-svn: checkout files on new fetches + git-svn: add a 'rebase' command + git-svn: fix some issues for people migrating from older versions + git-svn: hide the private git-svn 'config' file as '.metadata' + git-svn: add 'clone' command, an alias for init + fetch + git-svn: allow overriding of the SVN repo root in metadata + git-svn: add support for using svnsync properties + git-svn: fix useSvmProps, hopefully for the last time + git-svn: add test for useSvnsyncProps + git-svn: documentation updates + git-svn: allow metadata options to be specified with 'init' and 'clone' + git-svn: give show-ignore HEAD smarts, like dcommit and log + git-svn: ensure we're at the top-level and can access $GIT_DIR + git-svn: fix clone when a target directory has been specified + git-svn: fix reconnections to different paths of svn:// repositories + git-svn: fix some potential bugs with --follow-parent + Add test-chmtime: a utility to change mtime on files + Update tests to use test-chmtime + git-svn: fix show-ignore when not connected to the repository root + git-svn: add -l/--local command to "git svn rebase" + +Frank Lichtenheld (3): + cvsserver: Use Merged response instead of Update-existing for merged files + cvsserver: Be more chatty + cvsserver: further improve messages on commit and status + +Fredrik Kuivinen (1): + New autoconf test for iconv + +J. Bruce Fields (1): + Make git-send-email aware of Cc: lines. + +Jakub Narębski (1): + gitweb: Don't escape attributes in CGI.pm HTML methods + +James Bowes (3): + add: Support specifying an excludes file with a configuration variable + Make gc a builtin. + mergetool: Add support for vimdiff. + +Jeff King (1): + New fast-import test case for valid tree sorting + +Jim Meyering (2): + I like the idea of the new ':/<oneline prefix>' notation, and gave it a try, but all I could get was a segfault. It was dereferencing a NULL commit list. Fix below. With it, this example now works: + git-grep: don't use sscanf + +Johannes Schindelin (42): + Teach revision machinery about --reverse + teach diff machinery about --ignore-space-at-eol + name-rev: introduce the --refs=<pattern> option + diff --check: use colour + apply: fix memory leak in prefix_one() + name-rev: avoid "^0" when unneeded + rev-list --max-age, --max-count: support --boundary + fetch & clone: do not output progress when not on a tty + config: read system-wide defaults from /etc/gitconfig + git grep: use pager + Teach diff -B about colours + apply: make --verbose a little more useful + Teach git-diff-files the new option `--no-index` + pretty-formats: add 'format:<string>' + Make tests independent of global config files + Add git-bundle: move objects and references by archive + git-bundle: assorted fixes + git-bundle: avoid fork() in verify_bundle() + git-bundle: fix 'create --all' + git-bundle: record commit summary in the prerequisite data + Fixup no-progress for fetch & clone + object name: introduce ':/<oneline prefix>' notation + Fix typo: do not show name1 when name2 fails + diff --no-index: also imitate the exit status of diff(1) + Actually make print_wrapped_text() useful + show_date(): rename the "relative" parameter to "mode" + diff: make more cases implicit --no-index + print_wrapped_text: fix output for negative indent + Make git-revert & git-cherry-pick a builtin + diff: support reading a file from stdin via "-" + diff --no-index: support /dev/null as filename + Get rid of the dependency to GNU diff in the tests + cherry-pick: Suggest a better method to retain authorship + format-patch: add --inline option and make --attach a true attachment + bundle: fix wrong check of read_header()'s return value & add tests + git-bundle: avoid packing objects which are in the prerequisites + git-bundle: Make thin packs + git-bundle: handle thin packs in subcommand "unbundle" + git-bundle: die if a given ref is not included in bundle + git-bundle: prevent overwriting existing bundles + git-bundle: only die if pack would be empty, warn if ref is skipped + Do not output "GEN " when generating perl.mak + +Johannes Sixt (3): + Add core.symlinks to mark filesystems that do not support symbolic links. + Handle core.symlinks=false case in merge-recursive. + Tell multi-parent diff about core.symlinks. + +Julian Phillips (5): + Allow fetch--tool to read from stdin + Use stdin reflist passing in parse-remote + Use stdin reflist passing in git-fetch.sh + git-branch: improve abbreviation of sha1s in verbose mode + git-branch: document new --no-abbrev option + +Junio C Hamano (80): + git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 2) + Make merge-base a built-in. + Allow in_merge_bases() to take more than one reference commits. + Remove git-resolve. + Remove git-diff-stages. + Add link to v1.5.0 documentation. + blame: --show-stats for easier optimization work. + git-fetch: split fetch_main into fetch_dumb and fetch_native + git-fetch--tool: start rewriting parts of git-fetch in C. + git-fetch: move more code into C. + git-fetch: rewrite another shell loop in C + git-fetch: rewrite expand_ref_wildcard in C + Document --ignore-space-at-eol option. + Add RelNotes 1.5.1 + Point top-level RelNotes link at 1.5.1 release notes being prepared. + t0020: add test for auto-crlf + remotes.not-origin.tagopt + Teach 'git apply' to look at $GIT_DIR/config + Teach core.autocrlf to 'git apply' + Update draft release notes for 1.5.1 + Teach 'git apply' to look at $HOME/.gitconfig even outside of a repository + git-apply: do not lose cwd when run from a subdirectory. + git-apply: require -p<n> when working in a subdirectory. + Link 1.5.0.1 documentation from the main page. + Add prefixcmp() + Mechanical conversion to use prefixcmp() + prefixcmp(): fix-up mechanical conversion. + prefixcmp(): fix-up leftover strncmp(). + t4119: add test for traditional patch and different p_value + Fix botched "leak fix" + git-apply: notice "diff --git" patch again + git-apply: guess correct -p<n> value for non-git patches. + t4119: test autocomputing -p<n> for traditional diff input. + git-status: do not be totally useless in a read-only repository. + update-index: do not die too early in a read-only repository. + run_diff_{files,index}(): update calling convention. + .mailmap maintenance after pulling from git-svn + bundle: reword missing prerequisite error message + git-fetch--tool takes flags before the subcommand. + diff --cached: give more sensible error message when HEAD is yet to be created. + Documentation: link in 1.5.0.2 material to the top documentation page. + builtin-fetch--tool: adjust to updated sha1_object_info(). + Make 'cvs ci' lockless in git-cvsserver by using git-update-ref + fetch--tool: fix uninitialized buffer when reading from stdin + builtin-fetch--tool: make sure not to overstep ls-remote-result buffer. + index_fd(): use enum object_type instead of type name string. + index_fd(): pass optional path parameter as hint for blob conversion + index_fd(): convert blob only if it is a regular file. + Add recent changes to draft 1.5.1 release notes. + git-fetch: retire update-local-ref which is not used anymore. + builtin-fetch--tool: fix reflog notes. + diff-ni: allow running from a subdirectory. + diff-ni: fix the diff with standard input + .gitignore: add git-fetch--tool + format-patch --attach: not folding some long headers. + Post 1.5.0.3 cleanup + fsck: fix broken loose object check. + unpack_sha1_file(): detect corrupt loose object files. + fsck: exit with non-zero status upon errors + git-bundle: fix pack generation. + revision walker: Fix --boundary when limited + revision traversal: retire BOUNDARY_SHOW + git-bundle: various fixups + revision traversal: SHOWN means shown + git-bundle: make verify a bit more chatty. + revision --boundary: fix stupid typo + revision --boundary: fix uncounted case. + Fix broken create_branch() in builtin-branch. + prepare_packed_git(): sort packs by age and localness. + Documentation: add git-mergetool to the command list. + shortlog: prompt when reading from terminal by mistake + Remove unused diffcore_std_no_resolve + diff --quiet + Teach --quiet to diff backends. + revision.c: explain what tree_difference does + try-to-simplify-commit: use diff-tree --quiet machinery. + applymbox: brown paper bag fix. + Update main git.html page to point at 1.5.0.5 documentation + Fix merge-index + GIT 1.5.1-rc1 + +Li Yang (1): + gitweb: Change to use explicitly function call cgi->escapHTML() + +Linus Torvalds (8): + Lazy man's auto-CRLF + Make AutoCRLF ternary variable. + Re-fix get_sha1_oneline() + Make trivial wrapper functions around delta base generation and freeing + Implement a simple delta_base cache + Avoid unnecessary strlen() calls + Trivial cleanup of track_tree_refs() + Set up for better tree diff optimizations + +Martin Waitz (1): + Support for large files on 32bit systems. + +Michael Coleman (2): + git-send-email: abort/usage on bad option + fix various doc typos + +Nicolas Pitre (12): + sha1_file.c: cleanup hdr usage + sha1_file.c: cleanup "offset" usage + sha1_file.c: don't ignore an error condition in sha1_loose_object_info() + formalize typename(), and add its reverse type_from_string() + convert object type handling from a string to a number + get rid of lookup_object_type() + make sure enum object_type is signed + local-fetch.c: some error printing cleanup + fix t5300-pack-object.sh + add test for OFS_DELTA objects + clean up pack index handling a bit + Reuse cached data out of delta base cache. + +Paolo Bonzini (5): + git-config: document --rename-section, provide --remove-section + git-archimport: allow remapping branch names + git-commit: add a --interactive option + git-branch, git-checkout: autosetup for remote branch tracking + git-fetch, git-branch: Support local --track via a special remote '.' + +Pavel Roskin (1): + git-remote: support remotes with a dot in the name + +Sam Vilain (3): + git-svn: make test for SVK mirror path import + git-svn: don't consider SVN URL usernames significant when comparing + git-svn: document --username + +Santi Béjar (2): + t/t5515-fetch-merge-logic.sh: Added tests for the merge login in git-fetch + t/t5515-fetch-merge-logic.sh: Add two more tests + +Sergey Vlasov (1): + Documentation/git-svn.txt: Fix formatting errors + +Shawn O. Pearce (43): + Cleanup check_valid in commit-tree. + cherry-pick: Bug fix 'cherry picked from' message. + Make 'make' quieter while building git + Make 'make' quiet by default + Display the null SHA-1 as the base for an OBJ_OFS_DELTA. + Fix mmap leak caused by reading bad indexes. + Don't build external_grep if its not used + General const correctness fixes + Use uint32_t for all packed object counts. + Use uint32_t for pack-objects counters. + Use off_t when we really mean a file offset. + Use off_t in pack-objects/fast-import when we mean an offset + Cast 64 bit off_t to 32 bit size_t + Preallocate memory earlier in fast-import + Move post-update hook to after all other activity + Don't run post-update hook unless a ref changed + Refactor run_update_hook to be more useful + Refactor handling of error_string in receive-pack + Teach receive-pack to run pre-receive/post-receive hooks + Use atomic updates to the fast-import mark file + Allow fast-import frontends to reload the marks table + Switch to run_command_v_opt in revert + Remove unused run_command variants + Start defining a more sophisticated run_command + Split run_command into two halves (start/finish) + Teach run_command how to setup a stdin pipe + Refactor run_command error handling in receive-pack + Split back out update_hook handling in receive-pack + Change {pre,post}-receive hooks to use stdin + Remove unnecessary casts from fast-import + Simplify closing two fds at once in run-command.c + Fix t5510-fetch's use of sed + Teach run-command about stdout redirection + Teach run-command to redirect stdout to /dev/null + Replace fork_with_pipe in bundle with run_command + Correct new compiler warnings in builtin-revert + Use RUN_GIT_CMD to run push backends + Use run_command for proxy connections + Use run_command within merge-index + Use run_command within receive-pack to invoke index-pack + Use run_command within send-pack + use xstrdup please + Limit the size of the new delta_base_cache + +Simon 'corecode' Schubert (1): + Allow passing of an alternative CVSROOT via -d. + +Theodore Ts'o (5): + Teach git-remote to update existing remotes by fetching from them + Add config_boolean() method to the Git perl module + Allow git-remote to update named groups of remotes + Add git-mergetool to run an appropriate merge conflict resolution program + mergetool: print an appropriate warning if merge.tool is unknown + +Xavier Maillard (1): + contrib/emacs: Use non-interactive function to byte-compile files + + +Version v1.5.0.7; changes since v1.5.0.6: +----------------------------------------- + +Gerrit Pape (2): + Documentation/git-svnimport.txt: fix typo. + Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES. + +H. Peter Anvin (1): + git-upload-pack: make sure we close unused pipe ends + +Junio C Hamano (2): + rerere should not repeat the earlier hunks in later ones + GIT 1.5.0.7 + + +Version v1.5.0.6; changes since v1.5.0.5: +----------------------------------------- + +J. Bruce Fields (5): + user-manual: run xsltproc without --nonet option + user-manual: Use def_ instead of ref_ for glossary references. + glossary: stop generating automatically + glossary: clean up cross-references + user-manual: introduce "branch" and "branch head" differently + +Jakub Narębski (4): + gitweb: Fix "next" link in commit view + gitweb: Don't escape attributes in CGI.pm HTML methods + gitweb: Fix not marking signoff lines in "log" view + gitweb: Add some installation notes in gitweb/INSTALL + +Jeff King (1): + commit: fix pretty-printing of messages with "\nencoding " + +Jim Meyering (1): + user-manual.txt: fix a tiny typo. + +Johannes Schindelin (1): + t4118: be nice to non-GNU sed + +Junio C Hamano (2): + git-commit: "read-tree -m HEAD" is not the right way to read-tree quickly + GIT 1.5.0.6 + +Li Yang (1): + gitweb: Change to use explicitly function call cgi->escapHTML() + +Michael S. Tsirkin (1): + fix typo in git-am manpage + +Peter Eriksen (1): + Documentation/pack-format.txt: Clear up description of types. + + +Version v1.5.0.5; changes since v1.5.0.4: +----------------------------------------- + +Junio C Hamano (1): + GIT 1.5.0.5 + +Santi Béjar (1): + git-merge: finish when git-read-tree fails + + +Version v1.5.0.4; changes since v1.5.0.3: +----------------------------------------- + +Alexandre Julliard (2): + git.el: Avoid appending a signoff line that is already present. + git.el: Retrieve commit log information from .dotest directory. + +Avi Kivity (1): + git-send-email: Document configuration options + +Brian Gernhardt (1): + Fix diff-options references in git-diff and git-format-patch + +Frank Lichtenheld (1): + cvsserver: asciidoc formatting changes + +J. Bruce Fields (7): + glossary: fix overoptimistic automatic linking of defined terms + user-manual: fix inconsistent example + user-manual: fix inconsistent use of pull and merge + user-manual: fix missing colon in git-show example + user-manual: fix rendering of history diagrams + user-manual: install user manual stylesheet with other web documents + git-merge: warn when -m provided on a fast forward + +Jeff King (2): + Documentation: s/seperator/separator/ + fast-import: grow tree storage more aggressively + +Johannes Schindelin (2): + Begin SubmittingPatches with a check list + make t8001 work on Mac OS X again + +Junio C Hamano (3): + git-commit: cd to top before showing the final stat + git-checkout: fix "eval" used for merge labelling. + GIT 1.5.0.4 + +Matthias Kestenholz (1): + Adjust reflog filemode in shared repository + +Matthias Lederhofer (1): + setup_git_directory_gently: fix off-by-one error + +Shawn O. Pearce (13): + git-gui: Relocate the menu/transport menu code. + git-gui: Add Reset to the Branch menu. + git-gui: Don't create empty (same tree as parent) commits. + git-gui: Remove unnecessary /dev/null redirection. + fast-import: Avoid infinite loop after reset + fast-import: Fail if a non-existant commit is used for merge + git-gui: Make 'make' quieter by default + Catch write_ref_sha1 failure in receive-pack + git-gui: Allow committing empty merges + git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed." This reverts commit 92446aba47b0e0db28f7b858ea387efcca30ab44. + git-gui: Revert "git-gui: Display all authors of git-gui." This reverts commit 871f4c97ad7e021d1a0a98c80c5da77fcf70e4af. + git-gui: Allow 'git gui version' outside of a repository + Don't package the git-gui credits file anymore + +Theodore Ts'o (1): + Add definition of <commit-ish> to the main git man page. + +Yann Dirson (1): + Clarify doc for git-config --unset-all. + + +Version v1.5.0.3; changes since v1.5.0.2: +----------------------------------------- + +Alexandre Julliard (1): + git.el: Set the default commit coding system from the repository config. + +Aneesh Kumar K.V (1): + blameview: Fix the browse behavior in blameview + +Christian Schlotter (1): + Documentation: Correct minor typo in git-add documentation. + +Eygene Ryabinkin (2): + http-push.c::lock_remote(): validate all remote refs. + Another memory overrun in http-push.c + +Gerrit Pape (2): + git-cvsexportcommit: don't cleanup .msg if not yet committed to cvs. + Fix quoting in update hook template + +J. Bruce Fields (6): + Documentation: mention module option to git-cvsimport + user-manual: reset to ORIG_HEAD not HEAD to undo merge + user-manual: ensure generated manual references stylesheet + user-manual: insert earlier of mention content-addressable architecture + user-manual: how to replace commits older than most recent + user-manual: more detailed merge discussion + +Jim Meyering (1): + diff --cc: integer overflow given a 2GB-or-larger file + +Johannes Schindelin (3): + fetch.o depends on the headers, too. + builtin-archive: use RUN_SETUP + Document the config variable format.suffix + +Junio C Hamano (5): + git-apply: do not fix whitespaces on context lines. + Documentation: git-remote add [-t <branch>] [-m <branch>] [-f] name url + Start preparing Release Notes for 1.5.0.3 + git-merge: fail correctly when we cannot fast forward. + GIT 1.5.0.3 + +Linus Torvalds (2): + mailinfo: do not get confused with logical lines that are too long. + git-show: Reject native ref + +Matthias Kestenholz (1): + Fix git-gc usage note + +Michael Coleman (2): + Fix minor typos/grammar in user-manual.txt + builtin-fmt-merge-msg: fix bugs in --file option + +Michael Poole (1): + Correct ordering in git-cvsimport's option documentation + +Paolo Bonzini (1): + git-archimport: support empty summaries, put summary on a single line. + +Ramsay Jones (5): + Fix a "label defined but unreferenced" warning. + Fix an "implicit function definition" warning. + Fix some "comparison is always true/false" warnings. + Fix a "pointer type missmatch" warning. + Unset NO_C99_FORMAT on Cygwin. + +Sergey Vlasov (3): + Documentation/build-docdep.perl: Fix dependencies for included asciidoc files + Documentation/git-quiltimport.txt: Fix labeled list formatting + Documentation/git-send-email.txt: Fix labeled list formatting + +Shawn O. Pearce (1): + index-pack: Loop over pread until data loading is complete. + +Theodore Ts'o (1): + Fix git-show man page formatting in the EXAMPLES section + +Uwe Kleine-König (1): + Include config.mak in doc/Makefile + +Yasushi SHOJI (1): + glossary: Add definitions for dangling and unreachable objects + + +Version v1.5.0.2; changes since v1.5.0.1: +----------------------------------------- + +Christian Schlotter (1): + git-clone: Sync documentation to usage note. + +Dmitry V. Levin (1): + git-show-ref --verify: Fail if called without a reference + +Fredrik Kuivinen (1): + Fix 'git commit -a' in a newly initialized repository + +Jason Riedy (3): + Add a compat/strtoumax.c for Solaris 8. + Obey NO_C99_FORMAT in fast-import.c. + Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c. + +Johannes Schindelin (1): + git-diff: fix combined diff + +Junio C Hamano (11): + Reword git-am 3-way fallback failure message. + diff-patch: Avoid emitting double-slashes in textual patch. + Don't modify CREDITS-FILE if it hasn't changed. + rerere: do not skip two conflicted paths next to each other. + rerere: do not deal with symlinks. + Add Release Notes to prepare for 1.5.0.2 + merge-index: fix longstanding bug in merging symlinks + merge-recursive: fix longstanding bug in merging symlinks + diff --cc: fix display of symlink conflicts during a merge. + Documentation: describe "-f/-t/-m" options to "git-remote add" + GIT 1.5.0.2 + +Martin Koegler (1): + git-gui: Create new branches from a tag. + +Michael Loeffler (1): + Use gunzip -c over gzcat in import-tars example. + +Pavel Roskin (1): + git-remote: support remotes with a dot in the name + +Robin Rosenberg (1): + Limit filename for format-patch + +Roland Dreier (1): + Allow arbitrary number of arguments to git-pack-objects + +Santi Béjar (1): + core.legacyheaders: Use the description used in RelNotes-1.5.0 + +Shawn O. Pearce (16): + git-gui: Refactor 'exec git subcmd' idiom. + git-gui: Basic version check to ensure git 1.5.0 or later is used. + git-gui: Permit merging tags into the current branch. + git-gui: More consistently display the application name. + git-gui: Print version on the console. + git-gui: Prefer version file over git-describe. + git-gui: Expose the browser as a subcommand. + git-gui: Correct crash when saving options in blame mode. + git-gui: Use mixed path for docs on Cygwin. + git-gui: Display all authors of git-gui. + git-gui: Change summary of git-gui. + git-gui: Include browser in our usage message. + git-gui: Remove TODO list. + git-gui: Don't crash in citool mode on initial commit. + Document the new core.bare configuration option. + Include git-gui credits file in dist. + + +Version v1.5.0.1; changes since v1.5.0: +--------------------------------------- + +Alexandre Julliard (2): + git-daemon: Avoid leaking the listening sockets into child processes. + sha1_file.c: Round the mmap offset to half the window size. + +Fredrik Kuivinen (2): + Read the config in rev-list + Documentation/i18n.txt: it is i18n.commitencoding not core.commitencoding + +Junio C Hamano (15): + Documentation: Drop full-stop from git-fast-import title. + cmd-list: add git-remote + Makefile: update check-docs target + Clarify two backward incompatible repository options. + Still updating 1.5.0 release notes. + Add RelNotes 1.5.0.1 + Make sure packedgitwindowsize is multiple of (pagesize * 2) + Make gitk work reasonably well on Cygwin. + gitk: Use show-ref instead of ls-remote + GIT-VERSION-FILE: check ./version first. + pretend-sha1: grave bugfix. + git-merge: minor fix for no_trivial_merge_strategies. + Do not take mode bits from index after type change. + Update draft release notes for 1.5.0.1 + GIT 1.5.0.1 + +Mark Levedahl (3): + gitk - remove trailing whitespace from a few lines. + Make gitk save and restore the user set window position. + Make gitk save and restore window pane position on Linux and Cygwin. + +Nicolas Pitre (1): + Minor corrections to release notes + +Paul Mackerras (1): + Change git repo-config to git config + +Shawn O. Pearce (2): + Attempt to improve git-rebase lead-in description. + Convert update-index references in docs to add. + +Tommi Kyntola (1): + git-blame: prevent argument parsing segfault + + +Version v1.5.0; changes since v1.5.0-rc4: +----------------------------------------- + +Alexandre Julliard (3): + diff.c: Reuse the pprint_rename function for diff --summary output. + diff.c: Properly quote file names in diff --summary output. + diff.c: More logical file name quoting for renames in diffstat. + +Andy Parkins (2): + git-gui: fix typo in GIT-VERSION-GEN, "/dev/null" not "/devnull" + Fix potential command line overflow in hooks--update + +Aneesh Kumar K.V (1): + blameview: Move the commit info to a pane below the blame window. + +David Kågedal (5): + Handle uncommitted changes and cache descriptions + git-blame.el: improve color handling + git-blame.el: blame unsaved changes + git-blame.el: Doc fixes and cleanup + git-blame.el: Autoupdate while editing + +Dotan Barak (1): + Make it easier to override path to asciidoc command + +Eric Wong (1): + git-svn: correctly handle boolean options via git-config + +Jakub Narębski (2): + git-blame: Add Emacs Lisp file headers and GNU GPL boilerplate + git-blame: Change installation instructions + +James Bowes (1): + Read cvsimport options from repo-config + +Johannes Schindelin (5): + for_each_reflog_ent: be forgiving about missing message + log --reflog: honour --relative-date + format-patch -n: make sorting easier by padding number + log --reflog: use dwim_log + git-gc: run pack-refs by default unless the repo is bare + +Junio C Hamano (17): + create_symref(): create leading directories as needed. + reflog: handle $name => remotes/%s/HEAD mapping consistently for logs + Documentation/git-pull: describe default behaviour and config interactions + git-fetch: document automatic tag following. + wt_status_prepare(): clean up structure initialization. + diff_flush_name(): take struct diff_options parameter. + t4016: test quoting funny pathnames in diff output + Documentation: git-rebase -C<n> + Teach git-am to pass -p option down to git-apply + Add discussion section to git-tag documentation. + Add RPM target for git-gui + Do not forget to pack objects reachable from HEAD reflog. + for-each-reflog: not having $GIT_DIR/logs directory is not an error. + "git-fetch --tags $URL" should not overwrite existing tags + Documentation: Moving out of detached HEAD does not warn anymore. + Add release notes to the distribution. + GIT 1.5.0 + +Linus Torvalds (2): + git reflog show + Mark places that need blob munging later for CRLF conversion. + +Mark Levedahl (2): + Make gitk save and restore the user set window position. + Make gitk save and restore window pane position on Linux and Cygwin. + +Matthias Lederhofer (1): + git merge documentation: -m is optional + +Michael Loeffler (1): + import-tars: brown paper bag fix for file mode. + +Michael S. Tsirkin (3): + Update git-log and git-show documentation + add -C[NUM] to git-am + Document that git-am can read standard input. + +Michael Spang (1): + Work around Subversion race in git-svn tests. + +Mukund (1): + Fixed some typos in git-repack docs + +Nicolas Pitre (2): + remove mailmap.linux + Update RPM core package description + +Pavel Roskin (1): + Clarify that git-update-server-info should be run for every git-push + +René Scharfe (1): + Avoid ugly linewrap in git help + +Shawn O. Pearce (313): + git-gui: Initial revision. + git-gui: Additional early feature development. + git-gui: Fixed UI layout problems on Windows. + git-gui: Corrected keyboard bindings on Windows, improved state management. + git-gui: Verify we should actually perform a commit when asked to do so. + git-gui: Finished commit implementation. + git-gui: Implemented amended commits. + git-gui: Misc. nit type of bug fixes. + git-gui: Started construction of fetch and push operations. + git-gui: Worked around environment variable problems on Windows. + git-gui: Reorganized startup procedure to ensure gitdir is right. + git-gui: Fix menu item accelerator display on Mac OS X. + git-gui: Correctly handle CR vs. LF within the console of fetch. + git-gui: Check for fetch or push command failure and denote it. + git-gui: Don't complain if no .git/remotes exist. + git-gui: Added current TODO list. + git-gui: Last minute idea about fetch shortcuts. + git-gui: Automatically reopen any console closed by the user. + git-gui: Cache all repo-config data in an array. + git-gui: Added support for pulling from default branch of a remote. + git-gui: Updated TODO list now that pull is starting to work. + git-gui: Corrected diff-index/diff-files protocol parsing errors. + git-gui: Performance improvements for large file sets. + git-gui: More performance improvements to rescan logic. + git-gui: Flip commit message buffer and diff area. + git-gui: Added repack database menu option, to invoke git repack. + git-gui: Allow the user to disable update-index --refresh during rescan. + git-gui: Grab the index lock while running pull. + git-gui: Pluralize timestamps within the options menu. + git-gui: Disable pull menu items when the index is locked. + git-gui: Don't let the user pull into an uncommitted working directory. + git-gui: Update TODO list. + git-gui: Bug fix for bad variable reference in display_file. + git-gui: Changed term 'check-in' to 'include'. + git-gui: Show only the abbreviated SHA1 after committing. + git-gui: Cache the GIT_COMMITTER_IDENT value on first sign-off. + git-gui: Save window geometry to .git/config during exit. + git-gui: Change accelerator for "Include All" to M1-I. + git-gui: Created edit menu and basic editing bindings. + git-gui: Clear undo/redo stack when loading a message file from disk. + git-gui: Updated TODO list now that geometry is stored. + git-gui: Always indicate the file in the diff viewer. + git-gui: Correctly handle files containing LF in their name. + git-gui: Efficiently update the UI after committing. + git-gui: Use catch rather than array names to check file. + git-gui: Rename difffont/mainfont variables. + git-gui: Use native tk_messageBox for errors. + git-gui: Cleaned up error message formatting. + git-gui: Simplified format of geometry configuration. + git-gui: Misc. formatting cleanups. + git-gui: Misc. bug fixes for mouse click crashes. + git-gui: Added context menus for consoles and commit message buffer. + git-gui: Fix mouse cursor behavior when in widgets. + git-gui: Teach sign off to be more intelligent. + git-gui: Corrected font used for options menu items. + git-gui: Honor system font and let user configure fonts. + git-gui: Allow the user to change the diff viewer font size. + git-gui: Refresh a file if it has an empty diff. + git-gui: Make use of the Tk font system rather than faking it. + git-gui: Improve right click context menu binding on all platforms. + git-gui: Rename quitting global to is_quitting. + git-gui: Use arrow cursor rather than left_ptr. + git-gui: Refactor options menu into an options dialog. + git-gui: Allow the user to manipulate the fonts from the options panel. + git-gui: Supply progress feedback when running update-index. + git-gui: Minor options dialog UI cleanups. + git-gui: Added Options... menu item to end of diff context menu. + git-gui: Use 'after 1' to post UI rather than tkwait. + git-gui: Correct bugs in font config handling. + git-gui: Hide non-commit related commands when invoked as git-citool. + git-gui: Don't load the global options unless necessary. + git-gui: Allow the user to disable diff stat summary during pull. + git-gui: Run the pre-commit hook in the background. + git-gui: Remove the commit_active global variable. + git-gui: Added post-commit invocation after the commit is done. + git-gui: Always use eq/ne for string comparsions. + git-gui: Reshow diff if we sent the file to update-index. + git-gui: Cleanup diff construction code to prepare for more options. + git-gui: Allow the user to control the number of context lines in a diff. + git-gui: Sort the list of paths being updated in the index. + git-gui: Use a smaller pipe buffer for update-index. + git-gui: Allow the user to copy name of the file in the diff viewer. + git-gui: Correct language for M_/A_ status codes. + git-gui: Display status on left in diff header. + git-gui: Minor UI layout improvements for console windows. + git-gui: Reverted file name text field to a label. + git-gui: By default don't allow partially included files. + git-gui: Refactor mouse clicking on file names/icons. + git-gui: Narrow the no differences information message. + git-gui: Implemented multiple selection in file lists. + git-gui: Refactor update_status -> rescan. + git-gui: Provide an after-rescan script to rescan. + git-gui: Allow update_index to also run a script when it completes. + git-gui: Automatically update-index all included files before commit. + git-gui: Disable diff actions when no diff is active. + git-gui: Created makefile to install the program. + git-gui: Correctly handle GIT_DIR environment variable. + git-gui: Create Windows shortcut icons for git-gui. + git-gui: Protect ourselves from funny GIT_DIR/working directory setups. + git-gui: Handle ' within paths when creating Windows shortcuts. + git-gui: Only populate a fetch or push if we have an action. + git-gui: Create a .app file on MacOS X if requested. + git-gui: Display error dialog on Mac OS X when no .git found. + git-gui: Make initial commits work properly. + git-gui: Only reshow diff when really necessary. + git-gui: Refactor file state representations. + git-gui: Add menu option to include only selected files. + git-gui: Misc. comment formatting cleanups. + git-gui: Start UI with the index locked. + git-gui: Remove completed items from TODO list. + git-gui: Toggle between new commit and amend commit modes. + git-gui: Verify the user has GIT_COMMITTER_IDENT before comitting. + git-gui: Rephrase rescan before commit informational message. + git-gui: Allow adding untracked files in selection. + git-gui: Don't create PkgInfo on Mac OS X "desktop icons". + git-gui: Teach the gui how to uninclude a file. + git-gui: Make consecutive icon clicks toggle included status of a file. + git-gui: Correct toggling of deleted file status. + git-gui: Fix list loading corruption introduced by 1461c5f3. + git-gui: Describe deleted symlinks in a more friendly way. + git-gui: Correct toggling of added/untracked status for new files. + git-gui: Updated TODO list now that a task is complete. + git-gui: Refactored diff line display formatting logic. + git-gui: Restore the all important shebang line. + git-gui: Update in memory states after commit. + git-gui: Correct some state matchings for include/remove. + git-gui: Improve handling of merge commits. + git-gui: Allow users to run fsck-objects from the gui. + git-gui: Don't save amended commit message buffer. + git-gui: Reworded verify console title. + git-gui: Seperate out the database operations in project menu. + git-gui: Rename Project menu to Repository. + git-gui: Added about dialog box. + git-gui: Be more Macintosh like. + git-gui: Make the copyright notice serve double duty. + git-gui: Include the Tcl/Tk version in the about dialog. + git-gui: Abstract out windows platform test to is_Windows proc. + git-gui: Correct is_MacOSX platform test. + git-gui: Warn Cygwin users about possible environment issues. + git-gui: Added configuration editor TODO list. + git-gui: Refactor M1 binding selection. + git-gui: Added menu command to visualize all branches. + git-gui: Don't start 'gitk --all' on Mac OS X. + git-gui: Improve pull error dialogs. + git-gui: Added revert changes command. + git-gui: Display the current branch. + git-gui: Support file state MD (modified/deleted). + git-gui: Created Branch menu. + git-gui: Parse off refs/remotes when showing current branch. + git-gui: Abort on not implemented branch switching. + git-gui: Automatically skip tracking branches in branch menu. + git-gui: Rename all_branches -> all_heads. + git-gui: Misc. comment and formatting cleanups. + git-gui: Started implementation of switch_branch. + git-gui: Set a proper title on our revert confirm dialog box. + git-gui: Updated todo list. + git-gui: Enable resolution of merge conflicts. + git-gui: Auto-update any A? or M? files during rescan. + git-gui: Reworded 'Include' to 'Add' to match core Git. + git-gui: Created very crude Tools menu, to support miga. + git-gui: Show all fetched branches for remote pulls. + git-gui: Run git-gc rather than git-repack. + git-gui: Corrected behavior of deleted (but existing in HEAD) files. + git-gui: Correct wording of the revert confirmation dialog. + git-gui: Work around odd cygpath bug on Windows. + git-gui: Change more 'include' language to 'add'. + git-gui: Hide the ugly bash command line from the windows desktop icon. + git-gui: Modified makefile to embed version into git-gui script. + git-gui: Display the git-gui version in the Help->About dialog. + git-gui: Display the full GPL copyright notice in about dialog. + git-gui: Ensure version number is always current. + git-gui: Allow the user to copy the version data to the clipboard. + git-gui: Don't offer my miga hack if its configuration file isn't present. + git-gui: Suggest when running 'git gc' may be worthwhile. + git-gui: Refactor reponame computation. + git-gui: Cleanup usage of gitdir global variable. + git-gui: Allow [gitdir ...] to act as [file join [gitdir] ...]. + git-gui: Make the gitk starting message match our usual format. + git-gui: Display the directory we are entering during startup. + git-gui: Start file status display refactoring. + git-gui: Convert UI to use 'staged for commit' interface. + git-gui: Correct DD file state to be only D_. + git-gui: Remove invalid DM state. + git-gui: Cleanup state descriptions. + git-gui: Refactor add/remove proc names to align with reality. + git-gui: Add or unstage based on the specific icon used. + git-gui: Refactor the revert (aka checkout-index) implementation. + git-gui: Refactor the add to commit state filters. + git-gui: Simplify printing of index info to update-index. + git-gui: Only permit selection in one list at a time. + git-gui: Pad the cancel/save buttons in the options window. + git-gui: Implemented create branch GUI. + git-gui: Bind M1-N to create branch. + git-gui: Implemented local branch deletion. + git-gui: Allow users to delete branches merged upstream. + git-gui: Allow creating branches from tracking heads. + git-gui: Use borders on text fields in branch dialog. + git-gui: Remove 'Allow Partially Added Files' option. + git-gui: Move commit_prehook into commit_tree. + git-gui: Improve the branch delete confirmation dialogs. + git-gui: Don't delete the test target branch. + git-gui: Attempt to checkout the new branch after creation. + git-gui: Refactor current_diff -> current_diff_path. + git-gui: Remove combined diff showing behavior. + git-gui: Improve the display of merge conflicts. + git-gui: Improve diff --cc viewing for unmerged files. + git-gui: Fix bug in unmerged file display. + git-gui: Clear diff from viewer if the side changed. + git-gui: Correct disappearing unstaged files. + git-gui: Add Refresh to diff viewer context menu. + git-gui: Correct unmerged file detection at commit time. + git-gui: Pad new branch name input box. + git-gui: Use a grid layout for branch dialog. + git-gui: Improve the merge check interface for branch deletion. + git-gui: Change rude error popup to info popup. + git-gui: Correctly ignore '* Unmerged path' during diff. + git-gui: Make diff viewer colors match gitk's defaults. + git-gui: Never line wrap in file lists. + git-gui: Don't offer tracking branches if none exist. + git-gui: Give a better error message on an empty branch name. + git-gui: Allow user to specify a branch name pattern. + git-gui: Improve keyboard traversal in dialogs. + git-gui: Fully select a field when entering into it. + git-gui: Automatically toggle the relevant radio buttons. + git-gui: Correctly categorize tracking branches and heads. + git-gui: Update todo list with finished and new items. + git-gui: Slightly tweak new window geometry. + git-gui: Create missing branch head on initial commit. + git-gui: Don't format the mode line of a diff. + git-gui: Force an update-index --refresh on unchanged files. + git-gui: Don't attempt to tag new file/deleted file headers in diffs. + git-gui: Fix 'Select All' action on Windows. + git-gui: Ignore 'No newline at end of file' marker line. + git-gui: Always start a rescan on an empty diff. + git-gui: Don't show content of untracked binary files. + git-gui: Limit display of large untracked files. + git-gui: When possible show the type of an untracked file. + git-gui: Don't try to tag the 'Binary files * and * differ' line. + git-gui: Remove spurious newline in untracked file display. + git-gui: Honor system encoding for filenames. + git-gui: Handle commit encoding better. + git-gui: Display database stats (count-objects -v) on demand. + git-gui: Implement basic branch switching through read-tree. + git-gui: Use system default labelframe bordering. + git-gui: Display the size of the pack directory. + git-gui: Only allow Refresh in diff context menu when we have a diff. + git-gui: Allow staging/unstaging individual diff hunks. + git-gui: Elide CRs appearing in diff output from display. + git-gui: Cleanup end-of-line whitespace in commit messages. + git-gui: Unset unnecessary UI setup variable. + git-gui: Force focus to the diff viewer on mouse click. + git-gui: Support 'Visualize All Branches' on Mac OS X. + git-gui: Pad the database statistics dialog window. + git-gui: Prefer Tk's entry widget over a 1 line text field. + git-gui: Remove Pull menu and cleanup Branch/Fetch/Push menus. + git-gui: Don't switch branches if changing to the current branch. + git-gui: Maintain the same file list for diff during refresh. + git-gui: Always use lsearch -exact, to prevent globbing. + git-gui: Added arbitrary branch pushing support. + git-gui: Remove no longer used pull from remote code. + git-gui: Always use -v option to push. + git-gui: Refactor console success/failure handling. + git-gui: Use builtin version of 'git gc'. + git-gui: Implement local merge operations. + git-gui: Let users abort with `reset --hard` type logic. + git-gui: Update status bar during a merge. + git-gui: Don't allow users to commit a bad octopus merge. + git-gui: Don't allow merges in the middle of other things. + git-gui: Always offer scrollbars for branch lists. + git-gui: Support merge.summary, merge.verbosity. + git-gui: Reword meaning of merge.summary. + git-gui: Offer quick access to the HTML formatted documentation. + git-gui: Test for Cygwin differently than from Windows. + git-gui: Implemented file browser and incremental blame. + git-gui: Improve the icons used in the browser display. + git-gui: Display the current branch name in browsers. + git-gui: Allow users to edit user.name, user.email from options. + git-gui: Use -M and -C when running blame. + git-gui: Correctly handle spaces in filepaths. + git-gui: Display original filename and line number in blame. + git-gui: Install column headers in blame viewer. + git-gui: Use a grid layout for the blame viewer. + git-gui: Assign background colors to each blame hunk. + Correct ^0 asciidoc syntax in fast-import docs. + Correct some language in fast-import documentation. + Correct spelling of fast-import in docs. + tar archive frontend for fast-import. + git-gui: Update known branches during rescan. + git-gui: Support keyboard traversal in browser. + git-gui: Replace \ with \\ when showing paths. + git-gui: Refactor single_commit to a proc. + git-gui: Separate transport/branch menus from multicommit. + git-gui: Optionally save commit buffer on exit. + git-gui: View blame from the command line. + git-gui: Select subcommands like git does. + git-gui: Relabel the Add All action. + git-gui: Use git-config now over git-repo-config. + git-gui: Redesign the display of annotated files. + git-gui: Jump to the first annotation block as soon as its available. + git-gui: Improve annotated file display. + git-gui: Focus into blame panels on Mac OS. + git-gui: Stop deleting gitk preferences. + fast-import: Hide the pack boundary commits by default. + fast-import: Add tip about importing renames. + bash: Hide git-fast-import. + fast-import: Support reusing 'from' and brown paper bag fix reset. + git-gui: Allow gitexecdir, INSTALL to be set by the caller. + git-gui: Rename GIT_VERSION to GITGUI_VERSION. + git-gui: Generate a version file on demand. + git-gui: Handle gitgui tags in version gen. + git-gui: Guess our version accurately as a subproject. + git-gui: Change base version to 0.6. + Link git-gui into the master Makefile. + +Theodore Ts'o (2): + Print a sane error message if an alias expands to an invalid git command + Allow aliases to expand to shell commands + + +Version v1.5.0-rc4; changes since v1.5.0-rc3: +--------------------------------------------- + +Alex Riesen (1): + Avoid ActiveState Perl IO in t800[12] + +Andy Parkins (2): + doc: hooks.txt said post-commit default sends an email, it doesn't + git-for-each-ref doesn't return "the bit after $GIT_DIR/refs" + +Aneesh Kumar K.V (1): + blameview: Support browsable functionality to blameview. + +David Kågedal (1): + git-blame: an Emacs minor mode to view file with git-blame output. + +Eric Wong (2): + git-svn: do not let Git.pm warn if we prematurely close pipes + Disallow invalid --pretty= abbreviations + +Gerrit Pape (1): + git-archimport: initial import needs empty directory + +Horst H. von Brand (1): + Call make always with CFLAGS in git.spec + +Johannes Schindelin (4): + Teach the '@{...}' notation to git-log -g + Update the documentation for the new '@{...}' syntax + Commands requiring a work tree must not run in GIT_DIR + fast-import: Fix compile warnings + +Junio C Hamano (36): + create_symref(): do not assume pathname from git_path() persists long enough + detached HEAD -- finishing touches + Use "git checkout -q" in git-bisect + Tutorial: fix asciidoc formatting of "git add" section. + Tutorial-2: Adjust git-status output to recent reality. + core-tutorial: http reference link fix + fix reflog entries for "git-branch" + honor GIT_REFLOG_ACTION in git-commit + Why is it bad to rewind a branch that has already been pushed out? + combine-diff: special case --unified=0 + show-branch -g: default to the current branch. + git-clone --reference: saner handling of borrowed symrefs. + Revert "Allow branch.*.merge to talk about remote tracking branches." + Rename get_ident() to fmt_ident() and make it available to outside + t9200: Work around HFS+ issues. + bisect: it needs to be done in a working tree. + git-blame: no rev means start from the working tree file. + Add pretend_sha1_file() interface. + Use pretend_sha1_file() in git-blame and git-merge-recursive. + blame: document --contents option + Teach git-remote add to fetch and track + Fix longstanding mismerge of ALL_CFLAGS vs BASIC_CFLAGS + gitk: Use show-ref instead of ls-remote + git-push: allow globbing wildcard refspec. + gitweb: fix mismatched parenthesis + annotate: fix for cvsserver. + S_IFLNK != 0140000 + Remove contrib/colordiff + Add deprecation notices. + Remove git-merge-recur + git-clone --reference: work well with pack-ref'ed reference repository + for-each-reflog: fix case for empty log directory + t4200: skip gc-rerere test on systems with non GNU date. + git-add -i: update removed path correctly. + Documentation: Add gfi to the main command list. + GIT v1.5.0-rc4 + +Linus Torvalds (2): + pager: Work around window resizing bug in 'less' + Fix "git log -z" behaviour + +Mark Levedahl (2): + gitk - remove trailing whitespace from a few lines. + Make gitk work reasonably well on Cygwin. + +Michael Coleman (1): + Fix some documentation typos and grammar + +Michele Ballabio (1): + Documentation: add KMail in SubmittingPatches + +Nicolas Pitre (14): + make reflog filename independent from struct ref_lock + lock_ref_sha1_basic(): remember the original name of a ref when resolving it + enable separate reflog for HEAD + add reflog entries for HEAD when detached + move create_symref() past log_ref_write() + add logref support to git-symbolic-ref + add reflog when moving HEAD to a new branch + reword the detached head message a little again + add a quiet option to git-checkout + prevent HEAD reflog to be interpreted as current branch reflog + provide a nice @{...} syntax to always mean the current branch reflog + scan reflogs independently from refs + Enable HEAD@{...} and make it independent from the current branch + Let git-checkout always drop any detached head + +Pavel Roskin (2): + git-config --rename-section could rename wrong section + Assorted typo fixes + +Robin Rosenberg (1): + Why is it bad to rewind a branch that has already been pushed out? + +Shawn O. Pearce (113): + Created fast-import, a tool to quickly generating a pack from blobs. + Added automatic index generation to fast-import. + Cleaned up memory allocation for object_entry structs. + Refactored fast-import's internals for future additions. + Added basic command handler to fast-import. + Implemented branch handling and basic tree support in fast-import. + Added tree and commit writing to fast-import. + Implement blob ID validation in fast-import. + Converted fast-import to a text based protocol. + Changed fast-import's pack header creation to use pack.h + Allow symlink blobs in trees during fast-import. + Fixed segfault in fast-import after growing a tree. + Converted fast-import to accept standard command line parameters. + Added mark store/find to fast-import. + Added branch load counter to fast-import. + Implemented 'tag' command in fast-import. + Implemented tree reloading in fast-import. + Round out memory pool allocations in fast-import to pointer sizes. + Remove branch creation command from fast-import. + Moved from command to after data to help cvs2svn. + Account for tree entry memory costs in fast-import. + Added option to export the marks table when fast-import terminates. + Added --branch-log to option to fast-import. + Fixed GPF in fast-import caused by unterminated linked list. + Fixed compile error in fast-import. + Map only part of the generated pack file at any point in time. + Added 'reset' command to clear a branch's tree. + Don't crash fast-import if no branch log was requested. + Converted hash memcpy/memcmp to new hashcpy/hashcmp/hashclr. + Implemented tree delta compression in fast-import. + Recycle data buffers for tree generation in fast-import. + Reuse the same buffer for all commits/tags in fast-import. + Replace ywrite in fast-import with the standard write_or_die. + Correct tree corruption problems in fast-import. + Additional fast-import tree delta corruption cleanups. + Fix repository corruption when using marks for modified blobs. + Support creation of merge commits in fast-import. + Allow creating branches without committing in fast-import. + Improve reuse of sha1_file library within fast-import. + Misc. type cleanups within fast-import. + Restructure fast-import to support creating multiple packfiles. + Remove unnecessary duplicate_count in fast-import. + Implemented manual packfile switching in fast-import. + Don't create a final empty packfile in fast-import. + Optimize index creation on large object sets in fast-import. + Implemented automatic checkpoints within fast-import. + Print the packfile names to stdout from fast-import. + Corrected buffer overflow during automatic checkpoint in fast-import. + Use uintmax_t for marks in fast-import. + Replace redundant yread() with read_in_full() in fast-import. + Reuse sha1 in packed_git in fast-import. + Use .keep files in fast-import during processing. + Ensure we close the packfile after creating it in fast-import. + Remove unnecessary pack_fd global in fast-import. + Correct max_packsize default in fast-import. + Correct object_count type and stat output in fast-import. + Print out the edge commits for each packfile in fast-import. + Corrected BNF input documentation for fast-import. + Correct a few types to be unsigned in fast-import. + Declare no-arg functions as (void) in fast-import. + Correct packfile edge output in fast-import. + Always use struct pack_header for pack header in fast-import. + Use fixed-size integers when writing out the index in fast-import. + Remove unnecessary options from fast-import. + Support delimited data regions in fast-import. + Create test case for fast-import. + Reduce value duplication in t9300-fast-import. + Accept 'inline' file data in fast-import commit structure. + Pull out remote listing functions in git-remote. + Teach 'git remote' how to cleanup stale tracking branches. + Cleanup prepare_packed_git_one to reuse install_packed_git. + Correct comment in prepare_packed_git_one. + Refactor open_packed_git to return an error code. + Don't find objects in packs which aren't available anymore. + Don't leak file descriptors from unavailable pack files. + Cleanup subcommand documentation for git-remote. + Keep untracked files not involved in a merge. + Default GIT_MERGE_VERBOSITY to 5 during tests. + bash: Remove short option completions for branch/checkout/diff. + bash: Classify cat-file and reflog as plumbing. + bash: Complete long options to git-add. + bash: Add space after unique command name is completed. + bash: Classify more commends out of completion. + bash: Support unique completion on git-config. + bash: Support unique completion when possible. + bash: Support internal revlist options better. + Include checkpoint command in the BNF. + Reduce memory usage of fast-import. + Show an example of deleting commits with git-rebase. + bash: Support completion on git-cherry. + bash: Hide diff-stages from completion. + bash: Offer --prune completion for git-gc. + bash: Hide git-resolve, its deprecated. + bash: Support --add completion to git-config. + bash: Support git-bisect and its subcommands. + Don't support shell-quoted refnames in fast-import. + Initial draft of fast-import documentation. + bash: Support git-rebase -m continuation completion. + bash: Complete git-remote subcommands. + Remove --branch-log from fast-import. + Correct compiler warnings in fast-import. + Correct minor style issue in fast-import. + Correct fast-import timezone documentation. + Remove unnecessary null pointer checks in fast-import. + Minor fast-import documentation corrections. + Support RFC 2822 date parsing in fast-import. + Don't do non-fastforward updates in fast-import. + Minor timestamp related documentation corrections for fast-import. + Teach fast-import how to clear the internal branch content. + Teach fast-import how to sit quietly in the corner. + Dump all refs and marks during a checkpoint in fast-import. + Don't crash fast-import if the marks cannot be exported. + Add a Tips and Tricks section to fast-import's manual. + +Simon 'corecode' Schubert (1): + Allow forcing of a parent commit, even if the parent is not a direct one. + +Stelian Pop (1): + Add hg-to-git conversion utility. + +Uwe Kleine-König (1): + add replay and log to the usage string of git-bisect + +Yasushi SHOJI (1): + gitweb: Convert project name to UTF-8 + + +Version v1.5.0-rc3; changes since v1.5.0-rc2: +--------------------------------------------- + +Alex Riesen (5): + Insert ACTIVESTATE_STRING in Git.pm + Force Activestate Perl to tie git command pipe handle to a handle class + Cleanup uninitialized value in chomp + Allow default core.logallrefupdates to be overridden with template's config + Fix git-update-index to work with relative pathnames. + +Alexandre Julliard (1): + vc-git.el: Take into account the destination name in vc-checkout. + +Andy Parkins (5): + New files in git weren't being downloaded during CVS update + If abbrev is set to zero in git-describe, don't add the unique suffix + Allow the tag signing key to be specified in the config file + UNIX reference time of 1970-01-01 00:00 is UTC timezone, not local time zone + Heavily expanded update hook to send more useful emails than the old hook + +Aneesh Kumar K.V (2): + blameview: Use git-cat-file to read the file content. + Update git-cat-file documentation + +Bill Lear (1): + Document --check option to git diff. + +David Kågedal (1): + Improved error message from git-rebase + +Eric Wong (1): + git-svn: remove leading slash when printing removed directories + +J. Bruce Fields (31): + Documentation: add git user's manual + Documentation: expand preface and todo's + Documentation: git-rebase discussion, miscellaneous user-manual updates + Documentation: more user-manual todo's + Documentation: reorder development section, todo's + Documentation: begin discussion of git-remote in user manual + Documentation: rev-list -> rev-parse, other typos, start examples + user manual: answer some comments from Junio + user-manual: replace init-db by init + user-manual: reindent + user-manual: rewrap, fix heading levels + user-manual: add "quick start" as chapter 1 + user-manual: minor quickstart reorganization + user-manual: clarify difference between tag and branch + user-manual: update references discussion + user-manual: update git-gc discussion + user-manual: stub discussion of fsck and reflog + user-manual: reorganize fetch discussion, add internals, etc. + user-manual: git-fsck, dangling objects + user-manual: fsck-objects -> fsck + user-manual: repo-config -> config + user-manual: add references to git-config man page + user-manual: typo fix + user-manual: fix a header level + user-manual: reflogs, other recovery + user-manual: rewrap a few long lines + user-manual: minor "TODO" updates + user-manual: document git-show-branch example + user-manual: SHA1 -> object name + user-manual: point to README for gitweb information + user-manual: todo's + +Jakub Narębski (3): + Documentation/config.txt: Document config file syntax better + t/t1300-repo-config.sh: value continued on next line + Documentation/config.txt: Correct info about subsection name + +Jason Riedy (1): + Use inttypes.h rather than stdint.h. + +Jeff King (4): + format-patch: fix bug with --stdout in a subdirectory + contrib/vim: update syntax for changed commit template + diffcore-pickaxe: fix infinite loop on zero-length needle + Add a sample program 'blameview' to show how to use git-blame --incremental + +Johannes Schindelin (2): + annotate: use pager + reflog inspection: introduce shortcut "-g" + +Johannes Sixt (1): + Add a missing fork() error check. + +Junio C Hamano (43): + User manual: fix typos in examples + Documentation/tutorial-2: Fix interesting typo in an example. + Revert "prune: --grace=time" + Make sure git_connect() always give two file descriptors. + is_repository_shallow(): prototype fix. + shallow repository: disable unsupported operations for now. + git-gc: do not run git-prune by default. + cvsimport: activate -a option, really. + .mailmap: fix screw-ups in Uwe's name + honor --author even with --amend, -C, and -c. + reflog gc: a tag that does not point at a commit is not a crime. + git-checkout -m: fix merge case + git-daemon documentation on enabling services. + ls-remote and clone: accept --upload-pack=<path> as well. + Refactor the pack header reading function out of receive-pack.c + Allow fetch-pack to decide keeping the fetched pack without exploding + fetch-pack: remove --keep-auto and make it the default. + Consolidate {receive,fetch}.unpackLimit + Allow non-developer to clone, checkout and fetch more easily. + parse-remote: do not barf on a remote shorthand without any refs to fetch. + show-branch -g: default to HEAD + Documentation: pack-refs --all vs default behaviour + Make sure we do not write bogus reflog entries. + git-merge: leave sensible reflog message when used as the first level UI. + create_symref: check error return from open(). + write_in_full: size_t is unsigned. + Don't force everybody to call setup_ident(). + git-blame --porcelain: quote filename in c-style when needed. + Update describe documentation. + Document 'git-blame --incremental' + git-fsck-objects is now synonym to git-fsck + Two small typofixes. + lock_any_ref_for_update(): do not accept malformatted refs. + git-commit -s: no extra space when sign-offs appear at the end already. + git-blame: somewhat better commenting. + git-send-email: remove debugging output. + Fix git-tag -u + Documentation: "git-checkout <tree> <path>" takes any tree-ish + t9200: Re-code non-ascii path test in UTF-8 + t9200: do not test -x bit if the filesystem does not support it. + git main documentation: point at the user's manual. + Do not use hardcoded path to xhmtl.xsl to generate user's manual + GIT v1.5.0-rc3 + +Linus Torvalds (5): + fsck-objects: refactor checking for connectivity + Fix seriously broken "git pack-refs" + Add dangling objects tips. + git-blame --incremental + git-push through git protocol + +Mark Wooding (3): + wt-status: Actually accept `color.status.BLAH' configuration variables. + Documentation/config.txt: Fix documentation of colour config tweaks. + Make fsck and fsck-objects be builtins. + +Nicolas Pitre (3): + fix suggested branch creation command when detaching head + git-log -g --pretty=oneline should display the reflog message + tone down the detached head warning + +Peter Eriksen (2): + sha1_file.c: Avoid multiple calls to find_pack_entry(). + Documentation: --amend cannot be combined with -c/-C/-F. + +René Scharfe (1): + git-blame --incremental: don't use pager + +Sam Vilain (1): + contrib/emacs/vc-git.el: support vc-version-other-window + +Santi Béjar (1): + git-fetch: Allow fetching the remote HEAD + +Shawn O. Pearce (6): + Remove unnecessary found variable from describe. + Teach git-describe to display distances from tags. + Compute accurate distances in git-describe before output. + Teach for-each-ref about a little language called Tcl. + Don't coredump on bad refs in update-server-info. + Escape --upload-pack from expr. + +Simon 'corecode' Schubert (1): + Replace perl code with pure shell code + +Tom Prince (1): + Rename git-repo-config to git-config. + +Uwe Kleine-König (2): + rename --exec to --upload-pack for fetch-pack and peek-remote + make --upload-pack option to git-fetch configurable + + +Version v1.5.0-rc2; changes since v1.5.0-rc1: +--------------------------------------------- + +Bob Proulx (1): + git-revert: Fix die before git-sh-setup defines it. + +Chris Wedgwood (1): + cache.h; fix a couple of prototypes + +David Kågedal (2): + Shell syntax fix in git-reset + Document --ignore-if-in-upstream in git-format-patch + +Doug Maxey (1): + gitk: add current directory to main window title + +Eric Wong (2): + git-svn: fix tests to work with older svn + git-svn: print and flush authentication prompts to STDERR + +Jason Riedy (4): + Start all test scripts with /bin/sh. + Set _ALL_SOURCE for AIX, but avoid its struct list. + Replace "echo -n" with printf in shell scripts. + Solaris 5.8 returns ENOTDIR for inappropriate renames. + +Jeff King (1): + git-pull: disallow implicit merging to detached HEAD + +Johannes Schindelin (9): + Fix spurious compile error + config_set_multivar(): disallow newlines in keys + show_date(): fix relative dates + apply --cached: fix crash in subdirectory + Do not verify filenames in a bare repository + Teach the revision walker to walk by reflogs with --walk-reflogs + --walk-reflogs: disallow uninteresting commits + --walk-reflogs: actually find the right commit by date. + --walk-reflogs: do not crash with cyclic reflog ancestry + +Junio C Hamano (69): + reflog-expire: brown paper bag fix. + merge-recursive: do not report the resulting tree object name + Explain "Not a git repository: '.git'". + glossary typofix + Make git-prune-packed a bit more chatty. + Define cd_to_toplevel shell function in git-sh-setup + Use cd_to_toplevel in scripts that implement it by hand. + Allow whole-tree operations to be started from a subdirectory + Use log output encoding in --pretty=email headers. + t3901: test "format-patch | am" pipe with i18n + git-commit documentation: -a adds and also removes + Consistent message encoding while reusing log from an existing commit. + More tests in t3901. + git log documentation: teach -<n> form. + Add describe test. + Documentation: merge-output is not too verbose now. + Use merge-recursive in git-revert/git-cherry-pick + git reflog expire: document --stale-fix option. + Fix git-fetch while on detached HEAD not to give needlessly alarming errors + git-push documentation: remaining bits + git-rm documentation: remove broken behaviour from the example. + tutorial: shorthand for remotes but show distributed nature of git + git-commit documentation: remove comment on unfixed git-rm + Use merge-recursive in git-checkout -m (branch switching) + Document where configuration files are in config.txt + git-commit: document log message formatting convention + Documentation/SubmittingPatches: Gnus tips + Documentation/git-tag: the command can be used to also verify a tag. + Documentation/git-tools.txt: mention tig and refer to wiki + Documentation/git-tar-tree.txt: default umask is now 002 + Documentation/git-status.txt: mention color configuration + Documentation/git-whatchanged.txt: show -<n> instead of --max-count. + Documentation/git-sh-setup.txt: programmer's docs + Documentation: detached HEAD + Make a short-and-sweet "git-add -i" synonym for "git-add --interactive" + Documentation: describe shallow repository + Documentation/glossary.txt: unpacked objects are loose. + Documentation/glossary.txt: describe remotes/ tracking and packed-refs + Introduce 'git-format-patch --suffix=.patch' + git-format-patch: do not crash with format.headers without value. + Documentation/git-resolve: deprecated. + Documentation: suggest corresponding Porcelain-level in plumbing docs. + Documentation: m can be relative in "git-blame -Ln,m" + Documentation/git-parse-remote.txt: we deal with config vars as well + git-format-patch -3 + Add --summary to git-format-patch by default + git-format-patch: make --binary on by default + git-format-patch: the default suffix is now .patch, not .txt + Use fixed-size integers for .idx file I/O + Documentation: move command list in git.txt into separate files. + Documentation: sync git.txt command list and manual page title + Documentation: Generate command lists. + for_each_reflog_ent: do not leak FILE * + refs.c::read_ref_at(): fix bogus munmap() call. + Documentation: generated cmds-*.txt does not depend on git.txt + Documentation/git.txt: command re-classification + dwim_ref(): Separate name-to-ref DWIM code out. + Extend read_ref_at() to be usable from places other than sha1_name. + show-branch --reflog: show the reflog message at the top. + show-branch --reflog: tighten input validation. + show-branch --reflog: fix show_date() call + Stop ignoring Documentation/README + git-tag -d: allow deleting multiple tags at once. + branch -f: no reason to forbid updating the current branch in a bare repo. + git-rebase: allow rebasing a detached HEAD. + log --walk-reflog: documentation + reflog-walk: build fixes + Fix --walk-reflog with --pretty=oneline + GIT v1.5.0-rc2 + +Linus Torvalds (2): + Clean up write_in_full() users + Fix up totally buggered read_or_die() + +Matthias Lederhofer (2): + prune-packed: add -q to usage + prune: --grace=time + +Michael S. Tsirkin (1): + fix documentation for git-commit --no-verify + +Nicolas Pitre (4): + use 'init' instead of 'init-db' for shipped docs and tools + simplify the "no changes added to commit" message + some doc updates + sanitize content of README file + +Peter Baumann (1): + Make gitk work when launched in a subdirectory + +Quy Tonthat (1): + git-remote: no longer silent on unknown commands. + +René Scharfe (1): + Documentation: a few spelling fixes + +Santi Béjar (1): + tutorial: Use only separate layout + +Shawn O. Pearce (18): + Improve merge performance by avoiding in-index merges. + Hide output about SVN::Core not being found during tests. + Remove read_or_die in favor of better error messages. + Remove unnecessary call_depth parameter in merge-recursive. + Allow the user to control the verbosity of merge-recursive. + Enable output buffering in merge-recursive. + Display a progress meter during merge-recursive. + Convert output messages in merge-recursive to past tense. + Always perfer annotated tags in git-describe. + Hash tags by commit SHA1 in git-describe. + Use binary searching on large buckets in git-describe. + Improve git-describe performance by reducing revision listing. + Correct priority of lightweight tags in git-describe. + Remove hash in git-describe in favor of util slot. + Use nice names in conflict markers during cherry-pick/revert. + Document the master@{n} reflog query syntax. + Refer users to git-rev-parse for revision specification syntax. + Document pack .idx file format upgrade strategy. + +Simon 'corecode' Schubert (2): + Use fixed-size integers for the on-disk pack structure. + Use standard -t option for touch. + +Uwe Kleine-König (4): + document --exec for git-push + Update documentation of fetch-pack, push and send-pack + make --exec=... option to git-push configurable + rename --exec to --receive-pack for push and send-pack + + +Version v1.5.0-rc1; changes since v1.5.0-rc0: +--------------------------------------------- + +Alex Riesen (1): + Speed-up recursive by flushing index only once for all entries + +Alexandre Julliard (12): + Shallow clone: do not ignore shallowness when following tags + fetch-pack: Properly remove the shallow file when it becomes empty. + upload-pack: Check for NOT_SHALLOW flag before sending a shallow to the client. + git-fetch: Reset shallow_depth before auto-following tags. + get_shallow_commits: Avoid memory leak if a commit has been reached already. + fetch-pack: Do not fetch tags for shallow clones. + git-clean: Fix the -q option. + git.el: Don't use --info-only when resolving a file. + git.el: Avoid setting font lock keywords before entering log-edit mode. + git-apply: Remove directories that have become empty after deleting a file. + git-clone: Make sure the master branch exists before running cat on it. + git.el: Define the propertize function if needed, for XEmacs compatibility. + +Andy Parkins (1): + hooks/commit-msg: add example to add Signed-off-by line to message + +Andy Whitcroft (6): + send pack check for failure to send revisions list + ssh-upload: prevent buffer overrun + short i/o: clean up the naming for the write_{in,or}_xxx family + short i/o: fix calls to read to use xread or read_in_full + short i/o: fix calls to write to use xwrite or write_in_full + short i/o: fix config updates to use write_in_full + +Brian Gernhardt (3): + Add documentation for git-branch's color configuration. + Ignore git-init and git-remote + Auto-quote config values in config.c:store_write_pair() + +Eric Wong (21): + git-svn: quiet down tests and fix some unportable shell constructs + git-svn: dcommit should diff against the current HEAD after committing + t6024-recursive-merge: quiet down this test + test-lib: quiet down init-db output for tests + t9200-git-cvsexportcommit.sh: quiet down commit + git-svn: remove non-delta fetch code paths + git-svn: print out the SVN library version in --version, too + git-svn: verify_ref() should actually --verify + git-svn: sort multi-init output + git-svn: remove svnadmin dependency from the tests + git-svn: t/t9100-git-svn-basic: remove old check for NO_SYMLINK + git-svn: t/t91??-*: optimize the tests a bit + instaweb: load Apache mime and dir modules if they are needed + git-svn: make multi-init less confusing + git-svn: update documentation for multi-{init|fetch} + git-svn: make --repack work consistently between fetch and multi-fetch + Documentation/git-svn: clarify dcommit, rebase vs pull/merge + git-svn: fix show-ignore + git-svn: add --prefix= option to multi-init + git-svn: pass an unambiguous ref to rev-list when grafting-branches + Avoid errors and warnings when attempting to do I/O on zero bytes + +Fredrik Kuivinen (1): + instaweb: Nicer error message when the http daemon isn't found + +J. Bruce Fields (9): + Docs: update cvs-migration.txt to reflect clone's new default behavior + Documentation: update git-clone.txt for clone's new default behavior + Documentation: update glossary entry for "origin" + Documentation: update tutorial's discussion of origin + Documentation: update git-pull.txt for new clone behavior + Documentation: remove master:origin example from pull-fetch-param.txt + Documentation: tutorial editing + Documentation: clarify definition of "reachable" + Documentation: add git-remote man page + +Jakub Narębski (14): + gitweb: Add mod_perl version string to "generator" meta header + gitweb: Precompile CGI routines for mod_perl + Add info about new test families (8 and 9) to t/README + gitweb: Fix error in git_project_index subroutine + gitweb: Fix bug in git_difftree_body (was '!=' instead of 'ne') + gitweb: There can be empty patches (in git_patchset_body) + gitweb: Fix "Use of uninitialized value" warning in git_tags_body + gitweb: Fix error in git_patchest_body for file creation/deletion patch + gitweb: Fix error in "rename to"/"copy to" git diff header output + gitweb: Fix errors in git_patchset_body for empty patches + Revert "gitweb: There can be empty patches (in git_patchset_body)" + gitweb: Fix split patches output (e.g. file to symlink) + gitweb: Remove superfluous "|" in "commit" view + gitweb: Fix git_patchset_body not closing <div class="patch"> + +Jeff King (1): + get_tree_entry: map blank requested entry to tree root + +Jim Meyering (1): + update hook: redirect _both_ diagnostic lines to stderr upon tag failure + +Johannes Schindelin (9): + upload-pack: no longer call rev-list + support fetching into a shallow repository + allow cloning a repository "shallowly" + allow deepening of a shallow repository + add tests for shallow stuff + xdl_merge(): fix a segmentation fault when refining conflicts + Fix yet another subtle xdl_merge() bug + Sanitize for_each_reflog_ent() + Fix t1410 for core.filemode==false + +Junio C Hamano (106): + We should make sure that the protocol is still extensible. + Why does it mean we do not have to register shallow if we have one? + Why didn't we mark want_obj as ~UNINTERESTING in the old code? + shallow clone: unparse and reparse an unshallowed commit + add for_each_reflog_ent() iterator + Protect commits recorded in reflog from pruning. + Teach git-repack to preserve objects referred to by reflog entries. + reflog: fix warning message. + Move in_merge_bases() to commit.c + git reflog expire + reflog expire: prune commits that are not incomplete + reflog expire: do not punt on tags that point at non commits. + show-branch --reflog: add documentation. + Document --numstat in git-apply and git-diff + Document git-reset <commit> -- <paths>... + Move encoding conversion routine out of mailinfo to utf8.c + i18n.logToUTF8: convert commit log message to UTF-8 + Teach log family --encoding + everyday: update for v1.5.0 + count-objects -v: show number of packs as well. + rerere gc: honor configuration and document it + git-reflog: gc.* configuration and documentation. + everyday: replace a few 'prune' and 'repack' with 'gc' + Use 'repack -a -d -l' instead of 'repack -a -d' in git-gc + Set NO_MMAP for Cygwin by default + UTF-8: introduce i18n.logoutputencoding. + gcc does not necessarily pass runtime libpath with -R + Work around http-fetch built with cURL 7.16.0 + Rename t3900 test vector file + t3900: test conversion to non UTF-8 as well + GIT_SKIP_TESTS: allow users to omit tests that are known to break + core.logallrefupdates: log remotes/ tracking branches. + Allow non-fast-forward of remote tracking branches in default clone + t5400 send-pack test: try a bit more nontrivial transfer. + Revert "read_directory: show_both option." + Fix 'git add' with .gitignore + pack-objects: fix use of use_pack(). + mmap: set FD_CLOEXEC for file descriptors we keep open for mmap() + send-pack: fix pipeline. + Documentation: illustrate send-pack pipeline. + commit re-encoding: fix confusion between no and default conversion. + t3900: test log --encoding=none + Documentation: i18n commit log message notes. + Documentation: minor rewording for git-log and git-show pages. + Move commit reencoding parameter parsing to revision.c + commit-tree: cope with different ways "utf-8" can be spelled. + i18n: drop "encoding" header in the output after re-coding. + Documentation/config.txt (and repo-config manpage): mark-up fix. + Update documentation for update hook. + send-pack.c: use is_null_sha1() + send-pack: tell pack-objects to use its internal rev-list. + Do not merge random set of refs out of wildcarded refs + i18n: do not leak 'encoding' header even when we cheat the conversion. + Update send-pack pipeline documentation. + fail pull/merge early in the middle of conflicted merge + git-fetch: remove .keep file at the end. + Strongly discourage --update-head-ok in fetch-options documentation. + Update clone/fetch documentation with --depth (shallow clone) option + Remove unused variable (git-commit.sh) + fetch-pack: do not use lockfile structure on stack. + Fix infinite loop when deleting multiple packed refs. + tutorial: misc updates. + git-verify-tag: make sure we remove temporary file. + pack-check.c::verify_packfile(): don't run SHA-1 update on huge data + rerere: Fix removal of already resolved path. + git-remote + builtin-prune: memory diet. + Fix timestamp for test-tick + builtin-prune: make file-scope static struct to an argument. + builtin-prune: separate ref walking from reflog walking. + Move traversal of reachable objects into a separate library. + reflog expire --fix-stale + reflog --fix-stale: do not check the same trees and commits repeatedly. + diff-index --cached --raw: show tree entry on the LHS for unmerged entries. + git-reset <tree> -- <path> restores absense of <path> in <tree> + Spell default packedgitlimit slightly differently + Move initialization of log_all_ref_updates + Introduce is_bare_repository() and core.bare configuration variable + git-fetch: allow updating the current branch in a bare repository. + git-status: show detached HEAD + Detached HEAD (experimental) + git-checkout: do not warn detaching HEAD when it is already detached. + git-checkout: rewording comments regarding detached HEAD. + git-checkout: safety when coming back from the detached HEAD state. + git-checkout: fix branch name output from the command + --utf8 is now default for 'git-am' + --prune is now default for 'pack-refs' + rm git-rerere.perl -- it is now a built-in. + merge-base: do not leak commit list + Do not ignore a detected patchfile brokenness. + Fix "Do not ignore a detected patchfile brokenness." + builtin-archive: do not free a tree held by the object layer. + git-checkout: safety check for detached HEAD checks existing refs + git-checkout: handle local changes sanely when detaching HEAD + git-am: should work when "--no-utf8 --utf8" is given + -u is now default for 'git-applymbox' + -u is now default for 'git-mailinfo'. + Makefile: remove $foo when $foo.exe is built/installed. + merge-recursive: do not use on-file index when not needed. + Document git-init + index-pack: write-or-die instead of unchecked write-in-full. + config-set: check write-in-full returns in set_multivar + git-rm: do not fail on already removed file. + git-status: wording update to deal with deleted files. + plug a few leaks in revision walking used in describe. + GIT v1.5.0-rc1 + +Jürgen Rühle (7): + Clarify syntax and role of git-add in status output + Improve "nothing to commit" part of status output + Support --amend on initial commit in status output + Improve cached content header of status output + Remove unnecessary git-rm --cached reference from status output + send-email: work around double encoding of in-body From field. + Provide better feedback for the untracked only case in status output + +Lars Hjemli (3): + Skip excessive blank lines before commit body + Refactor print-functions in builtin-branch + git-branch: show detached HEAD + +Linus Torvalds (3): + write-cache: do not leak the serialized cache-tree data. + write_in_full: really write in full or return error on disk full. + Better error messages for corrupt databases + +Luben Tuikov (1): + Blame "linenr" link jumps to previous state at "orig_lineno" + +Martin Langhoff (6): + cvsimport: skip commits that are too recent + cvsimport: skip commits that are too recent (option and documentation) + cvsimport: document -S and -L options + cvsimport: cleanup temporary cvsps file + cvsserver: detect early of we are up to date and avoid costly rev-list + cvsserver: fix revision number during file adds + +Michael Loeffler (1): + git-commit: do not fail to print the diffstat even if there is a file named HEAD + +Nicolas Pitre (5): + add .mailmap for git-shortlog output with the git repository + Add git-reflog to .gitignore + move git-blame to its place in .gitignore + "init-db" can really be just "init" + Add git-init documentation. + +Pavel Roskin (1): + Fix warnings in sha1_file.c - use C99 printf format if available + +Quy Tonthat (1): + git-send-email: default value for "From:" field. + +René Scharfe (3): + Make check target depend on common-cmds.h + Remove shadowing variable from traverse_trees() + Set default "tar" umask to 002 and owner.group to root.root + +Robert Fitzsimons (2): + gitweb: Re-enable rev-list --parents for parse_commit. + gitweb: Fix shortlog only showing HEAD revision. + +Santi Béjar (2): + Documentation/tutorial: misc updates + git-tag: add flag to verify a tag + +Sasha Khapyorsky (3): + git-svnimport: support for incremental import + git-svnimport: clean svn path when accessing SVN repo + git-svnimport: fix edge revisions double importing + +Shawn O. Pearce (49): + Don't crash during repack of a reflog with pruned commits. + Create 'git gc' to perform common maintenance operations. + Use GIT_REFLOG_ACTION environment variable instead. + Honor GIT_REFLOG_ACTION in git-rebase. + Use branch names in 'git-rebase -m' conflict hunks. + Ensure `git-pull` fails if `git-merge` fails. + Honor pull.{twohead,octopus} in git-merge. + Allow git-merge to select the default strategy. + Move better_branch_name above get_ref in merge-recursive. + Allow merging bare trees in merge-recursive. + Use merge-recursive in git-am -3. + Replace unpack_entry_gently with unpack_entry. + Introduce new config option for mmap limit. + Refactor packed_git to prepare for sliding mmap windows. + Use off_t for index and pack file lengths. + Create read_or_die utility routine. + Refactor how we open pack files to prepare for multiple windows. + Replace use_packed_git with window cursors. + Loop over pack_windows when inflating/accessing data. + Document why header parsing won't exceed a window. + Unmap individual windows rather than entire files. + Fully activate the sliding window pack access. + Load core configuration in git-verify-pack. + Ensure core.packedGitWindowSize cannot be less than 2 pages. + Improve error message when packfile mmap fails. + Support unmapping windows on 'temporary' packfiles. + Create pack_report() as a debugging aid. + Test suite for sliding window mmap implementation. + Default core.packdGitWindowSize to 1 MiB if NO_MMAP. + Release pack windows before reporting out of memory. + Replace mmap with xmmap, better handling MAP_FAILED. + Cleanup read_cache_from error handling. + Fix random segfaults in pack-objects. + Force core.filemode to false on Cygwin. + Use PATH_MAX constant for --bare. + Replace "GIT_DIR" with GIT_DIR_ENVIRONMENT. + Automatically detect a bare git repository. + Remove unnecessary argc parameter from run_command_v. + Redirect update hook stdout to stderr. + Use /dev/null for update hook stdin. + Teach Git how to parse standard power of 2 suffixes. + Update packedGit config option documentation. + Add test case for update hooks in receive-pack. + Increase packedGit{Limit,WindowSize} on 64 bit systems. + Don't die in git-http-fetch when fetching packs. + Don't save the commit buffer in git-describe. + Make git-describe a builtin. + Disallow working directory commands in a bare repository. + Chose better tag names in git-describe after merges. + +Stefan-W. Hahn (1): + Replacing the system call pread() with lseek()/xread()/lseek() sequence. + +Steven Grimm (3): + Describe git-clone's actual behavior in the summary + Print a more accurate error message when we fail to create a lock file. + Update git-svn manpage to remove the implication that SVN::* is optional. + +Theodore Ts'o (2): + Fix formatting for urls section of fetch, pull, and push manpages + Fix formatting for urls section of fetch, pull, and push manpages + + +Version v1.5.0-rc0; changes since v1.4.4.5: +------------------------------------------- + +Alex Riesen (1): + Make perl/ build procedure ActiveState friendly. + +Alexandre Julliard (1): + vc-git: Ignore errors caused by a non-existent directory in vc-git-registered. + +Andreas Ericsson (2): + ls-files: Give hints when errors happen. + git-diff: Introduce --index and deprecate --cached. + +Andy Parkins (8): + Improve git-prune -n output + Add support to git-branch to show local and remote branches + Use .git/config for storing "origin" shortcut repository + De-emphasise the symbolic link documentation. + Explicitly add the default "git pull" behaviour to .git/config on clone + Colourise git-branch output + Allow subcommand.color and color.subcommand color configuration + git-status always says what branch it's on + +Aneesh Kumar K.V (1): + Add config example with respect to branch + +Brian Gernhardt (6): + Add --add option to git-repo-config + Make git-diff documentation use [--] when it should. + Add documentation for show-branch --topics + Remove COLLISION_CHECK from Makefile since it's not used. + Keep "git --git-dir" from causing a bus error. + Make git-show-branch options similar to git-branch. + +David S. Miller (1): + Pass -M to diff in request-pull + +Eric Wong (29): + git-svn: handle authentication without relying on cached tokens on disk + git-svn: correctly access repos when only given partial read permissions + git-svn: exit with status 1 for test failures + git-svn: allow SVN:: lib users to track the root of the repository (again) + git-svn: use ~/.subversion config files when using SVN:: libraries + git-svn: enable delta transfers during fetches when using SVN:: libs + git-svn: update tests for recent changes + git-svn: error out when the SVN connection fails during a fetch + git-svn: fix output reporting from the delta fetcher + git-svn: color support for the log command + git-svn: documentation updates + git-svn: fix multi-init + git-svn: avoid network timeouts for long-running fetches + git-svn: extra error check to ensure we open a file correctly + git-svn: use do_switch for --follow-parent if the SVN library supports it + rerere: add clear, diff, and status commands + rerere: record (or avoid misrecording) resolved, skipped or aborted rebase/am + git-svn: enable logging of information not supported by git + git-svn: allow dcommit to take an alternate head + git-svn: correctly display fatal() error messages + git-svn: correctly handle packed-refs in refs/remotes/ + git-svn: correctly handle "(no author)" when using an authors file + git-svn: convert to using Git.pm + git-svn: remove support for the svn command-line client + git-svn: rename 'commit' command to 'set-tree' + git-cvsserver: fix breakage when calling git merge-file + Remove NO_ACCURATE_DIFF options from build systems + git-svn: enable common fetch/commit options for dcommit + Makefile: add quick-install-doc for installing pre-built manpages + +Han-Wen Nienhuys (2): + git-tag: allow empty tag message if -m is given explicitly. + ident.c: Trim hint printed when gecos is empty. + +Iñaki Arenaza (1): + git-cvsimport: add support for CVS pserver method HTTP/1.x proxying + +J. Bruce Fields (5): + Documentation: clarify tutorial pull/merge discussion + cvs-migration: improved section titles, better push/commit explanation + Documentation: reorganize cvs-migration.txt + Documentation: update git-clone man page with new behavior + Documentation: simpler shared repository creation + +Jakub Narębski (26): + gitweb: Protect against possible warning in git_commitdiff + gitweb: Buffer diff header to deal with split patches + git_patchset_body refactoring + gitweb: Default to $hash_base or HEAD for $hash in "commit" and "commitdiff" + gitweb: New improved formatting of chunk header in diff + gitweb: Add an option to href() to return full URL + gitweb: Refactor feed generation, make output prettier, add Atom feed + gitweb: Finish restoring "blob" links in git_difftree_body + gitweb: Replace SPC with also in tag comment + gitweb: Do not use esc_html in esc_path + gitweb: Use git-show-ref instead of git-peek-remote + gitweb: Add author and committer email extraction to parse_commit + gitweb: Add author and contributor email to Atom feed + gitweb: Use author_epoch for pubdate in gitweb feeds + gitweb: Make project description in projects list link to summary view + gitweb: Fix Atom feed <logo>: it is $logo, not $logo_url + git-clone: Rename --use-immingled-remote option to --no-separate-remote + Document git-diff whitespace flags -b and -w + gitweb: Allow PNG, GIF, JPEG images to be displayed in "blob" view + gitweb: Don't use Content-Encoding: header in git_snapshot + gitweb: Show target of symbolic link in "tree" view + gitweb: Add generic git_object subroutine to display object of any type + gitweb: Hyperlink target of symbolic link in "tree" view (if possible) + gitweb: SHA-1 in commit log message links to "object" view + gitweb: Do not show difftree for merges in "commit" view + gitweb: Add title attribute to ref marker with full ref name + gitweb: Add "next" link to commit view + +Jeff King (2): + shortlog: fix segfault on empty authorname + vim syntax: follow recent changes to commit template + +Jim Meyering (1): + Set permissions of each new file before "cvs add"ing it. + +Johannes Schindelin (30): + Build in shortlog + shortlog: do not crash on parsing "[PATCH" + shortlog: read mailmap from ./.mailmap again + shortlog: handle email addresses case-insensitively + shortlog: fix "-n" + shortlog: use pager + sha1_object_info(): be consistent with read_sha1_file() + xdiff: add xdl_merge() + xdl_merge(): fix an off-by-one bug + xdl_merge(): fix thinko + diff -b: ignore whitespace at end of line + xdl_merge(): fix and simplify conflict handling + cvs-migration document: make the need for "push" more obvious + Add builtin merge-file, a minimal replacement for RCS merge + merge-file: support -p and -q; fix compile warnings + Get rid of the dependency on RCS' merge program + merge-recursive: add/add really is modify/modify with an empty base + INSTALL: no need to have GNU diff installed + git-show: grok blobs, trees and tags, too + Document git-merge-file + add a function to rename sections in the config + git-branch: rename config vars branch.<branch>.*, too + Introduce GIT_TEMPLATE_DIR + Use git-merge-file in git-merge-one-file, too + git-tag: support -F <file> option + git-reset --hard: tell the user what the HEAD was reset to + move read_mmfile() into xdiff-interface + Add a test for git-rerere + Make git-rerere a builtin + commit-tree: encourage UTF-8 commit messages. + +Josef Weidendorfer (2): + Add branch.*.merge warning and documentation update + Move "no merge candidate" warning into git-pull + +Junio C Hamano (115): + upload-pack: stop the other side when they have more roots than we do. + apply --numstat: mark binary diffstat with - -, not 0 0 + pack-objects: tweak "do not even attempt delta" heuristics + Store peeled refs in packed-refs file. + remove merge-recursive-old + git-merge: make it usable as the first class UI + merge: allow merging into a yet-to-be-born branch. + Store peeled refs in packed-refs (take 2). + git-fetch: reuse ls-remote result. + git-fetch: fix dumb protocol transport to fetch from pack-pruned ref + git-fetch: allow glob pattern in refspec + refs outside refs/{heads,tags} match less strongly. + Typefix builtin-prune.c::prune_object() + Allow git push to delete remote ref. + gitweb: (style) use chomp without parentheses consistently. + git-clone: stop dumb protocol from copying refs outside heads/ and tags/. + git-branch -D: make it work even when on a yet-to-be-born branch + git-shortlog: fix common repository prefix abbreviation. + git-shortlog: make common repository prefix configurable with .mailmap + git-commit: show --summary after successful commit. + git-fetch: exit with non-zero status when fast-forward check fails + git-fetch: allow forcing glob pattern in refspec + fetch-pack: do not barf when duplicate re patterns are given + grep: do not skip unmerged entries when grepping in the working tree. + git-merge: tighten error checking. + git-merge: do not leak rev-parse output used for checking internally. + cvsimport: style fixup. + git-merge: fix confusion between tag and branch + xmerge: make return value from xdl_merge() more usable. + merge-recursive: use xdl_merge(). + read-tree: further loosen "working file will be lost" check. + Loosen "working file will be lost" check in Porcelain-ish + read-tree: document --exclude-per-directory + git-merge: squelch needless error message. + git-merge: fix "fix confusion between tag and branch" for real + Fix perl/ build. + git-rerere: add 'gc' command. + Documentation/git-commit: rewrite to make it more end-user friendly. + git-commit: allow --only to lose what was staged earlier. + shortlog: remove "[PATCH]" prefix from shortlog output + shortlog: fix segfault on empty authorname + diff --numstat: show binary with '-' to match "apply --numstat" + add test case for recursive merge + git-push: document removal of remote ref with :<dst> pathspec + Revert "git-diff: Introduce --index and deprecate --cached." + git merge: reword failure message. + spurious .sp in manpages + git-push: accept tag <tag> as advertised. + send-pack: tighten checks for remote names + branch --color: change default color selection. + git-blame: show lines attributed to boundary commits differently. + config documentation: group color items together. + git-svn: allow both diff.color and color.diff + Update git-diff documentation + git-fetch: make it work from within a subdirectory. + git-reset: make it work from within a subdirectory. + git-reset [--mixed] <tree> [--] <paths>... + merge: give a bit prettier merge message to "merge branch~$n" + git-clone: use wildcard specification for tracking branches + git-pull: refuse default merge without branch.*.merge + git-clone: lose the artificial "first" fetch refspec + git-clone: lose the traditional 'no-separate-remote' layout + update-index: make D/F conflict error a bit more verbose. + git-add: remove conflicting entry when adding. + Fix check_file_directory_conflict(). + Fix mis-mark-up in git-merge-file.txt documentation + markup fix in svnimport documentation. + rev-list --left-right + Teach all of log family --left-right output. + Make left-right automatic. + Teach show-branch how to show ref-log data. + git-fetch: Avoid reading packed refs over and over again + avoid accessing _all_ loose refs in git-show-ref --verify + show-ref: fix --quiet --verify + show-ref: fix --verify --hash=length + parse-remote::expand_refs_wildcard() + show-ref: fix --exclude-existing + racy-git: documentation updates. + rerere: fix breakage of resolving. + fix testsuite: make sure they use templates freshly built from the source + Teach git-branch to delete tracking branches with -r -d + blame: -b (blame.blankboundary) and --root (blame.showroot) + git-add --interactive + git-add --interactive: hunk splitting + Revert "fix testsuite: make sure they use templates freshly built from the source" + Do not create $GIT_DIR/remotes/ directory anymore. + Use preprocessor constants for environment variable names. + Revert "Make left-right automatic." + fix populate-filespec + config_rename_section: fix FILE* leak + simplify inclusion of system header files. + revision: --skip=<n> + git-add: error out when given no arguments. + compat/inet_ntop: do not use u_int + diff documentation: mostly talk about <commit> + Revert "git-pull: refuse default merge without branch.*.merge" + parse-remote: mark all refs not for merge only when fetching more than one + _XOPEN_SOURCE problem also exists on FreeBSD + commit-tree: do not overflow MAXPARENT + merge and reset: adjust for "reset --hard" messages + default pull: forget about "newbie protection" for now. + Do not support "partial URL shorthand" anymore. + Really fix headers for __FreeBSD__ + git-tag: lose exit after die + Allow branch.*.merge to talk about remote tracking branches. + git-add --interactive: add documentation + match_pathspec() -- return how well the spec matched + git-rm: update to saner semantics + t3600: update the test for updated git rm + git-rm: Documentation + read_directory: show_both option. + git-add: add ignored files when asked explicitly. + git-add: warn when adding an ignored file with an explicit request. + git-add -f: allow adding otherwise ignored files. + GIT v1.5.0 preview + +Lars Hjemli (4): + Add -v and --abbrev options to git-branch + git-branch: add options and tests for branch renaming + rename_ref: use lstat(2) when testing for symlink + git-branch: let caller specify logmsg + +Luben Tuikov (1): + Export PERL_PATH + +Michael Loeffler (1): + git-fetch: ignore dereferenced tags in expand_refs_wildcard + +Nicolas Pitre (11): + builtin git-shortlog is broken + pack-objects: remove redundent status information + make 'git add' a first class user friendly interface to the index + change the unpack limit treshold to a saner value + repacked packs should be read-only + make commit message a little more consistent and conforting + make patch_delta() error cases a bit more verbose + make git a bit less cryptic on fetch errors + index-pack usage of mmap() is unacceptably slower on many OSes other than Linux + clarify some error messages wrt unknown object types + checkout: make the message about the need for a new branch a bit clearer + +Paul Mackerras (1): + gitk: Fix enabling/disabling of menu items on Mac OS X + +Peter Baumann (1): + config option log.showroot to show the diff of root commits + +Petr Baudis (1): + Make git-clone --use-separate-remote the default + +Quy Tonthat (4): + git-clone documentation + Documentation: new option -P for git-svnimport + git-branch -d: do not stop at the first failure. + Documentation/git-branch: new -r to delete remote-tracking branches. + +René Scharfe (1): + shortlog: remove range check + +Robert Fitzsimons (17): + gitweb: Show '...' links in "summary" view only if there are more items + gitweb: Add missing show '...' links change. + gitweb: optimize git_get_last_activity. + gitweb: optimize git_shortlog_body. + gitweb: optimize git_summary. + gitweb: Use rev-list pattern search options. + gitweb: Require a minimum of two character for the search text. + gitweb: Allow search to be disabled from the config file. + gitweb: Paginate commit/author/committer search output + gitweb: Add parse_commits, used to bulk load commit objects. + gitweb: We do longer need the --parents flag in rev-list. + gitweb: Change summary, shortlog actions to use parse_commits. + gitweb: Change log action to use parse_commits. + gitweb: Change header search action to use parse_commits. + gitweb: Change atom, rss actions to use parse_commits. + gitweb: Change history action to use parse_commits. + gitweb: Use rev-list --skip option. + +Robin Rosenberg (1): + Make cvsexportcommit work with filenames with spaces and non-ascii characters. + +Sean Estabrooks (1): + Update documentation to remove incorrect GIT_DIFF_OPTS example. + +Shawn O. Pearce (30): + Teach git-completion.bash how to complete git-merge. + Hide plumbing/transport commands from bash completion. + Teach bash how to complete options for git-name-rev. + Add current branch in PS1 support to git-completion.bash. + Teach bash how to complete git-format-patch. + Teach bash how to complete git-cherry-pick. + Teach bash how to complete git-rebase. + Teach bash about git log/show/whatchanged options. + Support bash completion of refs/remote. + Teach bash about git-repo-config. + Support --strategy=x completion in addition to --strategy x. + Cache the list of merge strategies and available commands during load. + Teach bash about git-am/git-apply and their whitespace options. + Teach bash how to complete long options for git-commit. + Fix broken bash completion of local refs. + Remove uncontested renamed files during merge. + Avoid accessing a slow working copy during diffcore operations. + Provide more meaningful output from 'git init-db'. + Enable reflogs by default in any repository with a working directory. + Teach bash the new features of 'git show'. + Suggest use of "git add file1 file2" when there is nothing to commit. + Align section headers of 'git status' to new 'git add'. + Default GIT_COMMITTER_NAME to login name in recieve-pack. + Suggest 'add' in am/revert/cherry-pick. + Rename imap-send's internal info/warn functions. + Introduce a global level warn() function. + Use extended SHA1 syntax in merge-recursive conflicts. + Display 'theirs' branch name when possible in merge. + Rename gitfakemmap to git_mmap. + Switch git_mmap to use pread. + +Terje Sten Bjerkseth (1): + Fix system header problems on Mac OS X + +Uwe Kleine-König (1): + Fix documentation copy&paste typo + + +Version v1.4.4.5; changes since v1.4.4.4: +----------------------------------------- + +Nicolas Pitre (5): + clean up pack index handling a bit + clean up and optimize nth_packed_object_sha1() usage + get rid of num_packed_objects() + pack-objects: learn about pack index version 2 + sha1_file.c: learn about index version 2 + + +Version v1.4.4.4; changes since v1.4.4.3: +----------------------------------------- + +Johannes Schindelin (1): + diff --check: fix off by one error + +Junio C Hamano (3): + spurious .sp in manpages + Fix infinite loop when deleting multiple packed refs. + pack-check.c::verify_packfile(): don't run SHA-1 update on huge data + + +Version v1.4.4.3; changes since v1.4.4.2: +----------------------------------------- + +Alex Riesen (1): + Clarify fetch error for missing objects. + +Brian Gernhardt (1): + Move Fink and Ports check to after config file + +Chris Wright (1): + no need to install manpages as executable + +Eric Wong (2): + git-svn: exit with status 1 for test failures + git-svn: correctly display fatal() error messages + +Jim Meyering (1): + Don't use memcpy when source and dest. buffers may overlap + +Junio C Hamano (1): + GIT 1.4.4.3 + +Martin Langhoff (1): + cvsserver: Avoid miscounting bytes in Perl v5.8.x + +Shawn O. Pearce (2): + Make sure the empty tree exists when needed in merge-recursive. + Bypass expensive content comparsion during rename detection. + + +Version v1.4.4.2; changes since v1.4.4.1: +----------------------------------------- + +Alex Riesen (1): + git-blame: fix rev parameter handling. + +Andy Parkins (2): + Increase length of function name buffer + Document git-repo-config --bool/--int options. + +Eric Wong (4): + git-svn: error out from dcommit on a parent-less commit + git-svn: correctly handle revision 0 in SVN repositories + git-svn: preserve uncommitted changes after dcommit + git-svn: avoid fetching files twice in the same revision + +Johannes Schindelin (1): + git-mv: search more precisely for source directory in index + +Junio C Hamano (5): + git blame -C: fix output format tweaks when crossing file boundary. + tutorial: talk about user.name early and don't start with commit -a + receive-pack: do not insist on fast-forward outside refs/heads/ + unpack-trees: make sure "df_conflict_entry.name" is NUL terminated. + git-reset to remove "$GIT_DIR/MERGE_MSG" + +René Scharfe (1): + archive-zip: don't use sizeof(struct ...) + + +Version v1.4.4.1; changes since v1.4.4: +--------------------------------------- + +Alexandre Julliard (1): + gitweb: Put back shortlog instead of graphiclog in the project list. + +Chris Riddoch (1): + Move --pretty options into Documentation/pretty-formats.txt + +Jim Meyering (1): + Run "git repack -a -d" once more at end, if there's 1MB or more of not-packed data. + +Johannes Schindelin (1): + Seek back to current filepos when mmap()ing with NO_MMAP + +Junio C Hamano (7): + git-checkout: do not allow -f and -m at the same time. + git-checkout: allow pathspec to recover lost working tree directory + convert-objects: set _XOPEN_SOURCE to 600 + git-fetch: follow lightweit tags as well. + do_for_each_ref: perform the same sanity check for leftovers. + trust-executable-bit: fix breakage for symlinks + GIT 1.4.4.1 + +Linus Torvalds (2): + git-pull: allow pulling into an empty repository + "git fmt-merge-msg" SIGSEGV + +Michal Rokos (1): + archive: use setvbuf() instead of setlinebuf() + +Paolo Ciarrocchi (2): + Teach SubmittingPatches about git-commit -s + Doc: Make comment about merging in tutorial.txt more clear + +Petr Baudis (4): + Fix git-for-each-refs broken for tags + git-apply: Documentation typo fix + Documentation: Define symref and update HEAD description + Documentation: Correct alternates documentation, document http-alternates + +René Scharfe (4): + sparse fix: non-ANSI function declaration + sparse fix: Using plain integer as NULL pointer + git-apply: slightly clean up bitfield usage + Document git-runstatus + + +Version v1.4.4; changes since v1.4.4-rc2: +----------------------------------------- + +Johannes Sixt (2): + test-lib.sh: A command dying due to a signal is an unexpected failure. + Catch errors when writing an index that contains invalid objects. + +Jonas Fonseca (1): + git-update-index(1): fix use of quoting in section title + +Junio C Hamano (1): + GIT 1.4.4 + +Robin Rosenberg (1): + Rework cvsexportcommit to handle binary files for all cases. + + +Version v1.4.4-rc2; changes since v1.4.4-rc1: +--------------------------------------------- + +Eric Wong (3): + git-svn: avoid printing filenames of files we're not tracking + git-svn: don't die on rebuild when --upgrade is specified + git-svn: fix dcommit losing changes when out-of-date from svn + +Jakub Narębski (3): + gitweb: Better git-unquoting and gitweb-quoting of pathnames + gitweb: Use character or octal escape codes (and add span.cntrl) in esc_path + gitweb: New improved patchset view + +Junio C Hamano (14): + gitweb: fix disabling of "forks" + gitweb: minimally fix "fork" support. + gitweb: do not give blame link unconditionally in diff-tree view + git-status: quote LF in its output + git-pickaxe: retire pickaxe + gitweb: protect blob and diff output lines from controls. + gitweb: protect commit messages from controls. + gitweb: fix unmatched div in commitdiff + Documentation: move blame examples + git-annotate: no need to exec blame; it is built-in now. + git-annotate: fix -S on graft file with comments. + path-list: fix path-list-insert return value + git-cvsserver: read from git with -z to get non-ASCII pathnames. + GIT 1.4.4-rc2 + +OGAWA Hirofumi (1): + gitk: Fix nextfile() and add prevfile() + +Petr Baudis (1): + Nicer error messages in case saving an object to db goes wrong + +Robert Shearman (1): + git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch. + + +Version v1.4.4-rc1; changes since v1.4.3.5: +------------------------------------------- + +Alan Chandler (1): + Gitweb - provide site headers and footers + +Alexandre Julliard (5): + pack-refs: Store the full name of the ref even when packing only tags. + git.el: Added functions for moving to the next/prev unmerged file. + git.el: Added a function to open the current file in another window. + git.el: Move point after the log message header when entering log-edit mode. + git.el: Include MERGE_MSG in the log-edit buffer even when not committing a merge. + +Andy Parkins (2): + Make filenames line up in git-status output + Remove uneccessarily similar printf() from print_ref_list() in builtin-branch + +Andy Whitcroft (2): + cvsimport: move over to using git-for-each-ref to read refs. + git-for-each-ref: improve the documentation on scripting modes + +Aneesh Kumar K.V (1): + gitweb: Remove extra "/" in path names for git_get_project_list + +Christian Couder (12): + Add [-s|--hash] option to Linus' show-ref. + Use Linus' show ref in "git-branch.sh". + Document git-show-ref [-s|--hash] option. + Fix show-ref usage for --dereference. + Add pack-refs and show-ref test cases. + When creating branch c/d check that branch c does not already exists. + Uncomment test case: git branch c/d should barf if branch c exists. + Fix a remove_empty_dir_recursive problem. + Clean up "git-branch.sh" and add remove recursive dir test cases. + Use git-update-ref to delete a tag instead of rm()ing the ref file. + Check that a tag exists using show-ref instead of looking for the ref file. + Do not create tag leading directories since git update-ref does it. + +Dennis Stosberg (3): + lock_ref_sha1_basic does not remove empty directories on BSD + Remove bashism from t3210-pack-refs.sh + Bash completion support for aliases + +Dmitry V. Levin (1): + git-clone: define die() and use it. + +Edgar Toernig (1): + Use memmove instead of memcpy for overlapping areas + +Eric Wong (3): + git-send-email: do not pass custom Date: header + git-svn: avoid printing filenames of files we're not tracking + git-svn: don't die on rebuild when --upgrade is specified + +Jakub Narębski (14): + gitweb: Improve git_print_page_path + gitweb: Add '..' (up directory) to tree view if applicable + gitweb: Get rid of git_print_simplified_log + gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff + gitweb: Print commit message without title in commitdiff only if there is any + gitweb: Use --no-commit-id in git_commit and git_commitdiff + Documentation: Update information about <format> in git-for-each-ref + gitweb: Move git_get_last_activity subroutine earlier + gitweb: Add "next" link to commitdiff view + gitweb: Secure against commit-ish/tree-ish with the same name as path + gitweb: Use 's' regexp modifier to secure against filenames with LF + gitweb: Use git-for-each-ref to generate list of heads and/or tags + gitweb: Output also empty patches in "commitdiff" view + gitweb: Better support for non-CSS aware web browsers + +Jeff King (4): + wt-status: use simplified resolve_ref to find current branch + gitignore: git-pack-refs is a generated file. + gitignore: git-show-ref is a generated file. + git-pickaxe: work properly in a subdirectory. + +Jim Meyering (1): + Don't use $author_name undefined when $from contains no /\s</. + +Johannes Schindelin (3): + Fix git-update-index --again + show-branch: mark active branch with a '*' again + Turn on recursive with --summary + +Jonas Fonseca (1): + Add man page for git-show-ref + +Junio C Hamano (96): + Add git-for-each-ref: helper for language bindings + Fix t1400-update-ref test minimally + fsck-objects: adjust to resolve_ref() clean-up. + symbolit-ref: fix resolve_ref conversion. + Add callback data to for_each_ref() family. + Tell between packed, unpacked and symbolic refs. + pack-refs: do not pack symbolic refs. + git-pack-refs --prune + pack-refs: fix git_path() usage. + lock_ref_sha1_basic: remove unused parameter "plen". + Clean-up lock-ref implementation + update-ref: -d flag and ref creation safety. + update a few Porcelain-ish for ref lock safety. + Teach receive-pack about ref-log + receive-pack: call setup_ident before git_config + grep --all-match + teach revision walker about --all-match. + git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 1) + ref locking: allow 'foo' when 'foo/bar' used to exist but not anymore. + refs: minor restructuring of cached refs data. + lock_ref_sha1(): do not sometimes error() and sometimes die(). + lock_ref_sha1(): check D/F conflict with packed ref when creating. + delete_ref(): delete packed ref + git-branch: remove D/F check done by hand. + show-ref --hash=len, --abbrev=len, and --abbrev + git-fetch: adjust to packed-refs. + Fix refs.c;:repack_without_ref() clean-up path + gitweb: make leftmost column of blame less cluttered. + git-fetch: do not look into $GIT_DIR/refs to see if a tag exists. + pack-refs: use lockfile as everybody else does. + gitweb: prepare for repositories with packed refs. + Revert 954a6183756a073723a7c9fd8d2feb13132876b0 + pack-refs: call fflush before fsync. + blame.c: whitespace and formatting clean-up. + git-blame: --show-name (and -f) + git-blame: --show-number (and -n) + blame.c: move code to output metainfo into a separate function. + git-send-email: do not drop custom headers the user prepared + ref-log: allow ref@{count} syntax. + git-send-email: real name with period need to be dq-quoted on From: line + git-blame --porcelain + gitweb: use blame --porcelain + Make git-send-email detect mbox-style patches more readily + core.logallrefupdates create new log file only for branch heads. + git-pack-refs --all + core.logallrefupdates thinko-fix + pack-objects: document --delta-base-offset option + blame: Document and add help text for -f, -n, and -p + gitweb: spell "blame --porcelain" with -p + git-repack: repo.usedeltabaseoffset + diff --numstat + gitweb: use for-each-ref to show the latest activity across branches + ref-log: fix D/F conflict coming from deleted refs. + git-pickaxe: blame rewritten. + git-pickaxe -M: blame line movements within a file. + git-pickaxe -C: blame cut-and-pasted lines. + git-pickaxe: pagenate output by default. + git-pickaxe: fix nth_line() + git-pickaxe: improve "best match" heuristics + git-pickaxe: introduce heuristics to avoid "trivial" chunks + git-pickaxe: do not keep commit buffer. + git-pickaxe: do not confuse two origins that are the same. + git-pickaxe: get rid of wasteful find_origin(). + git-pickaxe: swap comparison loop used for -C + sha1_name.c: avoid compilation warnings. + t3200: git-branch testsuite update + tests: merge-recursive is usable without Python + merge: loosen overcautious "working file will be lost" check. + merge-recursive: use abbreviated commit object name. + merge-recursive: make a few functions static. + merge-recursive: adjust to loosened "working file clobbered" check + t6022: ignoring untracked files by merge-recursive when they do not matter + Documentation: fix git-format-patch mark-up and link it from git.txt + send-pack --keep: do not explode into loose objects on the receiving end. + git-pickaxe: WIP to refcount origin structure. + git-pickaxe: allow -Ln,m as well as -L n,m + git-pickaxe: refcount origin correctly in find_copy_in_parent() + git-pickaxe: tighten sanity checks. + Revert "send-pack --keep: do not explode into loose objects on the receiving end." + git-pickaxe: split find_origin() into find_rename() and find_origin(). + git-pickaxe: cache one already found path per commit. + Introduce a new revision set operator <rev>^! + branch: work in subdirectories. + for-each-ref: "creator" and "creatordate" fields + git-pickaxe: rename detection optimization + git-pickaxe: simplify Octopus merges further + git-pickaxe: re-scan the blob after making progress with -M + git-pickaxe: re-scan the blob after making progress with -C + git-pickaxe: fix origin refcounting + cherry is built-in, do not ship git-cherry.sh + git-blame: add internal statistics to count read blobs. + git-pickaxe: optimize by avoiding repeated read_sha1_file(). + Document git-pack-refs and link it to git(7). + git-pickaxe: -L /regexp/,/regexp/ + git-pickaxe: allow "-L <something>,+N" + GIT 1.4.3-rc1 + +Karl Wiberg (1): + ignore-errors requires cl + +Lars Hjemli (2): + Make git-branch a builtin + Fix show-ref usagestring + +Linus Torvalds (8): + Add "git show-ref" builtin command + Teach "git checkout" to use git-show-ref + Start handling references internally as a sorted in-memory list + Add support for negative refs + Make ref resolution saner + Enable the packed refs file format + Allow '-' in config variable names + git push: add verbose flag and allow overriding of default target repository + +Luben Tuikov (5): + gitweb: blame: print commit-8 on the leading row of a commit-block + gitweb: blame: Mouse-over commit-8 shows author and date + gitweb: blame porcelain: lineno and orig lineno swapped + git-revert with conflicts to behave as git-merge with conflicts + gitweb: esc_html() author in blame + +Martin Waitz (2): + gitweb: start to generate PATH_INFO URLs. + gitweb: warn if feature cannot be overridden. + +Matthew Wilcox (1): + Add --dry-run option to git-send-email + +Nicolas Pitre (24): + introduce delta objects with offset to base + teach git-unpack-objects about deltas with offset to base + teach git-index-pack about deltas with offset to base + make git-pack-objects able to create deltas with offset to base + make pack data reuse compatible with both delta types + let the GIT native protocol use offsets to delta base when possible + zap a debug remnant + allow delta data reuse even if base object is a preferred base + index-pack: compare only the first 20-bytes of the key. + add the capability for index-pack to read from a stream + enable index-pack streaming capability + make index-pack able to complete thin packs. + add progress status to index-pack + mimic unpack-objects when --stdin is used with index-pack + enhance clone and fetch -k experience + index-pack: minor fixes to comment and function name + missing small substitution + make git-push a bit more verbose + Allow pack header preprocessing before unpack-objects/index-pack. + git-fetch can use both --thin and --keep with fetch-pack now + improve fetch-pack's handling of kept packs + have index-pack create .keep file more carefully + remove .keep pack lock files when done with refs update + git-pack-objects progress flag documentation and cleanup + +Petr Baudis (11): + Fix broken sha1 locking + Fix buggy ref recording + gitweb: Document features better + gitweb: Fix search form when PATH_INFO is enabled + bisect reset: Leave the tree in usable state if git-checkout failed + gitweb: Restore object-named links in item lists + gitweb: Make search type a popup menu + gitweb: Do not automatically append " git" to custom site name + gitweb: Show project's README.html if available + gitweb: Support for 'forks' + gitweb: Fix up bogus $stylesheet declarations + +René Scharfe (4): + git-archive --format=zip: use default version ID + git-archive --format=zip: add symlink support + Built-in cherry + Make git-cherry handle root trees + +Robert Shearman (2): + git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch. + git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase. + +Robin Rosenberg (2): + Mention that pull can work locally in the synopsis + Swap the porcelain and plumbing commands in the git man page + +Ryan Anderson (1): + Remove git-annotate.perl and create a builtin-alias for git-blame + +Santi Béjar (2): + fetch: Misc output cleanup + merge and resolve: Output short hashes and .. in "Updating ..." + +Sasha Khapyorsky (2): + git-svnimport.perl: copying directory from original SVN place + git-svnimport: support for partial imports + +Sean Estabrooks (1): + Add --global option to git-repo-config. + +Sergey Vlasov (2): + git-send-email: Document support for local sendmail instead of SMTP server + git-send-email: Read the default SMTP server from the GIT config file + +Shawn O. Pearce (15): + Use column indexes in git-cvsserver where necessary. + Allow short pack names to git-pack-objects --unpacked=. + Only repack active packs by skipping over kept packs. + Teach git-index-pack how to keep a pack file. + Remove unused variable in receive-pack. + Move deny_non_fast_forwards handling completely into receive-pack. + Teach receive-pack how to keep pack files based on object count. + Added completion support for git-branch.exe. + Added bash completion support for git-reset. + Added missing completions for show-branch and merge-base. + Only load .exe suffix'd completions on Cygwin. + Bash completion support for remotes in .git/config. + Take --git-dir into consideration during bash completion. + Support bash completion on symmetric difference operator. + Remove more sed invocations from within bash completion. + + +Version v1.4.3.5; changes since v1.4.3.4: +----------------------------------------- + +Alex Riesen (1): + merge-recursive implicitely depends on trust_executable_bit + +Eric Wong (3): + git-svn: avoid printing filenames of files we're not tracking + git-svn: don't die on rebuild when --upgrade is specified + git-svn: fix dcommit losing changes when out-of-date from svn + +Jakub Narębski (1): + Documentation: Transplanting branch with git-rebase --onto + +Jeff King (1): + Fix git-runstatus for repositories containing a file named HEAD + +Junio C Hamano (3): + adjust_shared_perm: chmod() only when needed. + path-list: fix path-list-insert return value + git-cvsserver: read from git with -z to get non-ASCII pathnames. + +Petr Baudis (1): + Nicer error messages in case saving an object to db goes wrong + +Robert Shearman (1): + git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch. + +Tero Roponen (1): + remove an unneeded test + + +Version v1.4.3.4; changes since v1.4.3.3: +----------------------------------------- + +Andy Parkins (2): + Minor grammar fixes for git-diff-index.txt + git-clone documentation didn't mention --origin as equivalent of -o + +Christian Couder (3): + Remove --syslog in git-daemon inetd documentation examples. + Documentation: add upload-archive service to git-daemon. + Documentation: add git in /etc/services. + +Edgar Toernig (1): + Use memmove instead of memcpy for overlapping areas + +J. Bruce Fields (1): + Documentation: updates to "Everyday GIT" + +Jakub Narębski (3): + diff-format.txt: Combined diff format documentation supplement + diff-format.txt: Correct information about pathnames quoting in patch format + gitweb: Check git base URLs before generating URL from it + +Jan Harkes (1): + Continue traversal when rev-list --unpacked finds a packed commit. + +Johannes Schindelin (1): + link_temp_to_file: call adjust_shared_perm() only when we created the directory + +Junio C Hamano (9): + Documentation: clarify refname disambiguation rules. + combine-diff: a few more finishing touches. + combine-diff: fix hunk_comment_line logic. + combine-diff: honour --no-commit-id + Surround "#define DEBUG 0" with "#ifndef DEBUG..#endif" + quote.c: ensure the same quoting across platforms. + revision traversal: --unpacked does not limit commit list anymore. + link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure + apply: handle "traditional" creation/deletion diff correctly. + +Nicolas Pitre (1): + pack-objects doesn't create random pack names + +René Scharfe (1): + git-cherry: document limit and add diagram + +Shawn O. Pearce (3): + Use ULONG_MAX rather than implicit cast of -1. + Remove SIMPLE_PROGRAMS and make git-daemon a normal program. + Remove unsupported C99 style struct initializers in git-archive. + + +Version v1.4.3.3; changes since v1.4.3.2: +----------------------------------------- + +Eric Wong (1): + git-svn: fix symlink-to-file changes when using command-line svn 1.4.0 + +Gerrit Pape (1): + Set $HOME for selftests + +Junio C Hamano (5): + Documentation: note about contrib/. + RPM package re-classification. + Refer to git-rev-parse:Specifying Revisions from git.txt + Update cherry documentation. + Documentation/SubmittingPatches: 3+1 != 6 + +Petr Baudis (1): + xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines + +Tuncer Ayaz (1): + git-fetch.sh printed protocol fix + + +Version v1.4.3.2; changes since v1.4.3.1: +----------------------------------------- + +Alexandre Julliard (1): + prune-packed: Fix uninitialized variable. + +J. Bruce Fields (1): + Make prune also run prune-packed + +Jakub Narębski (2): + gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2) + gitweb: Do not esc_html $basedir argument to git_print_tree_entry + +Jim Meyering (2): + git-clone: honor --quiet + xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header. + +Junio C Hamano (2): + pager: default to LESS=FRSX not LESS=FRS + daemon: do not die on older clients. + +Karl Wiberg (1): + git-vc: better installation instructions + +Lars Hjemli (1): + Fix usagestring for git-branch + +Petr Baudis (1): + gitweb: Fix setting $/ in parse_commit() + +René Scharfe (1): + git-merge: show usage if run without arguments + +Santi Béjar (1): + Documentation for the [remote] config + + +Version v1.4.3.1; changes since v1.4.3: +--------------------------------------- + +Junio C Hamano (1): + pager: default to LESS=FRS + +Lars Hjemli (1): + Fix typo in show-index.c + +Linus Torvalds (1): + git-apply: prepare for upcoming GNU diff -u format change. + +Nguyễn Thái Ngọc Duy (2): + Reject hexstring longer than 40-bytes in get_short_sha1() + Add revspec documentation for ':path', ':[0-3]:path' and git-describe + +Nicolas Pitre (1): + reduce delta head inflated size + + +Version v1.4.3; changes since v1.4.3-rc3: +----------------------------------------- + +Andy Whitcroft (1): + add proper dependancies on the xdiff source + +Junio C Hamano (1): + Revert "move pack creation to version 3" + +Linus Torvalds (1): + Fix hash function in xdiff library + +Markus Amsler (1): + git-imap-send: Strip smtp From_ header from imap message. + +Petr Baudis (1): + svnimport: Fix broken tags being generated + +René Scharfe (2): + Make write_sha1_file_prepare() void + Replace open-coded version of hash_sha1_file() + + +Version v1.4.3-rc3; changes since v1.4.3-rc2: +--------------------------------------------- + +Christian Couder (1): + Fix tracing when GIT_TRACE is set to an empty string. + +Eric Wong (8): + git-svn: multi-init saves and reuses --tags and --branches arguments + git-svn: log command fixes + Documentation/git-svn: document some of the newer features + git-svn: -h(elp) message formatting fixes + commit: fix a segfault when displaying a commit with unreachable parents + git-svn: add a message encouraging use of SVN::* libraries + git-svn: fix commits over svn+ssh:// + git-svn: reduce memory usage for large commits + +Johannes Schindelin (3): + diff: fix 2 whitespace issues + cvsserver: Show correct letters for modified, removed and added files + cvsserver: fix "cvs diff" in a subdirectory + +Junio C Hamano (6): + Add WEBDAV timeout to http-fetch. + git-fetch --update-head-ok typofix + git-pull: we say commit X, not X commit. + git.spec.in: perl subpackage is installed in perl_vendorlib not vendorarch + apply --numstat -z: line termination fix. + t4015: work-around here document problem on Cygwin. + +Martin Waitz (1): + paginate git-diff by default + +Nicolas Pitre (1): + atomic write for sideband remote messages + +René Scharfe (3): + Documentation: add missing second colons and remove a typo + Add hash_sha1_file() + Make write_sha1_file_prepare() static + +Yasushi SHOJI (1): + clone: the given repository dir should be relative to $PWD + + +Version v1.4.3-rc2; changes since v1.4.3-rc1: +--------------------------------------------- + +Alan Chandler (2): + Update the gitweb/README file to include setting the GITWEB_CONFIG environment + Fix usage string to match that given in the man page + +Alexandre Julliard (2): + git.el: Fixed inverted "renamed from/to" message. + vc-git.el: Switch to using git-blame instead of git-annotate. + +Dennis Stosberg (2): + lock_ref_sha1_basic does not remove empty directories on BSD + Add default values for --window and --depth to the docs + +Franck Bui-Huu (1): + Add git-upload-archive to the main git man page + +Jakub Narębski (1): + gitweb: Cleanup Git logo and Git logo target generation + +Junio C Hamano (9): + Makefile: install and clean merge-recur, still. + git-mv: invalidate the removed path properly in cache-tree + git-push: .git/remotes/ file does not require SP after colon + escape tilde in Documentation/git-rev-parse.txt + tar-tree deprecation: we eat our own dog food. + gitweb: Make the Git logo link target to point to the homepage + git-send-email: avoid uninitialized variable warning. + cherry-pick: make -r the default + Fix git-revert + +Luben Tuikov (3): + gitweb: Escape ESCAPE (\e) character + gitweb: Do not print "log" and "shortlog" redundantly in commit view + gitweb: blame: Minimize vertical table row padding + +Martin Waitz (4): + gitweb: document webserver configuration for common gitweb/repo URLs. + git-commit: cleanup unused function. + git-commit: fix coding style. + test-lib: separate individual test better in verbose mode. + +Nicolas Pitre (1): + add commit count options to git-shortlog + +Petr Baudis (4): + Show snapshot link in shortlog only if have_snapsho + gitweb: Separate (new) and (deleted) in commitdiff by a space + gitweb: Handle commits with empty commit messages more reasonably + gitweb: [commit view] Do not suppress commitdiff link in root commit + +René Scharfe (1): + git-tar-tree: don't RUN_SETUP + +Robin Rosenberg (1): + Error in test description of t1200-tutorial + +Yasushi SHOJI (1): + gitweb: refactor decode() for utf8 conversion + + +Version v1.4.3-rc1; changes since v1.4.2.4: +------------------------------------------- + +Alex Riesen (3): + Use const for interpolate arguments + fix daemon.c compilation for NO_IPV6=1 + do not discard constness in interp_set_entry value argument + +Andy Whitcroft (3): + send-pack: remove remote reference limit + send-pack: switch to using git-rev-list --stdin + svnimport: add support for parsing From: lines for author + +Aneesh Kumar K.V (4): + gitweb: Support for snapshot + gitweb: fix snapshot support + gitweb: Make blame and snapshot a feature. + gitweb: Fix git_blame + +Art Haas (1): + Patch for http-fetch.c and older curl releases + +Christian Couder (8): + Trace into open fd and refactor tracing code. + Trace into a file or an open fd and refactor tracing code. + Update GIT_TRACE documentation. + Fix memory leak in prepend_to_path (git.c). + Move add_to_string to "quote.c" and make it extern. + Fix a memory leak in "connect.c" and die if command too long. + Fix space in string " false" problem in "trace.c". + Remove empty ref directories that prevent creating a ref. + +David Rientjes (18): + blame.c return cleanup + builtin-grep.c cleanup + builtin-push.c cleanup + diff.c cleanup + http-push.c cleanup + read-cache.c cleanup + Make pprint_tag void and cleans up call in cmd_cat_file. + Make show_entry void + Make checkout_all void. + Make fsck_dir void. + Make pack_objects void. + Make track_tree_refs void. + Make upload_pack void and remove conditional return. + Make sha1flush void and remove conditional return. + make inline is_null_sha1 global + use appropriate typedefs + remove unnecessary initializations + Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. + +Dennis Stosberg (10): + "test" in Solaris' /bin/sh does not support -e + Makefile fix for Solaris + Add possibility to pass CFLAGS and LDFLAGS specific to the perl subdir + Solaris has strlcpy() at least since version 8 + Look for sockaddr_storage in sys/socket.h + Fix detection of ipv6 on Solaris + Fix compilation with Sun CC + gitweb: Use --git-dir parameter instead of setting $ENV{'GIT_DIR'} + gitweb: Remove forgotten call to git_to_hash + use do() instead of require() to include configuration + +Dmitry V. Levin (3): + Make count-objects, describe and merge-tree work in subdirectory + Documentation: Fix broken links + Handle invalid argc gently + +Eric Wong (5): + pass DESTDIR to the generated perl/Makefile + git-svn: establish new connections on commit after fork + git-svn: recommend rebase for syncing against an SVN repo + git-svn: add the 'dcommit' command + git-svn: stop repeatedly reusing the first commit message with dcommit + +Franck Bui-Huu (10): + Add a newline before appending "Signed-off-by: " line + log-tree.c: cleanup a bit append_signoff() + Add git-archive + git-archive: wire up TAR format. + git-archive: wire up ZIP format. + Add git-upload-archive + connect.c: finish_connect(): allow null pid parameter + Test return value of finish_connect() + upload-archive: monitor child communication even more carefully. + git-archive: update documentation + +Haavard Skinnemoen (1): + git-send-email: Don't set author_not_sender from Cc: lines + +Jakub Narębski (138): + gitweb: whitespace cleanup + gitweb: Use list for of open for running git commands, thorougly. + gitweb: simplify git_get_hash_by_path + gitweb: More explicit error messages for open "-|" + gitweb: Cleanup - chomp $line in consistent style + gitweb: Cleanup - chomp @lines in consistent style + gitweb: Add git_page_nav for later use + gitweb: Navbar refactoring - use git_page_nav to generate navigation bar + gitweb: Replace form-feed character by ^L + gitweb: Show project descriptions with utf-8 characters in project list correctly + gitweb: Add "\n" after <br/> in git_page_nav + gitweb: Pager refactoring - use git_get_paging_nav for pagination + gitweb: Remove $project from git_get_paging_nav arguments + gitweb: Headers refactoring - use git_header_div for header divs + gitweb: Remove characters entities entirely when shortening string + gitweb: Ref refactoring - use git_get_referencing for marking tagged/head commits + gitweb: Refactor generation of shortlog, tags and heads body + gitweb: do not quote path for list version of open "-|" + gitweb: Remove characters entities entirely when shortening string -- correction + gitweb: Reordering code and dividing it into categories + gitweb: Refactoring git_project_list + autoconf: Add support for setting SHELL_PATH and PERL_PATH + autoconf: Move site configuration section earlier in configure.ac + autoconf: Add support for setting PYTHON_PATH or NO_PYTHON + autoconf: Check for ll hh j z t size specifiers introduced by C99 + autoconf: Typo cleanup, reordering etc. + Copy description of new build configuration variables to configure.ac + autoconf: Set NEEDS_LIBICONV unconditionally if there is no iconv in libc + gitweb: Separate input validation and dispatch, add comment about opml action + gitweb: die_error first (optional) parameter is HTTP status + gitweb: Use undef for die_error to use default first (status) parameter value + gitweb: Don't undefine query parameter related variables before die_error + gitweb: Cleanup and uniquify error messages + gitweb: No periods for error messages + gitweb: No error messages with unescaped/unprotected user input + gitweb: PATH_INFO=/ means no project + gitweb: Inline $rss_link + gitweb: Refactor untabifying - converting tabs to spaces + gitweb: fix commitdiff for root commits + gitweb: Skip nonmatching lines in difftree output, consistently + autoconf: Unset NO_STH and NEED_STH when it is detected not needed + gitweb: Remove unused variables in git_shortlog_body and git_heads + autoconf: Add configure target to main Makefile + autoconf: Error out on --without-shell and --without-perl + autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling + autoconf: Move variables which we always set to config.mak.in + autoconf: It is --without-python, not --no-python + autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR + gitweb: Whitespace cleanup - tabs are for indent, spaces are for align + gitweb: Great subroutines renaming + gitweb: Separate ref parsing in git_get_refs_list into parse_ref + gitweb: Refactor printing shortened title in git_shortlog_body and git_tags_body + gitweb: Separate main part of git_history into git_history_body + gitweb: Separate finding project owner into git_get_project_owner + gitweb: Change appereance of marker of refs pointing to given object + gitweb: Skip comments in mime.types like file + gitweb: True fix: Support for the standard mime.types map in gitweb + gitweb: Separate printing difftree in git_commit into git_difftree_body + gitweb: Show project's git URL on summary page + gitweb: Add support for per project git URLs + gitweb: Uniquify version info output, add meta generator in page header + gitweb: Refactor printing commit message + gitweb: Added parse_difftree_raw_line function for later use + gitweb: Use parse_difftree_raw_line in git_difftree_body + gitweb: bugfix: a.list formatting regression + gitweb: Replace some presentational HTML by CSS + gitweb: Whitespace cleanup: realign, reindent + gitweb: Use underscore instead of hyphen to separate words in HTTP headers names + gitweb: Route rest of action subroutines through %actions + gitweb: Use here-doc + gitweb: Drop the href() params which keys are not in %mapping + gitweb: Sort CGI parameters returned by href() + gitweb: Use git-diff-tree patch output for commitdiff + gitweb: Show information about incomplete lines in commitdiff + gitweb: Remove invalid comment in format_diff_line + gitweb: Streamify patch output in git_commitdiff + gitweb: Add git_get_{following,preceding}_references functions + gitweb: Faster return from git_get_preceding_references if possible + gitweb: Add git_get_rev_name_tags function + gitweb: Use git_get_name_rev_tags for commitdiff_plain X-Git-Tag: header + gitweb: Add support for hash_parent_base parameter for blobdiffs + gitweb: Allow for pre-parsed difftree info in git_patchset_body + gitweb: Parse two-line from-file/to-file diff header in git_patchset_body + gitweb: Add invisible hyperlink to from-file/to-file diff header + gitweb: Always display link to blobdiff_plain in git_blobdiff + gitweb: Change here-doc back for style consistency in git_blobdiff + gitweb: Use git-diff-tree or git-diff patch output for blobdiff + gitweb: git_blobdiff_plain is git_blobdiff('plain') + gitweb: Remove git_diff_print subroutine + gitweb: Remove creating directory for temporary files + gitweb: git_annotate didn't expect negative numeric timezone + gitweb: Remove workaround for git-diff bug fixed in f82cd3c + gitweb: Improve comments about gitweb features configuration + gitweb: blobs defined by non-textual hash ids can be cached + gitweb: Fix typo in git_difftree_body + gitweb: Fix typo in git_patchset_body + gitweb: Remove unused git_get_{preceding,following}_references + gitweb: Remove git_to_hash function + gitweb: Use @diff_opts, default ('M'), as git-diff and git-diff-tree paramete + gitweb: Make git_print_log generic; git_print_simplified_log uses it + gitweb: Do not remove signoff lines in git_print_simplified_log + gitweb: Add author information to commitdiff view + gitweb: git_print_log: signoff line is non-empty line + gitweb: Add diff tree, with links to patches, to commitdiff view + gitweb: Add local time and timezone to git_print_authorship + gitweb: Move git-ls-tree output parsing to parse_ls_tree_line + gitweb: Separate printing of git_tree row into git_print_tree_entry + gitweb: Extend parse_difftree_raw_line to save commit info + gitweb: Change the name of diff to parent link in "commit" view to "diff + gitweb: Add GIT favicon, assuming image/png type + gitweb: Correct typo: '==' instead of 'eq' in git_difftree_body + gitweb: Divide page path into directories -- path's "breadcrumbs" + autoconf: Add -liconv to LIBS when NEEDS_LIBICONV + autoconf: Check for subprocess.py + autoconf: Quote AC_CACHE_CHECK arguments + autoconf: Fix copy'n'paste error + autoconf: Set NO_ICONV if iconv is found neither in libc, nor in libiconv + autoconf: Add support for setting NO_ICONV and ICONVDIR + autoconf: Add config.cache to .gitignore + gitweb: Make pickaxe search a feature + gitweb: Paginate history output + gitweb: Use File::Find::find in git_get_projects_list + gitweb: Do not parse refs by hand, use git-peek-remote instead + gitweb: Add git_project_index for generating index.aux + gitweb: Allow for href() to be used for links without project param + gitweb: Add link to "project_index" view to "project_list" page + gitweb: Fix mimetype_guess_file for files with multiple extensions + gitweb: Even more support for PATH_INFO based URLs + gitweb: Require project for almost all actions + gitweb: Always use git-peek-remote in git_get_references + gitweb: Make git_get_refs_list do work of git_get_references + gitweb: Fix thinko in git_tags and git_heads + gitweb: Make git_get_hash_by_path check type if provided + gitweb: Strip trailing slashes from $path in git_get_hash_by_path + gitweb: Use "return" instead of "return undef" for some subs + gitweb: Split validate_input into validate_pathname and validate_refname + gitweb: Add git_url subroutine, and use it to quote full URLs + gitweb: Quote filename in HTTP Content-Disposition: header + +Jeff King (9): + gitweb: optionally read config from GITWEB_CONFIG + diff: support custom callbacks for output + Move color option parsing out of diff.c and into color.[ch] + git-commit.sh: convert run_status to a C builtin + git-status: document colorization config options + contrib/vim: add syntax highlighting file for commits + wt-status: remove extraneous newline from 'deleted:' output + rev-list: fix segfault with --{author,committer,grep} + git-repack: allow git-repack to run in subdirectory + +Johannes Schindelin (35): + Git.xs: older perl do not know const char * + Status update on merge-recursive in C + Cumulative update of merge-recursive in C + merge-recur: Convert variable names to lower_case + merge-recur: Get rid of debug code + merge-recur: Remove dead code + merge-recur: Fix compiler warning with -pedantic + merge-recur: Cleanup last mixedCase variables... + merge-recur: Explain why sha_eq() and struct stage_data cannot go + merge-recur: fix thinko in unique_path() + read-trees: refactor the unpack_trees() part + read-tree: move merge functions to the library + merge-recur: use the unpack_trees() interface instead of exec()ing read-tree + merge-recur: virtual commits shall never be parsed + merge-recursive: fix rename handling + http-push: avoid fork() by calling merge_bases() directly + merge-recur: do not call git-write-tree + merge-recur: do not setenv("GIT_INDEX_FILE") + merge-recur: if there is no common ancestor, fake empty one + merge-recur: try to merge older merge bases first + merge-recur: do not die unnecessarily + discard_cache(): discard index, even if no file was mmap()ed + Add the --color-words option to the diff options family + builtin-mv: readability patch + unpack-objects: remove unused variable "eof" + Makefile: fix typo + Remove uneeded #include + fmt-merge-msg: fix off-by-one bug + Teach runstatus about --untracked + add receive.denyNonFastforwards config variable + receive-pack: plug memory leak in fast-forward checking code. + Document receive.denyNonFastforwards + runstatus: do not recurse into subdirectories if not needed + daemon: default to 256 for HOST_NAME_MAX if it is not defined + diff --stat: ensure at least one '-' for deletions, and one '+' for additions + +Jon Loeliger (3): + Add virtualization support to git-daemon + Cleaned up git-daemon virtual hosting support. + Removed memory leaks from interpolation table uses. + +Jonas Fonseca (21): + git-apply(1): document missing options and improve existing ones + git-ls-remote(1): document --upload-pack + git-blame(1): mention options in the synopsis and advertise pickaxe + gitk(1): expand the manpage to look less like a template + git(7): put the synopsis in a verse style paragraph + gitview.txt: improve asciidoc markup + git-svn(1): improve asciidoc markup + describe: fix off-by-one error in --abbrev=40 handling + Use PATH_MAX instead of MAXPATHLEN + Use xrealloc instead of realloc + Use fstat instead of fseek + Use xcalloc instead of calloc + Add --relative-date option to the revision interface + git(7): move gitk(1) to the list of porcelain commands + Use xmalloc instead of malloc + Include config.mak.autogen in the doc Makefile + git-rev-list(1): group options; reformat; document more options + git-apply(1): document --unidiff-zero + git-repack(1): document --window and --depth + Fix trivial typos and inconsistencies in hooks documentation + gitk(1): mention --all + +Junio C Hamano (125): + Perl interface: add build-time configuration to allow building with -fPIC + Perl interface: make testsuite work again. + perl: fix make clean + Git.pm: tentative fix to test the freshly built Git.pm + Perly Git: arrange include path settings properly. + Makefile: Set USE_PIC on x86-64 + Perly git: work around buggy make implementations. + Git.pm: clean generated files. + Perly Git: make sure we do test the freshly built one. + INSTALL: a tip for running after building but without installing. + Work around sed and make interactions on the backslash at the end of line. + upload-pack: use object pointer not copy of sha1 to keep track of has/needs. + upload-pack: lift MAX_NEEDS and MAX_HAS limitation + recur vs recursive: help testing without touching too many stuff. + sha1_file.c: expose map_sha1_file() interface. + pack-objects: reuse deflated data from new-style loose objects. + unpack-objects: read configuration data upon startup. + Makefile: git-merge-recur depends on xdiff libraries. + gitweb: There can be more than two levels of subdirectories + gitweb: an obvious cut and paste error. + gitweb: fix use of uninitialized value. + gitweb: when showing history of a tree, show tree link not blob + gitweb: avoid undefined value warning in print_page_path + gitweb/README: do not bug Kay with gitweb questions anymore + Makefile: gitweb/gitweb.cgi is now generated. + gitweb: do not use @@FOO@@ for replaced tokens + .gitignore: git-merge-recur is a built file. + Make git-checkout-index a builtin + builtins: Makefile clean-up + git.c: Rename NEEDS_PREFIX to RUN_SETUP + autoconf: fix NEEDS_SSL_WITH_CRYPTO + autoconf: NO_IPV6 + Racy git: avoid having to be always too careful + read-cache: tweak racy-git delay logic + autoconf: clean temporary file mak.append + git-grep: show pathnames relative to the current directory + upload-pack: minor clean-up in multi-ack logic + Fix type of combine-diff.c::show_patch_diff() + Remove combine-diff.c::uninteresting() + t4116 apply --reverse test + git-apply --reverse: simplify reverse option. + git-apply --binary: clean up and prepare for --reverse + avoid nanosleep(2) + Documentation/technical/racy-git.txt + Add check program "git-check-racy" + Remove the "delay writing to avoid runtime penalty of racy-git avoidance" + builtin-grep: remove unused debugging cruft. + builtin-apply --reverse: two bugfixes. + diff.c: make binary patch reversible. + apply --reverse: tie it all together. + git-apply --reject + git-apply --reject: send rejects to .rej files. + git-apply --verbose + apply --reject: count hunks starting from 1, not 0 + Convert memset(hash,0,20) to hashclr(hash). + hashcpy/hashcmp remaining bits. + builtin-grep.c: remove unused debugging piece. + update-index -g + git-apply --reject: finishing touches. + free(NULL) is perfectly valid. + daemon: prepare for multiple services. + daemon: add upload-tar service. + multi-service daemon: documentation + t5710: fix two thinkos. + Constness tightening for move/link_temp_to_file() + consolidate two copies of new style object header parsing code. + pack-objects: re-validate data we copy from elsewhere. + Revert "Convert git-annotate to use Git.pm" + Revert "Git.pm: Introduce fast get_object() method" + Revert "Make it possible to set up libgit directly (instead of from the environment)" + pack-objects: fix thinko in revalidate code + more lightweight revalidation while reusing deflated stream in packing + unpack-objects desperately salvages objects from a corrupt pack + revision.c: allow injecting revision parameters after setup_revisions(). + Teach rev-list an option to read revs from the standard input. + Revert "daemon: add upload-tar service." + Make apply --binary a no-op. + diff --binary generates full index on binary files. + Separate object listing routines out of rev-list + pack-objects: run rev-list equivalent internally. + pack-objects: further work on internal rev-list logic. + pack-objects --unpacked=<existing pack> option. + get_sha1_hex() micro-optimization + archive: allow remote to have more formats than we understand. + Move sideband client side support into reusable form. + Move sideband server side support into reusable form. + archive: force line buffered output to stderr + Add --verbose to git-archive + Teach --exec to git-archive --remote + Prepare larger packet buffer for upload-pack protocol. + Add sideband status report to git-archive protocol + upload-archive: monitor child communication more carefully. + builtin-archive.c: rename remote_request() to extract_remote_arg() + pack-objects: document --revs, --unpacked and --all. + http-fetch: fix alternates handling. + unpack-objects -r: call it "recover". + Document git-grep -[Hh] + Define fallback PATH_MAX on systems that do not define one in <limits.h> + Fix git-am safety checks + http-fetch.c: consolidate code to detect missing fetch target + Add ftp:// protocol support for git-http-fetch + t1400: make test debuggable. + apply --unidiff-zero: loosen sanity checks for --unidiff=0 patches + builtin-grep: make pieces of it available as library. + revision traversal: prepare for commit log match. + revision traversal: --author, --committer, and --grep. + repack: use only pack-objects, not rev-list. + Update grep internal for grepping only in head/body + git log: Unify header_filter and message_filter into one. + Make hexval() available to others. + sha1_name.c: understand "describe" output as a valid object name + diff.c: second war on whitespace. + git-apply: second war on whitespace. + Add t5510 to test per branch configuration affecting git-fetch. + Remove upload-tar and make git-tar-tree a thin wrapper to git-archive + Deprecate merge-recursive.py + diff --stat: allow custom diffstat output width. + diff --stat: color output. + An illustration of rev-list --parents --pretty=raw + grep: free expressions and patterns when done. + grep: fix --fixed-strings combined with expression. + Contributed bash completion support for core Git tools. + git-diff -B output fix. + Remove -fPIC which was only needed for Git.xs + GIT 1.4.3-rc1 + +Linus Torvalds (10): + Relative timestamps in git log + git-fsck-objects: lacking default references should not be fatal + Fix git-fsck-objects SIGSEGV/divide-by-zero + Add "-h/-H" parsing to "git grep" + Allow multiple "git_path()" uses + git-log --author and --committer are not left-anchored by default + Clean up approxidate() in preparation for fixes + Fix approxidate() to understand more extended numbers + diff --stat=width[,name-width]: allow custom diffstat output width. + Fix approxidate() to understand 12:34 AM/PM are 00:34 and 12:34 + +Liu Yubao (1): + Fix duplicate xmalloc in builtin-add + +Luben Tuikov (19): + gitweb: git_tree displays blame based on repository config + gitweb: bugfix: git_commit and git_commitdiff parents + gitweb: blame table row no highlight fix + gitweb: bugfix: commitdiff regression + gitweb: bugfix: git_print_page_path() needs the hash base + gitweb: tree view: eliminate redundant "blob" + gitweb: Remove redundant "tree" link + gitweb: extend blame to show links to diff and previous + Revert "gitweb: extend blame to show links to diff and previous" + gitweb: Remove excessively redundant entries from git_difftree_body + gitweb: Add history and blame to git_difftree_body() + gitweb: "alternate" starts with shade (i.e. 1) + gitweb: Remove redundant "commit" link from shortlog + gitweb: Factor out gitweb_have_snapshot() + gitweb: Add snapshot to shortlog + gitweb: Don't use quotemeta on internally generated strings + gitweb: Remove redundant "commit" from history + gitweb: History: blob and tree are first, then commitdiff, etc + gitweb: tree view: hash_base and hash are now context sensitive + +Martin Langhoff (1): + git-repack: create new packs inside $GIT_DIR, not cwd + +Martin Waitz (11): + gitweb: fill in gitweb configuration by Makefile + gitweb: use out-of-line GIT logo. + gitweb: provide function to format the URL for an action link. + gitweb: consolidate action URL generation. + gitweb: continue consolidation of URL generation. + gitweb: support for "fp" parameter. + gitweb: support for / as home_link. + gitweb: fix project list if PATH_INFO=="/". + gitweb: more support for PATH_INFO based URLs + gitweb: fix uninitialized variable warning. + gitweb: fix display of trees via PATH_INFO. + +Matthias Kestenholz (6): + Make git-name-rev a builtin + Make git-pack-objects a builtin + Make git-unpack-objects a builtin + Make git-symbolic-ref a builtin + Add gitweb.cgi to .gitignore + Check if pack directory exists prior to descending into it + +Matthias Lederhofer (12): + pager: environment variable GIT_PAGER to override PAGER + gitweb: use a hash to lookup the sub for an action + gitweb: require $ENV{'GITWEB_CONFIG'} + gitweb: check if HTTP_ACCEPT is really set + gitweb: fix commitdiff_plain for root commits + gitweb: fix $project usage + gitweb: do not use 'No such directory' error message + gitweb: export options + gitweb: fix warnings in PATH_INFO code and add export_ok/strict_export + gitweb fix validating pg (page) parameter + format-patch: use cwd as default output directory + git-format-patch: fix bug using -o in subdirectories + +Nicolas Pitre (2): + move pack creation to version 3 + many cleanups to sha1_file.c + +Paul Mackerras (10): + gitk: Minor cleanups + gitk: Recompute ancestor/descendent heads/tags when rereading refs + gitk: Add a row context-menu item for creating a new branch + gitk: Add a context menu for heads + gitk: Fix a couple of buglets in the branch head menu items + gitk: Add a menu item for cherry-picking commits + gitk: Update preceding/following tag info when creating a tag + gitk: Improve responsiveness while reading and layout out the graph + gitk: Fix some bugs in the new cherry-picking code + diff-index --cc shows a 3-way diff between HEAD, index and working tree. + +Pavel Roskin (3): + Fix probing for already installed Error.pm + Delete manuals if compiling without docs + Make perl interface a separate package + +Petr Baudis (43): + Introduce Git.pm (v4) + Git.pm: Implement Git::exec_path() + Git.pm: Call external commands using execv_git_cmd() + Git.pm: Implement Git::version() + Add Error.pm to the distribution + Git.pm: Better error handling + Git.pm: Handle failed commands' output + Git.pm: Enhance the command_pipe() mechanism + Git.pm: Implement options for the command interface + Git.pm: Add support for subdirectories inside of working copies + Convert git-mv to use Git.pm + Git.pm: assorted build related fixes. + Git.pm: Try to support ActiveState output pipe + Git.pm: Swap hash_object() parameters + Git.pm: Fix Git->repository("/somewhere/totally/elsewhere") + Git.pm: Support for perl/ being built by a different compiler + Git.pm: Remove PerlIO usage from Git.xs + Git.pm: Avoid ppport.h + Git.pm: Don't #define around die + Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging + Git.pm: Add config() method + Convert git-send-email to use Git.pm + Git.pm: Introduce ident() and ident_person() methods + Make it possible to set up libgit directly (instead of from the environment) + Git.pm: Introduce fast get_object() method + Convert git-annotate to use Git.pm + Eliminate Scalar::Util usage from private-Error.pm + Fix showing of path in tree view + gitweb: Link (HEAD) tree for each project from projects list + gitweb: More per-view navigation bar links + gitweb: Link to tree instead of snapshot in shortlog + gitweb: Link to latest tree from the head line in heads list + gitweb: Link to associated tree from a particular log item in full log view + gitweb: Rename "plain" labels to "raw" + gitweb: Relabel "head" as "HEAD" + Make path in tree view look nicer + gitweb: Fix tree link associated with each commit log entry. + gitweb: Fix @git_base_url_list usage + Fix snapshot link in tree view + Git.pm: Kill Git.xs for now + Deprecate git-resolve.sh + gitweb: Consolidate escaping/validation of query string + gitweb: fix over-eager application of esc_html(). + +Pierre Habouzit (7): + Fix a comparison bug in diff-delta.c + avoid to use error that shadows the function name, use err instead. + git_dir holds pointers to local strings, hence MUST be const. + missing 'static' keywords + remove ugly shadowing of loop indexes in subloops. + use name[len] in switch directly, instead of creating a shadowed variable. + n is in fact unused, and is later shadowed. + +Randal L. Schwartz (1): + builtin-upload-archive.c broken on openbsd + +René Scharfe (15): + git-verify-pack: make builtin + Axe the last ent + Add write_or_die(), a helper function + Add git-zip-tree + git-cherry: remove unused variable + git-reset: remove unused variable + Add git-zip-tree to .gitignore + git-archive: make compression level of ZIP archives configurable + Use xstrdup instead of strdup in builtin-{tar,zip}-tree.c + git-archive: inline default_parse_extra() + git-tar-tree: devolve git-tar-tree into a wrapper for git-archive + Remove git-zip-tree + Rename builtin-zip-tree.c to archive-zip.c + git-tar-tree: Remove duplicate git_config() call + git-tar-tree: Move code for git-archive --format=tar to archive-tar.c + +Robin Rosenberg (2): + Quote arguments to tr in test-lib + Make cvsexportcommit remove files. + +Santi Béjar (4): + Fetch: default remote repository from branch properties + fetch: get the remote branches to merge from the branch properties + Add test for the default merges in fetch. + fetch: Reset remote refs list each time fetch_main is called + +Sasha Khapyorsky (3): + Trivial support for cloning and fetching via ftp://. + git-svnimport: Parse log message for Signed-off-by: lines + http/ftp: optionally ask curl to not use EPSV command + +Sergey Vlasov (2): + Documentation: Fix howto/revert-branch-rebase.html generation + git-svn: Fix fetch --no-ignore-externals with GIT_SVN_NO_LIB=1 + +Shawn O. Pearce (15): + Verify we know how to read a pack before trying to using it. + Remove unnecessary forward declaration of unpack_entry. + Convert memcpy(a,b,20) to hashcpy(a,b). + Convert memcpy(a,b,20) to hashcpy(a,b). + Reorganize/rename unpack_non_delta_entry to unpack_compressed_entry. + Reuse compression code in unpack_compressed_entry. + Cleanup unpack_entry_gently and friends to use type_name array. + Cleanup unpack_object_header to use only offsets. + Convert unpack_entry_gently and friends to use offsets. + Replace uses of strdup with xstrdup. + Allow 'svn fetch' on '(no date)' revisions in Subversion. + Allow '(no author)' in git-svn's authors file. + Ignore executable bit when adding files if filemode=0. + Allow git-checkout when on a non-existant branch. + Corrected copy-and-paste thinko in ignore executable bit test case. + +Tilman Sauerbeck (2): + Indentation fix. + Added support for dropping privileges to git-daemon. + +Timo Hirvonen (2): + --name-only, --name-status, --check and -s are mutually exclusive + Remove awkward compatibility warts + +Ville Skyttä (1): + Be nicer if git executable is not installed + +Yasushi SHOJI (2): + gitweb: configurable home link string + gitweb: Decode long title for link tooltips + + +Version v1.4.2.4; changes since v1.4.2.3: +----------------------------------------- + +Linus Torvalds (1): + Fix hash function in xdiff library + + +Version v1.4.2.3; changes since v1.4.2.2: +----------------------------------------- + +Junio C Hamano (2): + git-mv: invalidate the removed path properly in cache-tree + git-push: .git/remotes/ file does not require SP after colon + + +Version v1.4.2.2; changes since v1.4.2.1: +----------------------------------------- + +Junio C Hamano (2): + Fix git-am safety checks + git-diff -B output fix. + +Liu Yubao (1): + Fix duplicate xmalloc in builtin-add + + +Version v1.4.2.1; changes since v1.4.2: +--------------------------------------- + +Dennis Stosberg (1): + Solaris does not support C99 format strings before version 10 + +Johannes Schindelin (5): + git-mv: succeed even if source is a prefix of destination + git-mv: add more path normalization + git-mv: special case destination "." + git-mv: fix off-by-one error + builtin-mv: readability patch + +Junio C Hamano (2): + finish_connect(): thinkofix + http-fetch: fix alternates handling. + +Luben Tuikov (2): + Fix regex pattern in commit-msg + sample commit-msg hook: no silent exit on duplicate Signed-off-by lines + + +Version v1.4.2; changes since v1.4.2-rc4: +----------------------------------------- + +Eric Wong (3): + git-svn: correctly kill keyword expansion without munging EOLs + git-svn: bugfix: allow SVN:: lib users to track the root of the repository + git-svn: split the path from the url correctly with limited perms + +Junio C Hamano (8): + git-apply: applying a patch to make a symlink shorter. + combine-diff: use color + Fix git-diff A...B + builtin-apply: remove unused increment + git-sh-setup: do not use repo-config to test the git directory + git-am: give better diagnostics when the patch does not apply during --3way + Better error message when we are unable to lock the index file + t/t4013: fix futzing with the version string. + +Matthias Lederhofer (1): + upload-pack: fix timeout in create_pack_file + +Paul Mackerras (2): + gitk: Allow the user to set some colors + gitk: Show the currently checked-out head in bold font + +Ramsay Jones (1): + Fix header breakage with _XOPEN_SOURCE. + +René Scharfe (9): + Add has_extension() + git-verify-pack: show usage when no pack was specified + git-verify-pack: more careful path handling + git-verify-pack: insist on .idx extension + git-verify-pack: get rid of while loop + git-verify-pack: free pack after use and a cleanup + git-verify-pack: buffer overrun paranoia + git-verify-pack: no need to count errors + drop length argument of has_extension + +Rutger Nijlunsing (2): + http-push: Make WebDAV work with (broken?) default apache2 WebDAV module + Add Documentation/howto/setup-git-server-over-http.txt + + +Version v1.4.2-rc4; changes since v1.4.2-rc3: +--------------------------------------------- + +Jeff King (1): + git-push: allow pushing from subdirectories + +Johannes Schindelin (1): + Fix crash when GIT_DIR is invalid + +Jonas Fonseca (1): + Update git-init-db(1) and documentation of core.sharedRepository + +Junio C Hamano (13): + Cygwin needs NO_C99_FORMAT??? + Further clean-up: usage() vs die() + Makefile: Cygwin does not seem to need NO_STRLCPY + Fix "grep -w" + debugging: XMALLOC_POISON + builtin-mv: fix use of uninitialized memory. + GIT-VERSION-GEN: adjust for ancient git + Documentation: git-status takes the same options as git-commit + Fix tutorial-2.html + check return value from diff_setup_done() + find_unique_abbrev() with len=0 should not abbreviate + make --find-copies-harder imply -C + allow diff.renamelimit to be set regardless of -M/-C + +Michael Krelin (1): + handle https:// protocol in git-clone + +Ramsay Jones (4): + Fixup command names in some usage strings. + Replace some calls to die(usage_str) with usage(usage_str). + Allow config file to specify Signed-off-by identity in format-patch. + commit walkers: setup_ident() to record correct committer in ref-log. + +René Scharfe (1): + git-tar-tree: fix minor memory leak + +Ryan Anderson (2): + log-tree: show_log() should respect the setting of diffopt->line_termination + annotate: Fix bug when parsing merges with differing real and logical parents. + +Uwe Zeisberger (1): + Document rev-list's option --merge + + +Version v1.4.2-rc3; changes since v1.4.2-rc2: +--------------------------------------------- + +Gerrit Pape (1): + Build on Debian GNU/kFreeBSD + +Jakub Narębski (11): + Allow INSTALL, bindir, mandir to be set in main Makefile + Rename man1 and man7 variables to man1dir and man7dir + autoconf: Use autoconf to write installation directories to config.mak.autogen + Teach make clean about configure and autoconf + Copy description of build configuration variables to configure.ac + autoconf: Preparing the way for autodetection + autoconf: Checks for typedefs, structures, and compiler characteristics. + autoconf: Checks for some library functions. + autoconf: Checks for libraries + autoconf: Checks for some programs + configure.ac vertical whitespace usage cleanup + +Jeff King (4): + git-push: allow -f as an alias for --force + git-push: remove obsolete git-push.sh + Documentation: convert uses of git-link macro to gitlink + git-annotate: remove extraneous debugging line + +Johannes Schindelin (16): + Allow an alias to start with "-p" + git wrapper: add --git-dir=<path> and --bare options + git-instaweb: some Apache have mod_cgi builtin + git-instaweb: respect bindir from Makefile + gitweb: fix two warnings + t7001: add test for git-mv dir1 dir2/ + git-cvsserver: support multiline commit messages + Extract helper bits from c-merge-recursive work + Make git-mv a builtin + builtin git-mv: support moving directories + instaweb: Be more clear if httpd or the browser fail + cvsserver: imitate git-update-ref when committing + Makefile: ssh-pull.o depends on ssh-fetch.c + Teach git-apply about '-R' + Fix http-fetch + tar-tree: illustrate an obscure feature better + +Josef Weidendorfer (1): + Extend testing git-mv for renaming of subdirectories + +Junio C Hamano (18): + git-diff A...B to (usually) mean "git-diff `git-merge-base A B` B" + t4112: simplify the test and remove unneeded working tree file. + lost-found: use fsck-objects --full + git-reset: detect update-ref error and report it. + log and diff family: honor config even from subdirectories + git-apply -R: binary patches are irreversible for now. + t4103: fix binary patch application test. + git-checkout: allow "checkout HEAD -- path" + Builtins: control the use of pager from the command table. + fetch/clone: mark messages from remote side stand out. + Fix "git diff blob1 blob2" showing the diff in reverse. + read-tree: shadowed variable fix. + Add a couple of subdirectory tests. + diff.c: do not use pathname comparison to tell renames + Show both blob names from "git diff blob1 blob2" + sideband: do not use color, just say "remote:" + Documentation/git.txt: link git-svn and git-instaweb from the main page. + GIT 1.4.2-rc3 + +Linus Torvalds (4): + Call setup_git_directory() early + Call setup_git_directory() much earlier + Fix double "close()" in ce_compare_data + Fix up some fallout from "setup_git_directory()" cleanups + +Luben Tuikov (8): + gitweb.cgi: Teach git_history() to read hash from $hash_base + gitweb.cgi: Include direct link to "raw" files from "history" + gitweb.cgi: git_blame2: an alternative simple working git blame + gitweb.cgi: git_blame2: Allow back-trekking through commits + gitweb.cgi: Show "raw" head of project link even when $hash is not defined + gitweb.cgi: git_blame2: Revision blocks now have alternating colors + gitweb.cgi: Centralize printing of the page path + gitweb.cgi: git_blame2: slight optimization reading the blame lines + +Matthias Kestenholz (3): + Make git-prune-packed a builtin + Make git-repo-config a builtin + use declarations from builtin.h for builtin commands + +Matthias Lederhofer (5): + daemon: documentation for --reuseaddr, --detach and --pid-file + setup_git_directory_gently: do not barf when GIT_DIR is given. + git.c: allow alias expansion without a git directory + pager: config variable pager.color + git-grep: document --and, --or, --not, ( and ) + +Michael S. Tsirkin (1): + mailinfo: accept >From in message header + +Michele Ballabio (1): + fixed variable declaration in gitk + +Pavel Roskin (3): + Typofix in configure.ac comment. + Quote all calls to GIT_CONF_APPEND_LINE + Set datarootdir in config.mak.in + +Petr Baudis (5): + Remove -d from *-fetch usage strings + Make pull() take some implicit data as explicit arguments + Make pull() support fetching multiple targets at once + Teach git-local-fetch the --stdin switch + Teach git-http-fetch the --stdin switch + +Ramsay Jones (7): + Ensure git-clone exits with error if perl script fails. + Fix annotate test script; notice when git-annotate fails. + Fix installation of templates on ancient systems. + New tests and en-passant modifications to mktag. + Add NO_C99_FORMAT to support older compilers. + Fix header breakage due to redefining PATH_MAX. + Remove cmd_usage() routine and re-organize the help/usage code. + +Robert Shearman (2): + rebase: Fix the detection of fast-forwarding of the current branch to upstream. + rebase: Make the fast-fowarding message more user-friendly by using branch names instead of SHA1 IDs. + +Shawn O. Pearce (1): + Display an error from update-ref if target ref name is invalid. + + +Version v1.4.2-rc2; changes since v1.4.2-rc1: +--------------------------------------------- + +Alex Riesen (1): + Trivial path optimization test + +Alexandre Julliard (5): + git.el: Run git-rerere on commits if the rr-cache directory exists. + git.el: Prepend a slash to the file name when adding to .gitignore. + git.el: Try to reuse an existing buffer when running git-status. + git.el: Put the git customize group in the 'tools' parent group. + show-branch: Fix another performance problem. + +Daniel Drake (1): + gitweb: escape tag comments + +Eric Wong (2): + typechange tests for git apply (currently failing) + git-svn: fix fetching new directories copies when using SVN:: libs + +Jeff King (2): + pack-objects: check pack.window for default window size + Colorize 'commit' lines in log ui + +Johannes Schindelin (4): + Fix t4114 on cygwin + Always reset the color _before_ printing out the newline + cvsserver: suppress warnings + cvsserver: avoid warning about active db handles + +Josh Triplett (3): + git-format-patch: Make the second and subsequent mails replies to the first + Add option to enable threading headers + Add option to set initial In-Reply-To/References + +Junio C Hamano (8): + fetch/clone: check return status from ls-remote + builtin-log: typefix for recent format-patch changes. + checkout -f failed to check out a file if an existing directory interfered. + apply: check D/F conflicts more carefully. + apply: split out removal and creation into different phases. + apply: handle type-changing patch correctly. + git-fetch: fix --keep vs --thin + unpack-objects: remove stale and confusing comment + +Linus Torvalds (1): + sha1_file: add the ability to parse objects in "pack file format" + +Lukas Sandström (1): + git-am: Don't accept an mbox on stdin of we already have a .dotest directory + +Martin Langhoff (1): + cvsexportcommit - add -a (add author line) flag, cleanup warnings + +Matthias Lederhofer (1): + upload-pack: fix timeout in create_pack_file + +Peter Eriksen (1): + Substitute xmalloc()+memset(0) with xcalloc(). + +Santi Béjar (1): + Defaulting fetch to origin when set in the repo-config + +Shawn O. Pearce (1): + Disable linking with Fink or DarwinPorts. + +Willy Tarreau (1): + tar-tree: add the "tar.umask" config option + + +Version v1.4.2-rc1; changes since v1.4.1.1: +------------------------------------------- + +A Large Angry SCM (1): + Additional merge-base tests (revised) + +Alex Riesen (1): + Do not use perl in git-commit.sh + +Alp Toker (9): + Fix some doubled word typos + Fix some doubled word typos + Fix typos involving the word 'commit' + typofix (git-name-rev documentation) + git-send-email: Remove redundant Reply-To header + gitweb: Send XHTML as 'application/xhtml+xml' where possible + gitweb: Include a site name in page titles + gitweb: Make command invocations go through the git wrapper + documentation (urls.txt) typofix + +Dennis Stosberg (2): + gitweb: Declare global variables with "our" + gitweb: Declare global variables with "our" + +Eric Wong (12): + Add git-instaweb, instantly browse the working repo with gitweb + instaweb: fix unportable ';' usage in sed + t8001-annotate: fix a bash-ism in this test + git-svn: avoid fetching files outside of the URL we're tracking + git-svn: migrate out of contrib + builtin-log: respect diff configuration options + diff.c: respect diff.renames config option + templates/hooks--update: replace diffstat calls with git diff --stat + git-svn: fix --file/-F option in commit-diff + tests: Set EDITOR=: and VISUAL=: globally + git-fetch: fix a bashism (==) + git-svn: don't check for migrations/upgrades on commit-diff + +Jakub Narębski (3): + send-email: format 2822 datestring ourselves. + Wrap long lines in docstrings in contrib/emacs/git.el + Display help for Git mode after pressing `h' or `?' in *git-status* + +Joachim Berdal Haga (2): + Make zlib compression level configurable, and change default. + core.compression documentation formatting fix. + +Johannes Schindelin (7): + refactor merge_bases() as preparation to libify merge-base + move get_merge_bases() to core lib. + Makefile: replace ugly and unportable sed invocation + Make git-fmt-merge-msg a builtin + Makefile: export NO_SVN_TESTS + Close the index file between writing and committing + Fix linking for not-so-clever linkers. + +Jonas Fonseca (1): + Documentation/urls.txt: Use substitution to escape square brackets + +Junio C Hamano (49): + Makefile: add framework to verify and bench sha1 implementations. + test-sha1: test hashing large buffer + t4013: add tests for diff/log family output options. + t4013: add more tests around -c and --cc + Fix some more diff options changes. + t4013 test updates for new output code. + combine-diff.c: type sanity. + format-patch: fix diff format option implementation + t4013: add format-patch tests. + t4013: note improvements brought by the new output code. + gitweb: optimize per-file history generation + gitweb: optimize per-file history generation + t4013: add "diff" UI program tests. + builtin-diff: turn recursive on when defaulting to --patch format. + commit.c: do not redefine UNINTERESTING bit. + get_merge_bases: clean up even when there is no common commit. + revert clear-commit-marks for now. + boolean: accept yes and no as well + send-email: do not barf when Term::ReadLine does not like your terminal + t6200: fmt-merge-msg test. + git-grep: fix parsing of pathspec separator '--' + git-grep: fix exit code when we use external grep. + git-grep: use a bit more specific error messages. + Re-fix clear_commit_marks(). + git-grep: boolean expression on pattern matching. + git-reset: complain and exit upon seeing an unknown parameter. + mailinfo: assume input is latin-1 on the header as we do for the body + diffcore-rename: try matching up renames without populating filespec first. + builtin-rev-parse.c: constness tightening + show-branch: match documentation and usage + rev-parse documentation: talk about range notation. + git-svn: migrate out of contrib (follow-up) + diff.c: --no-color to defeat diff.color configuration. + Update diff-options and config documentation. + git log -p --merge [[--] paths...] + colored diff: diff.color = auto fix + diff: do not use configuration magic at the core-level + "git -p cmd" to page anywhere + merge-base: update the clean-up postprocessing + fmt-merge-msg fix + Fix grammatical error in git-revert + git-repack: avoid redirecting stderr into git-pack-objects + test-lib: unset GIT_TRACE + t4013 diff format tests update + Adjust t4013 tests to corrected format-patch. + Documentation: Fix ssh://[user@]host.xz URL + builtin-prune.c: forgot TYPE => OBJ changes. + Documentation/Makefile: product depends on asciidoc.conf + show-branch: fix performance problem. + +Linus Torvalds (7): + xdiff: generate "anti-diffs" aka what is common to two files + Prepare "git-merge-tree" for future work + Improved three-way blob merging code + Improve git-peek-remote + builtin "git prune" + Make the unpacked object header functions static to sha1_file.c + Remove TYPE_* constant macros and use object_type enums consistently. + +Luben Tuikov (6): + gitweb: Enable tree (directory) history display + gitweb: Enable tree (directory) history display + Add "raw" output option to blobs in "tree" view format + gitweb.cgi: Create $git_temp if it doesn't exist + gitweb.cgi: Teach "a=blob" action to know the blob/file mime type + gitweb.css: Use monospace fonts for commits and tree-diff. + +Matthias Lederhofer (10): + GIT_TRACE: show which built-in/external commands are executed + change ent to tree in git-diff documentation + git-rev-list: add documentation for --parents, --no-merges + daemon: use a custom die routine with syslog + daemon: if one of the standard fds is missing open it to /dev/null + upload-pack: ignore write errors to stderr + daemon: new option --pid-file=<path> to store the pid + daemon: new option --detach to run git-daemon in background + Documentation about exclude/ignore files + argv created by handle_alias should be NULL terminated + +Michal Rokos (2): + sed -e '/RE/r rfile/' needs space in 'r rfile' + Using 'perl' in *.sh + +Pavel Roskin (4): + Assorted typo fixes + Typofix in Makefile comment. + Fix more typos, primarily in the code + Avoid C99 comments, use old-style C comments instead. + +Peter Baumann (1): + git-cvsexportcommit can't handle merge commits correctly + +René Scharfe (5): + Add get_merge_bases_clean() + Add '...' operator for revisions + Make clear_commit_marks() clean harder + Fold get_merge_bases_clean() into get_merge_bases() + rev-list: free commit_list in ... handler + +Robert Shearman (1): + format-patch: Generate a newline between the subject header and the message body + +Ryan Anderson (3): + annotate: Support annotation of files on other revisions. + annotate: Correct most merge following to annotate correctly. + Disable color detection during format-patch + +Santi Béjar (1): + Teach rev-parse the ... syntax. + +Sergey Vlasov (1): + Fix "git-fetch --tags" exit status when nothing has been changed + +Shawn O. Pearce (9): + Avoid C99 initializers + Allow user.name and user.email to drive reflog entry. + Record the type of commit operation in the reflog. + Log ref changes made by git-fetch and git-pull. + Log ref changes made by git-merge and git-pull. + Log ref changes made by quiltimport. + Log ref changes made by resolve. + Make lazy mkdir more robust. + Record rebase changes as 'rebase' in the reflog. + +Stephan Feder (5): + Do not drop data from '\0' until eol in patch output + Teach --text option to diff + Teach diff -a as shorthand for --text + Add -a and --text to common diff options help + diff-options: Explain --text and -a + +Timo Hirvonen (14): + Merge with_raw, with_stat and summary variables to output_format + Make --raw option available for all diff commands + Set default diff output format after parsing command line + DIFF_FORMAT_RAW is not default anymore + Add msg_sep to diff_options + Don't xcalloc() struct diffstat_t + whatchanged: Default to DIFF_FORMAT_RAW + Print empty line between raw, stat, summary and patch + diff-tree: Use ---\n as a message separator + log --raw: Don't descend into subdirectories by default + Fix diff-tree -s + GIT_TRACE: fix a mixed declarations and code warning + diff: Support both attributes and colors + diff: Support 256 colors + +Ville Skyttä (1): + Fix print-log and diff compatibility with recent vc versions + +Yakov Lerner (1): + Mention the [user@] part in documentation of ssh:// urls. + +anonymous (1): + A better-scheduled PPC SHA-1 implementation. + + +Version v1.4.1.1; changes since v1.4.1: +--------------------------------------- + +Junio C Hamano (1): + Makefile: tighten git-http-{fetch,push} dependencies + +Linus Torvalds (1): + revision.c: fix "dense" under --remove-empty + +Matthias Lederhofer (1): + upload-pack: fix timeout in create_pack_file + +Robin Rosenberg (1): + Empty author may be presented by svn as an empty string or a null value. + + +Version v1.4.1; changes since v1.4.1-rc2: +----------------------------------------- + +Eric Wong (1): + git-svn: allow a local target directory to be specified for init + +Johannes Schindelin (4): + add diff_flush_patch_id() to calculate the patch id + format-patch: introduce "--ignore-if-in-upstream" + t4014: fix for whitespace from "wc -l" + format-patch: use clear_commit_marks() instead of some ad-hockery + +Junio C Hamano (6): + git-repack: Be careful when updating the same pack as an existing one. + t4014: add format-patch --ignore-if-in-upstream test + t4014: fix test commit labels. + diff.c: fix get_patch_id() + Racy GIT (part #3) + upload-pack.c: <sys/poll.h> includes <ctype.h> on OpenBSD 3.8 + +Linus Torvalds (4): + Do not try futile object pairs when repacking. + Abstract out accesses to object hash array + revision.c: --full-history fix. + git object hash cleanups + +Nicolas Pitre (2): + consider previous pack undeltified object state only when reusing delta data + don't load objects needlessly when repacking + +Petr Baudis (1): + Fix errno usage in connect.c + +Robin Rosenberg (1): + Minor documentation fixup. + + +Version v1.4.1-rc2; changes since v1.4.1-rc1: +--------------------------------------------- + +Andreas Ericsson (1): + git wrapper: fix command name in an error message. + +Dennis Stosberg (3): + Solaris needs inclusion of signal.h for signal() + Fix pkt-line.h to compile with a non-GCC compiler + Fix expr usage for FreeBSD + +Eric Wong (10): + rebase: allow --merge option to handle patches merged upstream + rebase: cleanup rebasing with --merge + rebase: allow --skip to work with --merge + git-svn: SVN 1.1.x library compatibility + git-svn: several graft-branches improvements + git-svn: add the commit-diff command + git-svn: add --follow-parent and --no-metadata options to fetch + git-svn: be verbose by default on fetch/commit, add -q/--quiet option + rebase: get rid of outdated MRESOLVEMSG + rebase: check for errors from git-commit + +Jeff King (2): + git-commit: allow -e option anywhere on command line + quote.c: silence compiler warnings from EMIT macro + +Johannes Schindelin (5): + patch-id: take "commit" prefix as well as "diff-tree" prefix + Teach diff about -b and -w flags + cvsimport: always set $ENV{GIT_INDEX_FILE} to $index{$branch} + apply: replace NO_ACCURATE_DIFF with --inaccurate-eof runtime flag. + Save errno in handle_alias() + +Junio C Hamano (12): + Makefile: do not recompile main programs when libraries have changed. + usage: minimum type fix. + git-pull: abort when fmt-merge-msg fails. + git-merge --squash + diff --color: use reset sequence when we mean reset. + repo-config: fix printing of bool + diff --color: use $GIT_DIR/config + combine-diff.c: type sanity + connect.c: remove unused parameters from tcp_connect and proxy_connect + connect.c: check the commit buffer boundary while parsing. + t/README: start testing porcelainish + checkout -m: fix read-tree invocation + +Linus Torvalds (1): + Tweak diff colors + +Martin Langhoff (3): + git-repack -- respect -q and be quiet + cvsimport: setup indexes correctly for ancestors and incremental imports + cvsimport - cleanup of the multi-indexes handling + +Matthias Kestenholz (1): + add GIT-CFLAGS to .gitignore + +Matthias Lederhofer (1): + correct documentation for git grep + +Peter Eriksen (1): + Rename safe_strncpy() to strlcpy(). + +Petr Baudis (1): + Customizable error handlers + +Timo Hirvonen (3): + git-merge: Don't use -p when outputting summary + Clean up diff.c + Make some strings const + +Yann Dirson (1): + git-commit: filter out log message lines only when editor was run. + + +Version v1.4.1-rc1; changes since v1.4.0: +----------------------------------------- + +Andre Noll (1): + object-refs: avoid division by zero + +David Woodhouse (1): + Log peer address when git-daemon called from inetd + +Dennis Stosberg (3): + Make t4101-apply-nonl bring along its patches + Make t8001-annotate and t8002-blame more portable + Fix t8001-annotate and t8002-blame for ActiveState Perl + +Eric W. Biederman (3): + Don't parse any headers in the real body of an email message. + Fix git-format-patch -s + Check and document the options to prevent mistakes. + +Eric Wong (29): + git-svn: t0000: add -f flag to checkout + git-svn: fix handling of filenames with embedded '@' + git-svn: eol_cp corner-case fixes + git-svn: restore original LC_ALL setting (or unset) for commit + git-svn: don't allow commit if svn tree is not current + git-svn: support -C<num> passing to git-diff-tree + git-svn: --branch-all-refs / -B support + git-svn: optimize --branch and --branch-all-ref + git-svn: support manually placed initial trees from fetch + git-svn: Move all git-svn-related paths into $GIT_DIR/svn + git-svn: minor cleanups, extra error-checking + git-svn: add --repack and --repack-flags= options + git-svn: add --shared and --template= options to pass to init-db + git-svn: add some functionality to better support branches in svn + git-svn: add UTF-8 message test + git-svn: add 'log' command, a facsimile of basic `svn log' + git-svn: add support for Perl SVN::* libraries + git-svn: make the $GIT_DIR/svn/*/revs directory obsolete + git-svn: avoid creating some small files + git-svn: fix several small bugs, enable branch optimization + git-svn: Eliminate temp file usage in libsvn_get_file() + git-svn: bugfix and optimize the 'log' command + git-svn: tests no longer fail if LC_ALL is not a UTF-8 locale + git-svn: svn (command-line) 1.0.x compatibility + git-svn: rebuild convenience and bugfixes + git-svn: fix --rmdir when using SVN:: libraries + rebase: Allow merge strategies to be used when rebasing + rebase: error out for NO_PYTHON if they use recursive merge + git-svn: fix commit --edit flag when using SVN:: libraries + +Florian Forster (9): + gitweb: Adding a `blame' interface. + gitweb: Make the `blame' interface in gitweb optional. + Remove ranges from switch statements. + Initialize FAMs using `FLEX_ARRAY'. + Don't instantiate structures with FAMs. + Cast pointers to `void *' when used in a format. + Don't use empty structure initializers. + Change types used in bitfields to be `int's. + Remove all void-pointer arithmetic. + +Fredrik Kuivinen (1): + blame: Add --time to produce raw timestamps + +Jakub Narębski (15): + Update gitweb README: gitweb is now included with git + Move gitweb style to gitweb.css + gitweb: safely output binary files for 'blob_plain' action + gitweb: text files for 'blob_plain' action without charset by default + Fix gitweb stylesheet + Make CSS file gitweb/gitweb.css more readable + gitweb: add type="text/css" to stylesheet link + Fix: Support for the standard mime.types map in gitweb + gitweb: A couple of page title tweaking + gitweb: style done with stylesheet + gitweb: whitespace cleanup + Add git version to gitweb output + Move $gitbin earlier in gitweb.cgi + gitweb: Make use of $PATH_INFO for project parameter + gitweb: whitespace cleanup around '=' + +Johannes Schindelin (6): + diff options: add --color + Initialize lock_file struct to all zero. + Fix setting config variables with an alternative GIT_CONFIG + Read configuration also from $HOME/.gitconfig + repo-config: Fix late-night bug + git_config: access() returns 0 on success, not > 0 + +Junio C Hamano (31): + Revert all the rev-list option parsing changes. + Clean-up Geert's similarity fingerprint code. + Extract "log [diff options]" parser out. + whatchanged options parser fix. + Built-in git-whatchanged + Geert's similarity + Try using Geert similarity code in pack-objects. + Retire rabinpoly fingerprinting code + Fix mismerged update-index from jc/cache-tree branch. + read-tree: --prefix=<path>/ option. + write-tree: --prefix=<path> + read-tree: reorganize bind_merge code. + fetch-pack: give up after getting too many "ack continue" + Fix earlier mismerges. + shared repository: optionally allow reading to "others". + gitk: rereadrefs needs listrefs + fix git alias + t5100: mailinfo and mailsplit tests. + mailinfo: ignore blanks after in-body headers. + fix rfc2047 formatter. + xdiff: minor changes to match libxdiff-0.21 + Restore SIGCHLD to SIG_DFL where we care about waitpid(). + checkout -f: do not leave untracked working tree files. + upload-pack: avoid sending an incomplete pack upon failure + upload-pack: prepare for sideband message support. + Retire git-clone-pack + upload-pack/fetch-pack: support side-band communication + Add renaming-rebase test. + daemon: send stderr to /dev/null instead of closing. + rebase --merge: fix for rebasing more than 7 commits. + Makefile: do not force unneeded recompilation upon GIT_VERSION changes + +Linus Torvalds (9): + Tentative built-in "git show" + gitweb.cgi history not shown + Shrink "struct object" a bit + Move "void *util" from "struct object" into "struct commit" + Some more memory leak avoidance + Remove "refs" field from "struct object" + Add specialized object allocator + Add "named object array" concept + Fix grow_refs_hash() + +Lukas Sandström (6): + Make git-write-tree a builtin + Make git-mailsplit a builtin + Make git-mailinfo a builtin + Make git-stripspace a builtin + Make git-update-index a builtin + Make git-update-ref a builtin + +Martin Langhoff (3): + cvsimport: ignore CVSPS_NO_BRANCH and impossible branches + cvsimport: complete the cvsps run before starting the import + cvsimport: keep one index per branch during import + +Paul Eggert (1): + date.c: improve guess between timezone offset and year. + +Paul Mackerras (1): + Fix PPC SHA1 routine for large input buffers + +Peter Eriksen (1): + Implement safe_strncpy() as strlcpy() and use it more. + +Petr Baudis (2): + Support for extracting configuration from different files + Support for the standard mime.types map in gitweb + +René Scharfe (4): + git-tar-tree: Simplify write_trailer() + git-tar-tree: documentation update + git-tar-tree: no more void pointer arithmetic + Make release tarballs friendlier to older tar versions + +Sean Estabrooks (1): + Add a "--notags" option for git-p4import. + +Sven Verdoolaege (1): + git-cvsexportcommit.perl: fix typo + +Timo Hirvonen (1): + gitweb: Use $hash_base as $search_hash if possible + +Uwe Kleine-König (1): + Fix possible out-of-bounds array access + +Yakov Lerner (2): + auto-detect changed prefix and/or changed build flags + Pass -DDEFAULT_GIT_TEMPLATE_DIR only where actually used. + + +Version v1.4.0; changes since v1.4.0-rc2: +----------------------------------------- + +Horst H. von Brand (1): + Fix formatting of Documentation/git-clone.txt + +Junio C Hamano (7): + allow working in repositories with textual symref HEAD + git-clone: fix duplicated "master" in $GIT_DIR/remotes/origin + git-rm: honor -n flag. + builtin-init-db: spell the in-program configuration variable in lowercase. + shared repository - add a few missing calls to adjust_shared_perm(). + git-clone: fix --bare over dumb-http + GIT 1.4.0 + +Kay Sievers (143): + first working version + v000 + v000 + v001 + v002 + v003 + v003 + v004 + v005 + v006 + v014 + v016 + v020 + v021 + v021 + v021 + v021 + v025 + v026 + v027 + v031 + v035 + v041 + v041 + v042 + v043 + v048 + v049 + v053 + v055 + v056 + v057 + v062 + v063 + v064 + v070 + v071 + v073 + v077 + v078 + v080 + v082 + v085 + v088 + v089 + v107 + v118 + v121 + v125 + v133 + v136 + v142 + v143 + v145 + v148 + v149 + v150 + v152 + v154 + v157 + v160 + v163 + v164 + v165 + v203 + v205 + v206 + v220 + v225 + v227 + v229 + v232 + v233 + v234 + v235 + v236 + add README + Make the tag view look like commit header. + allow sorting of index page by project path, owner and age + make index page sorting more visible and increase RSS item count + fix search parsing, later git does not print a trailing space + don't chop_str if adding ... is longer than the original + Show tooltips (like this one :)) containing full titles for truncated commit titles in the summary and shortlog views. + v241 + v242 + common input validation to allow passing of textual hash id's + v243 + translate reference into hash while reading a commit + fix typo in link parameter of git_commit + v244 + switch to git-rev-list for commit reading + v245 + start searching at the current $hash value + v246 + rename "branches" to "heads" + v247 + provide filename for "save as" in plaintext views + add Expires: +1d header to commit and commitdiff pages + v248 + add test files + update the test files to have a diff + escape '+' and ' ' in url's + make ' ' and '+' in filenames some kind of working + v249 + escape ' ' with '+' in url's + replace invalid utf8 sequences by UTF-8 REPLACEMENT CHARACTER (efbfbd) + v250 + add missing esc() rename + v251 + fix another typo + v252 + fix utf8 decoding + add ut8 test file + add broken latin encoding to test file + set logo output to raw mode + v253 + allow utf8 characters in url parameter escape + v254 + v255 + fix quoted filename lookup + v256 + fix "rename" output + v257 + show tags in lists + v258 + show multiple tags + v259 + attach tag to the link + v260 + more tags + fix leading whitespace in commit text + v261 + define default colors + v262 + resolve textual hashes when looking up "refs" + v263 + fix: Use of uninitialized value + v264 + handle utf8 characters from /etc/passwd + v265 + remove Christian's email address + v266 + v267 + +Paul T Darga (1): + check for error return from fork() + +René Scharfe (1): + Built-in git-get-tar-commit-id + +Rocco Rutte (1): + prepend '--' to filelist when calling git-diff-tree + +Uwe Kleine-König (1): + Document git-clone --use-separate-remote + +Yasushi SHOJI (1): + Add <author> and <guid> to RSS feed + + +Version v1.4.0-rc2; changes since v1.4.0-rc1: +--------------------------------------------- + +Francis Daly (3): + Some doc typo fixes + config.txt grammar, typo, and asciidoc fixes + git-cvsserver asciidoc formatting tweaks + +Horst H. von Brand (1): + Cleanup git-send-email.perl:extract_valid_email + +Johannes Schindelin (1): + If you have a config containing something like this: + +Jon Loeliger (1): + Refactor git_tcp_connect() functions a little. + +Jonas Fonseca (2): + Misc doc improvements + Document git-ls-tree --fullname + +Junio C Hamano (12): + git alias: try alias last. + send-email: be more lenient and just catch obvious mistakes. + send-email: a bit more careful domain regexp. + git-format-patch: add --output-directory long option again + HTTP cleanup + Make index file locking code reusable to others. + refs.c: convert it to use lockfile interface. + ref-log: style fixes. + Documentation: add missing docs make check-docs found. + make clean: remove dist-doc targets. + Documentation: git-ls-tree (typofix) + Documentation: add another example to git-ls-files + +Nick Hengeveld (2): + HTTP cleanup + http-fetch: fix possible segfault + +Paul Mackerras (12): + gitk: Make a row of controls for controlling highlighting + gitk: Highlight entries in the file list as well + gitk: Highlight paths of interest in tree view as well + gitk: First cut at a search function in the patch/file display window + gitk: Improve the text window search function + gitk: Move "pickaxe" find function to highlight facility + gitk: Fix bug in highlight stuff when no line is selected + gitk: Provide ability to highlight based on relationship to selected commit + gitk: Add a goto next/previous highlighted commit function + gitk: Show nearby tags + gitk: Show branch name(s) as well, if "show nearby tags" is enabled + gitk: Re-read the descendent/ancestor tag & head info on update + +Petr Baudis (2): + Document git aliases support + Documentation: git aliases + +René Scharfe (1): + Off-by-one error in get_path_prefix(), found by Valgrind + +Robert Fitzsimons (1): + builtin-grep: pass ignore case option to external grep + + +Version v1.4.0-rc1; changes since v1.3.3: +----------------------------------------- + +Alex Riesen (2): + make update-index --chmod work with multiple files and --stdin + remove superflous "const" + +Aneesh Kumar K.V (3): + gitview: Add key binding for F5. + gitview: Move the console error messages to message dialog + gitview: Add some useful keybindings. + +Björn Engelmann (2): + remove the artificial restriction tagsize < 8kb + add more informative error messages to git-mktag + +Catalin Marinas (1): + Add a test-case for git-apply trying to add an ending line + +Christian Couder (1): + Builtin git-rev-parse. + +Dennis Stosberg (3): + git-write-tree writes garbage on sparc64 + git-clean fails on files beginning with a dash + Update documentation for git-format-patch + +Dmitry V. Levin (2): + execv_git_cmd: Fix stack buffer overflow. + git_exec_path, execv_git_cmd: ignore empty environment variables + +Elrond (1): + git-cvsimport: Handle "Removed" from pserver + +Eric W. Biederman (8): + Implement git-quiltimport + Implement a --dry-run option to git-quiltimport + Make read_one_header_line return a flag not a length. + Move B and Q decoding into check header. + Refactor commit messge handling. + In handle_body only read a line if we don't already have one. + More accurately detect header lines in read_one_header_line + Allow in body headers beyond the in body header prefix. + +Eric Wong (15): + git-svn: documentation updates + git-svn 1.0.0 + send-email: address expansion for common mailers + Install git-send-email by default + send-email: allow sendmail binary to be used instead of SMTP + send-email: quiet some warnings, reject invalid addresses + commit: allow --pretty= args to be abbreviated + git-svn: starting a 1.1.0-pre development version + git-svn: ignore expansion of svn:keywords + t3300-funny-names: shell portability fixes + tests: Remove heredoc usage inside quotes + t5500-fetch-pack: remove local (bashism) usage. + t6000lib: workaround a possible dash bug + git-svn: t0001: workaround a heredoc bug in old versions of dash + git-svn: remove assertion that broke with older versions of svn + +Florian Forster (1): + git-svnimport: Improved detection of merges. + +Fredrik Kuivinen (2): + blame: Fix path pruning + Update the documentation for git-merge-base + +Horst H. von Brand (4): + Fix some documentation typoes + Documentation: Spelling fixes + Add example xinetd(8) configuration to Documentation/everyday.txt + Fix Documentation/everyday.txt: Junio's workflow + +J. Bruce Fields (7): + tutorial: replace "whatchanged" by "log" + tutorial: expanded discussion of commit history + tutorial: add discussion of index file, object database + documentation: mention gitk font adjustment in tutorial + documentation: add brief mention of cat-file to tutorial part I + Documentation: retitle the git-core tutorial + Documentation: fix a tutorial-2 typo + +Jeff King (7): + cvsimport: use git-update-index --index-info + cvsimport: cleanup commit function + cvsimport: set up commit environment in perl instead of using env + cat-file: document -p option + cvsimport: avoid "use" with :tag + handle concurrent pruning of packed objects + sha1_file: avoid re-preparing duplicate packs + +Jim Meyering (1): + Don't write directly to a make target ($@). + +Johannes Schindelin (25): + builtin-push: resurrect parsing of Push: lines + cache-tree: replace a sscanf() by two strtol() calls + builtin-push: also ask config for remote information + fetch, pull: ask config for remote information + repo-config: fix segfault with no argument. + repo-config: trim white-space before comment + repo-config: support --get-regexp + repo-config: deconvolute logics + fetch, pull: ask config for remote information + Add a conversion tool to migrate remote information into the config + builtin-push: --all and --tags _are_ explicit refspecs + Teach fmt-patch to write individual files. + fmt-patch: output file names to stdout + fmt-patch: implement -o <dir> + Teach fmt-patch about --numbered + Teach fmt-patch about --keep-subject + fmt-patch: understand old <his> notation + Fix users of prefix_path() to free() only when necessary + Fix users of prefix_path() to free() only when necessary + Fix crash when reading the empty tree + diff family: add --check option + fmt-patch: Support --attach + git-format-patch --start-number <n> + send-email: only 'require' instead of 'use' Net::SMTP + format-patch: resurrect extra headers from config + +Josef Weidendorfer (1): + gitk: Add a visual tag for remote refs + +Junio C Hamano (156): + Fix up default abbrev in setup_revisions() argument parser. + Fix up rev-list option parsing. + Split init_revisions() out of setup_revisions() + rev-list option parser fix. + Built-in git-whatchanged. + Do not fork PAGER=cat + Simplify common default options setup for built-in log family. + log/whatchanged/show - log formatting cleanup. + rev-list --header: output format fix + git.c: LOGSIZE is unused after log printing cleanup. + combine-diff: show diffstat with the first parent. + Fix "git log --stat": make sure to set recursive with --stat. + Tentative built-in format-patch. + sha1_name.c: prepare to make get_tree_entry() reusable from others. + sha1_name.c: no need to include diff.h; tree-walk.h will do. + get_tree_entry(): make it available from tree-walk + Minor tweak on subject line in --pretty=email + diff: move diff.c to diff-lib.c to make room. + Add git-unresolve <paths>... + diff --stat: do not drop rename information. + git-update-index --unresolve + rename internal format-patch wip + Makefile: dependency for builtin-help.o + Add colordiff for git to contrib/colordiff. + Fix "git show --stat" + Libify diff-files. + Libify diff-index. + git-fmt-patch: thinkofix to show [PATCH] properly. + Libified diff-index: backward compatibility fix. + read-cache/write-cache: optionally return cache checksum SHA1. + Add cache-tree. + Update write-tree to use cache-tree. + Invalidate cache-tree entries for touched paths in git-apply. + Use cache-tree in update-index. + Add test-dump-cache-tree + cache-tree: protect against "git prune". + index: make the index file format extensible. + Teach fsck-objects about cache-tree. + cache-tree: sort the subtree entries. + test-dump-cache-tree: report number of subtrees. + Makefile: remove and create libgit.a from scratch. + diff --stat: show complete rewrites consistently. + git-cvsserver: typofixes + t0000-basic: Add ls-tree recursive test back. + Makefile: remove and create xdiff library from scratch. + commit-tree: allow generic object name for the tree as well. + revision parsing: make "rev -- paths" checks stronger. + t0000-basic: more commit-tree tests. + update-index: when --unresolve, smudge the relevant cache-tree entries. + read-tree: teach 1 and 2 way merges about cache-tree. + read-tree: teach 1-way merege and plain read to prime cache-tree. + diff-index: fix compilation warnings. + cache_tree_update: give an option to update cache-tree only. + test-dump-cache-tree: validate the cached data as well. + pack-objects: update size heuristucs. + built-in count-objects. + cache-tree.c: typefix + built-in diff. + built-in diff: assorted updates. + builtin-diff.c: die() formatting type fix. + Fix builtin-push to honor Push: lines in remotes file. + Extended SHA1 -- "rev^@" syntax to mean "all parents" + get_sha1(): :path and :[0-3]:path to extract from index. + built-in "git grep" + Use RFC2822 dates from "git fmt-patch". + builtin-grep: wildcard pathspec fixes + builtin-grep: support '-l' option. + builtin-grep: do not use setup_revisions() + fsck-objects: mark objects reachable from cache-tree + builtin-count-objects: make it official. + builtin-diff: call it "git-diff", really. + builtin-log/whatchanged/show: make them official. + show-branch: omit uninteresting merges. + builtin-push: make it official. + builtin-grep: printf %.*s length is int, not ptrdiff_t. + Revert "fetch, pull: ask config for remote information" + builtin-grep: allow -<n> and -[ABC]<n> notation for context lines. + builtin-grep: allow more than one patterns. + builtin-grep: support -c (--count). + builtin-grep: support -w (--word-regexp). + builtin-grep: tighten path wildcard vs tree traversal. + core.prefersymlinkrefs: use symlinks for .git/HEAD + repo-config: readability fixups. + builtin-count-objects: open packs when running -v + Fix test-dump-cache-tree in one-tree disappeared case. + read-tree: invalidate cache-tree entry when a new index entry is added. + cache-tree: a bit more debugging support. + builtin-grep: terminate correctly at EOF + builtin-grep: binary files -a and -I + fsck-objects: do not segfault on missing tree in cache-tree + builtin-grep: -L (--files-without-match). + Makefile: do not link rev-list any specially. + delta: stricter constness + pack-object: squelch eye-candy on non-tty + binary patch. + binary diff: further updates. + update-index --unresolve: work from a subdirectory. + checkout-index: plug memory leak from prefix_path() + update-index: plug memory leak from prefix_path() + update-index --again + update-index --again: take optional pathspecs + binary diff and apply: testsuite. + Teach -f <file> option to builtin-grep. + builtin-grep: documentation + get_sha1() - fix infinite loop on nonexistent stage. + Teach git-clean optional <paths>... parameters. + builtin-grep: tighten argument parsing. + builtin-grep: typofix + builtin-grep: -w fix + builtin-grep: -F (--fixed-strings) + checkout: use --aggressive when running a 3-way merge (-m). + diffstat rename squashing fix. + read-tree -u one-way merge fix to check out locally modified paths. + apply --numstat: show new name, not old name. + builtin-grep: unparse more command line options. + apply --cached: apply a patch without using working tree. + git-am: use apply --cached + builtin-diff: fix comparison between two blobs. + merge-base: Clarify the comments on post processing. + read-tree -m -u: do not overwrite or remove untracked working tree files. + builtin-grep: workaround for non GNU grep. + Revert "builtin-grep: workaround for non GNU grep." + apply --cached: do not check newly added file in the working tree + builtin-add: fix unmatched pathspec warnings. + builtin-diff: do not say files are renamed when blob and file are given + Fix build procedure for builtin-init-db + built-in tar-tree and remote tar-tree + git-format-patch: now built-in. + checkdiff_consume: strtol parameter fix. + git-rebase: use canonical A..B syntax to format-patch + tutorial-2: typofix in examples. + mailinfo: skip bogus UNIX From line inside body + CMIT_FMT_EMAIL: Q-encode Subject: and display-name part of From: fields. + builtin format-patch: squelch content-type for 7-bit ASCII + diff: minor option combination fix. + fetch-pack: output refs in the order they were given on the command line. + Tutorial #2: broken link fix. + builtin-rm: squelch compiler warnings. + cvsimport: do not barf on creation of an empty file. + apply: force matching at the beginning. + fetch.c: remove an unused variable and dead code. + ls-remote: fix rsync:// to report HEAD + mailinfo: More carefully parse header lines in read_one_header_line() + gitk: start-up bugfix + built-in format-patch: various fixups. + format-patch: -n and -k are mutually exclusive. + Let git-clone to pass --template=dir option to git-init-db. + git-fetch: avoid using "case ... in (arm)" + adjust to the rebased series by Linus. + send-email: do not pass bogus address to local sendmail binary + format-patch --signoff + fetch.c: do not pass uninitialized lock to unlock_ref(). + fetch.c: do not call process_tree() from process_tree(). + fetch: do not report "same" unless -verbose. + read-tree --reset: update working tree file for conflicted paths. + rev-parse: tighten constness properly. + +Linus Torvalds (60): + Common option parsing for "git log --diff" and friends + Tentative built-in "git show" + Fixes for option parsing + Log message printout cleanups + Log message printout cleanups (#2) + Log message printout cleanups (#3): fix --pretty=oneline + Fix uninteresting tags in new revision parsing + get_sha1() shorthands for blob/tree objects + Allow "git repack" users to specify repacking window/depth + git log: don't do merge diffs by default + Split up builtin commands into separate files from git.c + Fix "git help -a" terminal autosizing + git builtin "push" + Fix "git-log --parents" breakage post v1.3.0 + sha1_to_hex() usage cleanup + git diff: support "-U" and "--unified" options properly + Allow one-way tree merge to remove old files + Simplify "git reset --hard" + builtin-grep: use external grep when we can take advantage of it + read-tree --reset -u fix. + Fix silly typo in new builtin grep + Remove old "git-grep.sh" remnants + libify git-ls-files directory traversal + Clean up git-ls-file directory walking library interface + Do "git add" as a builtin + builtin-add: warn on unmatched pathspecs + builtin-grep: workaround for non GNU grep. + Remove old "git-add.sh" remnants + Prevent bogus paths from being added to the index. + Make "git rev-list" be a builtin + Libify the index refresh logic + Move pathspec matching from builtin-add.c into dir.c + Add builtin "git rm" command + cvsimport: repack every kilo-commits. + apply: treat EOF as proper context. + Clean up sha1 file writing + bogus "fatal: Not a git repository" + t1002: use -U0 instead of --unified=0 + Fix "--abbrev=xyz" for revision listing + Fix memory leak in "git rev-list --objects" + Don't use "sscanf()" for tree mode scanning + Add raw tree buffer info to "struct tree" + Make "tree_entry" have a SHA1 instead of a union of object pointers + Switch "read_tree_recursive()" over to tree-walk functionality + Remove "tree->entries" tree-entry list from tree parser + Make "struct tree" contain the pointer to the tree buffer + Make "tree_entry" have a SHA1 instead of a union of object pointers + Switch "read_tree_recursive()" over to tree-walk functionality + builtin-read-tree.c: avoid tree_entry_list in prime_cache_tree_rec() + Remove "tree->entries" tree-entry list from tree parser + fsck-objects: avoid unnecessary tree_entry_list usage + Remove unused "zeropad" entry from tree_list_entry + Convert "mark_tree_uninteresting()" to raw tree walker + Convert fetch.c: process_tree() to raw tree walker + Remove last vestiges of generic tree_entry_list + tree_entry(): new tree-walking helper function + read-tree: fix eye-candy. + Fix typo in tutorial-2.txt + rev-list: fix process_tree() conversion. + pack-objects: improve path grouping heuristics. + +Lukas Sandström (2): + Make git-check-format-ref a builtin. + SubmittingPatches: The download location of External Editor has moved + +Martin Langhoff (7): + git-cvsexportcommit: Add -f(orce) and -m(essage prefix) flags, small cleanups. + cvsserver: use git-rev-list instead of git-log + cvsserver: use git-rev-list instead of git-log + cvsimport: minor fixups + cvsimport: replace anonymous sub ref with a normal sub + cvsimport: introduce -L<imit> option to workaround memory leaks + cvsimport: introduce _fetchfile() method and used a 1M buffer to read() + +Martin Waitz (6): + Transitively read alternatives + test case for transitive info/alternates + clone: don't clone the info/alternates file + git help: remove whatchanged from list of common commands + Documentation/Makefile: remove extra / + Add instructions to commit template. + +Martyn Smith (3): + Added logged warnings for CVS error returns + Many fixes for most operations in Eclipse. + Change to allow subdir updates from Eclipse + +Matthias Kestenholz (1): + add documentation for update-index --unresolve + +Matthias Lederhofer (1): + git status: skip empty directories, and add -u to show all untracked files + +Nick Hengeveld (3): + git-fetch: resolve remote symrefs for HTTP transport + http: prevent segfault during curl handle reuse + builtin-push: don't pass --thin to HTTP transport + +Nicolas Pitre (10): + split the diff-delta interface + use delta index data when finding best delta matches + replace adler32 with Rabin's polynomial in diff-delta + tiny optimization to diff-delta + improve diff-delta with sparse and/or repetitive data + improve base85 generated assembly code + fix diff-delta bad memory access + simple euristic for further free packing improvements + pack-object: slightly more efficient + improve depth heuristic for maximum delta size + +Paul Mackerras (19): + gitk: Implement multiple views + gitk: Make File->Update work properly again + gitk: Fix various bugs in the view support + gitk: Don't reread git-rev-list output from scratch on view switch + gitk: Remember the view in the history list + gitk: Let git-rev-list do the argument list parsing + gitk: Use git-rev-parse only to identify file/dir names on cmd line + gitk: Implement "permanent" views (stored in ~/.gitk) + gitk: add menu item for editing the current view + gitk: Use a text widget for the file list + gitk: Add a tree-browsing mode + gitk: Basic support for highlighting one view within another + gitk: Fix file list display when files are renamed + gitk: Allow view to specify arbitrary arguments to git-rev-list + gitk: Fix display of "(...)" for parents/children we haven't drawn + Provide a way to flush git-diff-tree's output + gitk: Fix bug where page-up/down wouldn't always work properly + gitk: show_error fix + Make git-diff-tree indicate when it flushes + +Peter Eriksen (9): + Add git-quiltimport to .gitignore. + Builtin git-ls-files. + Builtin git-ls-tree. + Builtin git-tar-tree. + Builtin git-read-tree. + Builtin git-commit-tree. + Builtin git-apply. + Builtin git-show-branch. + Builtin git-diff-files, git-diff-index, git-diff-stages, and git-diff-tree. + +Peter Hagervall (1): + Sparse fix for builtin-diff + +Petr Baudis (3): + git-repo-config --list support + Deprecate usage of git-var -l for getting config vars list + Call builtin ls-tree in git-cat-file -p + +Ryan Anderson (4): + git-send-email: Add References: headers to emails, in addition to In-Reply-To: + Add support for --bcc to git-send-email. + Fix a bug in email extraction used in git-send-email. + Add a basic test case for git send-email, and fix some real bugs discovered. + +Salikh Zakirov (1): + Fixed Cygwin CR-munging problem in mailsplit + +Santi Béjar (1): + Document that "git add" only adds non-ignored files. + +Sean Estabrooks (19): + Add --continue and --abort options to git-rebase. + Several trivial documentation touch ups. + Fix up docs where "--" isn't displayed correctly. + Update git-unpack-objects documentation. + Clarify git-cherry documentation. + Another config file parsing fix. + t1300-repo-config: two new config parsing tests. + Add "--branches", "--tags" and "--remotes" options to git-rev-parse. + Make git rebase interactive help match documentation. + Add "--summary" option to git diff. + Convert some "apply --summary" users to "diff --summary". + Strip useless "tags/" prefix from git-tag -l output + Allow pickaxe and diff-filter options to be used by git log. + Avoid segfault in diff --stat rename output. + Change GIT-VERSION-GEN to call git commands with "git" not "git-". + Install git builtins into gitexecdir rather than bindir. + Remove possible segfault in http-fetch. + --summary output should print immediately after stats. + A Perforce importer for git. + +Serge E. Hallyn (1): + socksetup: don't return on set_reuse_addr() error + +Sergey Vlasov (1): + gitk: Display commit messages with word wrap + +Shawn O. Pearce (24): + Remove unnecessary local in get_ref_sha1. + Improve abstraction of ref lock/write. + Convert update-ref to use ref_lock API. + Log ref updates to logs/refs/<ref> + Support 'master@2 hours ago' syntax + Fix ref log parsing so it works properly. + General ref log reading improvements. + Added logs/ directory to repository layout. + Force writing ref if it doesn't exist. + Log ref updates made by fetch. + Change 'master@noon' syntax to 'master@{noon}'. + Correct force_write bug in refs.c + Change order of -m option to update-ref. + Include ref log detail in commit, reset, etc. + Create/delete branch ref logs. + Enable ref log creation in git checkout -b. + Reference git-check-ref-format in git-branch. + Elaborate on why ':' is a bad idea in a ref name. + Built git-upload-tar should be ignored. + Verify git-commit provides a reflog message. + Test that git-branch -l works. + Remove unnecessary output from t3600-rm. + Improved pack format documentation. + Allow multiple -m options to git-commit. + +Tilman Sauerbeck (1): + Documentation/Makefile: create tarballs for the man pages and html files + +Timo Hirvonen (3): + Builtin git-init-db + Builtin git-cat-file + gitk: Replace "git-" commands with "git " + +Yakov Lerner (2): + NO_INET_NTOP and compat/inet_ntop.c for some systems (e.g. old Cygwin). + Problem: 'trap...exit' causes error message when /bin/sh is ash. + +Yann Dirson (3): + Do not call 'cmp' with non-existant -q flag. + Document current cvsexportcommit limitations. + Make cvsexportcommit create parent directories as needed. + + +Version v1.3.3; changes since v1.3.2: +------------------------------------- + +Ben Clifford (1): + include header to define uint32_t, necessary on Mac OS X + +Dennis Stosberg (2): + Fix git-pack-objects for 64-bit platforms + Fix compilation on newer NetBSD systems + +Dmitry V. Levin (1): + Separate object name errors from usage errors + +Eric Wong (2): + apply: fix infinite loop with multiple patches with --index + Install git-send-email by default + +Johannes Schindelin (1): + repo-config: trim white-space before comment + +Junio C Hamano (6): + core.prefersymlinkrefs: use symlinks for .git/HEAD + repo-config: document what value_regexp does a bit more clearly. + Fix repo-config set-multivar error return path. + Documentation: {caret} fixes (git-rev-list.txt) + checkout: use --aggressive when running a 3-way merge (-m). + Fix pack-index issue on 64-bit platforms a bit more portably. + +Linus Torvalds (3): + Fix "git diff --stat" with long filenames + revert/cherry-pick: use aggressive merge. + git config syntax updates + +Martin Waitz (2): + clone: keep --reference even with -l -s + repack: honor -d even when no new pack was created + +Matthias Lederhofer (1): + core-tutorial.txt: escape asterisk + +Pavel Roskin (1): + Release config lock if the regex is invalid + +Sean Estabrooks (3): + Fix for config file section parsing. + Another config file parsing fix. + Ensure author & committer before asking for commit message. + +Yakov Lerner (1): + read-cache.c: use xcalloc() not calloc() + + +Version v1.3.2; changes since v1.3.1: +------------------------------------- + +Huw Davies (1): + git-format-patch: Use rfc2822 compliant date. + +Jon Loeliger (3): + Alphabetize the glossary. + Added definitions for a few words: + Add a few more words to the glossary. + +Junio C Hamano (4): + rebase: typofix. + commit-tree.c: check_valid() microoptimization. + verify-pack: check integrity in a saner order. + git-am --resolved: more usable error message. + +Linus Torvalds (1): + Fix filename verification when in a subdirectory + +Martin Langhoff (1): + git-send-email: fix version string to be valid perl + +Matthias Kestenholz (3): + annotate: fix warning about uninitialized scalar + annotate: display usage information if no filename was given + fix various typos in documentation + +Robert Shearman (1): + Give the user a hint for how to continue in the case that git-am fails because it requires user intervention + +Sean Estabrooks (4): + Update the git-branch man page to include the "-r" option, + Fix up remaining man pages that use asciidoc "callouts". + Properly render asciidoc "callouts" in git man pages. + Fix trivial typo in git-log man page. + + +Version v1.3.1; changes since v1.3.0: +------------------------------------- + +Jonas Fonseca (1): + Fix filename scaling for binary files + +Junio C Hamano (5): + git-merge: a bit more readable user guidance. + pre-commit hook: complain about conflict markers. + git-commit --amend: two fixes. + pack-objects: do not stop at object that is "too small" + mailinfo: decode underscore used in "Q" encoding properly. + +Linus Torvalds (1): + git-log produces no output + +Nicolas Pitre (1): + fix pack-object buffer size + +Paul Mackerras (1): + rev-parse: better error message for ambiguous arguments + +Petr Baudis (2): + Document git-var -l listing also configuration variables + Document the configuration file + +Santi Béjar (1): + Reintroduce svn pools to solve the memory leak. + +Serge E. Hallyn (1): + socksetup: don't return on set_reuse_addr() error + +Shawn O. Pearce (1): + Document git-clone --reference + + +Version v1.3.0; changes since v1.3.0-rc4: +----------------------------------------- + +A Large Angry SCM (1): + Makefile fixups. + +Herbert Valerio Riedel (1): + git-svnimport symlink support + +Johannes Schindelin (2): + diff-options: add --patch-with-stat + pager: do not fork a pager if PAGER is set to empty. + +Jonas Fonseca (1): + Add git-annotate(1) and git-blame(1) + +Junio C Hamano (9): + rev-list --bisect: limit list before bisecting. + diff-tree: typefix. + diff --stat: do not do its own three-dashes. + diff-files --stat: do not dump core with unmerged index. + reading $GIT_DIR/info/graft - skip comments correctly. + rev-list --boundary: show boundary commits even when limited otherwise. + packed_object_info_detail(): check for corrupt packfile. + diff --stat: make sure to set recursive. + GIT 1.3.0 + +Linus Torvalds (1): + Support "git cmd --help" syntax + +Paul Mackerras (1): + gitk: Fix bug caused by missing commitlisted elements + +Serge E. Hallyn (5): + cleanups: Fix potential bugs in connect.c + cleanups: Remove unused vars from combine-diff.c + cleanups: Remove impossible case in quote.c + cleanups: prevent leak of two strduped strings in config.c + cleanups: remove unused variable from exec_cmd.c + +Yann Dirson (1): + Allow empty lines in info/grafts + + +Version v1.3.0-rc4; changes since v1.3.0-rc3: +--------------------------------------------- + +Davide Libenzi (1): + xdiff: post-process hunks to make them consistent. + +Dennis Stosberg (2): + Solaris 9 also wants our own unsetenv/setenv. + Replace index() with strchr(). + +Eric W. Biederman (1): + Implement limited context matching in git-apply. + +Johannes Schindelin (2): + diff-options: add --stat (take 2) + diff-options: add --stat (take 2) + +Junio C Hamano (31): + git-log: match rev-list --abbrev and --abbrev-commit + diff: fix output of total-rewrite diff. + diffcore-rename: fix merging back a broken pair. + log-tree: separate major part of diff-tree. + git log [diff-tree options]... + Retire diffcore-pathspec. + tree-diff: do not assume we use only one pathspec + git log --full-diff + Retire git-log.sh + blame and friends: adjust to multiple pathspec change. + Retire git-log.sh (take#2) + diff-* --patch-with-raw + Retire git-log.sh (take #3) + combine-diff: do not lose hunks with only deletion at end. + combine-diff: fix hunks at the end (take #2). + Retire t5501-old-fetch-and-upload test. + git-commit: do not muck with commit message when no_edit is set. + stripspace: make sure not to leave an incomplete line. + combine-diff: type fix. + Documentation: add a couple of missing docs. + Makefile: $(MAKE) check-docs + git-log: do not output excess blank line between commits + t3600-rm: skip failed-remove test when we cannot make an unremovable file. + Fix-up previous expr changes. + diff --stat: no need to ask funcnames nor context. + t5500: test fix + stripspace: incomplete line fix (take #2) + Retire git-log.sh (take #4) + git-log <diff-options> <paths> documentation + "git cmd -h" for shell scripts. + GIT v1.3.0-rc4 + +Linus Torvalds (4): + Make "--parents" logs also be incremental + When showing a commit message, do not lose an incomplete line. + Use less memory in "git log" + Clean up trailing whitespace when pretty-printing commits + +Marco Roeland (1): + xdiff/xdiffi.c: fix warnings about possibly uninitialized variables + +Mark Wooding (1): + Shell utilities: Guard against expr' magic tokens. + +Petr Baudis (3): + Improve the git-diff-tree -c/-cc documentation + Document --patch-with-raw + Separate the raw diff and patch with a newline + + +Version v1.3.0-rc3; changes since v1.3.0-rc2: +--------------------------------------------- + +Francis Daly (1): + Tweaks to make asciidoc play nice. + +Johannes Schindelin (3): + cvsimport: use git-update-ref when updating + On some platforms, certain headers need to be included before regex.h + Fix compile with expat, but an old curl version + +Jon Loeliger (1): + Added Packing Heursitics IRC writeup. + +Junio C Hamano (16): + git-clone: fix handling of upsteram whose HEAD does not point at master. + combine-diff: use built-in xdiff. + parse_date(): fix parsing 03/10/2006 + combine-diff: refactor built-in xdiff interface. + diff_flush(): leakfix. + combine-diff: move the code to parse hunk-header into common library. + blame: use built-in xdiff + date parsing: be friendlier to our European friends. + blame.c: fix completely broken ancestry traversal. + Match ofs/cnt types in diff interface. + blame -S <ancestry-file> + Add Documentation/technical/pack-format.txt + Thin pack generation: optimization. + rev-list --abbrev-commit + count-delta: match get_delta_hdr_size() changes. + GIT 1.3.0-rc3 + +Karl Wiberg (1): + git-svnimport: Don't assume that copied files haven't changed + +Keith Packard (1): + Provide configurable UI font for gitk + +Marco Roeland (1): + git-commit: document --amend + +Mark Wooding (1): + gitk: Use git wrapper to run git-ls-remote. + +Mike McCormack (3): + Avoid a divide by zero if there's no messages to send. + Avoid a crash if realloc returns a different pointer. + Add documentation for git-imap-send. + +Nick Hengeveld (1): + http-fetch: add optional DAV-based pack list + +Nicolas Pitre (1): + check patch_delta bounds more carefully + +Paul Mackerras (3): + gitk: replace parent and children arrays with lists + gitk: Add a help menu item to display key bindings + gitk: Fix incorrect invocation of getmergediffline + +Pavel Roskin (2): + Add git-clean command + gitk: Fix searching for filenames in gitk + +Petr Baudis (1): + Support for pickaxe matching regular expressions + +Rutger Nijlunsing (1): + gitk: add key bindings for selecting first and last commit + +Stephen Rothwell (1): + gitk: allow goto heads + + +Version v1.3.0-rc2; changes since v1.3.0-rc1: +--------------------------------------------- + +Davide Libenzi (1): + Clean-up trivially redundant diff. + +Eric Wong (6): + contrib/git-svn: force GIT_DIR to an absolute path + contrib/git-svn: accept configuration via repo-config + contrib/git-svn: documentation updates + contrib/git-svn: ensure repo-config returns a value before using it + contrib/git-svn: make sure our git-svn is up-to-date for test + contrib/git-svn: handle array values correctly + +J. Bruce Fields (1): + Documentation: revise top of git man page + +Jason Riedy (2): + Add ALL_LDFLAGS to the git target. + Use sigaction and SA_RESTART in read-tree.c; add option in Makefile. + +Jim Radford (1): + fix repacking with lots of tags + +Junio C Hamano (14): + rev-list --no-merges: argument parsing fix. + rev-list: memory usage reduction. + rev-list --boundary + revision arguments: ..B means HEAD..B, just like A.. means A..HEAD + revision.c "..B" syntax: constness fix + assume unchanged git: diff-index fix. + tree/diff header cleanup. + rev-list --boundary: fix re-injecting boundary commits. + Makefile: many programs now depend on xdiff/lib.a having been built. + revision: --topo-order and --unpacked + revision: simplify argument parsing. + revision: --max-age alone does not need limit_list() anymore. + safe_fgets() - even more anal fgets() + GIT 1.3.0-rc2 + +Linus Torvalds (5): + Move "--parent" parsing into generic revision.c library code + Make path-limiting be incremental when possible. + revision: Fix --topo-order and --max-age with reachability limiting. + Fix Solaris stdio signal handling stupidities + pack-objects: be incredibly anal about stdio semantics + +Mark Wooding (1): + xdiff: Show function names in hunk headers. + +Nick Hengeveld (2): + git-ls-remote: send no-cache header when fetching info/refs + Set HTTP user agent to git/GIT_VERSION + +Paul Mackerras (5): + gitk: Use the new --boundary flag to git-rev-list + gitk: Show diffs for boundary commits + gitk: Prevent parent link from overwriting commit headline + gitk: Allow top panes to scroll horizontally with mouse button 2 + gitk: Better workaround for arrows on diagonal line segments + +Peter Eriksen (2): + Use blob_, commit_, tag_, and tree_type throughout. + Replace xmalloc+memset(0) with xcalloc. + +René Scharfe (3): + Remove useless pointer update + Fix sparse warnings about usage of 0 instead of NULL + Fix sparse warnings about non-ANSI function prototypes + +Yasushi SHOJI (2): + Make git-clone to take long double-dashed origin option (--origin) + git-clone: exit early if repo isn't specified + + +Version v1.3.0-rc1; changes since v1.2.6: +----------------------------------------- + +Alex Riesen (2): + PATCH: simplify calls to git programs in git-fmt-merge-msg + workaround fat/ntfs deficiencies for t3600-rm.sh (git-rm) + +Alexandre Julliard (12): + Add an Emacs interface in contrib. + git-format-patch: Always add a blank line between headers and body. + contrib/emacs: Add an Emacs VC backend. + git.el: Portability fixes for XEmacs and Emacs CVS. + git.el: Set default directory before running the status mode setup hooks. + git.el: Automatically update .gitignore status. + git.el: Added support for Signed-off-by. + git.el: Added customize support for all parameters. + ls-files: Don't require exclude files to end with a newline. + git.el: More robust handling of subprocess errors when returning strings. + git.el: Get the default user name and email from the repository config. + git.el: Added a function to diff against the other heads in a merge. + +Anand Kumria (1): + git-svnimport: if a limit is specified, respect it + +Aneesh Kumar K.V (16): + Add contrib/gitview from Aneesh. + Add a README for gitview + gitview: typofix + gitview: Read tag and branch information using git ls-remote + gitview: Use monospace font to draw the branch and tag name + gitview: Display the lines joining commit nodes clearly. + gitview: Fix DeprecationWarning + gitview: Bump the rev + gitview: Code cleanup + gitview: Fix the graph display . + gitview: Fix the encoding related bug + gitview: Remove trailing white space + gitview: Some window layout changes. + gitview: Set the default width of graph cell + gitview: Use horizontal scroll bar in the tree view + gitview: pass the missing argument _show_clicked_cb. + +Carl Worth (5): + git-rebase: Clarify usage statement and copy it into the actual documentation. + New test to verify that when git-clone fails it cleans up the new directory. + git-ls-files: Fix, document, and add test for --error-unmatch option. + Add new git-rm command with documentation + git-rm: Fix to properly handle files with spaces, tabs, newlines, etc. + +Dmitry V. Levin (1): + git/Documentation: fix SYNOPSIS style bugs + +Eric Wong (43): + Introducing contrib/git-svn. + git-svn: fix revision order when XML::Simple is not loaded + git-svn: ensure fetch always works chronologically. + git-svn: remove files from the index before adding/updating + git-svn: fix a typo in defining the --no-stop-on-copy option + git-svn: allow --find-copies-harder and -l<num> to be passed on commit + git-svn: Allow for more argument types for commit (from..to) + git-svn: remove any need for the XML::Simple dependency + git-svn: change ; to && in addremove() + contrib/git-svn.txt: add a note about renamed/copied directory support + git-svn: fix several corner-case and rare bugs with 'commit' + contrib/git-svn: add Makefile, test, and associated ignores + git-svn: 0.9.1: add --version and copyright/license (GPL v2+) information + contrib/git-svn: add show-ignore command + contrib/git-svn: optimize sequential commits to svn + contrib/git-svn: version 0.10.0 + contrib/git-svn: tell the user to not modify git-svn-HEAD directly + contrib/git-svn: correct commit example in manpage + contrib/git-svn: use refs/remotes/git-svn instead of git-svn-HEAD + git-branch: add -r switch to list refs/remotes/* + contrib/git-svn: add -b/--branch switch for branch detection + contrib/git-svn: several small bug fixes and changes + contrib/git-svn: strip 'git-svn-id:' when commiting to SVN + contrib/git-svn: allow --authors-file to be specified + contrib/git-svn: cleanup option parsing + contrib/git-svn: create a more recent master if one does not exist + contrib/git-svn: avoid re-reading the repository uuid, it never changes + contrib/git-svn: add --id/-i=$GIT_SVN_ID command-line switch + contrib/git-svn: better documenting of CLI switches + send-email: accept --no-signed-off-by-cc as the documentation states + contrib/git-svn: fix a copied-tree bug in an overzealous assertion + contrib/git-svn: fix svn compat and fetch args + contrib/git-svn: remove the --no-stop-on-copy flag + contrib/git-svn: fix a harmless warning on rebuild (with old repos) + fetch,parse-remote,fmt-merge-msg: refs/remotes/* support + ls-tree: add --abbrev[=<n>] option + ls-files: add --abbrev[=<n>] option + contrib/git-svn: allow rebuild to work on non-linear remote heads + send-email: use built-in time() instead of /bin/date '+%s' + send-email: Change from Mail::Sendmail to Net::SMTP + send-email: try to order messages in email clients more correctly + send-email: lazy-load Email::Valid and make it optional + contrib/git-svn: stabilize memory usage for big fetches + +Fernando J. Pereda (1): + Allow building Git in systems without iconv + +Francis Daly (4): + AsciiDoc fix for tutorial + Tweak asciidoc output to work with broken docbook-xsl + Fix multi-paragraph list items in OPTIONS section + Format tweaks for asciidoc. + +Fredrik Kuivinen (13): + Add git-blame, a tool for assigning blame. + git-blame, take 2 + git-blame: Make the output human readable + git-blame: Use the same tests for git-blame as for git-annotate + Fix some inconsistencies in the docs + Remove trailing dot after short description + Nicer output from 'git' + Make it possible to not clobber object.util in sort_in_topological_order (take 2) + rev-lib: Make it easy to do rename tracking (take 2) + blame: Rename detection (take 2) + blame: Nicer output + blame: Fix git-blame <directory> + Makefile: Add TAGS and tags targets + +J. Bruce Fields (1): + Document git-rebase behavior on conflicts. + +Jason Riedy (1): + Fix typo in git-rebase.sh. + +Jeff Muizelaar (2): + cosmetics: change from 'See-Also' to 'See Also' + documentation: add 'see also' sections to git-rm and git-add + +Johannes Schindelin (13): + Fix cpio call + Optionally support old diffs + Support Irix + Optionally work without python + Fixes for ancient versions of GNU make + avoid makefile override warning + Really honour NO_PYTHON + Fix "gmake -j" + Use Ryan's git-annotate instead of jsannotate + Warn about invalid refs + Fix test case for some sed + imap-send: Add missing #include for macosx + Remove dependency on a file named "-lz" + +Jon Loeliger (9): + Add git-show reference + Call out the two different uses of git-branch and fix a typo. + Document the default source of template files. + Clarify git-rebase example commands. + Reference git-commit-tree for env vars. + Fix minor typo. + Rewrite synopsis to clarify the two primary uses of git-checkout. + Clarify and expand some hook documentation. + Removed bogus "<snap>" identifier. + +Jonas Fonseca (2): + manpages: insert two missing [verse] markers for multi-line SYNOPSIS + repo-config: give value_ a sane default so regexec won't segfault + +Josef Weidendorfer (1): + git-mv: fix moves into a subdir from outside + +Junio C Hamano (137): + "Assume unchanged" git + "Assume unchanged" git: do not set CE_VALID with --refresh + ls-files: debugging aid for CE_VALID changes. + "Assume unchanged" git: --really-refresh fix. + ls-files: split "show-valid-bit" into a different option. + "assume unchanged" git: documentation. + cache_name_compare() compares name and stage, nothing else. + git-commit: Now --only semantics is the default. + rebase: allow a hook to refuse rebasing. + commit: detect misspelled pathspec while making a partial commit. + rebase: allow rebasing onto different base. + ls-files --error-unmatch pathspec error reporting fix. + Detect misspelled pathspec to git-add + packed objects: minor cleanup + topo-order: make --date-order optional. + pack-objects: reuse data from existing packs. + pack-objects: finishing touches. + git-repack: allow passing a couple of flags to pack-objects. + git-tag: -l to list tags (usability). + Add contrib/README. + SubmittingPatches: note on whitespaces + pack-objects: avoid delta chains that are too long. + Make "empty ident" error message a bit more helpful. + Delay "empty ident" errors until they really matter. + Keep Porcelainish from failing by broken ident after making changes. + fmt-merge-msg: say which branch things were merged into unless 'master' + Allow git-mv to accept ./ in paths. + Documentation: fix typo in rev-parse --short option description. + fmt-merge-msg: do not add excess newline at the end. + rev-list --objects-edge + Thin pack - create packfile with missing delta base. + send-pack --thin: use "thin pack" delta transfer. + Add git-push --thin. + Use thin pack transfer in "git fetch". + fmt-merge-msg: avoid open "-|" list form for Perl 5.6 + rerere: avoid open "-|" list form for Perl 5.6 + send-email: avoid open "-|" list form for Perl 5.6 + svnimport: avoid open "-|" list form for Perl 5.6 + cvsimport: avoid open "-|" list form for Perl 5.6 + Fix fmt-merge-msg counting. + cherry-pick/revert: error-help message rewording. + git-mktree: reverse of git-ls-tree. + rev-list.c: fix non-grammatical comments. + send-pack: do not give up when remote has insanely large number of refs. + gitview: ls-remote invocation shellquote safety. + pack-objects: thin pack micro-optimization. + pack-objects: use full pathname to help hashing with "thin" pack. + count-delta: tweak counting of copied source material. + count-delta: fix counting of copied source. + Tweak break/merge score to adjust to the new delta generation code. + pack-objects: allow "thin" packs to exceed depth limits + rev-list --objects-edge: remove duplicated edge commit output. + rev-list --objects: use full pathname to help hashing. + pack-objects: hash basename and direname a bit differently. + Revert "diff-delta: produce optimal pack data" + Build and install git-mailinfo. + rev-list split: minimum fixup. + apply --whitespace fixes and enhancements. + apply: squelch excessive errors and --whitespace=error-all + apply --whitespace: configuration option. + git-apply --whitespace=nowarn + Revert "Revert "diff-delta: produce optimal pack data"" + git-apply: war on whitespace -- finishing touches. + diffcore-break: micro-optimize by avoiding delta between identical files. + diffcore-rename: split out the delta counting code. + diffcore-delta: stop using deltifier for packing. + git-am: --whitespace=x option. + diff-delta: cull collided hash bucket more aggressively. + git-log (internal): add approxidate. + git-log (internal): more options. + Pretty-print tagger dates. + war on whitespaces: documentation. + Documentation: read-tree --aggressive + Documentation: rev-list --objects-edge + annotate: resurrect raw timestamps. + setup_revisions(): handle -n<n> and -<n> internally. + GIT-VERSION-GEN: squelch unneeded error from "cat version" + show-branch --topics + git-commit --amend + git-commit: make sure we protect against races. + diffcore-rename: similarity estimator fix. + show-branch --topics: omit more uninteresting commits. + count-delta: no need for this anymore. + diffcore-break: similarity estimator fix. + diffcore-delta: make change counter to byte oriented again. + git-commit --amend: allow empty commit. + Const tightening. + verify-pack -v: show delta-chain histogram. + blame: avoid -lm by not using log(). + blame and annotate: show localtime with timezone. + blame: avoid "diff -u0". + annotate/blame tests updates. + annotate-blame test: don't "source", but say "." + annotate-blame test: add evil merge. + blame: unbreak "diff -U 0". + annotate-blame: tests incomplete lines. + pack-objects: simplify "thin" pack. + Use #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) + refs.c::do_for_each_ref(): Finish error message lines with "\n" + fsck-objects: Remove --standalone + Fix t1200 test for breakage caused by removal of full-stop at the end of fast-forward message. + try_to_simplify_commit(): do not skip inspecting tree change at boundary. + repack: prune loose objects when -d is given + git-diff: -p disables rename detection. + diffcore-rename: somewhat optimized. + revision traversal: --remove-empty fix. + revision traversal: --remove-empty fix (take #2). + diffcore-delta: make the hash a bit denser. + diffcore-delta: tweak hashbase value. + cvsimport: honor -i and non -i upon subsequent imports + fetch: exit non-zero when fast-forward check fails. + cvsimport: fix reading from rev-parse + git-pull: run repo-config with dash form. + unpack_delta_entry(): reduce memory footprint. + generate-cmdlist: style cleanups. + revamp git-clone. + git-merge knows some strategies want to skip trivial merges + http-fetch: nicer warning for a server with unreliable 404 status + core.warnambiguousrefs: warns when "name" is used and both "name" branch and tag exists. + revamp git-clone (take #2). + get_sha1_basic(): try refs/... and finally refs/remotes/$foo/HEAD + clone: record the remote primary branch with remotes/$origin/HEAD + http-push.c: squelch C90 warnings. + git-apply: do not barf when updating an originally empty file. + rev-list --timestamp + git-clone: typofix. + git-pull: further safety while on tracking branch. + git-pull: reword "impossible to fast-forward" message. + sha1_name: warning ambiguous refs. + sha1_name: make core.warnambiguousrefs the default. + send-email: Identify author at the top when sending e-mail + commit-tree: check return value from write_sha1_file() + built-in diff: minimum tweaks + true built-in diff: run everything in-core. + git-push: make --thin pack transfer the default. + add clean and ignore rules for xdiff/ + GIT 1.3.0 rc1 + +Karl Wiberg (7): + git-svnimport: -r adds svn revision number to commit messages + svnimport: Mention -r in usage summary + svnimport: Convert executable flag + svnimport: Convert the svn:ignore property + svnimport: Read author names and emails from a file + Let git-svnimport's author file use same syntax as git-cvsimport's + Save username -> Full Name <email@addr.es> map file + +Linus Torvalds (21): + Handling large files with GIT + Handling large files with GIT + git-merge-tree: generalize the "traverse <n> trees in sync" functionality + Teach the "git" command to handle some commands internally + First cut at libifying revlist generation + Make git diff-generation use a simpler spawn-like interface + The war on trailing whitespace + Splitting rev-list into revisions lib, end of beginning. + git-rev-list libification: rev-list walking + Introduce trivial new pager.c helper infrastructure + Tie it all together: "git log" + Rip out merge-order and make "git log <paths>..." work again. + get_revision(): do not dig deeper when we know we are at the end. + git-fmt-merge-msg cleanup + Fix up diffcore-rename scoring + diffcore-delta: 64-byte-or-EOL ultrafast replacement. + diffcore-delta: 64-byte-or-EOL ultrafast replacement (hash fix). + git-apply: safety fixes + Use a *real* built-in diff generator + builtin-diff: \No newline at end of file. + Fix error handling for nonexistent names + +Lukas Sandström (1): + git-fetch: print the new and old ref when fast-forwarding + +Marco Costalba (1): + Add a Documentation/git-tools.txt + +Marco Roeland (1): + imap-send: cleanup execl() call to use NULL sentinel instead of 0 + +Mark Hollomon (1): + Let merge set the default strategy. + +Mark Wooding (6): + combine-diff: Honour --full-index. + combine-diff: Honour -z option correctly. + Documentation/Makefile: Some `git-*.txt' files aren't manpages. + gitignore: Ignore some more boring things. + contrib/emacs/Makefile: Provide tool for byte-compiling files. + annotate-tests: override VISUAL when running tests. + +Martin Langhoff (18): + Introducing git-cvsserver -- a CVS emulator for git. + cvsserver: add notes on how to get a checkout under Eclipse + cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U + cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works + cvsserver: add notes on how to get a checkout under Eclipse + cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U + cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works + cvsserver: Checkout correctly on Eclipse + annotate: fix -S parameter to take a string + cvsserver: Eclipse compat -- now "compare with latest from HEAD" works + cvsserver: checkout faster by sending files in a sensible order + cvsserver: fix checkouts with -d <somedir> + cvsserver: checkout faster by sending files in a sensible order + cvsserver: fix checkouts with -d <somedir> + cvsserver: nested directory creation fixups for Eclipse clients + cvsserver: better error messages + cvsserver: anonymous cvs via pserver support + cvsserver: updated documentation + +Martin Mares (1): + gitk: Make error_popup react to Return + +Matthias Urlichs (2): + cvsimport: Remove master-updating code + Don't recurse into parents marked uninteresting. + +Mike McCormack (5): + Allow adding arbitary lines in the mail header generated by format-patch. + Allow format-patch to attach patches + Document the --attach flag. + Describe how to add extra mail header lines in mail generated by git-format-patch. + Add git-imap-send, derived from isync 1.0.1. + +Nick Hengeveld (10): + Update http-push functionality + http-push: fix revision walk + HTTP slot reuse fixes + http-push: refactor remote file/directory processing + http-push: improve remote lock management + http-push: support for updating remote info/refs + http-push: cleanup + Fix broken slot reuse when fetching alternates + http-push: add support for deleting remote branches + http-push: don't assume char is signed + +Nicolas Pitre (11): + relax delta selection filtering in pack-objects + diff-delta: fold two special tests into one plus cleanups + diff-delta: produce optimal pack data + diff-delta: big code simplification + diff-delta: bound hash list length to avoid O(m*n) behavior + diff-delta: produce optimal pack data + diff-delta: bound hash list length to avoid O(m*n) behavior + diff-delta: allow reusing of the reference buffer index + test-delta needs zlib to compile + diff-delta: bound hash list length to avoid O(m*n) behavior + 3% tighter packs for free + +Olaf Hering (1): + allow double click on current HEAD id after git-pull + +Paul Jakma (1): + Makefile tweaks: Solaris 9+ dont need iconv / move up uname variables + +Paul Mackerras (13): + gitk: Make "find" on "Files" work again. + gitk: New improved gitk + gitk: Fix clicks on arrows on line ends + gitk: Fix Update menu item + gitk: Various speed improvements + gitk: Further speedups + gitk: Fix a bug in drawing the selected line as a thick line + gitk: Fix display of diff lines beginning with --- or +++ + gitk: Make commitdata an array rather than a list + gitk: Don't change cursor at end of layout if find in progress + gitk: Make downward-pointing arrows end in vertical line segment + gitk: Improve appearance of first child links + gitk: Fix two bugs reported by users + +Pavel Roskin (1): + gitview: Select the text color based on whether the entry in highlighted. Use standard font. + +Petr Baudis (2): + Properly git-bisect reset after bisecting from non-master head + Optionally do not list empty directories in git-ls-files --others + +Randal L. Schwartz (1): + fix imap-send for OSX + +René Scharfe (5): + tar-tree: Use SHA1 of root tree for the basedir + tar-tree: Introduce write_entry() + tar-tree: Use write_entry() to write the archive contents + tar-tree: Remove obsolete code + tar-tree: Use the prefix field of a tar header + +Ryan Anderson (9): + send-email: Add some options for controlling how addresses are automatically added to the cc: list. + send-email: Add --cc + Add git-annotate, a tool for assigning blame. + annotate: Handle dirty state and arbitrary revisions. + annotate: Convert all -| calls to use a helper open_pipe(). + annotate: Use qx{} for pipes on activestate. + annotate: handle \No newline at end of file. + annotate: Add a basic set of test cases. + annotate: Support annotation of files on other revisions. + +Sean Estabrooks (1): + annotate.perl triggers rpm bug + +Shawn O. Pearce (7): + git ls files recursively show ignored files + Add missing programs to ignore list + Darwin: Ignore missing /sw/lib + Teach git-checkout-index to read filenames from stdin. + Prevent --index-info from ignoring -z. + Add --temp and --stage=all options to checkout-index. + Add missing semicolon to sed command. + +Timo Hirvonen (1): + Use setenv(), fix warnings + +Tony Luck (4): + fix warning from pack-objects.c + Re-fix compilation warnings. + annotate should number lines starting with 1 + fix field width/precision warnings in blame.c + +Yasushi SHOJI (1): + Be verbose when !initial commit + + +Version v1.2.6; changes since v1.2.5: +------------------------------------- + +Junio C Hamano (3): + parse_date(): fix parsing 03/10/2006 + diff_flush(): leakfix. + count-delta: match get_delta_hdr_size() changes. + +Nicolas Pitre (1): + check patch_delta bounds more carefully + + +Version v1.2.5; changes since v1.2.4: +------------------------------------- + +Jason Riedy (1): + Use sigaction and SA_RESTART in read-tree.c; add option in Makefile. + +Junio C Hamano (3): + read-tree --aggressive: remove deleted entry from the working tree. + tar-tree: file/dirmode fix. + safe_fgets() - even more anal fgets() + +Linus Torvalds (2): + Fix Solaris stdio signal handling stupidities + pack-objects: be incredibly anal about stdio semantics + + +Version v1.2.4; changes since v1.2.3: +------------------------------------- + +Alex Riesen (1): + fix t5600-clone-fail-cleanup.sh on windows + +Josef Weidendorfer (2): + git-mv: Allow -h without repo & fix error message + git-mv: fixes for path handling + +Junio C Hamano (13): + checkout - eye candy. + Give no terminating LF to error() function. + diffcore-rename: plug memory leak. + git-am: do not allow empty commits by mistake. + sample hooks template. + apply --whitespace fixes and enhancements. + apply: squelch excessive errors and --whitespace=error-all + apply --whitespace: configuration option. + git-apply --whitespace=nowarn + git-apply: war on whitespace -- finishing touches. + git-am: --whitespace=x option. + diffcore-break: micro-optimize by avoiding delta between identical files. + Allow git-mv to accept ./ in paths. + +Linus Torvalds (1): + The war on trailing whitespace + +Mark Wooding (2): + combine-diff: Honour --full-index. + combine-diff: Honour -z option correctly. + + +Version v1.2.3; changes since v1.2.2: +------------------------------------- + +Carl Worth (2): + git-add: Add support for --, documentation, and test. + git-push: Update documentation to describe the no-refspec behavior. + +Junio C Hamano (11): + format-patch: pretty-print timestamp correctly. + detect broken alternates. + pack-objects: reuse data from existing packs. + pack-objects: finishing touches. + git-repack: allow passing a couple of flags to pack-objects. + pack-objects: avoid delta chains that are too long. + Make "empty ident" error message a bit more helpful. + Delay "empty ident" errors until they really matter. + Keep Porcelainish from failing by broken ident after making changes. + pack-objects eye-candy: finishing touches. + git-fetch: follow tag only when tracking remote branch. + +Nicolas Pitre (2): + nicer eye candies for pack-objects + also adds progress when actually writing a pack + + +Version v1.2.2; changes since v1.2.1: +------------------------------------- + +Carl Worth (3): + Trap exit to clean up created directory if clone fails. + Abstract test_create_repo out for use in tests. + Prevent git-upload-pack segfault if object cannot be found + +Eric Wong (1): + archimport: remove files from the index before adding/updating + +Jonas Fonseca (2): + git-rev-parse: Fix --short= option parsing + Document --short and --git-dir in git-rev-parse(1) + +Martin Mares (1): + Fix retries in git-cvsimport + +Shawn O. Pearce (1): + Make git-reset delete empty directories + + +Version v1.2.1; changes since v1.2.0: +------------------------------------- + +Fernando J. Pereda (1): + Print an error if cloning a http repo and NO_CURL is set + +Fredrik Kuivinen (1): + s/SHELL/SHELL_PATH/ in Makefile + +Josef Weidendorfer (1): + More useful/hinting error messages in git-checkout + +Junio C Hamano (6): + Documentation: git-commit in 1.2.X series defaults to --include. + Documentation: git-ls-files asciidocco. + bisect: remove BISECT_NAMES after done. + combine-diff: diff-files fix. + combine-diff: diff-files fix (#2) + checkout: fix dirty-file display. + + +Version v1.2.0; changes since v1.1.6: +------------------------------------- + +Alecs King (1): + Add freebsd support in Makefile + +Alex Riesen (2): + fix "test: 2: unexpected operator" on bsd + avoid echo -e, there are systems where it does not work + +Andreas Ericsson (4): + git-cvsimport: Add -A <author-conv-file> option + update-hook: Major overhaul (handling tags, mainly). + format-patch: Remove last vestiges of --mbox option + .gitignore git-rerere and config.mak + +Christian Biesinger (1): + Use a relative path for SVN importing + +Daniel Barkalow (4): + Only use a single parser for tree objects + Use struct tree in tar-tree + Use struct commit in tar-tree + Make apply accept the -pNUM option like patch does. + +Eric W. Biederman (1): + Fix git-format-patch -s to include a Signed-off-by: line... + +Eric Wong (2): + rev-list: allow -n<n> as shorthand for --max-count=<n> + rev-list: allow -<n> as shorthand for --max-count=<n> + +Florian Weimer (1): + AsciiDoc fixes for the git-svnimport manpage + +Fredrik Kuivinen (2): + merge-recursive: Make use of provided bases + merge-recursive: Speed up commit graph construction + +J. Bruce Fields (7): + Minor git-reset and git-commit documentation fixes + Mention install-doc in INSTALL + New tutorial + cvs-migration documentation update + Docs: split up pull-fetch-param.txt + Docs: move git url and remotes text to separate sections + Docs: minor git-push copyediting + +Jason Riedy (4): + Run GIT-VERSION-GEN with $(SHELL), not sh. + Add compat/unsetenv.c . + Use sha1_file.c's mkdir-like routine in apply.c. + stat() for existence in safe_create_leading_directories() + +Johannes Schindelin (1): + Use a hashtable for objects instead of a sorted list + +Jon Loeliger (1): + Add --diff-filter= documentation paragraph + +Junio C Hamano (112): + show-branch: take default arguments from configuration file. + git-describe: default to HEAD + Makefile: add 'strip' target + octopus: allow criss-cross and clarify the message when it rejects + Fix the installation location. + checkout: automerge local changes while switching branches. + checkout: merge local modifications while switching branches. + git-push: avoid falling back on pushing "matching" refs. + checkout: show dirty state upon switching branches. + clone: --naked option. + format-patch: always --mbox and show sane Date: + octopus: allow manual resolve on the last round. + Documentation: show-branch. + show-branch: make the current branch and merge commits stand out. + show-branch: --current includes the current branch. + cvsimport: ease migration from CVSROOT/users format + git-push: fix --tags and document it. + Allow building of RPM from interim snapshot. + Revert "git-push: avoid falling back on pushing "matching" refs." + Makefile: do not assume lack of IPV6 means no sockaddr_storage. + fsck-objects: support platforms without d_ino in struct dirent. + DT_UNKNOWN: do not fully trust existence of DT_UNKNOWN + t4011: "sleep 1" is not enough on FAT + Undef DT_* before redefining them. + git-grep: clarification on parameters. + Recommend to remove unused `origin` in a shared repository. + Documentation: finishing touches to the new tutorial. + sample update-hook: sanely handle a new branch head. + git-clone: PG13 --naked option to --bare. + clone: do not create remotes/origin nor origin branch in a bare repository. + clone: do not accept more than one -o option. + tests: adjust breakage by stricter rev-parse + git-fetch --upload-pack: disambiguate. + merge: seed the commit message with list of conflicted files. + diff-tree -c: show a merge commit a bit more sensibly. + diff-tree --cc: denser combined diff output for a merge commit. + combine-diff: fix appending at the tail of a list. + combine-diff: minor output changes. + combine-diff: extend --cc logic to Octopus. + diff-tree --cc: squelch header generation on empty patch. + combine-diff: better hunk splitting. + diff-files: -c and --cc options. + rev-list --remove-empty: add minimum help and doc entry. + abbrev cleanup: use symbolic constants + rev-parse: --abbrev option. + diff-tree: abbreviate merge parent object names with --abbrev --pretty. + rev-parse --abbrev: do not try abbrev shorter than minimum. + Rename rev-parse --abbrev to --short. + pretty_print_commit(): pass commit object instead of commit->buffer. + pretty_print_commit: honor grafts. + diff --abbrev=<n> option fix. + rev-parse: make "whatchanged -- git-fetch-script" work again. + diff-files -c/--cc: combine only when both ours and theirs exist. + Documentation: diff -c/--cc + documentation: cvs migration - typofix. + update-index --index-info: allow stage 0 entries. + rev-list: omit duplicated parents. + combine-diff: reuse diff from the same blob. + combine-diff: update --cc "uninteresting hunks" logic. + combine-diff: add safety check to --cc. + combine-diff: fix placement of deletion. + Documentation: git-diff-tree --cc also omits empty commits + commit.c: "Merge" fix in pretty_print_commit. + combine-diff: add a bit more comments. + combine-diff: show parent line numbers as well. + combine-diff: cleanup. + combine-diff: finishing touches to git-diff-tree --cc + whitespace cleanup. + get_sha1_1: allow octopus^12 to be properly parsed. + git-merge: Properly quote $merge_msg variable. + Do not fall back on vi on dumb terminals. + diff-index: make --cc a synonym for -p for now. + git-diff: use --cc instead of -p. + git-show + daemon: do not forbid user relative paths unconditionally under --base-path + daemon: extend user-relative path notation. + combine-diff: remove misguided --show-empty hack. + git-diff-tree --stdin: show all parents. + git-diff: do not fall back on --cc when -[123], --ours etc. are given. + core-tutorial: adjust to recent reality. + combine-diff: do not send NULL to printf + combine-diff: show mode changes as well. + combine-diff: do not punt on removed or added files. + mailinfo: reset CTE after each multipart + read-tree --aggressive + fmt-merge-msg: show summary of what is merged. + git-rerere: reuse recorded resolve. + git-commit: revamp the git-commit semantics. + git-commit: finishing touches. + Do not allow empty name or email. + t6000: fix a careless test library add-on. + ls-files: honour per-directory ignore file from higher directories. + combined-diff: use diffcore before intersecting paths. + call git_config() after setup_git_directory() + combine-diff: move formatting logic to show_combined_diff() + count-delta.c: Match the delta data semantics change in version 3. + git-status -v + find_unique_abbrev() simplification. + combine-diff: Record diff status a bit more faithfully + rev-list: default to abbreviate merge parent names under --pretty. + git-commit -v: have patch at the end. + Define GIT_(AUTHOR|COMMITTER)_(NAME|EMAIL) to known values. + fetch-clone progress: finishing touches. + Only call git-rerere if $GIT_DIR/rr-cache exists. + t5500: adjust to change in pack-object reporting behaviour. + diff-tree: do not default to -c + Avoid using "git-var -l" until it gets fixed. + hashtable-based objects: minimum fixups. + Make pack-objects chattier. + git-commit: show dirtiness including index. + Fix "test: unexpected operator" on bsd + GIT 1.2.0 + +Kent Engstrom (1): + Add howto about separating topics. + +Linus Torvalds (14): + Make git-rev-list and git-rev-parse argument parsing stricter + git-whatchanged: exit out early on errors + rev-list: stop when the file disappears + Make the "struct tree_desc" operations available to others + Make git-tar-tree use the tree_desc abstractions + Fix git-rev-parse over-eager errors + diff-tree --always flag + rev-parse lstat() workaround cleanup. + Fix "git diff a..b" breakage + diff-tree -c raw output + Make "git clone" less of a deathly quiet experience + Make "git clone" pack-fetching download statistics better + Fix fetch-clone in the presense of signals + Fix object re-hashing + +Mark Wooding (7): + daemon: Provide missing argument for logerror() call. + http-fetch: Fix object list corruption in fill_active_slots(). + http-fetch: Fix message reporting rename of object file. + http: Turn on verbose Curl messages if GIT_CURL_VERBOSE set in environment + http-fetch: Tidy control flow in process_alternate_response + daemon: Set SO_REUSEADDR on listening sockets. + http-fetch: Abort requests for objects which arrived in packs + +Martin Langhoff (3): + cvsimport: Add -S <skipfileregex> support and -v announces files retrieved + exportcommit: replace backticks with safe_pipe_capture() or system() - initial pass + cvsexportcommit: add some examples to the documentation + +Matt Draisey (1): + local push/pull env cleanup + +Michal Ostrowski (3): + Exec git programs without using PATH. + git-fetch: pass --upload-pack to fetch-pack + git-{fetch,peek-remote} handling of --upload-pack + +Nick Hengeveld (2): + Fix HTTP request result processing after slot reuse + Use local structs for HTTP slot callback data + +Nicolas Pitre (3): + remove delta-against-self bit + count-delta.c: comment fixes + delta micro optimization + +Paul Mackerras (2): + gitk: Add braces around if expressions + gitk: Use git-diff-tree --cc for showing the diffs for merges + +Pavel Roskin (2): + Disable USE_SYMLINK_HEAD by default + Don't include ../README in git.txt - make a local copy + +Peter Eriksen (1): + Use adler32() from zlib instead of defining our own. + +Petr Baudis (5): + Document git-ls-files --directory + Allow diff and index commands to be interrupted + Document git-diff-tree --always + Basic documentation for git-show + Add support for explicit type specifiers when calling git-repo-config + +Ryan Anderson (3): + Provide a more meaningful initial "From " line when using --compose in git-send-email. + git-send-email: Add --quiet to reduce some of the chatter when sending emails. + git-send-email: Fully implement --quiet and document it. + +Sasha Khapyorsky (1): + git-svnimport.perl: fix for 'arg list too long...' + +Tom Prince (1): + Add --keep option to keep downloaded packs to git-fetch. + +Tony Luck (1): + update using-topic-branches + +Uwe Kleine-König (3): + Fix generation of "humanish" part of source repo + Remove unneeded header + Use symbolic name SHORT_NAME_AMBIGUOUS as error return value + +Uwe Zeisberger (1): + Make GIT-VERSION-GEN tolerate missing git describe command again + + +Version v1.1.6; changes since v1.1.5: +------------------------------------- + +Fredrik Kuivinen (2): + merge-recursive: Improve the error message printed when merge(1) isn't found. + git-branch: Documentation fixes + +J. Bruce Fields (1): + git push -f documentation + +Junio C Hamano (1): + pre-commit sample hook: do not barf on the initial import + + +Version v1.1.5; changes since v1.1.4: +------------------------------------- + +Junio C Hamano (1): + checkout: do not make a temporary copy of symlink target. + + +Version v1.1.4; changes since v1.1.3: +------------------------------------- + +Johannes Schindelin (1): + git-fetch-pack: really do not ask for funny refs + +Junio C Hamano (1): + Revert "check_packed_git_idx(): check integrity of the idx file itself." + + +Version v1.1.3; changes since v1.1.2: +------------------------------------- + +Junio C Hamano (2): + diffcore-break/diffcore-rename: integer overflow. + describe: omit clearing marks on the last one. + + +Version v1.1.2; changes since v1.1.1: +------------------------------------- + +J. Bruce Fields (1): + Documentation: clarify fetch parameter descriptions. + +Junio C Hamano (6): + update-index: work with c-quoted name + describe: do not silently ignore indescribable commits + name-rev: do not omit leading components of ref name. + show-branch: handle [] globs as well. + Documentation: git-commit -a + Documentation: git-reset - interrupted workflow. + +Tom Prince (1): + Add git-describe to .gitignore. + + +Version v1.1.1; changes since v1.1.0: +------------------------------------- + +H. Peter Anvin (1): + For release tarballs, include the proper version + +Johannes Schindelin (1): + glossary: explain "master" and "origin" + +Junio C Hamano (1): + GIT-VERSION-GEN: detect dirty tree and mark the version accordingly. + + +Version v1.1.0; changes since v1.0.13: +-------------------------------------- + +Johannes Schindelin (3): + git-clone: Support changing the origin branch with -o + Introduce core.sharedrepository + git-init-db: initialize shared repositories with --shared + +John Ellson (1): + Make GIT-VERSION-GEN tolerate missing git describe command + +Junio C Hamano (23): + Post 1.0.0 development track. + Versioning scheme changes. + merge-recursive: conflicting rename case. + whatchanged: customize diff-tree output + rev-parse: --show-cdup + check_packed_git_idx(): check integrity of the idx file itself. + checkout: sometimes work from a subdirectory. + ls-tree: chomp leading directories when run from a subdirectory + git-clone: do not special case dumb http. + Tutorial: mention shared repository management. + git-describe: really prefer tags only. + git-describe: use find_unique_abbrev() + git-describe: --tags and --abbrev + git-describe: still prefer annotated tag under --all and --tags + git-describe: documentation. + Makefile: use git-describe to mark the git version. + send-pack/receive-pack: allow errors to be reported back to pusher. + git-fetch: auto-following tags. + ls-files --others --directory: fix a bug with index entry ordering + ls-files --others --directory: give trailing slash + git-status: use ls-files --others --directory for untracked list. + ls-files --others --directory: test + describe: allow more than one revs to be named. + +Linus Torvalds (2): + Add a "git-describe" command + ls-files -o: optionally skip showing the contents in "untracked" directories + +Lukas Sandström (1): + git-pack-redundant: speed and memory usage improvements + +Petr Baudis (1): + git-daemon --base-path + +YOSHIFUJI Hideaki (1): + GIT: Support [address] in URLs + +Yann Dirson (3): + Add an optional limit to git-cherry + Add a minimal test for git-cherry + Add a test for rebase when a change was picked upstream + + +Version v1.0.13; changes since v1.0.12: +--------------------------------------- + +Junio C Hamano (1): + checkout: do not make a temporary copy of symlink target. + + +Version v1.0.12; changes since v1.0.11: +--------------------------------------- + +Johannes Schindelin (1): + git-fetch-pack: really do not ask for funny refs + +Junio C Hamano (1): + Revert "check_packed_git_idx(): check integrity of the idx file itself." + + +Version v1.0.11; changes since v1.0.10: +--------------------------------------- + +Junio C Hamano (1): + diffcore-break/diffcore-rename: integer overflow. + + +Version v1.0.10; changes since v1.0.9: +-------------------------------------- + +J. Bruce Fields (1): + Documentation: clarify fetch parameter descriptions. + +Junio C Hamano (5): + update-index: work with c-quoted name + name-rev: do not omit leading components of ref name. + show-branch: handle [] globs as well. + Documentation: git-commit -a + Documentation: git-reset - interrupted workflow. + + +Version v1.0.9; changes since v1.0.8: +------------------------------------- + +Johannes Schindelin (1): + glossary: explain "master" and "origin" + + +Version v1.0.8; changes since v1.0.7: +------------------------------------- + +Joe English (1): + Substitute "/" with $opt_s in tag names as well as branch names + +Junio C Hamano (7): + unpack-objects: default to quiet if stderr is not a tty. + Retire debian/ directory. + prune: do not show error from pack-redundant when no packs are found. + Compilation: zero-length array declaration. + tar-tree: finish honoring extractor's umask in git-tar-tree. + revert/cherry-pick: handle single quote in author name. + mailsplit: allow empty input from stdin + +Yann Dirson (3): + Teach cvsexportcommit to add new files + Fix typo in debug stanza of t2001 + Fix git-format-patch usage string wrt output modes. + + +Version v1.0.7; changes since v1.0.6: +------------------------------------- + +Alex Riesen (12): + trivial: retval of waitpid is not errno + trivial: O_EXCL makes O_TRUNC redundant + fix potential deadlock in create_one_file + use result of open(2) to check for presence + trivial: typo in git-commit.sh + trivial: clarify, what are the config's user.name and user.email about + trivial: remove the dots at the end of file names from merge-one-file + trivial: use git-repo-config to detect if the test can be run on the repository + trivial: use git-repo-config to detect how to run tests in the test repository + trivial: .gitignore precompiled python modules + trivial: check, if t/trash directory was successfully created + use GIT_DIR instead of /var/tmp + +Amos Waterland (1): + AIX compile fix for repo-config.c + +Andreas Ericsson (1): + git: grok 'help' to mean '--help'. + +Eric Wong (2): + svnimport: support repositories requiring SSL authentication + Documentation/git-svnimport: document -T and -t switches correctly + +Gerrit Pape (1): + Fix skipping merge-order test with NO_OPENSSL=1. + +Jon Loeliger (1): + Fix git-symbolic-ref typo in git.txt. + +Jonas Fonseca (2): + git-init-db(1): Describe --shared and the idempotent nature of init-db + Wrap synopsis lines and use [verse] to keep formatting + +Junio C Hamano (6): + Documentation: spell. + code comments: spell + ?alloc: do not return NULL when asked for zero bytes + git-fetch --tags: reject malformed tags. + format-patch/commit: Quote single quote in the author name properly. + t3300: skip when filesystem does not like TAB in filenames. + +Linus Torvalds (1): + Fix nasty approxidate bug + + +Version v1.0.6; changes since v1.0.5: +------------------------------------- + +Junio C Hamano (3): + Guard a test against wc that pads its output with whitespace + Fix bogus tests on rev-list output. + Do not mark tags fetched via --tags flag as mergeable + +Sam Ravnborg (1): + copy_fd: close ifd on error + + +Version v1.0.5; changes since v1.0.4: +------------------------------------- + +Eric Wong (1): + short circuit out of a few places where we would allocate zero bytes + +Johannes Schindelin (1): + Handle symlinks graciously + +Junio C Hamano (2): + avoid asking ?alloc() for zero bytes. + t5300: avoid false failures. + + +Version v1.0.4; changes since v1.0.3: +------------------------------------- + +Junio C Hamano (5): + check_packed_git_idx(): check integrity of the idx file itself. + show-branch: usability updates. + merge --no-commit: tweak message + ls-files --full-name: usage string and documentation. + mailinfo: iconv does not like "latin-1" -- should spell it "latin1" + + +Version v1.0.3; changes since v1.0.2: +------------------------------------- + +Alex Riesen (1): + \n usage in stderr output + +Johannes Schindelin (2): + git-format-patch should show the correct version + sha1_to_hex: properly terminate the SHA1 + +Junio C Hamano (1): + send-pack: reword non-fast-forward error message. + +Nick Hengeveld (1): + Fix for http-fetch from file:// URLs + +Pavel Roskin (1): + sanity check in add_packed_git() + + +Version v1.0.2; changes since v1.0.1: +------------------------------------- + +Junio C Hamano (1): + server-info: skip empty lines. + +Pavel Roskin (1): + quote.c: Make loop control more readable. + + +Version v1.0.1; changes since v1.0.0b: +-------------------------------------- + + +Version v1.0.0b; changes since v1.0.0a: +--------------------------------------- + +Junio C Hamano (1): + server-info: skip empty lines. + +Pavel Roskin (1): + quote.c: Make loop control more readable. + + +Version v1.0.0a; changes since v1.0.0: +-------------------------------------- + +Johannes Schindelin (1): + Avoid misleading success message on error + +Junio C Hamano (3): + objects/info/packs: work around bug in http-fetch.c::fetch_indices() + http-fetch.c: fix objects/info/pack parsing. + GIT 1.0.0a + +Pavel Roskin (1): + An off-by-one bug found by valgrind + + +Version v1.0.0; changes since v1.0rc6: +-------------------------------------- + +Eric Wong (1): + Documentation/git-archimport: document -o, -a, f, -D options + +Fredrik Kuivinen (3): + git-diff: Usage string clean-up + git-log: Add usage string + git-whatchanged: Add usage string + +Jan Harkes (1): + Fix git-am --skip + +Johannes Schindelin (1): + We do not like "HEAD" as a new branch name + +Junio C Hamano (32): + clone-pack: make it usable for partial branch cloning. + Documentation: tutorial + get_sha1_basic(): corner case ambiguity fix + applymbox: typofix + Sort globbed refname in show-branch. + refs.c: off-by-one fix. + Examples of resetting. + Forbid pattern maching characters in refnames. + Comment fixes. + Documentation: HTTP needs update-server-info. + Remove misguided branch disambiguation. + Revert "refs.c: off-by-one fix." + Revert "We do not like "HEAD" as a new branch name" + Revert "get_sha1_basic(): corner case ambiguity fix" + fetch-pack: -k option to keep downloaded pack. + clone-pack: remove unused and undocumented --keep flag + Documentation: typos and small fixes in "everyday". + howto/using-topic-branches: Recommend public URL git://git.kernel.org/ + rev-list --objects: fix object list without commit. + Documentation: stdout of update-hook is connected to /dev/null + Remove generated files */*.py[co] + Remove unused cmd-rename.sh + Remove "octopus". + tests: make scripts executable + xread/xwrite: do not worry about EINTR at calling sites. + diff: --abbrev option + diff --abbrev: document --abbrev=<n> form. + format-patch: make sure header and body are separated. + Racy GIT + Racy GIT (part #2) + ce_smudge_racily_clean_entry: explain why it works. + A shared repository should be writable by members. + +Linus Torvalds (3): + Make "git help" react to window size correctly + Make "git help" sort git commands in columns + Make "git-send-pack" less verbose by default + +Martin Langhoff (1): + svnimport: exit cleanly when we are up to date + +Nicolas Pitre (1): + small cleanup for diff-delta.c + + +Version v1.0rc6; changes since v1.0rc5: +--------------------------------------- + +Amos Waterland (1): + git rebase loses author name/email if given bad email address + +Fredrik Kuivinen (12): + Usage message clean-up, take #2 + Trivial usage string clean-up + git-verify-tag: Usage string clean-up, emit usage string at incorrect invocation + git-revert: Usage string clean-up + git-am: Usage string clean-up + git-applypatch: Usage string clean-up, emit usage string at incorrect invocation + git-cherry: Usage string clean-up, use the 'usage' function + git-fetch: Usage string clean-up, emit usage string at unrecognized option + git-lost-found: Usage string clean-up, emit usage string at incorrect invocation + git-prune: Usage string clean-up, use the 'usage' function + git-rebase: Usage string clean-up, emit usage string at incorrect invocation + git-repack: Usage string clean-up, emit usage at incorrect invocation + +H. Peter Anvin (1): + git-am support for naked email messages (take 2) + +Junio C Hamano (22): + diffcore-break.c: check diff_delta() return value. + Add deltifier test. + diff-delta.c: allow delta with empty blob. + Everyday: some examples. + Revert "diff-delta.c: allow delta with empty blob." + Revert "Add deltifier test." + diffcore-break: do not break too small filepair. + Everyday: a bit more example. + Documentation: more examples. + Documentation: fix missing links to git(7) + Documentation: diff examples. + Documentation: not learning core git commands. + git-clone: tell the user a bit more about clone-pack failure. + allow merging any committish + checkout-index: fix checking out specific path. + Everyday: a bit more examples. + t3200: branch --help does not die anymore. + applypatch: no need to do non-portable [[ ... ]] + Documentation: topic branches + rebase: do not get confused in fast-forward situation. + Do not let errors pass by unnoticed when running `make check'. + mailinfo and git-am: allow "John Doe <johndoe>" + +Lukas Sandström (1): + Bugfixes for git-rebase + +Martin Atukunda (1): + define MAXPATHLEN for hosts that don't support it + +Petr Baudis (1): + Make git-send-pack exit with error when some refs couldn't be pushed out + + +Version v1.0rc5; changes since v1.0rc4: +--------------------------------------- + +Alex Riesen (1): + use "git init-db" in tests + +Daniel Barkalow (3): + Warn when send-pack does nothing + Clean up file descriptors when calling hooks. + Allow saving an object from a pipe + +Eric Wong (9): + archimport: first, make sure it still compiles + archimport: remove String::ShellQuote dependency. + archimport: fix -t tmpdir switch + archimport: remove git wrapper dependency + archimport: add -D <depth> and -a switch + archimport: safer log file parsing + archimport: Add the accurate changeset applyer + archimport: Fix a bug I introduced in the new log parser + archimport: fix a in new changeset applyer addition + +Jason Riedy (3): + Document config.mak in INSTALL. + Initial AIX portability fixes. + Use printf rather than echo -n. + +Jon Loeliger (1): + Added documentation for few missing options. + +Junio C Hamano (51): + compat/setenv: do not free what we fed putenv(3). + git.c: two fixes, gitsetenv type and off-by-one error. + show-branch: allow glob pattern to name branches to show. + Documentation: rebase does not use cherry-pick anymore. + struct tree: remove unused field "parent" + git.c: remove excess output for debugging when command is too long. + sha1_file.c: make sure packs in an alternate odb is named properly. + server-info.c: drop unused D lines. + server-info: stop sorting packs by latest date. + server-info: throw away T computation as well. + Documentation: talk about pathspec in bisect. + Documentation: git-mv manpage workaround. + Documentation: git-diff asciidoc table workaround. + Documentation: push/receive hook references. + Documentation: shared repository management in tutorial. + server-info.c: use pack_local like everybody else. + server-info.c: and two functions are not used anymore. + config.c: remove unnecessary header in minimum configuration file. + Clean up compatibility definitions. + Fix 5501 test + git-mv to work with Perl 5.6 + hash-object: -- and --help + init-db: check extra arguments and complain. + write-tree: check extra arguments and die but be a bit more helpful. + Documentation: hash-object. + Documentaiton (read-tree): update description of 3-way + git-merge-one-file: resurrect leading path creation. + qsort() ptrdiff_t may be larger than int + checkout-index: allow checking out from higher stages. + git-merge-one: new merge world order. + update-index: allow --index-info to add higher stages. + Documentation: git.html/git.7 + Documentation(glossary): minor formatting clean-ups. + Documentation(cvs-migration): minor cleanups. + Documentation(tutorial): adjust merge example to the new merge world order. + refs.c: make sure leading directories exist before writing a ref. + Make sure we use compat/subprocess.py with Python 2.3 while running tests. + Documentation: recursive is the default strategy these days. + show-branch: comment typo + Documentation: git-prune + qsort(): ptrdiff_t may be larger than int + git-prune: never lose objects reachable from our refs. + Use GIT_EXEC_PATH explicitly for initial git-init-db in tests. + Everyday GIT with 20 commands + Link Everyday GIT to main documentation tree. + t3300: funny name test + t0000: catch trivial pilot errors. + format-patch: use same number of digits in numbers + merge-recursive: leave unmerged entries in the index. + merge-recursive: cleanup setIndexStages + t/t6022: a new test for renaming merge. + +Nikolai Weibull (16): + Document the --non-empty command-line option to git-pack-objects. + Fix the description of --utf8 and --keep to git-am. + Use uniform description for the '--' option. + Documentation/git-commit.txt: Add long options and -- to documentation. + Documentation/git-verify-pack.txt: added documentation for --. + Documentation/git-cvsimport.txt: Fix a slight glitch in description heading. + Documentation/git-cherry-pick: Add --replay and --no-commit. + Add documentation for git-revert and git-cherry-pick. + Add documentation for the --topo-order option to git-show-branch. + Documentation/git-format-patch.txt: Add --signoff, --check, and long option-names. + Documentation/git-ls-remote.txt: Add -h and -t. + Documentation/git-repack.txt: Add -l and -n. + Documentation/git-http-fetch.txt: Document the commit-id argument. + Documentation/git-update-server-info.txt: Add -f alias for --force to documentation. + Documentation/git-tag.txt: Fix the order of sections (DESCRIPTION should come before OPTIONS). + Documentation/git-read-tree.txt: Add --reset to SYNOPSIS. + +Paul Mackerras (3): + gitk: Factored out some common code into a new start_rev_list procedure + gitk: Some improvements for the code for updating the display + gitk: Work around Tcl's non-standard names for encodings + +Petr Baudis (2): + Update the git-ls-tree documentation + Document the --(no-)edit switch of git-revert and git-cherry-pick + +Sven Verdoolaege (1): + gitk: add Update menu item. + + +Version v1.0rc4; changes since v1.0rc3: +--------------------------------------- + +Alecs King (1): + Documentation/git-log.txt: trivial typo fix. + +Alex Riesen (5): + speedup allocation in pack-redundant.c + remove unused variable + arguments cleanup and some formatting + Add tests for git-mv in subdirectories + git wrapper: more careful argument stuffing + +Alexander Litvinov (1): + git-mv is not able to handle big directories + +Andreas Ericsson (13): + git-daemon: --inetd implies --syslog + C implementation of the 'git' program, take two. + Update git(7) man-page for the C wrapper. + git --help COMMAND brings up the git-COMMAND man-page. + daemon.c: fix arg parsing bugs + Library code for user-relative paths, take three. + Server-side support for user-relative paths. + Client side support for user-relative paths. + Documentation update for user-relative paths. + git-reset.txt: Small fix + clarifications. + git-daemon support for user-relative paths. + Introduce $(ALL_PROGRAMS) for 'all:' and 'install:' to operate on. + cvsimport: Don't let local settings hinder cvs user-migration. + +Eric Wong (3): + remove shellquote usage for tags + archimport: don't die on merge-base failure + Disambiguate the term 'branch' in Arch vs git + +Frank Sorenson (1): + gitk: Specify line hover font + +Fredrik Kuivinen (5): + merge-recursive: Replace 'except:' + git-merge: Exit with code 2 if no strategy was able to handle the merge. + test-lib.sh: Add new function, test_expect_code + New test case: merge with directory/file conflicts + New test case: Criss-cross merge + +H. Peter Anvin (3): + git-core-foo -> git-foo, except the core package + rename/copy score parsing updates. + A few more options for git-cat-file + +Jan Andres (1): + Fix typo in http-push.c + +Jason Riedy (1): + Add compat/setenv.c, use in git.c. + +Jeff Hobbs (1): + gitk: put braces around exprs + +Johannes Schindelin (13): + Add config variable core.symrefsonly + Fix tests with new git in C + Give python a chance to find "backported" modules + Add functions git_config_set() and git_config_set_multivar() + Add git-config-set, a simple helper for scripts to set config variables + Add documentation for git-config-set + Add test case for git-config-set + git-config-set: add more options + git-config-set: support selecting values by non-matching regex + git-config-set: Properly terminate strings with '\0' + Allow hierarchical section names + Rename git-config-set to git-repo-config + Make git-mv work in subdirectories, too + +Jon Loeliger (1): + Fix typos and minor format issues. + +Jonas Fonseca (1): + Fix git(1) link to git-index-pack + +Josef Weidendorfer (6): + Fix git-mv for moving directories with 1 file + git-mv: shrink usage, no usage on error + git-mv: keep git index consistent with file system on failed rename + git-mv: fully detect 'directory moved into itself' + Small fixes in Documentation/git-mv.txt + git-mv: follow -k request even on failing renames + +Junio C Hamano (108): + Documentation: do not blindly run 'cat' .git/HEAD, or echo into it. + diff: make default rename detection limit configurable. + sha1_file.c::add_packed_git(): fix type mismatch. + git wrapper: basic fixes. + git-apply: fail if a patch cannot be applied. + git-am: --resolved. + apply: allow-binary-replacement. + diff: --full-index + tests: binary diff application. + Add approxidate test calls. + Deal with binary diff output from GNU diff 2.8.7 + git-am: --binary; document --resume and --binary. + git-prune: quote possibly empty $dryrun as parameter to test + Cygwin *might* be helped with NO_MMAP + Do not show .exe in git command list. + git-branch: -f to forcibly reset branch head. + Rewrite rebase to use git-format-patch piped to git-am. + readrefs: grab all refs with one call to ls-remote. + git-count-objects: dc replacement + git-repack: do not do complex redundancy check. + Documentation: rebase-from-internal minor updates. + merge-one-file: remove empty directories + merge-recursive::removeFile: remove empty directories + http.c: reorder to avoid compilation failure. + Do not DWIM in userpath library under strict mode. + Documentation: add hooks/update example. + merge-one-file: use rmdir -p + Fix "do not DWIM" patch to enter_repo" + Make sure heads/foo and tags/foo do not confuse things. + Fix hooks/update template. + format-patch: fix two-argument special case, and make it easier to pick single commits + rename detection with -M100 means "exact renames only". + tutorial: setting up a tree for subsystem maintainers + daemon: further tweaks. + git-proxy updates. + Move diff.renamelimit out of default configuration. + git-var: constness and globalness cleanup. + pack-redundant: type cleanups. + git-merge: make recursive the default strategy + git-revert: make --edit default. + Teach update-index to read from ls-tree. + diff-tree: teach single-commit diff-tree to honour grafts + config.c: avoid shadowing global. + Prevent "git-commit -a path1 path2..." + parse-remote and ls-remote clean-up. + git-sh-setup: die if outside git repository. + git-var: make it work in subdirectory. + setup_git_directory: make sure GIT_DIR is a valid repository. + git-sh-setup: move the repository check to a core program. + shell.c: complain on insufficient arguments. + name-rev: fix off-by-one error in --stdin. + format-patch: output filename reported to stdout verbatim. + Repository format version check. + Check repository format version in enter_repo(). + init-db: check template and repository format. + setup_git_directory(): check repository format version. + Introduce i18n.commitencoding. + mailinfo: allow -u to fall back on latin1 to utf8 conversion. + mailinfo: Use i18n.commitencoding + mailinfo: Do not use -u=<encoding>; say --encoding=<encoding> + config.c: constness tightening to avoid compilation warning. + gitk: Use i18n.commitencoding configuration item. + git-mv: quote $src in regexp properly. + rebase: one safety net, one bugfix and one optimization. + name-rev: fix parent counting. + Documentation: Describe merge operation a bit better. + write_name_quoted(): make one of the path a counted string. + ls-tree: Resurrect funny name quoting lost during rewrite. + ls-tree: match the test to the new semantics. + bisect: quote pathnames for eval safety. + working from subdirectory: preparation + git-apply: work from subdirectory. + peek-remote: honor proxy config even from subdirectory. + fsck-objects: work from subdirectory. + checkout-index: work from subdirectory. + hash-object: work within subdirectory. + ls-tree: work from subdirectory. + Make networking commands to work from a subdirectory. + Make the rest of commands work from a subdirectory. + count-objects: make it operable from a subdirectory. + ls-remote: define die() now we do not use git-sh-setup + branch: make it operable from a subdirectory. + lost-found: make it operable from a subdirectory. + tag: make it operable from a subdirectory. + verify-tag: make it operable from a subdirectory. + define die() for scripts that use it. + hash-object.c: type-fix to squelch compiler warnings. + applymbox: typofix to enable -m option. + applypatch: use "index" lines not "applies-to". + format-patch: remove applies-to. + format-patch: do not abuse 3-dash marker line. + format-patch: run diff in C locale + git-diff: do not turn off -p/-M with any diff options. + diff-files: show diffs with stage0 and unmerged stage at the same time. + merge-recursive: match the unmerged index entry behaviour with merge-resolve + Tutorial: adjust merge example to recursive strategy. + Documentation: describe '-f' option to git-fetch. + Makefile: say the default target upfront. + ls-tree: resurrect '-d' to mean 'show trees only' + ls-tree: --name-only + git-merge-one-file: do not worry about 'rmdir -p' not removing directory. + merge-recursive: adjust git-ls-tree use for the latest. + t3100: add ls-tree -t and -d tests. + merge-one-file: make sure we create the merged file. + merge-one-file: make sure we do not mismerge symbolic links. + git-merge documentation: conflicting merge leaves higher stages in index + documentation: git-bisect (help HTML break man) + daemon.c and path.enter_repo(): revamp path validation. + +Kevin Geiss (4): + git-cvsexportcommit.perl: Fix usage() output. + git-cvsexportcommit.perl: use getopts to get binary flags + git-cvsexportcommit.perl: exit with non-0 status if patch fails. + git-cvsexportcommit.perl: fix typos in output + +Linus Torvalds (14): + Disallow empty pattern in "git grep" + git's rev-parse.c function show_datestring presumes gnu date + Teach "approxidate" about weekday syntax + Make "git fetch" less verbose by default + Teach "approxidate" about weekday syntax + git-repack: Properly abort in corrupt repository + Allow editing of a revert-message + ls-tree: major rewrite to do pathspec + ls-tree: further cleanup to parallel ls-files. + ls-tree: further tweaks of the rewrite + bisect: limit the searchspace by pathspecs + diff-files: -1/-2/-3 to diff against unmerged stage. + merge-one-file: leave unmerged index entries upon automerge failure. + git-ls-tree: add "-t" option to always show the tree entries + +Luben Tuikov (1): + max-count in terms of intersection + +Lukas Sandström (8): + Fix llist_sorted_difference_inplace in git-pack-redundant + Make git-pack-redundant non-horribly slow on large sets of packs + Fix bug introduced by the latest changes to git-pack-redundant + Fix a bug in get_all_permutations. + Remove all old packfiles when doing "git repack -a -d" + Improve the readability of git-pack-redundant + Document the "ignore objects" feature of git-pack-redundant + Make git-pack-redundant take a list of unimportant objs on stdin + +Martin Langhoff (1): + archimport: allow for old style branch and public tag names + +Matthias Urlichs (1): + SVN import: Use one log call + +Nick Hengeveld (7): + Isolate shared HTTP request functionality + Make http-fetch request types more clear + Improve pack list response handling + Improve XML parsing in http-push + http-push memory/fd cleanup + Decide whether to build http-push in the Makefile + http-push cleanup + +Nicolas Pitre (1): + 'make clean' forgot about some files + +Paul Collins (1): + proxy-command support for git:// + +Paul Mackerras (5): + Add -r flag and some speedups + gitk: Fix some bugs introduced by speedup changes + gitk: Disable fastdate stuff for now + gitk: Fix diff this->selected and selected->this functions + gitk: Add a preferences dialog with some basic stuff + +Paul Serice (2): + git-daemon not listening when compiled with -DNO_IPV6 + Fixed git:// IPv4 address problem when compiled with -DNO_IPV6. + +Pavel Roskin (4): + symref support for import scripts + gitk: use git-diff-tree --no-commit-id + gitk: UTF-8 support + git-clone --shared should imply --local + +Petr Baudis (1): + Fix bunch of fd leaks in http-fetch + +Ralf Baechle (1): + git-repack: Fix variable name + +Ryan Anderson (1): + Add Python version checks to the Makefile to automatically set WITH_OWN_SUBPROCESS_PY + +Sergey Vlasov (2): + git-fsck-objects: Free tree entries after use + Rework object refs tracking to reduce memory usage + +Stefan-W. Hahn (1): + gitk: moving all three panes if clicking on an arrow. + +Timo Hirvonen (2): + Fix sparse warnings + Move couple of ifdefs after "include config.mk" + +Tommi Virtanen (1): + Do not attempt to access literal dirname "GIT_OBJECT_DIRECTORY". + +Tony Luck (1): + Update pull/fetch --tags documentation + +YOSHIFUJI Hideaki (2): + GIT: Fix compilation error in connect.c + Fix a warning about unused value. + +Yann Dirson (1): + Fix gitk this->selected diffs + +anonymous (2): + documentation: clarify read-tree --reset + documentation: git-tag + + +Version v1.0rc3; changes since v1.0rc2: +--------------------------------------- + +Junio C Hamano (1): + GIT 0.99.9j aka 1.0rc3 + + +Version v1.0rc2; changes since v1.0rc1: +--------------------------------------- + +Alex Riesen (1): + allow git-update-ref create refs with slashes in names + +Andreas Ericsson (1): + git-branch: Mention -d and -D in man-page. + +Josef Weidendorfer (2): + Bugfix: stop if directory already exists + Remove git-rename. git-mv does the same + +Junio C Hamano (5): + Debian: build-depend on libexpat-dev. + Rename lost+found to lost-found. + Separate LDFLAGS and CFLAGS. + apply: fix binary patch detection. + Update topo-order test. + +Kai Ruemmler (1): + Fix compilation warnings in pack-redundant.c + +Linus Torvalds (1): + Fix git-rev-list "date order" with --topo-order + +Matthias Urlichs (3): + debian packaging: git-cvs needs cvsps + Remove trailing slashes + Depend on asciidoc 7 (at least). + +Nick Hengeveld (2): + Fix for multiple alternates requests in http-fetch + Fix fd leak in http-fetch + +Nikolai Weibull (3): + Document the -n command-line option to git-unpack-objects + Document a couple of missing command-line options. + Documentation nitpicking + +Thomas Matysik (2): + Add expat and expat-devel dependencies (for http-push) to RPM spec. + Split gitk into seperate RPM package + + diff --git a/debian/changelog.upstream.sh b/debian/changelog.upstream.sh new file mode 100755 index 0000000..3441546 --- /dev/null +++ b/debian/changelog.upstream.sh @@ -0,0 +1,16 @@ +#!/bin/sh +set -e +: >debian/changelog.upstream +exec <debian/versions.upstream +read old +while read new; do + exec >debian/changelog.upstream."$new" + echo "Version $new; changes since $old:" + echo "Version $new; changes since $old:" |tr '[:print:]' - + echo + git shortlog --no-merges "$old".."$new" + echo + cat debian/changelog.upstream + mv debian/changelog.upstream."$new" debian/changelog.upstream + old="$new" +done diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..011aa74 --- /dev/null +++ b/debian/control @@ -0,0 +1,343 @@ +Source: git +Section: vcs +Priority: optional +Maintainer: Jonathan Nieder <jrnieder@gmail.com> +Uploaders: Anders Kaseorg <andersk@mit.edu> +Build-Depends: libz-dev, gettext, + libpcre2-dev | libpcre3-dev, + libcurl4-gnutls-dev, libexpat1-dev, + subversion, libsvn-perl, libyaml-perl, + tcl, python3, + libhttp-date-perl | libtime-parsedate-perl, + libcgi-pm-perl, + liberror-perl, + libmailtools-perl, + cvs, cvsps, libdbd-sqlite3-perl, + unzip, libio-pty-perl, + debhelper-compat (= 10), + dh-exec (>= 0.7), + dh-apache2, + dpkg-dev (>= 1.16.2~) +Build-Depends-Indep: asciidoc (>= 8.6.10), xmlto, docbook-xsl +Standards-Version: 4.3.0.1 +Homepage: https://git-scm.com/ +Vcs-Git: https://repo.or.cz/r/git/debian.git/ +Vcs-Browser: https://repo.or.cz/w/git/debian.git/ + +Package: git +Architecture: any +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends}, perl, liberror-perl, + git-man (>> ${source:Upstream-Version}), git-man (<< ${source:Upstream-Version}-.) +Pre-Depends: ${misc:Pre-Depends} +Recommends: ca-certificates, patch, less, ssh-client +Suggests: gettext-base, git-daemon-run | git-daemon-sysvinit, + git-doc, git-el, git-email, git-gui, gitk, gitweb, + git-cvs, git-mediawiki, git-svn +Replaces: gitweb (<< 1:1.7.4~rc1), + git-core (<< 1:1.7.0.4-1.) +Breaks: bash-completion (<< 1:1.90-1), gitweb (<< 1:1.7.4~rc1), + dgit (<< 5.1~), + git-buildpackage (<< 0.6.5), + cogito (<= 0.18.2+), + openssh-client (<< 1:6.8), + stgit (<< 0.15), stgit-contrib (<< 0.15), gitpkg (<< 0.15), + guilt (<< 0.33), gitosis (<< 0.2+20090917-7), + git-core (<< 1:1.7.0.4-1.) +Provides: git-completion, git-core +Description: fast, scalable, distributed revision control system + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This package provides the git main components with minimal dependencies. + Additional functionality, e.g. a graphical user interface and revision + tree visualizer, tools for interoperating with other VCS's, or a web + interface, is provided as separate git* packages. + +Package: git-man +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Replaces: git (<< 1:1.7.4~rc1), + 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-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Suggests: git, git-cvs, git-svn, git-email, gitk, gitweb +Description: fast, scalable, distributed revision control system (documentation) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This package provides the documentation. + +Package: git-cvs +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), cvsps, libdbd-sqlite3-perl +Suggests: git-doc, cvs +Description: fast, scalable, distributed revision control system (cvs interoperability) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This package provides the git cvsimport, cvsexportcommit, and cvsserver + tools, which allow Git to read from and write to CVS repositories and + offer access over CVS protocol to Git repositories. + . + The git cvsimport tool can incrementally import from a repository that + is being actively developed and only requires remote access over CVS + protocol. Unfortunately, in many situations the import leads to + incorrect results. For reliable, one-shot imports, cvs2git from the + cvs2svn package or parsecvs may be a better fit. + +Package: git-svn +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), libsvn-perl, libyaml-perl, libterm-readkey-perl +Suggests: git-doc, subversion +Breaks: git (<< 1:1.8.3~rc1-1.) +Replaces: git (<< 1:1.8.3~rc1-1.) +Description: fast, scalable, distributed revision control system (svn interoperability) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This package provides tools for interoperating with Subversion repositories, + and importing SVN development history. + +Package: git-mediawiki +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), + libmediawiki-api-perl (>= 0.39), liblwp-protocol-https-perl, libdatetime-format-iso8601-perl +Suggests: mediawiki +Description: fast, scalable, distributed revision control system (MediaWiki remote helper) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This package provides the mediawiki remote helper, which allows Git to + read from and write to a wiki such as Wikipedia as though it were a + remote Git repository, and a 'git mw' command that can show a preview + of how wiki markup will be rendered before pushing. + +Package: git-email +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.) +Recommends: libemail-valid-perl, + libmailtools-perl, + perl (>> 5.21.5) | libnet-smtp-ssl-perl, + libauthen-sasl-perl, + libio-socket-ssl-perl (>= 1.951) +Suggests: git-doc +Description: fast, scalable, distributed revision control system (email add-on) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This package provides the git-send-email program for sending series of + patch emails. + +Package: git-daemon-run +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), runit, adduser +Conflicts: git-daemon-sysvinit +Description: fast, scalable, distributed revision control system (git-daemon service) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + git-daemon, as provided by the git package, is a simple server for git + repositories, ideally suited for read-only updates, i.e. pulling from git + repositories through the network. This package provides a runit service + for running git-daemon permanently. This configuration is simpler and + more reliable than git-daemon-sysvinit, at a cost of being less + familiar for administrators accustomed to sysvinit. + +Package: git-daemon-sysvinit +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), adduser, lsb-base (>= 3.0-6) +Conflicts: git-daemon-run +Description: fast, scalable, distributed revision control system (git-daemon service) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + git-daemon, as provided by the git package, is a simple server for git + repositories, ideally suited for read-only updates, i.e. pulling from git + repositories through the network. This package provides a sysvinit service + for running git-daemon permanently. Unlike git-daemon-run, this + package provides the usual sysvinit service management commands + ("service git-daemon start/stop") for git-daemon. + +Package: git-gui +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), tk +Recommends: gitk +Suggests: git-doc, aspell, meld +Description: fast, scalable, distributed revision control system (GUI) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This package provides the git graphical user interface. + . + If aspell is installed, it can check the spelling of commit messages + as the user types. + . + If meld is installed, it can be used for displaying diffs and for + interactive merge conflict resolution. + +Package: gitk +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), tk +Suggests: git-doc +Description: fast, scalable, distributed revision control system (revision tree visualizer) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This package provides the gitk program, a tcl/tk revision tree visualizer. + +Package: git-el +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>= 1:1.7.4.1-2~), emacs | emacsen +Recommends: elpa-magit +Replaces: git (<< 1:1.7.4.1-2~) +Breaks: emacsen-common (<< 3.0.0~), 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 transitional package provides two modules that previously could be + used for integration with Emacs: git.el and git-blame.el. Now the + modules print an error message with instructions that users can use to + migrate to Emacs's VC-mode backend for Git or Magit. + +Package: gitweb +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), + perl, libcgi-pm-perl +Pre-Depends: ${misc:Pre-Depends} +Recommends: ${misc:Recommends}, libhttp-date-perl | libtime-parsedate-perl +Breaks: apache2.2-common (<< 2.3~) +Suggests: httpd-cgi | libcgi-fast-perl, git-doc +Description: fast, scalable, distributed revision control system (web interface) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This package configures a web interface for browsing git repositories. + . + If apache2 is installed, the web interface is automatically made + available at http://localhost/gitweb. Other servers that support CGI + or mod_perl are supported through manual configuration. + . + If libcgi-fast-perl is installed, gitweb can also be run over FastCGI + (and served by nginx, for example). + +Package: git-all +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), + git-doc, git-el, git-cvs, git-mediawiki, git-svn, + git-email, git-gui, gitk, gitweb +Suggests: git-daemon-run | git-daemon-sysvinit +Description: fast, scalable, distributed revision control system (all subpackages) + Git is popular version control system designed to handle very large + projects with speed and efficiency; it is used for many high profile + open source projects, most notably the Linux kernel. + . + Git falls in the category of distributed source code management tools. + Every Git working directory is a full-fledged repository with full + revision tracking capabilities, not dependent on network access or a + central server. + . + This is a dummy package which brings in all subpackages. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..5939259 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,410 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Contact: git@vger.kernel.org +Source: https://www.kernel.org/pub/software/scm/git/ + +Files: * +Copyright: © 2005-2020, 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: ewah/* +Copyright: © 2013, GitHub Inc. + © 2009-2013, Daniel Lemire, Cliff Moon, + David McIntosh, Rober Becho, Google Inc. and Veronika Zenz +License: GPL-2+ + +Files: sha1dc/* +Copyright: © 2017, + Marc Stevens + Cryptology Group + Centrum Wiskunde & Informatica + P.O. Box 94079, 1090 GB Amsterdam, Netherlands + marc@marc-stevens.nl + . + Dan Shumow + Microsoft Research + danshu@microsoft.com +License: Expat + +Files: gitk-git/* +Copyright: © 2005-2016, Paul Mackerras, et al. +License: GPL-2+ + +Files: gitk-git/po/bg.po +Copyright: © 2014, 2015, 2016, 2017, 2018 Alexander Shopov <ash@kambanaria.org> +License: GPL-2 +Comment: This file is distributed under the same license as the git package. + +Files: git-gui/* +Copyright: © 2005-2010, Shawn Pearce, et. al. +License: GPL-2+ + +Files: git-gui/po/bg.po git-gui/po/de.po git-gui/po/fr.po git-gui/po/glossary/* +Copyright: © 2007-2008, Shawn Pearce, et al. + © 2012-2015, Alexander Shopov <ash@kambanaria.org> +License: GPL-2 +Comment: This file is distributed under the same license as the git package. + +Files: git-gui/po/glossary/el.po git-gui/po/glossary/pt_br.po +Copyright: © 2007, Shawn Pearce, et al. + © 2009, Jimmy Angelakos +License: GPL-2+ +Comment: This file is distributed under the same license as the git-gui package. + +Files: gitweb/static/js/* +Copyright: © 2007, Fredrik Kuivinen <frekui@gmail.com> + © 2007, Petr Baudis <pasky@suse.cz> + © 2008-2011, Jakub Narebski <jnareb@gmail.com> + © 2011, John 'Warthog9' Hawley <warthog9@eaglescrag.net> +License: GPL-2+ + +Files: git-p4 +Copyright: © 2007, Simon Hausmann <simon@lst.de> + © 2007, Trolltech ASA +License: Expat + +Files: git-svn.perl +Copyright: © 2006, Eric Wong <normalperson@yhbt.net> +License: GPL-2+ + +Files: imap-send.c +Copyright: © 2000-2002, Michael R. Elkins <me@mutt.org> + © 2002-2004, Oswald Buddenhagen <ossi@users.sf.net> + © 2004, Theodore Y. Ts'o <tytso@mit.edu> + © 2006, Mike McCormack +Name: git-imap-send - drops patches into an imap Drafts folder + derived from isync/mbsync - mailbox synchronizer +License: GPL-2+ + +Files: perl/Git.pm +Copyright: © 2006, by Petr Baudis <pasky@suse.cz> +License: GPL-2+ + +Files: perl/private-Error.pm +Copyright: © 1997-8, Graham Barr <gbarr@ti.com> +License: GPL-1+ or Artistic-1 + This program is free software; you can redistribute it and/or modify + it under the terms of either: + . + a) the GNU General Public License as published by the Free Software + Foundation; either version 1, or (at your option) any later + version, or + . + b) the "Artistic License" which comes with Perl. + . + On Debian GNU/Linux systems, the complete text of the GNU General + Public License can be found in '/usr/share/common-licenses/GPL' and + the Artistic Licence in '/usr/share/common-licenses/Artistic'. + +Files: kwset.c kwset.h +Copyright: © 1989, 1998, 2000, 2005, Free Software Foundation, Inc. +License: GPL-2+ + +Files: khash.h +Copyright: © 2008, 2009, 2011 by Attractive Chaos <attractor@live.co.uk> +License: Expat + +Files: trace.c +Copyright: © 2000-2002, Michael R. Elkins <me@mutt.org> + © 2002-2004, Oswald Buddenhagen <ossi@users.sf.net> + © 2004, Theodore Y. Ts'o <tytso@mit.edu> + © 2006, Mike McCormack + © 2006, Christian Couder +License: GPL-2+ + +Files: sh-i18n--envsubst.c +Copyright: © 2010, Ævar Arnfjörð Bjarmason + © 1998-2007, Free Software Foundation, Inc. +License: GPL-2+ + +Files: t/test-lib.sh +Copyright: © 2005, Junio C Hamano +License: GPL-2+ + +Files: compat/inet_ntop.c compat/inet_pton.c +Copyright: © 1996-2001, Internet Software Consortium. +License: ISC + +Files: compat/poll/poll.c compat/poll/poll.h +Copyright: © 2001-2003, 2006-2011, Free Software Foundation, Inc. +Name: Emulation for poll(2) from gnulib. +License: GPL-2+ + +Files: compat/vcbuild/include/sys/utime.h +Copyright: ? +License: mingw-runtime + +Files: compat/nedmalloc/* +Copyright: © 2005-2006 Niall Douglas +License: Boost + +Files: compat/nedmalloc/malloc.c.h +Copyright: © 2006, KJK::Hyperion <hackbunny@reactos.com> +License: dlmalloc + +Files: compat/regex/* +Copyright: © 1985, 1989-93, 1995-2010, Free Software Foundation, Inc. +Name: Extended regular expression matching and search library +License: LGPL-2.1+ + +Files: compat/obstack.c compat/obstack.h +Copyright: © 1988-1994, 1996-2005, 2009, Free Software Foundation, Inc. +Name: Object stack macros. +License: LGPL-2.1+ + +Files: contrib/persistent-https/* +Copyright: © 2012, Google Inc. +License: Apache-2.0 + +Files: contrib/credential/gnome-keyring/git-credential-gnome-keyring.c +Copyright: © 2011, John Szakmeister <john@szakmeister.net> + © 2012, Philipp A. Hartmann <pah@qo.cx> +License: GPL-2+ + +Files: contrib/hg-to-git/hg-to-git.py +Copyright: © 2007, Stelian Pop <stelian@popies.net> +Name: hg-to-git.py - A Mercurial to GIT converter +License: GPL-2+ + +Files: contrib/mw-to-git/git-*.perl contrib/mw-to-git/t/t* +Copyright: © 2011 + Jérémie Nikaes <jeremie.nikaes@ensimag.imag.fr> + Arnaud Lacurie <arnaud.lacurie@ensimag.imag.fr> + Claire Fousse <claire.fousse@ensimag.imag.fr> + David Amouyal <david.amouyal@ensimag.imag.fr> + Matthieu Moy <matthieu.moy@grenoble-inp.fr> + © 2012 + Charles Roussel <charles.roussel@ensimag.imag.fr> + Simon Cathebras <simon.cathebras@ensimag.imag.fr> + Julien Khayat <julien.khayat@ensimag.imag.fr> + Guillaume Sasdy <guillaume.sasdy@ensimag.imag.fr> + Simon Perrat <simon.perrat@ensimag.imag.fr> + © 2013 + Benoit Person <benoit.person@ensimag.imag.fr> + Celestin Matte <celestin.matte@ensimag.imag.fr> +License: GPL-2+ + +Files: debian/* +Copyright: © 2005, Sebastian Kuzminsky <seb@highlab.com> + © 2005-2006, Andres Salomon <dilinger@debian.org> + © 2005-2012, Gerrit Pape <pape@smarden.org> +License: GPL-2 + +License: GPL-2 + You can redistribute this software and/or modify it under the terms of + the GNU General Public License as published by the Free Software + Foundation; version 2 dated June, 1991. + . + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + . + On Debian systems, the complete text of the GNU General Public License + can be found in /usr/share/common-licenses/GPL-2 file. + +License: GPL-2+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + On Debian systems, the complete text of the GNU General Public License + can be found in /usr/share/common-licenses/GPL-2 file. + +License: LGPL-2+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + . + On Debian systems, the complete text of the GNU Library General Public License + can be found in the /usr/share/common-licenses/LGPL-2 file. + +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + On Debian systems, the complete text of the GNU Lesser General Public License + can be found in /usr/share/common-licenses/LGPL-2.1. + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the full text of the Apache License version 2 can + be found in /usr/share/common-licenses/Apache-2.0. + +License: ISC + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS + ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE + CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. + +License: Expat + <http://www.opensource.org/licenses/mit-license.php>: + . + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +License: EDL-1.0 + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the following + conditions are met: + . + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + - Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + . + - Neither the name of the Eclipse Foundation, Inc. nor the + names of its contributors may be used to endorse or promote + products derived from this software without specific prior + written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: mingw-runtime + This file has no copyright assigned and is placed in the Public Domain. + This file is a part of the mingw-runtime package. + . + The mingw-runtime package and its code is distributed in the hope that it + will be useful but WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESSED OR + IMPLIED ARE HEREBY DISCLAIMED. This includes but is not limited to + warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + . + You are free to use this package and its code without limitation. + +License: Boost + It is licensed under the Boost Software License which basically means + you can do anything you like with it. This does not apply to the malloc.c.h + file which remains copyright to others. + . + Boost Software License - Version 1.0 - August 17th, 2003 + . + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + . + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +License: dlmalloc + This is a version (aka dlmalloc) of malloc/free/realloc written by + Doug Lea and released to the public domain, as explained at + http://creativecommons.org/licenses/publicdomain. Send questions, + comments, complaints, performance data, etc to dl@cs.oswego.edu + . + Incorporates code from intrin_x86.h, which bears the following notice: + . + Compatibility <intrin_x86.h> header for GCC -- GCC equivalents of intrinsic + Microsoft Visual C++ functions. Originally developed for the ReactOS + (<http://www.reactos.org/>) and TinyKrnl (<http://www.tinykrnl.org/>) + projects. + . + Copyright (c) 2006 KJK::Hyperion <hackbunny@reactos.com> + . + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. diff --git a/debian/examples/index.aux-generation b/debian/examples/index.aux-generation new file mode 100644 index 0000000..16390a3 --- /dev/null +++ b/debian/examples/index.aux-generation @@ -0,0 +1,46 @@ +From: Matthew Wilcox <matthew@wil.cx> +To: 383219@bugs.debian.org +Cc: Roland Mas <lolando@debian.org> +Subject: index.aux generation +Date: Thu, 24 Aug 2006 08:55:10 -0600 + +Alioth needs to generate an index.aux file. It'd be helpful if we had +an example script for doing this. Here's the script used for +git.infradead.org (MIT licence, says its author): + +--- cut --- +#!/bin/sh + +cd /home +for a in * ; do [ -r $a/public_git ] && [ ! -d /home/git/users/$a ] && ln -s /home/$a/public_git /home/git/users/$a ; done + +cd /home/git +find . -name 'HEAD' | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do + TREEUID=`stat -c %U $DIR` + TREEUSERNAME=`grep ^$TREEUID: /etc/passwd | cut -f5 -d: | sed s/\ /+/` + if [ "$TREEUSERNAME" = "" ]; then + TREEUSERNAME=$TREEUID + fi + echo $DIR $TREEUSERNAME | sed s:/:%2F:g +done > /home/git/.index.aux.$$ + +mv /home/git/.index.aux.$$ /home/git/.index.aux + +--- cut --- + +I suspect Alioth wants something like (untested ...) + +cd /srv/git.debian.org/git +ls */*/HEAD | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do + TREEUID=`stat -c %U $DIR` + TREEUSERNAME=`XXX` + if [ "$TREEUSERNAME" = "" ]; then + TREEUSERNAME=$TREEUID + fi + echo $DIR $TREEUSERNAME | sed s:/:%2F:g +done > /srv/git.debian.org/.index.aux.$$ + +mv /srv/git.debian.org/.index.aux.$$ /srv/git.debian.org/.index.aux + +where XXX would be how to turn a username into the name of a user. +I dunno how Alioth works; ldap or postgres db seem plausible answers. diff --git a/debian/git-core.postinst b/debian/git-core.postinst new file mode 100755 index 0000000..9416270 --- /dev/null +++ b/debian/git-core.postinst @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +#DEBHELPER# + +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 100755 index 0000000..33233c3 --- /dev/null +++ b/debian/git-core.preinst @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +#DEBHELPER# + +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-cvs.install b/debian/git-cvs.install new file mode 100644 index 0000000..8988b18 --- /dev/null +++ b/debian/git-cvs.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/git-core/git-cvs* usr/lib/git-core +debian/tmp/usr/share/man/man1/git-cvs* usr/share/man/man1 +debian/tmp/usr/bin/git-cvsserver usr/bin diff --git a/debian/git-daemon-run.README.Debian b/debian/git-daemon-run.README.Debian new file mode 100644 index 0000000..ffde9a6 --- /dev/null +++ b/debian/git-daemon-run.README.Debian @@ -0,0 +1,31 @@ +git-daemon-run for Debian +------------------------- + +This package enables a git-daemon service. This allows people to use a +git:// URL to access your repositories. + +After installing this package, wait five seconds for the git-daemon +service to be picked up by runit, and check its status and logs: + + sv stat git-daemon + cat /var/log/git-daemon/current + +See the sv(8) program on how to manage the service, or, alternatively, +create a symbolic link /etc/init.d/git-daemon pointing to /usr/bin/sv to +have an LSB compatible interface to control it: + + ln -s /usr/bin/sv /etc/init.d/git-daemon + /etc/init.d/git-daemon status + +The git daemon by default looks into the directory /var/lib/git/ for +repositories (this is configured in /etc/sv/git-daemon/run). It expects +the repositories' .git subdirectories in that directory, symlinks +pointing to the corresponding subdirectories in the repositories are just +fine, e.g.: + + ln -s ~pape/git/foo/.git /var/lib/git/foo.git + +This makes 'git-clone git://git.example.org/git/foo' to clone the foo +repository on remote machines work. + + -- Gerrit Pape <pape@smarden.org> Sun, 03 Jun 2007 09:51:53 +0000 diff --git a/debian/git-daemon-run.dirs b/debian/git-daemon-run.dirs new file mode 100644 index 0000000..7847e85 --- /dev/null +++ b/debian/git-daemon-run.dirs @@ -0,0 +1 @@ +etc/sv/git-daemon/log diff --git a/debian/git-daemon-run.install b/debian/git-daemon-run.install new file mode 100644 index 0000000..40e5796 --- /dev/null +++ b/debian/git-daemon-run.install @@ -0,0 +1,2 @@ +debian/git-daemon/run etc/sv/git-daemon +debian/git-daemon/log/run etc/sv/git-daemon/log diff --git a/debian/git-daemon-run.postinst b/debian/git-daemon-run.postinst new file mode 100644 index 0000000..00a4d38 --- /dev/null +++ b/debian/git-daemon-run.postinst @@ -0,0 +1,23 @@ +#!/bin/sh +set -e + +#DEBHELPER# + +test "$1" = 'configure' || exit 0 + +getent passwd gitlog >/dev/null || \ + adduser --system --home /nonexistent --no-create-home gitlog +getent passwd gitdaemon >/dev/null || \ + adduser --system --home /nonexistent --no-create-home gitdaemon + +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 index 0000000..f6aa282 --- /dev/null +++ b/debian/git-daemon-run.postrm @@ -0,0 +1,22 @@ +#!/bin/sh +set -e + +#DEBHELPER# + +test "$1" = 'purge' || exit 0 + +sv down /etc/sv/git-daemon 2>/dev/null || : +sv down /etc/sv/git-daemon/log 2>/dev/null || : +sv force-shutdown /etc/sv/git-daemon 2>/dev/null || : +sv force-stop /etc/sv/git-daemon/log 2>/dev/null || : +rm -rf /etc/sv/git-daemon/supervise /etc/sv/git-daemon/log/supervise +rm -rf /var/lib/supervise/git-daemon /var/lib/supervise/git-daemon.log + +for i in '@*' current config lock state; do + rm -f /var/log/git-daemon/$i +done +rmdir /var/log/git-daemon || : + +getent passwd gitlog >/dev/null || exit 0 +! deluser --version >/dev/null 2>&1 || exec deluser -f gitlog +echo 'deluser program not available, not removing system user "gitlog".' >&2 diff --git a/debian/git-daemon-run.prerm b/debian/git-daemon-run.prerm new file mode 100644 index 0000000..0685520 --- /dev/null +++ b/debian/git-daemon-run.prerm @@ -0,0 +1,9 @@ +#!/bin/sh +set -e + +#DEBHELPER# + +test "$1" = 'remove' || test "$1" = 'deconfigure' || \ + test "$1" = 'failed-upgrade' || exit 0 + +update-service --remove /etc/sv/git-daemon || : diff --git a/debian/git-daemon-sysvinit.README.Debian b/debian/git-daemon-sysvinit.README.Debian new file mode 100644 index 0000000..cea76b6 --- /dev/null +++ b/debian/git-daemon-sysvinit.README.Debian @@ -0,0 +1,31 @@ +git-daemon-sysvinit for Debian +------------------------------ + +This package enables a git-daemon service. This allows people to use a +git:// URL to access your repositories. + +After installing this package, the daemon needs to be enabled in +/etc/default/git-daemon by setting: + + GIT_DAEMON_ENABLE=false + +to: + + GIT_DAEMON_ENABLE=true + +After that, the git daemon can be started with: + + # /etc/init.d/git-daemon start + +The git daemon by default looks into the directory /var/lib/git/ for +repositories (this is configured in /etc/default/git-daemon). It expects +the repositories' .git subdirectories in that directory, symlinks +pointing to the corresponding subdirectories in the repositories are just +fine, e.g.: + + ln -s ~daniel/git/foo/.git /var/lib/git/foo.git + +This makes 'git-clone git://git.example.org/git/foo' to clone the foo +repository on remote machines work. + + -- Daniel Baumann <daniel@debian.org> Tue, 19 Oct 2010 00:54:58 +0200 diff --git a/debian/git-daemon-sysvinit.dirs b/debian/git-daemon-sysvinit.dirs new file mode 100644 index 0000000..c0bef38 --- /dev/null +++ b/debian/git-daemon-sysvinit.dirs @@ -0,0 +1 @@ +usr/share/git-core/sysvinit diff --git a/debian/git-daemon-sysvinit.git-daemon.default b/debian/git-daemon-sysvinit.git-daemon.default new file mode 100644 index 0000000..356bb3d --- /dev/null +++ b/debian/git-daemon-sysvinit.git-daemon.default @@ -0,0 +1,15 @@ +# Defaults for git-daemon initscript +# sourced by /etc/init.d/git-daemon +# installed at /etc/default/git-daemon by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +GIT_DAEMON_ENABLE=false +GIT_DAEMON_USER=gitdaemon +GIT_DAEMON_BASE_PATH=/var/lib +GIT_DAEMON_DIRECTORY=/var/lib/git + +# Additional options that are passed to the Daemon. +GIT_DAEMON_OPTIONS="" diff --git a/debian/git-daemon-sysvinit.git-daemon.init b/debian/git-daemon-sysvinit.git-daemon.init new file mode 100644 index 0000000..cc98a00 --- /dev/null +++ b/debian/git-daemon-sysvinit.git-daemon.init @@ -0,0 +1,138 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: git-daemon +# Required-Start: $network $remote_fs $syslog +# Required-Stop: $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: git-daemon service +# Description: git-daemon is a simple server for git repositories, +# ideally suited for read-only updates, i.e. pulling from +# git repositories through the network. +### END INIT INFO + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/lib/git-core +DESC="git-daemon service" +NAME=git-daemon +DAEMON=/usr/lib/git-core/$NAME +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -e /usr/share/git-core/sysvinit/sentinel ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +GIT_DAEMON_USER=${GIT_DAEMON_USER:-gitdaemon} +GIT_DAEMON_BASE_PATH=${GIT_DAEMON_BASE_PATH:-/var/lib} +GIT_DAEMON_DIRECTORY=${GIT_DAEMON_DIRECTORY:-/var/lib/git} + +DAEMON_ARGS="--user=$GIT_DAEMON_USER --pid-file=$PIDFILE --detach" +DAEMON_ARGS="$DAEMON_ARGS --reuseaddr --verbose $GIT_DAEMON_OPTIONS" +DAEMON_ARGS="$DAEMON_ARGS --base-path=$GIT_DAEMON_BASE_PATH $GIT_DAEMON_DIRECTORY" + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ + || return 1 + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS \ + || return 2 +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +case "$1" in + start) + if [ $GIT_DAEMON_ENABLE = true ]; then + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" + else + [ "$VERBOSE" != no ] && log_warning_msg "$NAME not enabled in /etc/default/$NAME, not starting..." + exit 0 + fi + + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + restart|force-reload) + if [ $GIT_DAEMON_ENABLE != true ]; then + [ "$VERBOSE" != no ] && log_warning_msg "$NAME not enabled in /etc/default/$NAME, stopping..." + do_stop + case "$?" in + 0|1) + log_end_msg 0 ;; + *) + log_end_msg 1 ;; + esac + exit + fi + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/debian/git-daemon-sysvinit.install b/debian/git-daemon-sysvinit.install new file mode 100644 index 0000000..094c5a8 --- /dev/null +++ b/debian/git-daemon-sysvinit.install @@ -0,0 +1 @@ +debian/sentinel usr/share/git-core/sysvinit diff --git a/debian/git-daemon-sysvinit.postinst b/debian/git-daemon-sysvinit.postinst new file mode 100644 index 0000000..65270fb --- /dev/null +++ b/debian/git-daemon-sysvinit.postinst @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +test "$1" != 'configure' || \ +getent passwd gitdaemon >/dev/null || \ + adduser --system --home /nonexistent --no-create-home gitdaemon + +#DEBHELPER# diff --git a/debian/git-daemon/log/run b/debian/git-daemon/log/run new file mode 100755 index 0000000..eed4ed7 --- /dev/null +++ b/debian/git-daemon/log/run @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +LOG=/var/log/git-daemon + +test -d "$LOG" || mkdir -p -m2750 "$LOG" && chown gitlog:adm "$LOG" +exec chpst -ugitlog svlogd -tt "$LOG" diff --git a/debian/git-daemon/run b/debian/git-daemon/run new file mode 100755 index 0000000..b865526 --- /dev/null +++ b/debian/git-daemon/run @@ -0,0 +1,6 @@ +#!/bin/sh +exec 2>&1 +echo 'git-daemon starting.' +exec chpst -ugitdaemon \ + "$(git --exec-path)"/git-daemon --verbose --reuseaddr \ + --base-path=/var/lib /var/lib/git diff --git a/debian/git-doc.doc-base.everyday-git b/debian/git-doc.doc-base.everyday-git new file mode 100644 index 0000000..d71f404 --- /dev/null +++ b/debian/git-doc.doc-base.everyday-git @@ -0,0 +1,12 @@ +Document: everyday-git +Title: Everyday Git With 20 Commands Or So +Author: Junio C Hamano +Abstract: A useful minimum set of git commands, in context. +Section: File Management + +Format: Text +Files: /usr/share/doc/git-doc/giteveryday.txt + +Format: HTML +Index: /usr/share/doc/git-doc/giteveryday.html +Files: /usr/share/doc/git-doc/giteveryday.html diff --git a/debian/git-doc.doc-base.git-bisect-lk2009 b/debian/git-doc.doc-base.git-bisect-lk2009 new file mode 100644 index 0000000..69d763e --- /dev/null +++ b/debian/git-doc.doc-base.git-bisect-lk2009 @@ -0,0 +1,19 @@ +Document: git-bisect-lk2009 +Title: Fighting regressions with git bisect +Author: Christian Couder +Abstract: "git bisect" enables software users and developers + to easily find the commit that introduced a regression. We + show why it is important to have good tools to fight + regressions. We describe how "git bisect" works from the + outside and the algorithms it uses inside. Then we explain + how to take advantage of "git bisect" to improve current + practices. And we discuss how "git bisect" could improve in + the future. +Section: File Management + +Format: Text +Files: /usr/share/doc/git-doc/git-bisect-lk2009.txt + +Format: HTML +Index: /usr/share/doc/git-doc/git-bisect-lk2009.html +Files: /usr/share/doc/git-doc/git-bisect-lk2009.html diff --git a/debian/git-doc.doc-base.git-howtos b/debian/git-doc.doc-base.git-howtos new file mode 100644 index 0000000..437b878 --- /dev/null +++ b/debian/git-doc.doc-base.git-howtos @@ -0,0 +1,16 @@ +Document: git-howtos +Title: Git How-to Documents +Author: The git list +Abstract: Mailing list postings made by various people + describing how they use git in their workflow. +Section: File Management + +Format: Text +Index: /usr/share/doc/git-doc/howto-index.txt +Files: /usr/share/doc/git-doc/howto-index.txt + /usr/share/doc/git-doc/howto/*.txt + +Format: HTML +Index: /usr/share/doc/git-doc/howto-index.html +Files: /usr/share/doc/git-doc/howto-index.html + /usr/share/doc/git-doc/howto/*.html diff --git a/debian/git-doc.doc-base.git-index-format b/debian/git-doc.doc-base.git-index-format new file mode 100644 index 0000000..245a1b5 --- /dev/null +++ b/debian/git-doc.doc-base.git-index-format @@ -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 index 0000000..e7c728b --- /dev/null +++ b/debian/git-doc.doc-base.git-pack-format @@ -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 index 0000000..4495708 --- /dev/null +++ b/debian/git-doc.doc-base.git-protocol @@ -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 index 0000000..f22068b --- /dev/null +++ b/debian/git-doc.doc-base.git-reference-manual @@ -0,0 +1,14 @@ +Document: git-reference-manual +Title: Git Reference Manual +Author: David Greaves and the git list +Abstract: Git manual pages, including glossary and tutorials. +Section: File Management + +Format: HTML +Index: /usr/share/doc/git-doc/git.html +Files: /usr/share/doc/git-doc/git.html + /usr/share/doc/git-doc/git[a-z]*.html + /usr/share/doc/git-doc/git-[ac-su-z]*.html + /usr/share/doc/git-doc/git-b[a-hj-z]*.html + /usr/share/doc/git-doc/git-bisect.html + /usr/share/doc/git-doc/git-t[a-np-z]*.html diff --git a/debian/git-doc.doc-base.git-shallow-clone-design b/debian/git-doc.doc-base.git-shallow-clone-design new file mode 100644 index 0000000..9f94a2f --- /dev/null +++ b/debian/git-doc.doc-base.git-shallow-clone-design @@ -0,0 +1,12 @@ +Document: git-shallow-clone-design +Title: Technical documentation for shallow clones in git +Author: Johannes Schindelin +Abstract: There has not been any work on the git fetch/clone + --depth lately, so it is hard to find out what it does, and + how. This document describes the ideas as well as the + current problems, and can serve as a starting point for + shallow people. +Section: File Management + +Format: Text +Files: /usr/share/doc/git-doc/technical/shallow.txt diff --git a/debian/git-doc.doc-base.git-technical b/debian/git-doc.doc-base.git-technical new file mode 100644 index 0000000..0bb74d0 --- /dev/null +++ b/debian/git-doc.doc-base.git-technical @@ -0,0 +1,14 @@ +Document: git-api +Title: Git internal API documentation +Author: Junio C Hamano and the git list +Abstract: Git has grown a set of internal API over time. + This collection documents them. +Section: Programming/C + +Format: Text +Index: /usr/share/doc/git-doc/technical/api-index.txt +Files: /usr/share/doc/git-doc/technical/api-*.txt + +Format: HTML +Index: /usr/share/doc/git-doc/technical/api-index.html +Files: /usr/share/doc/git-doc/technical/api-*.html diff --git a/debian/git-doc.doc-base.git-tools b/debian/git-doc.doc-base.git-tools new file mode 100644 index 0000000..1199fa0 --- /dev/null +++ b/debian/git-doc.doc-base.git-tools @@ -0,0 +1,13 @@ +Document: git-tools +Title: A short git tools survey +Author: Marco Costalba +Abstract: A brief and outdated survey of useful git tools, + including third-party and external projects. +Section: File Management + +Format: Text +Files: /usr/share/doc/git-doc/git-tools.txt + +Format: HTML +Index: /usr/share/doc/git-doc/git-tools.html +Files: /usr/share/doc/git-doc/git-tools.html diff --git a/debian/git-doc.doc-base.git-trivial-merge-rules b/debian/git-doc.doc-base.git-trivial-merge-rules new file mode 100644 index 0000000..b6ae363 --- /dev/null +++ b/debian/git-doc.doc-base.git-trivial-merge-rules @@ -0,0 +1,9 @@ +Document: git-trivial-merge-rules +Title: Trivial merge rules for git read-tree +Author: Daniel Barkalow +Abstract: This document describes the outcomes of the + trivial merge logic in git read-tree. +Section: File Management + +Format: Text +Files: /usr/share/doc/git-doc/technical/trivial-merge.txt diff --git a/debian/git-doc.doc-base.git-user-manual b/debian/git-doc.doc-base.git-user-manual new file mode 100644 index 0000000..5e9a98d --- /dev/null +++ b/debian/git-doc.doc-base.git-user-manual @@ -0,0 +1,16 @@ +Document: git-user-manual +Title: Git User's Manual (for version 1.5.3 or newer) +Author: J. Bruce Fields and the git list +Abstract: This manual provides a leisurely but practical + introduction to git. Chapters 1 and 2 explain how to fetch + and study a project using git. People needing to do actual + development will also want to read chapters 3 and 4. + Further chapters cover more specialized topics. +Section: File Management + +Format: Text +Files: /usr/share/doc/git-doc/user-manual.txt + +Format: HTML +Index: /usr/share/doc/git-doc/user-manual.html +Files: /usr/share/doc/git-doc/user-manual.html diff --git a/debian/git-doc.doc-base.the-racy-git-problem b/debian/git-doc.doc-base.the-racy-git-problem new file mode 100644 index 0000000..1991c13 --- /dev/null +++ b/debian/git-doc.doc-base.the-racy-git-problem @@ -0,0 +1,19 @@ +Document: the-racy-git-problem +Title: Use of index and the "racy git" problem +Author: Junio C Hamano +Abstract: In order to speed up comparison between files in + the work tree and index entries, git compares current + lstat(2) information with saved lstat(2) information from + whenever it updated the corresponding index entry. A very + quick update that does not change file size could therefore + make git incorrectly think files in the working tree are + unmodified even though they actually are modified. This is + called the "racy git" problem (discovered by Pasky), and + the entries that would appear clean when they ought not to + be because of this problem are called "racily clean". + . + This document explains how git avoids that problem. +Section: File Management + +Format: Text +Files: /usr/share/doc/git-doc/technical/racy-git.txt diff --git a/debian/git-doc.docs b/debian/git-doc.docs new file mode 100644 index 0000000..2dc1a17 --- /dev/null +++ b/debian/git-doc.docs @@ -0,0 +1,2 @@ +debian/tmp/html/* +Documentation/technical diff --git a/debian/git-doc.links b/debian/git-doc.links new file mode 100644 index 0000000..ae87aae --- /dev/null +++ b/debian/git-doc.links @@ -0,0 +1 @@ +usr/share/doc/git-doc usr/share/doc/git/html diff --git a/debian/git-el.emacsen-install b/debian/git-el.emacsen-install new file mode 100755 index 0000000..4b02513 --- /dev/null +++ b/debian/git-el.emacsen-install @@ -0,0 +1,27 @@ +#!/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 + +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 100755 index 0000000..81408b0 --- /dev/null +++ b/debian/git-el.emacsen-remove @@ -0,0 +1,15 @@ +#!/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 + +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 index 0000000..a32a841 --- /dev/null +++ b/debian/git-el.emacsen-startup @@ -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.install b/debian/git-el.install new file mode 100755 index 0000000..b9376c8 --- /dev/null +++ b/debian/git-el.install @@ -0,0 +1,6 @@ +#!/usr/bin/dh-exec +debian/git-el.emacsen-startup => etc/emacs/site-start.d/50git-core.el +debian/git-el.emacsen-install => usr/lib/emacsen-common/packages/install/git +debian/git-el.emacsen-remove => usr/lib/emacsen-common/packages/remove/git +contrib/emacs/git-blame.el usr/share/git-core/emacs +contrib/emacs/git.el usr/share/git-core/emacs diff --git a/debian/git-el.links b/debian/git-el.links new file mode 100644 index 0000000..6b201c4 --- /dev/null +++ b/debian/git-el.links @@ -0,0 +1,2 @@ +usr/share/doc/git/README.emacs usr/share/doc/git-el/README.Debian +usr/share/git-core/emacs usr/share/doc/git/contrib/emacs diff --git a/debian/git-el.postinst b/debian/git-el.postinst new file mode 100644 index 0000000..89e7492 --- /dev/null +++ b/debian/git-el.postinst @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +#DEBHELPER# + +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 index 0000000..1fdbd33 --- /dev/null +++ b/debian/git-el.prerm @@ -0,0 +1,6 @@ +#!/bin/sh +set -e + +#DEBHELPER# + +/usr/lib/emacsen-common/emacs-package-remove git diff --git a/debian/git-email.install b/debian/git-email.install new file mode 100644 index 0000000..aab24a3 --- /dev/null +++ b/debian/git-email.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/git-core/git-send-email usr/lib/git-core +debian/tmp/usr/share/man/man1/git-send-email.1 usr/share/man/man1 diff --git a/debian/git-gui.install b/debian/git-gui.install new file mode 100644 index 0000000..56eb5e5 --- /dev/null +++ b/debian/git-gui.install @@ -0,0 +1,6 @@ +debian/tmp/usr/lib/git-core/git-gui usr/lib/git-core +debian/tmp/usr/lib/git-core/git-gui--askpass usr/lib/git-core +debian/tmp/usr/lib/git-core/git-citool usr/lib/git-core +debian/tmp/usr/share/man/man1/git-gui* usr/share/man/man1 +debian/tmp/usr/share/man/man1/git-citool* usr/share/man/man1 +debian/tmp/usr/share/git-gui/lib usr/share/git-gui diff --git a/debian/git-man.install b/debian/git-man.install new file mode 100644 index 0000000..fee511f --- /dev/null +++ b/debian/git-man.install @@ -0,0 +1 @@ +debian/tmp/usr/share/man usr/share diff --git a/debian/git-mediawiki.docs b/debian/git-mediawiki.docs new file mode 100644 index 0000000..dfbb7d6 --- /dev/null +++ b/debian/git-mediawiki.docs @@ -0,0 +1 @@ +contrib/mw-to-git/git-remote-mediawiki.txt diff --git a/debian/git-mediawiki.install b/debian/git-mediawiki.install new file mode 100644 index 0000000..624a8ba --- /dev/null +++ b/debian/git-mediawiki.install @@ -0,0 +1,3 @@ +debian/tmp/usr/share/perl5/Git/Mediawiki.pm usr/share/perl5/Git +debian/tmp/usr/lib/git-core/git-mw usr/lib/git-core +debian/tmp/usr/lib/git-core/git-remote-mediawiki usr/lib/git-core diff --git a/debian/git-prompt.completion b/debian/git-prompt.completion new file mode 100644 index 0000000..8b5852a --- /dev/null +++ b/debian/git-prompt.completion @@ -0,0 +1,11 @@ +# In git versions < 1.7.12, this shell library was part of the +# git completion script. +# +# Some users rely on the __git_ps1 function becoming available +# when bash-completion is loaded. Continue to load this library +# at bash-completion startup for now, to ease the transition to a +# world order where the prompt function is requested separately. +# +if [[ -e /usr/lib/git-core/git-sh-prompt ]]; then + . /usr/lib/git-core/git-sh-prompt +fi diff --git a/debian/git-svn.install b/debian/git-svn.install new file mode 100644 index 0000000..823abf7 --- /dev/null +++ b/debian/git-svn.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/git-core/git-svn* usr/lib/git-core +debian/tmp/usr/share/man/man1/git-svn* usr/share/man/man1 +debian/tmp/usr/share/perl5/Git/SVN* usr/share/perl5/Git diff --git a/debian/git.NEWS b/debian/git.NEWS new file mode 100644 index 0000000..9984ef6 --- /dev/null +++ b/debian/git.NEWS @@ -0,0 +1,99 @@ +git (1:1.8.4~rc0-1) experimental; urgency=low + + Starting with this version, gitweb and "git daemon" on Debian are + configured to look for repositories under /var/lib/git by default + instead of /var/cache/git. You may want to adjust your inetd, + rsyncd, and web server configuration to use the new base path. + + See /usr/share/doc/git/README.Debian for details. + + Symlinks are installed during the upgrade to ensure existing + repositories remain accessible. If no local scripts or + configuration depend on /var/cache/git then it is safe to remove + the old directory after replacing these symlinks with their + targets: + + mv --backup /var/cache/git/* /var/lib/git/ + rmdir /var/cache/git + rm /var/lib/git/*~ + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 28 Jul 2013 17:46:05 -0700 + +git (1:1.8.2~rc0-1) experimental; urgency=low + + The default behavior of "git push" when run without specifying any + ref names will change in the upcoming Git 2.0 release. + + The previous default behavior was to use "matching" semantics: push + all branches for which there is already a branch of the same name on + the remote end. The new default is "simple" semantics: push the + current branch to a branch of the same name, provided that "git + pull" is configured to integrate with that branch. You can get a + glimpse of the future with + + echo '[push] default = simple' >>~/.gitconfig + + See Documentation/RelNotes/1.8.2.txt and the entry on push.default + in git-config(1) for details. + + -- Jonathan Nieder <jrnieder@gmail.com> Mon, 18 Feb 2013 16:48:53 -0800 + +git (1:1.8.0-1) experimental; urgency=low + + Git's bash completion script is now loaded on the fly when tab + completion is attempted for the 'git' or 'gitk' command. This + change involved moving the completion script. If your ~/.bashrc + previously contained + + . /etc/bash_completion.d/git + + then it should be corrected to + + if [ -e /usr/share/bash-completion/completions/git ]; then + . /usr/share/bash-completion/completions/git + elif [ -e /etc/bash_completion.d/git ]; then + . /etc/bash_completion.d/git + fi + + or, better, + + . /etc/bash_completion + + See /usr/share/doc/bash-completion/README.Debian for details. + + -- Jonathan Nieder <jrnieder@gmail.com> Sun, 13 Jan 2013 08:59:42 -0800 + +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 index 0000000..7fdf565 --- /dev/null +++ b/debian/git.README.Debian @@ -0,0 +1,59 @@ +Git for Debian +-------------- + +When setting up a git.example.org server, there are several things to +configure to make everything work nicely together. All this is optional. + +1. Run a git-daemon. This allows people to use a git:// URL to access your +repositories. This package provides the git-daemon program, to enable a +git-daemon service, configure inetd(8) to launch it on demand, or install the +git-daemon-run package to run it permanently: + cat >> /etc/inetd.conf <<EOF +git stream tcp4 nowait nobody /usr/bin/git git daemon --inetd --base-path=/var/lib /var/lib/git +git stream tcp6 nowait nobody /usr/bin/git git daemon --inetd --base-path=/var/lib /var/lib/git +EOF + +Or: + apt-get install git-daemon-run + +Wait five seconds for the service to be picked up, and check its status and +logs: + + sv stat git-daemon + cat /var/log/git-daemon/current + +The git daemon by default looks into the directory /var/lib/git/ for +repositories (this is configured in /etc/sv/git-daemon/run). It expects +the repositories' .git subdirectories in /var/lib/git/, symlinks pointing +to the corresponding subdirectories in the repositories are just fine, e.g.: + + ln -s ~pape/git/foo/.git /var/lib/git/foo.git + +Now git-clone git://git.example.org/git/repo will work. + +2. Configure a web server for git. This allows people to use a http:// URL +to access your repositories. + +Here's an example for an apache virtual server. Add a stanza to your apache +configuration that looks like this: + +<VirtualHost *:80> + ServerName git.example.org + ServerAdmin webmaster@example.org + HeaderName HEADER + # bogus but safe DocumentRoot + DocumentRoot /var/lib/git + ErrorLog /var/log/apache2/git.example.org-error.log + CustomLog /var/log/apache2/git.example.org-access.log combined + Alias /robots.txt /var/www/cvs.robots.txt + Alias /static /usr/share/gitweb/static + Alias /git /var/lib/git + ScriptAlias / /usr/share/gitweb/gitweb.cgi + RedirectMatch permanent "^/~(.*)$" "http://example.org/~$1" +</VirtualHost> + +Now git clone http://git.example.org/git/repo will work. And if you +installed the gitweb package, http://git.example.org/ now will display a +list of repositories, making them accessible through a web browser. + + -- Gerrit Pape <pape@smarden.org> Fri, 15 Sep 2006 09:19:37 +0000 diff --git a/debian/git.docs b/debian/git.docs new file mode 100644 index 0000000..7a62539 --- /dev/null +++ b/debian/git.docs @@ -0,0 +1,5 @@ +contrib +debian/README.emacs +debian/README.source +README.md +Documentation/RelNotes diff --git a/debian/git.install b/debian/git.install new file mode 100755 index 0000000..f468e81 --- /dev/null +++ b/debian/git.install @@ -0,0 +1,5 @@ +#!/usr/bin/dh-exec +contrib/completion/git-completion.bash => usr/share/bash-completion/completions/git +contrib/completion/git-prompt.sh => usr/lib/git-core/git-sh-prompt +debian/git-prompt.completion => etc/bash_completion.d/git-prompt +contrib/hooks usr/share/git-core/contrib diff --git a/debian/git.links b/debian/git.links new file mode 100644 index 0000000..d14989d --- /dev/null +++ b/debian/git.links @@ -0,0 +1,6 @@ +usr/share/bash-completion/completions/git usr/share/bash-completion/completions/gitk +usr/share/gitweb/gitweb.cgi usr/share/gitweb/index.cgi +usr/share/git-core/contrib/hooks usr/share/doc/git/contrib/hooks +# These licenses are checked for equivalent contents in override_dh_installdocs. +usr/share/common-licenses/Apache-2.0 usr/share/doc/git/contrib/persistent-https/LICENSE +usr/share/common-licenses/GPL-2 usr/share/doc/git/contrib/subtree/COPYING diff --git a/debian/git.lintian-overrides b/debian/git.lintian-overrides new file mode 100644 index 0000000..88023fc --- /dev/null +++ b/debian/git.lintian-overrides @@ -0,0 +1,10 @@ +# the git manual pages are in the git-man package. +git binary: binary-without-manpage usr/bin/git +git binary: binary-without-manpage usr/bin/git-receive-pack +git binary: binary-without-manpage usr/bin/git-shell +git binary: binary-without-manpage usr/bin/git-upload-archive +git binary: binary-without-manpage usr/bin/git-upload-pack +# every new .git dir contains empty branches/ to support old scripts. +git binary: package-contains-empty-directory usr/share/git-core/templates/branches/ +# False positive. +git binary: spelling-error-in-readme-debian DocumentRoot DocumentRoot (duplicate word) DocumentRoot diff --git a/debian/git.maintscript b/debian/git.maintscript new file mode 100644 index 0000000..6f86e7a --- /dev/null +++ b/debian/git.maintscript @@ -0,0 +1,4 @@ +rm_conffile /etc/bash_completion.d/git 1:1.8.0-1~ +rm_conffile /etc/emacs/site-start.d/50git-core.el 1:1.7.4.1-2~ +dir_to_symlink /usr/share/doc/git/contrib/hooks ../../../git-core/contrib/hooks 1:1.7.7-1 +dir_to_symlink /usr/share/doc/git/contrib/emacs ../../../git-core/emacs 1:1.7.4~rc1-0.1 diff --git a/debian/git.postinst b/debian/git.postinst new file mode 100644 index 0000000..1d9d492 --- /dev/null +++ b/debian/git.postinst @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +#DEBHELPER# + +test "$1" = configure || exit 0 + +removed_conffile=/etc/emacs/site-start.d/50git-core.el + +# 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 diff --git a/debian/git.preinst b/debian/git.preinst new file mode 100644 index 0000000..6b8090c --- /dev/null +++ b/debian/git.preinst @@ -0,0 +1,67 @@ +#!/bin/sh +set -e + +#DEBHELPER# + +# /var/cache/git/ -> /var/lib/git/ transition +if test "$1" = upgrade && + dpkg --compare-versions "$2" lt-nl '1:1.8.4~rc0-1'; then + mkdir -m 755 -p /var/lib/git + ( + cd /var/lib/git + for target in ../../cache/git/*; do + if ! test -L "$target" && ! test -e "$target"; then + continue + fi + + link=${target#../../cache/git/} + if ! test -L "$link" && ! test -e "$link"; then + ln -s "$target" "$link" + fi + done + ) +fi + +# A previous version of the /var/lib/git/ transition code +# left behind a symlink '/var/lib/git/*' -> '../../cache/git/*'. +if test "$1" = upgrade && + dpkg --compare-versions "$2" eq '1:1.8.4~rc0-1' && + test -L '/var/lib/git/*'; then + target=$(readlink '/var/lib/git/*') + if test "$target" = '../../cache/git/*'; then + rm -f '/var/lib/git/*' + fi +fi + +# 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/gitk.install b/debian/gitk.install new file mode 100644 index 0000000..73780f3 --- /dev/null +++ b/debian/gitk.install @@ -0,0 +1,3 @@ +debian/tmp/usr/bin/gitk usr/bin +debian/tmp/usr/share/man/man1/gitk.1 usr/share/man/man1 +debian/tmp/usr/share/gitk/lib usr/share/gitk diff --git a/debian/gitweb.NEWS b/debian/gitweb.NEWS new file mode 100644 index 0000000..776e384 --- /dev/null +++ b/debian/gitweb.NEWS @@ -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 index 0000000..d67884a --- /dev/null +++ b/debian/gitweb.README.Debian @@ -0,0 +1,18 @@ +gitweb for Debian +----------------- + +The gitweb CGI by default looks into the directory /var/lib/git/ for +browsable repositories (this is configured in /etc/gitweb.conf). It expects +the repositories' .git subdirectories in /var/lib/git/, symlinks pointing +to the corresponding subdirectories in the repositories are just fine, e.g.: + + ln -s ~pape/git/foo/.git /var/lib/git/foo.git + +On systems with an Apache webserver, gitweb is automatically made available at +http://localhost/gitweb. This requires CGI support, so you may need to run +"a2enmod cgi". You can deactivate the site by running "a2disconf gitweb" or +tweak it by modifying /etc/apache2/conf-available/gitweb.conf + +For more details about setting up gitweb for a git.example.org server, and +on how to make the git core tools such as 'git clone' work through http, see +/usr/share/doc/git/README.Debian. diff --git a/debian/gitweb.apache2 b/debian/gitweb.apache2 new file mode 100644 index 0000000..8ee2785 --- /dev/null +++ b/debian/gitweb.apache2 @@ -0,0 +1 @@ +conf debian/apache2/gitweb.conf lynx diff --git a/debian/gitweb.conf b/debian/gitweb.conf new file mode 100644 index 0000000..1c398c6 --- /dev/null +++ b/debian/gitweb.conf @@ -0,0 +1,30 @@ +# path to git projects (<project>.git) +$projectroot = "/var/lib/git"; + +# directory to use for temp files +$git_temp = "/tmp"; + +# target of the home link on top of all pages +#$home_link = $my_uri || "/"; + +# html text to include at home page +#$home_text = "indextext.html"; + +# file with project list; by default, simply scan the projectroot dir. +#$projects_list = $projectroot; + +# stylesheet to use +#@stylesheets = ("static/gitweb.css"); + +# javascript code for gitweb +#$javascript = "static/gitweb.js"; + +# logo to use +#$logo = "static/git-logo.png"; + +# the 'favicon' +#$favicon = "static/git-favicon.png"; + +# git-diff-tree(1) options to use for generated patches +#@diff_opts = ("-M"); +@diff_opts = (); diff --git a/debian/gitweb.docs b/debian/gitweb.docs new file mode 100644 index 0000000..4b5b95d --- /dev/null +++ b/debian/gitweb.docs @@ -0,0 +1 @@ +gitweb/README diff --git a/debian/gitweb.examples b/debian/gitweb.examples new file mode 100644 index 0000000..7392458 --- /dev/null +++ b/debian/gitweb.examples @@ -0,0 +1 @@ +debian/examples/index.aux-generation diff --git a/debian/gitweb.install b/debian/gitweb.install new file mode 100644 index 0000000..c13f94d --- /dev/null +++ b/debian/gitweb.install @@ -0,0 +1 @@ +debian/gitweb.conf etc diff --git a/debian/gitweb.links b/debian/gitweb.links new file mode 100644 index 0000000..42f7568 --- /dev/null +++ b/debian/gitweb.links @@ -0,0 +1 @@ +usr/share/gitweb/gitweb.cgi usr/lib/cgi-bin/gitweb.cgi diff --git a/debian/gitweb.maintscript b/debian/gitweb.maintscript new file mode 100644 index 0000000..c1514fb --- /dev/null +++ b/debian/gitweb.maintscript @@ -0,0 +1 @@ +mv_conffile /etc/apache2/conf.d/gitweb /etc/apache2/conf-available/gitweb.conf 1:2.1.4-2~ diff --git a/debian/gitweb.triggers b/debian/gitweb.triggers new file mode 100644 index 0000000..f5047ae --- /dev/null +++ b/debian/gitweb.triggers @@ -0,0 +1 @@ +interest-noawait /usr/share/apache2/apache2-maintscript-helper diff --git a/debian/patches/CVE-2022-23521.patch b/debian/patches/CVE-2022-23521.patch new file mode 100644 index 0000000..1a021fc --- /dev/null +++ b/debian/patches/CVE-2022-23521.patch @@ -0,0 +1,280 @@ +Origin: https://github.com/git/git/commit/eb22e7dfa23da6bd9aed9bd1dad69e1e8e167d24 +Origin: https://github.com/git/git/commit/8d0d48cf2157cfb914db1f53b3fe40785b86f3aa +Origin: https://github.com/git/git/commit/24557209500e6ed618f04a8795a111a0c491a29c +Origin: https://github.com/git/git/commit/34ace8bad02bb14ecc5b631f7e3daaa7a9bba7d9 +Origin: https://github.com/git/git/commit/447ac906e189535e77dcb1f4bbe3f1bc917d4c12 +Origin: https://github.com/git/git/commit/e1e12e97ac73ded85f7d000da1063a774b3cc14f +Origin: https://github.com/git/git/commit/a60a66e409c265b2944f18bf43581c146812586d +Origin: https://github.com/git/git/commit/d74b1fd54fdbc45966d12ea907dece11e072fb2b +Origin: https://github.com/git/git/commit/dfa6b32b5e599d97448337ed4fc18dd50c90758f +Origin: https://github.com/git/git/commit/3c50032ff5289cc45659f21949c8d09e52164579 +Reviewed-by: Aron Xu <aron@debian.org> +Last-Updated: 2023-01-26 + +diff --git a/attr.c b/attr.c +index 4ef85d6..38ecd2f 100644 +--- a/attr.c ++++ b/attr.c +@@ -28,7 +28,7 @@ static const char git_attr__unknown[] = "(builtin)unknown"; + #endif + + struct git_attr { +- int attr_nr; /* unique attribute number */ ++ unsigned int attr_nr; /* unique attribute number */ + char name[FLEX_ARRAY]; /* attribute name */ + }; + +@@ -210,7 +210,7 @@ static void report_invalid_attr(const char *name, size_t len, + * dictionary. If no entry is found, create a new attribute and store it in + * the dictionary. + */ +-static const struct git_attr *git_attr_internal(const char *name, int namelen) ++static const struct git_attr *git_attr_internal(const char *name, size_t namelen) + { + struct git_attr *a; + +@@ -226,8 +226,8 @@ static const struct git_attr *git_attr_internal(const char *name, int namelen) + a->attr_nr = hashmap_get_size(&g_attr_hashmap.map); + + attr_hashmap_add(&g_attr_hashmap, a->name, namelen, a); +- assert(a->attr_nr == +- (hashmap_get_size(&g_attr_hashmap.map) - 1)); ++ if (a->attr_nr != hashmap_get_size(&g_attr_hashmap.map) - 1) ++ die(_("unable to add additional attribute")); + } + + hashmap_unlock(&g_attr_hashmap); +@@ -272,7 +272,7 @@ struct match_attr { + const struct git_attr *attr; + } u; + char is_macro; +- unsigned num_attr; ++ size_t num_attr; + struct attr_state state[FLEX_ARRAY]; + }; + +@@ -289,7 +289,7 @@ static const char *parse_attr(const char *src, int lineno, const char *cp, + struct attr_state *e) + { + const char *ep, *equals; +- int len; ++ size_t len; + + ep = cp + strcspn(cp, blank); + equals = strchr(cp, '='); +@@ -333,8 +333,7 @@ static const char *parse_attr(const char *src, int lineno, const char *cp, + static struct match_attr *parse_attr_line(const char *line, const char *src, + int lineno, int macro_ok) + { +- int namelen; +- int num_attr, i; ++ size_t namelen, num_attr, i; + const char *cp, *name, *states; + struct match_attr *res = NULL; + int is_macro; +@@ -345,6 +344,11 @@ static struct match_attr *parse_attr_line(const char *line, const char *src, + return NULL; + name = cp; + ++ if (strlen(line) >= ATTR_MAX_LINE_LENGTH) { ++ warning(_("ignoring overly long attributes line %d"), lineno); ++ return NULL; ++ } ++ + if (*cp == '"' && !unquote_c_style(&pattern, name, &states)) { + name = pattern.buf; + namelen = pattern.len; +@@ -381,10 +385,9 @@ static struct match_attr *parse_attr_line(const char *line, const char *src, + goto fail_return; + } + +- res = xcalloc(1, +- sizeof(*res) + +- sizeof(struct attr_state) * num_attr + +- (is_macro ? 0 : namelen + 1)); ++ res = xcalloc(1, st_add3(sizeof(*res), ++ st_mult(sizeof(struct attr_state), num_attr), ++ is_macro ? 0 : namelen + 1)); + if (is_macro) { + res->u.attr = git_attr_internal(name, namelen); + } else { +@@ -447,11 +450,12 @@ struct attr_stack { + + static void attr_stack_free(struct attr_stack *e) + { +- int i; ++ unsigned i; + free(e->origin); + for (i = 0; i < e->num_matches; i++) { + struct match_attr *a = e->attrs[i]; +- int j; ++ size_t j; ++ + for (j = 0; j < a->num_attr; j++) { + const char *setto = a->state[j].setto; + if (setto == ATTR__TRUE || +@@ -660,8 +664,8 @@ static void handle_attr_line(struct attr_stack *res, + a = parse_attr_line(line, src, lineno, macro_ok); + if (!a) + return; +- ALLOC_GROW(res->attrs, res->num_matches + 1, res->alloc); +- res->attrs[res->num_matches++] = a; ++ ALLOC_GROW_BY(res->attrs, res->num_matches, 1, res->alloc); ++ res->attrs[res->num_matches - 1] = a; + } + + static struct attr_stack *read_attr_from_array(const char **list) +@@ -700,21 +704,22 @@ void git_attr_set_direction(enum git_attr_direction new_direction) + + static struct attr_stack *read_attr_from_file(const char *path, int macro_ok) + { ++ struct strbuf buf = STRBUF_INIT; + FILE *fp = fopen_or_warn(path, "r"); + struct attr_stack *res; +- char buf[2048]; + int lineno = 0; + + if (!fp) + return NULL; + res = xcalloc(1, sizeof(*res)); +- while (fgets(buf, sizeof(buf), fp)) { +- char *bufp = buf; +- if (!lineno) +- skip_utf8_bom(&bufp, strlen(bufp)); +- handle_attr_line(res, bufp, path, ++lineno, macro_ok); ++ while (strbuf_getline(&buf, fp) != EOF) { ++ if (!lineno && starts_with(buf.buf, utf8_bom)) ++ strbuf_remove(&buf, 0, strlen(utf8_bom)); ++ handle_attr_line(res, buf.buf, path, ++lineno, macro_ok); + } ++ + fclose(fp); ++ strbuf_release(&buf); + return res; + } + +@@ -1001,12 +1006,12 @@ static int macroexpand_one(struct all_attrs_item *all_attrs, int nr, int rem); + static int fill_one(const char *what, struct all_attrs_item *all_attrs, + const struct match_attr *a, int rem) + { +- int i; ++ size_t i; + +- for (i = a->num_attr - 1; rem > 0 && i >= 0; i--) { +- const struct git_attr *attr = a->state[i].attr; ++ for (i = a->num_attr; rem > 0 && i > 0; i--) { ++ const struct git_attr *attr = a->state[i - 1].attr; + const char **n = &(all_attrs[attr->attr_nr].value); +- const char *v = a->state[i].setto; ++ const char *v = a->state[i - 1].setto; + + if (*n == ATTR__UNKNOWN) { + debug_set(what, +@@ -1025,11 +1030,11 @@ static int fill(const char *path, int pathlen, int basename_offset, + struct all_attrs_item *all_attrs, int rem) + { + for (; rem > 0 && stack; stack = stack->prev) { +- int i; ++ unsigned i; + const char *base = stack->origin ? stack->origin : ""; + +- for (i = stack->num_matches - 1; 0 < rem && 0 <= i; i--) { +- const struct match_attr *a = stack->attrs[i]; ++ for (i = stack->num_matches; 0 < rem && 0 < i; i--) { ++ const struct match_attr *a = stack->attrs[i - 1]; + if (a->is_macro) + continue; + if (path_matches(path, pathlen, basename_offset, +@@ -1060,11 +1065,11 @@ static void determine_macros(struct all_attrs_item *all_attrs, + const struct attr_stack *stack) + { + for (; stack; stack = stack->prev) { +- int i; +- for (i = stack->num_matches - 1; i >= 0; i--) { +- const struct match_attr *ma = stack->attrs[i]; ++ unsigned i; ++ for (i = stack->num_matches; i > 0; i--) { ++ const struct match_attr *ma = stack->attrs[i - 1]; + if (ma->is_macro) { +- int n = ma->u.attr->attr_nr; ++ unsigned int n = ma->u.attr->attr_nr; + if (!all_attrs[n].macro) { + all_attrs[n].macro = ma; + } +@@ -1116,7 +1121,7 @@ void git_check_attr(const struct index_state *istate, + collect_some_attrs(istate, path, check); + + for (i = 0; i < check->nr; i++) { +- size_t n = check->items[i].attr->attr_nr; ++ unsigned int n = check->items[i].attr->attr_nr; + const char *value = check->all_attrs[n].value; + if (value == ATTR__UNKNOWN) + value = ATTR__UNSET; +diff --git a/attr.h b/attr.h +index 404548f..df9a75d 100644 +--- a/attr.h ++++ b/attr.h +@@ -107,6 +107,12 @@ + * - Free the `attr_check` struct by calling `attr_check_free()`. + */ + ++/** ++ * The maximum line length for a gitattributes file. If the line exceeds this ++ * length we will ignore it. ++ */ ++#define ATTR_MAX_LINE_LENGTH 2048 ++ + struct index_state; + + /** +diff --git a/t/t0003-attributes.sh b/t/t0003-attributes.sh +index b660593..7d68e6a 100755 +--- a/t/t0003-attributes.sh ++++ b/t/t0003-attributes.sh +@@ -339,4 +339,46 @@ test_expect_success 'query binary macro directly' ' + test_cmp expect actual + ' + ++test_expect_success 'large attributes line ignored in tree' ' ++ test_when_finished "rm .gitattributes" && ++ printf "path %02043d" 1 >.gitattributes && ++ git check-attr --all path >actual 2>err && ++ echo "warning: ignoring overly long attributes line 1" >expect && ++ test_cmp expect err && ++ test_must_be_empty actual ++' ++ ++test_expect_success 'large attributes line ignores trailing content in tree' ' ++ test_when_finished "rm .gitattributes" && ++ # older versions of Git broke lines at 2048 bytes; the 2045 bytes ++ # of 0-padding here is accounting for the three bytes of "a 1", which ++ # would knock "trailing" to the "next" line, where it would be ++ # erroneously parsed. ++ printf "a %02045dtrailing attribute\n" 1 >.gitattributes && ++ git check-attr --all trailing >actual 2>err && ++ echo "warning: ignoring overly long attributes line 1" >expect && ++ test_cmp expect err && ++ test_must_be_empty actual ++' ++ ++test_expect_success 'large attributes line ignored in index' ' ++ test_when_finished "git update-index --remove .gitattributes" && ++ blob=$(printf "path %02043d" 1 | git hash-object -w --stdin) && ++ git update-index --add --cacheinfo 100644,$blob,.gitattributes && ++ git check-attr --cached --all path >actual 2>err && ++ echo "warning: ignoring overly long attributes line 1" >expect && ++ test_cmp expect err && ++ test_must_be_empty actual ++' ++ ++test_expect_success 'large attributes line ignores trailing content in index' ' ++ test_when_finished "git update-index --remove .gitattributes" && ++ blob=$(printf "a %02045dtrailing attribute\n" 1 | git hash-object -w --stdin) && ++ git update-index --add --cacheinfo 100644,$blob,.gitattributes && ++ git check-attr --cached --all trailing >actual 2>err && ++ echo "warning: ignoring overly long attributes line 1" >expect && ++ test_cmp expect err && ++ test_must_be_empty actual ++' ++ + test_done diff --git a/debian/patches/CVE-2022-24765.patch b/debian/patches/CVE-2022-24765.patch new file mode 100644 index 0000000..f62a327 --- /dev/null +++ b/debian/patches/CVE-2022-24765.patch @@ -0,0 +1,499 @@ +Origin: https://github.com/git/git/commit/6e7ad1e4c22e7038975ba37c7413374fe566b064 +Origin: https://github.com/git/git/commit/bdc77d1d685be9c10b88abb281a42bc620548595 +Origin: https://github.com/git/git/commit/8959555cee7ec045958f9b6dd62e541affb7e7d9 +Origin: https://github.com/git/git/commit/cb95038137e9e66fc6a6b4a0e8db62bcc521b709 +Origin: https://github.com/git/git/commit/e47363e5a8bdf5144059d664c45c0975243ef05b +Origin: https://github.com/git/git/commit/bb50ec3cc300eeff3aba7a2bea145aabdb477d31 +Origin: https://github.com/git/git/commit/0f85c4a30b072a26d74af8bbf63cc8f6a5dfc1b8 +Reviewed-by: Aron Xu <aron@debian.org> +Last-Updated: 2023-01-26 +Comment: With the above patches, we are effectively updating the package to v2.30.3 + plus some more changes. The symlink change to RelNotes has been dropped. + +diff --git a/Documentation/RelNotes/2.30.3.txt b/Documentation/RelNotes/2.30.3.txt +new file mode 100644 +index 0000000..31b2a4d +--- /dev/null ++++ b/Documentation/RelNotes/2.30.3.txt +@@ -0,0 +1,24 @@ ++Git v2.30.2 Release Notes ++========================= ++ ++This release addresses the security issue CVE-2022-24765. ++ ++Fixes since v2.30.2 ++------------------- ++ ++ * Build fix on Windows. ++ ++ * Fix `GIT_CEILING_DIRECTORIES` with Windows-style root directories. ++ ++ * CVE-2022-24765: ++ On multi-user machines, Git users might find themselves ++ unexpectedly in a Git worktree, e.g. when another user created a ++ repository in `C:\.git`, in a mounted network drive or in a ++ scratch space. Merely having a Git-aware prompt that runs `git ++ status` (or `git diff`) and navigating to a directory which is ++ supposedly not a Git worktree, or opening such a directory in an ++ editor or IDE such as VS Code or Atom, will potentially run ++ commands defined by that other user. ++ ++Credit for finding this vulnerability goes to 俞晨东; The fix was ++authored by Johannes Schindelin. +diff --git a/Documentation/config.txt b/Documentation/config.txt +index 6ba50b1..34e6d47 100644 +--- a/Documentation/config.txt ++++ b/Documentation/config.txt +@@ -438,6 +438,8 @@ include::config/rerere.txt[] + + include::config/reset.txt[] + ++include::config/safe.txt[] ++ + include::config/sendemail.txt[] + + include::config/sequencer.txt[] +diff --git a/Documentation/config/safe.txt b/Documentation/config/safe.txt +new file mode 100644 +index 0000000..6d764fe +--- /dev/null ++++ b/Documentation/config/safe.txt +@@ -0,0 +1,28 @@ ++safe.directory:: ++ These config entries specify Git-tracked directories that are ++ considered safe even if they are owned by someone other than the ++ current user. By default, Git will refuse to even parse a Git ++ config of a repository owned by someone else, let alone run its ++ hooks, and this config setting allows users to specify exceptions, ++ e.g. for intentionally shared repositories (see the `--shared` ++ option in linkgit:git-init[1]). +++ ++This is a multi-valued setting, i.e. you can add more than one directory ++via `git config --add`. To reset the list of safe directories (e.g. to ++override any such directories specified in the system config), add a ++`safe.directory` entry with an empty value. +++ ++This config setting is only respected when specified in a system or global ++config, not when it is specified in a repository config or via the command ++line option `-c safe.directory=<path>`. +++ ++The value of this setting is interpolated, i.e. `~/<path>` expands to a ++path relative to the home directory and `%(prefix)/<path>` expands to a ++path relative to Git's (runtime) prefix. +++ ++To completely opt-out of this security check, set `safe.directory` to the ++string `*`. This will allow all repositories to be treated as if their ++directory was listed in the `safe.directory` list. If `safe.directory=*` ++is set in system config and you want to re-enable this protection, then ++initialize your list with an empty value before listing the repositories ++that you deem safe. +diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN +index 9d789e0..7cf68be 100755 +--- a/GIT-VERSION-GEN ++++ b/GIT-VERSION-GEN +@@ -1,7 +1,7 @@ + #!/bin/sh + + GVF=GIT-VERSION-FILE +-DEF_VER=v2.30.2 ++DEF_VER=v2.30.3 + + LF=' + ' +diff --git a/compat/mingw.c b/compat/mingw.c +index a435998..38ac359 100644 +--- a/compat/mingw.c ++++ b/compat/mingw.c +@@ -1,5 +1,6 @@ + #include "../git-compat-util.h" + #include "win32.h" ++#include <aclapi.h> + #include <conio.h> + #include <wchar.h> + #include "../strbuf.h" +@@ -1060,6 +1061,7 @@ int pipe(int filedes[2]) + return 0; + } + ++#ifndef __MINGW64__ + struct tm *gmtime_r(const time_t *timep, struct tm *result) + { + if (gmtime_s(result, timep) == 0) +@@ -1073,6 +1075,7 @@ struct tm *localtime_r(const time_t *timep, struct tm *result) + return result; + return NULL; + } ++#endif + + char *mingw_getcwd(char *pointer, int len) + { +@@ -2599,6 +2602,92 @@ static void setup_windows_environment(void) + } + } + ++static PSID get_current_user_sid(void) ++{ ++ HANDLE token; ++ DWORD len = 0; ++ PSID result = NULL; ++ ++ if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token)) ++ return NULL; ++ ++ if (!GetTokenInformation(token, TokenUser, NULL, 0, &len)) { ++ TOKEN_USER *info = xmalloc((size_t)len); ++ if (GetTokenInformation(token, TokenUser, info, len, &len)) { ++ len = GetLengthSid(info->User.Sid); ++ result = xmalloc(len); ++ if (!CopySid(len, result, info->User.Sid)) { ++ error(_("failed to copy SID (%ld)"), ++ GetLastError()); ++ FREE_AND_NULL(result); ++ } ++ } ++ FREE_AND_NULL(info); ++ } ++ CloseHandle(token); ++ ++ return result; ++} ++ ++int is_path_owned_by_current_sid(const char *path) ++{ ++ WCHAR wpath[MAX_PATH]; ++ PSID sid = NULL; ++ PSECURITY_DESCRIPTOR descriptor = NULL; ++ DWORD err; ++ ++ static wchar_t home[MAX_PATH]; ++ ++ int result = 0; ++ ++ if (xutftowcs_path(wpath, path) < 0) ++ return 0; ++ ++ /* ++ * On Windows, the home directory is owned by the administrator, but for ++ * all practical purposes, it belongs to the user. Do pretend that it is ++ * owned by the user. ++ */ ++ if (!*home) { ++ DWORD size = ARRAY_SIZE(home); ++ DWORD len = GetEnvironmentVariableW(L"HOME", home, size); ++ if (!len || len > size) ++ wcscpy(home, L"::N/A::"); ++ } ++ if (!wcsicmp(wpath, home)) ++ return 1; ++ ++ /* Get the owner SID */ ++ err = GetNamedSecurityInfoW(wpath, SE_FILE_OBJECT, ++ OWNER_SECURITY_INFORMATION | ++ DACL_SECURITY_INFORMATION, ++ &sid, NULL, NULL, NULL, &descriptor); ++ ++ if (err != ERROR_SUCCESS) ++ error(_("failed to get owner for '%s' (%ld)"), path, err); ++ else if (sid && IsValidSid(sid)) { ++ /* Now, verify that the SID matches the current user's */ ++ static PSID current_user_sid; ++ ++ if (!current_user_sid) ++ current_user_sid = get_current_user_sid(); ++ ++ if (current_user_sid && ++ IsValidSid(current_user_sid) && ++ EqualSid(sid, current_user_sid)) ++ result = 1; ++ } ++ ++ /* ++ * We can release the security descriptor struct only now because `sid` ++ * actually points into this struct. ++ */ ++ if (descriptor) ++ LocalFree(descriptor); ++ ++ return result; ++} ++ + int is_valid_win32_path(const char *path, int allow_literal_nul) + { + const char *p = path; +diff --git a/compat/mingw.h b/compat/mingw.h +index af8eddd..f6bab54 100644 +--- a/compat/mingw.h ++++ b/compat/mingw.h +@@ -452,6 +452,13 @@ char *mingw_query_user_email(void); + #include <inttypes.h> + #endif + ++/** ++ * Verifies that the specified path is owned by the user running the ++ * current process. ++ */ ++int is_path_owned_by_current_sid(const char *path); ++#define is_path_owned_by_current_user is_path_owned_by_current_sid ++ + /** + * Verifies that the given path is a valid one on Windows. + * +diff --git a/git-compat-util.h b/git-compat-util.h +index 7d3db43..63ba89d 100644 +--- a/git-compat-util.h ++++ b/git-compat-util.h +@@ -127,7 +127,9 @@ + /* Approximation of the length of the decimal representation of this type. */ + #define decimal_length(x) ((int)(sizeof(x) * 2.56 + 0.5) + 1) + +-#if defined(__sun__) ++#ifdef __MINGW64__ ++#define _POSIX_C_SOURCE 1 ++#elif defined(__sun__) + /* + * On Solaris, when _XOPEN_EXTENDED is set, its header file + * forces the programs to be XPG4v2, defeating any _XOPEN_SOURCE +@@ -390,6 +392,18 @@ static inline int git_offset_1st_component(const char *path) + #define is_valid_path(path) 1 + #endif + ++#ifndef is_path_owned_by_current_user ++static inline int is_path_owned_by_current_uid(const char *path) ++{ ++ struct stat st; ++ if (lstat(path, &st)) ++ return 0; ++ return st.st_uid == geteuid(); ++} ++ ++#define is_path_owned_by_current_user is_path_owned_by_current_uid ++#endif ++ + #ifndef find_last_dir_sep + static inline char *git_find_last_dir_sep(const char *path) + { +diff --git a/path.c b/path.c +index 7b385e5..853e716 100644 +--- a/path.c ++++ b/path.c +@@ -1218,11 +1218,15 @@ int longest_ancestor_length(const char *path, struct string_list *prefixes) + const char *ceil = prefixes->items[i].string; + int len = strlen(ceil); + +- if (len == 1 && ceil[0] == '/') +- len = 0; /* root matches anything, with length 0 */ +- else if (!strncmp(path, ceil, len) && path[len] == '/') +- ; /* match of length len */ +- else ++ /* ++ * For root directories (`/`, `C:/`, `//server/share/`) ++ * adjust the length to exclude the trailing slash. ++ */ ++ if (len > 0 && ceil[len - 1] == '/') ++ len--; ++ ++ if (strncmp(path, ceil, len) || ++ path[len] != '/' || !path[len + 1]) + continue; /* no match */ + + if (len > max_len) +diff --git a/setup.c b/setup.c +index c04cd25..aad9ace 100644 +--- a/setup.c ++++ b/setup.c +@@ -5,6 +5,7 @@ + #include "string-list.h" + #include "chdir-notify.h" + #include "promisor-remote.h" ++#include "quote.h" + + static int inside_git_dir = -1; + static int inside_work_tree = -1; +@@ -1024,6 +1025,48 @@ static int canonicalize_ceiling_entry(struct string_list_item *item, + } + } + ++struct safe_directory_data { ++ const char *path; ++ int is_safe; ++}; ++ ++static int safe_directory_cb(const char *key, const char *value, void *d) ++{ ++ struct safe_directory_data *data = d; ++ ++ if (strcmp(key, "safe.directory")) ++ return 0; ++ ++ if (!value || !*value) { ++ data->is_safe = 0; ++ } else if (!strcmp(value, "*")) { ++ data->is_safe = 1; ++ } else { ++ const char *interpolated = NULL; ++ ++ if (!git_config_pathname(&interpolated, key, value) && ++ !fspathcmp(data->path, interpolated ? interpolated : value)) ++ data->is_safe = 1; ++ ++ free((char *)interpolated); ++ } ++ ++ return 0; ++} ++ ++static int ensure_valid_ownership(const char *path) ++{ ++ struct safe_directory_data data = { .path = path }; ++ ++ if (!git_env_bool("GIT_TEST_ASSUME_DIFFERENT_OWNER", 0) && ++ is_path_owned_by_current_user(path)) ++ return 1; ++ ++ read_very_early_config(safe_directory_cb, &data); ++ ++ return data.is_safe; ++} ++ + enum discovery_result { + GIT_DIR_NONE = 0, + GIT_DIR_EXPLICIT, +@@ -1032,7 +1075,8 @@ enum discovery_result { + /* these are errors */ + GIT_DIR_HIT_CEILING = -1, + GIT_DIR_HIT_MOUNT_POINT = -2, +- GIT_DIR_INVALID_GITFILE = -3 ++ GIT_DIR_INVALID_GITFILE = -3, ++ GIT_DIR_INVALID_OWNERSHIP = -4 + }; + + /* +@@ -1122,11 +1166,15 @@ static enum discovery_result setup_git_directory_gently_1(struct strbuf *dir, + } + strbuf_setlen(dir, offset); + if (gitdirenv) { ++ if (!ensure_valid_ownership(dir->buf)) ++ return GIT_DIR_INVALID_OWNERSHIP; + strbuf_addstr(gitdir, gitdirenv); + return GIT_DIR_DISCOVERED; + } + + if (is_git_directory(dir->buf)) { ++ if (!ensure_valid_ownership(dir->buf)) ++ return GIT_DIR_INVALID_OWNERSHIP; + strbuf_addstr(gitdir, "."); + return GIT_DIR_BARE; + } +@@ -1253,6 +1301,19 @@ const char *setup_git_directory_gently(int *nongit_ok) + dir.buf); + *nongit_ok = 1; + break; ++ case GIT_DIR_INVALID_OWNERSHIP: ++ if (!nongit_ok) { ++ struct strbuf quoted = STRBUF_INIT; ++ ++ sq_quote_buf_pretty("ed, dir.buf); ++ die(_("unsafe repository ('%s' is owned by someone else)\n" ++ "To add an exception for this directory, call:\n" ++ "\n" ++ "\tgit config --global --add safe.directory %s"), ++ dir.buf, quoted.buf); ++ } ++ *nongit_ok = 1; ++ break; + case GIT_DIR_NONE: + /* + * As a safeguard against setup_git_directory_gently_1 returning +diff --git a/t/t0033-safe-directory.sh b/t/t0033-safe-directory.sh +new file mode 100755 +index 0000000..239d93f +--- /dev/null ++++ b/t/t0033-safe-directory.sh +@@ -0,0 +1,49 @@ ++#!/bin/sh ++ ++test_description='verify safe.directory checks' ++ ++. ./test-lib.sh ++ ++GIT_TEST_ASSUME_DIFFERENT_OWNER=1 ++export GIT_TEST_ASSUME_DIFFERENT_OWNER ++ ++expect_rejected_dir () { ++ test_must_fail git status 2>err && ++ grep "safe.directory" err ++} ++ ++test_expect_success 'safe.directory is not set' ' ++ expect_rejected_dir ++' ++ ++test_expect_success 'safe.directory does not match' ' ++ git config --global safe.directory bogus && ++ expect_rejected_dir ++' ++ ++test_expect_success 'path exist as different key' ' ++ git config --global foo.bar "$(pwd)" && ++ expect_rejected_dir ++' ++ ++test_expect_success 'safe.directory matches' ' ++ git config --global --add safe.directory "$(pwd)" && ++ git status ++' ++ ++test_expect_success 'safe.directory matches, but is reset' ' ++ git config --global --add safe.directory "" && ++ expect_rejected_dir ++' ++ ++test_expect_success 'safe.directory=*' ' ++ git config --global --add safe.directory "*" && ++ git status ++' ++ ++test_expect_success 'safe.directory=*, but is reset' ' ++ git config --global --add safe.directory "" && ++ expect_rejected_dir ++' ++ ++test_done +diff --git a/t/t0060-path-utils.sh b/t/t0060-path-utils.sh +index 56db5c8..f538264 100755 +--- a/t/t0060-path-utils.sh ++++ b/t/t0060-path-utils.sh +@@ -55,12 +55,15 @@ fi + ancestor() { + # We do some math with the expected ancestor length. + expected=$3 +- if test -n "$rootoff" && test "x$expected" != x-1; then +- expected=$(($expected-$rootslash)) +- test $expected -lt 0 || +- expected=$(($expected+$rootoff)) +- fi +- test_expect_success "longest ancestor: $1 $2 => $expected" \ ++ case "$rootoff,$expected,$2" in ++ *,*,//*) ;; # leave UNC paths alone ++ [0-9]*,[0-9]*,/*) ++ # On Windows, expect MSYS2 pseudo root translation for ++ # Unix-style absolute paths ++ expected=$(($expected-$rootslash+$rootoff)) ++ ;; ++ esac ++ test_expect_success $4 "longest ancestor: $1 $2 => $expected" \ + "actual=\$(test-tool path-utils longest_ancestor_length '$1' '$2') && + test \"\$actual\" = '$expected'" + } +@@ -156,6 +159,11 @@ ancestor /foo/bar /foo 4 + ancestor /foo/bar /foo:/bar 4 + ancestor /foo/bar /bar -1 + ++# Windows-specific: DOS drives, network shares ++ancestor C:/Users/me C:/ 2 MINGW ++ancestor D:/Users/me C:/ -1 MINGW ++ancestor //server/share/my-directory //server/share/ 14 MINGW ++ + test_expect_success 'strip_path_suffix' ' + test c:/msysgit = $(test-tool path-utils strip_path_suffix \ + c:/msysgit/libexec//git-core libexec/git-core) diff --git a/debian/patches/CVE-2022-29187.patch b/debian/patches/CVE-2022-29187.patch new file mode 100644 index 0000000..95765ad --- /dev/null +++ b/debian/patches/CVE-2022-29187.patch @@ -0,0 +1,340 @@ +Origin: https://github.com/git/git/commit/3b0bf2704980b1ed6018622bdf5377ec22289688 +Origin: https://github.com/git/git/commit/5f1a3fec8c304decaa9af2bf503712050a4a84e0 +Origin: https://github.com/git/git/commit/ae9abbb63eea74441e3e8b153dc6ec1f94c373b4 +Origin: https://github.com/git/git/commit/b9063afda17a2aa6310423c9f7b776c41f753091 +Origin: https://github.com/git/git/commit/6b11e3d52e919cce91011f4f9025e6f4b61375f2 +Reviewed-by: Aron Xu <aron@debian.org> +Last-Updated: 2023-01-26 + +diff --git a/Documentation/config/safe.txt b/Documentation/config/safe.txt +index 6d764fe..74627c5 100644 +--- a/Documentation/config/safe.txt ++++ b/Documentation/config/safe.txt +@@ -26,3 +26,17 @@ directory was listed in the `safe.directory` list. If `safe.directory=*` + is set in system config and you want to re-enable this protection, then + initialize your list with an empty value before listing the repositories + that you deem safe. +++ ++As explained, Git only allows you to access repositories owned by ++yourself, i.e. the user who is running Git, by default. When Git ++is running as 'root' in a non Windows platform that provides sudo, ++however, git checks the SUDO_UID environment variable that sudo creates ++and will allow access to the uid recorded as its value in addition to ++the id from 'root'. ++This is to make it easy to perform a common sequence during installation ++"make && sudo make install". A git process running under 'sudo' runs as ++'root' but the 'sudo' command exports the environment variable to record ++which id the original user has. ++If that is not what you would prefer and want git to only trust ++repositories that are owned by root instead, then you can remove ++the `SUDO_UID` variable from root's environment before invoking git. +diff --git a/git-compat-util.h b/git-compat-util.h +index 63ba89d..f505f81 100644 +--- a/git-compat-util.h ++++ b/git-compat-util.h +@@ -393,12 +393,68 @@ static inline int git_offset_1st_component(const char *path) + #endif + + #ifndef is_path_owned_by_current_user ++ ++#ifdef __TANDEM ++#define ROOT_UID 65535 ++#else ++#define ROOT_UID 0 ++#endif ++ ++/* ++ * Do not use this function when ++ * (1) geteuid() did not say we are running as 'root', or ++ * (2) using this function will compromise the system. ++ * ++ * PORTABILITY WARNING: ++ * This code assumes uid_t is unsigned because that is what sudo does. ++ * If your uid_t type is signed and all your ids are positive then it ++ * should all work fine. ++ * If your version of sudo uses negative values for uid_t or it is ++ * buggy and return an overflowed value in SUDO_UID, then git might ++ * fail to grant access to your repository properly or even mistakenly ++ * grant access to someone else. ++ * In the unlikely scenario this happened to you, and that is how you ++ * got to this message, we would like to know about it; so sent us an ++ * email to git@vger.kernel.org indicating which platform you are ++ * using and which version of sudo, so we can improve this logic and ++ * maybe provide you with a patch that would prevent this issue again ++ * in the future. ++ */ ++static inline void extract_id_from_env(const char *env, uid_t *id) ++{ ++ const char *real_uid = getenv(env); ++ ++ /* discard anything empty to avoid a more complex check below */ ++ if (real_uid && *real_uid) { ++ char *endptr = NULL; ++ unsigned long env_id; ++ ++ errno = 0; ++ /* silent overflow errors could trigger a bug here */ ++ env_id = strtoul(real_uid, &endptr, 10); ++ if (!*endptr && !errno) ++ *id = env_id; ++ } ++} ++ + static inline int is_path_owned_by_current_uid(const char *path) + { + struct stat st; ++ uid_t euid; ++ + if (lstat(path, &st)) + return 0; +- return st.st_uid == geteuid(); ++ ++ euid = geteuid(); ++ if (euid == ROOT_UID) ++ { ++ if (st.st_uid == ROOT_UID) ++ return 1; ++ else ++ extract_id_from_env("SUDO_UID", &euid); ++ } ++ ++ return st.st_uid == euid; + } + + #define is_path_owned_by_current_user is_path_owned_by_current_uid +diff --git a/setup.c b/setup.c +index aad9ace..9dcecda 100644 +--- a/setup.c ++++ b/setup.c +@@ -1054,14 +1054,32 @@ static int safe_directory_cb(const char *key, const char *value, void *d) + return 0; + } + +-static int ensure_valid_ownership(const char *path) ++/* ++ * Check if a repository is safe, by verifying the ownership of the ++ * worktree (if any), the git directory, and the gitfile (if any). ++ * ++ * Exemptions for known-safe repositories can be added via `safe.directory` ++ * config settings; for non-bare repositories, their worktree needs to be ++ * added, for bare ones their git directory. ++ */ ++static int ensure_valid_ownership(const char *gitfile, ++ const char *worktree, const char *gitdir) + { +- struct safe_directory_data data = { .path = path }; ++ struct safe_directory_data data = { ++ .path = worktree ? worktree : gitdir ++ }; + + if (!git_env_bool("GIT_TEST_ASSUME_DIFFERENT_OWNER", 0) && +- is_path_owned_by_current_user(path)) ++ (!gitfile || is_path_owned_by_current_user(gitfile)) && ++ (!worktree || is_path_owned_by_current_user(worktree)) && ++ (!gitdir || is_path_owned_by_current_user(gitdir))) + return 1; + ++ /* ++ * data.path is the "path" that identifies the repository and it is ++ * constant regardless of what failed above. data.is_safe should be ++ * initialized to false, and might be changed by the callback. ++ */ + read_very_early_config(safe_directory_cb, &data); + + return data.is_safe; +@@ -1149,6 +1167,8 @@ static enum discovery_result setup_git_directory_gently_1(struct strbuf *dir, + current_device = get_device_or_die(dir->buf, NULL, 0); + for (;;) { + int offset = dir->len, error_code = 0; ++ char *gitdir_path = NULL; ++ char *gitfile = NULL; + + if (offset > min_offset) + strbuf_addch(dir, '/'); +@@ -1159,21 +1179,50 @@ static enum discovery_result setup_git_directory_gently_1(struct strbuf *dir, + if (die_on_error || + error_code == READ_GITFILE_ERR_NOT_A_FILE) { + /* NEEDSWORK: fail if .git is not file nor dir */ +- if (is_git_directory(dir->buf)) ++ if (is_git_directory(dir->buf)) { + gitdirenv = DEFAULT_GIT_DIR_ENVIRONMENT; ++ gitdir_path = xstrdup(dir->buf); ++ } + } else if (error_code != READ_GITFILE_ERR_STAT_FAILED) + return GIT_DIR_INVALID_GITFILE; +- } ++ } else ++ gitfile = xstrdup(dir->buf); ++ /* ++ * Earlier, we tentatively added DEFAULT_GIT_DIR_ENVIRONMENT ++ * to check that directory for a repository. ++ * Now trim that tentative addition away, because we want to ++ * focus on the real directory we are in. ++ */ + strbuf_setlen(dir, offset); + if (gitdirenv) { +- if (!ensure_valid_ownership(dir->buf)) +- return GIT_DIR_INVALID_OWNERSHIP; +- strbuf_addstr(gitdir, gitdirenv); +- return GIT_DIR_DISCOVERED; ++ enum discovery_result ret; ++ ++ if (ensure_valid_ownership(gitfile, ++ dir->buf, ++ (gitdir_path ? gitdir_path : gitdirenv))) { ++ strbuf_addstr(gitdir, gitdirenv); ++ ret = GIT_DIR_DISCOVERED; ++ } else ++ ret = GIT_DIR_INVALID_OWNERSHIP; ++ ++ /* ++ * Earlier, during discovery, we might have allocated ++ * string copies for gitdir_path or gitfile so make ++ * sure we don't leak by freeing them now, before ++ * leaving the loop and function. ++ * ++ * Note: gitdirenv will be non-NULL whenever these are ++ * allocated, therefore we need not take care of releasing ++ * them outside of this conditional block. ++ */ ++ free(gitdir_path); ++ free(gitfile); ++ ++ return ret; + } + + if (is_git_directory(dir->buf)) { +- if (!ensure_valid_ownership(dir->buf)) ++ if (!ensure_valid_ownership(NULL, NULL, dir->buf)) + return GIT_DIR_INVALID_OWNERSHIP; + strbuf_addstr(gitdir, "."); + return GIT_DIR_BARE; +@@ -1306,7 +1355,7 @@ const char *setup_git_directory_gently(int *nongit_ok) + struct strbuf quoted = STRBUF_INIT; + + sq_quote_buf_pretty("ed, dir.buf); +- die(_("unsafe repository ('%s' is owned by someone else)\n" ++ die(_("detected dubious ownership in repository at '%s'\n" + "To add an exception for this directory, call:\n" + "\n" + "\tgit config --global --add safe.directory %s"), +diff --git a/t/lib-sudo.sh b/t/lib-sudo.sh +new file mode 100644 +index 0000000..b4d7788 +--- /dev/null ++++ b/t/lib-sudo.sh +@@ -0,0 +1,15 @@ ++# Helpers for running git commands under sudo. ++ ++# Runs a scriplet passed through stdin under sudo. ++run_with_sudo () { ++ local ret ++ local RUN="$TEST_DIRECTORY/$$.sh" ++ write_script "$RUN" "$TEST_SHELL_PATH" ++ # avoid calling "$RUN" directly so sudo doesn't get a chance to ++ # override the shell, add aditional restrictions or even reject ++ # running the script because its security policy deem it unsafe ++ sudo "$TEST_SHELL_PATH" -c "\"$RUN\"" ++ ret=$? ++ rm -f "$RUN" ++ return $ret ++} +diff --git a/t/t0034-root-safe-directory.sh b/t/t0034-root-safe-directory.sh +new file mode 100755 +index 0000000..ff31176 +--- /dev/null ++++ b/t/t0034-root-safe-directory.sh +@@ -0,0 +1,93 @@ ++#!/bin/sh ++ ++test_description='verify safe.directory checks while running as root' ++ ++. ./test-lib.sh ++. "$TEST_DIRECTORY"/lib-sudo.sh ++ ++if [ "$GIT_TEST_ALLOW_SUDO" != "YES" ] ++then ++ skip_all="You must set env var GIT_TEST_ALLOW_SUDO=YES in order to run this test" ++ test_done ++fi ++ ++if ! test_have_prereq NOT_ROOT ++then ++ skip_all="These tests do not support running as root" ++ test_done ++fi ++ ++test_lazy_prereq SUDO ' ++ sudo -n id -u >u && ++ id -u root >r && ++ test_cmp u r && ++ command -v git >u && ++ sudo command -v git >r && ++ test_cmp u r ++' ++ ++if ! test_have_prereq SUDO ++then ++ skip_all="Your sudo/system configuration is either too strict or unsupported" ++ test_done ++fi ++ ++test_expect_success SUDO 'setup' ' ++ sudo rm -rf root && ++ mkdir -p root/r && ++ ( ++ cd root/r && ++ git init ++ ) ++' ++ ++test_expect_success SUDO 'sudo git status as original owner' ' ++ ( ++ cd root/r && ++ git status && ++ sudo git status ++ ) ++' ++ ++test_expect_success SUDO 'setup root owned repository' ' ++ sudo mkdir -p root/p && ++ sudo git init root/p ++' ++ ++test_expect_success 'cannot access if owned by root' ' ++ ( ++ cd root/p && ++ test_must_fail git status ++ ) ++' ++ ++test_expect_success 'can access if addressed explicitly' ' ++ ( ++ cd root/p && ++ GIT_DIR=.git GIT_WORK_TREE=. git status ++ ) ++' ++ ++test_expect_success SUDO 'can access with sudo if root' ' ++ ( ++ cd root/p && ++ sudo git status ++ ) ++' ++ ++test_expect_success SUDO 'can access with sudo if root by removing SUDO_UID' ' ++ ( ++ cd root/p && ++ run_with_sudo <<-END ++ unset SUDO_UID && ++ git status ++ END ++ ) ++' ++ ++# this MUST be always the last test ++test_expect_success SUDO 'cleanup' ' ++ sudo rm -rf root ++' ++ ++test_done diff --git a/debian/patches/CVE-2022-39253.patch b/debian/patches/CVE-2022-39253.patch new file mode 100644 index 0000000..e481e0e --- /dev/null +++ b/debian/patches/CVE-2022-39253.patch @@ -0,0 +1,969 @@ +Origin: https://github.com/git/git/commit/6f054f9fb3a501c35b55c65e547a244f14c38d56 +Origin: https://github.com/git/git/commit/7de0c306f7b758d3fb537c18c2751f6250cea7a0 +Origin: https://github.com/git/git/commit/8a96dbcb339d25ba1813632319ea4052bc586ddf +Origin: https://github.com/git/git/commit/99f4abb8dae4c9c604e5d5cf255958bbe537b928 +Origin: https://github.com/git/git/commit/f8d510ed0b357787c8d035d64f240bd82b424dc4 +Origin: https://github.com/git/git/commit/ac7e57fa288260341bdbd5e9abcdd24eaf214740 +Origin: https://github.com/git/git/commit/225d2d50ccef4baae410a96b9dc9e3978d164826 +Origin: https://github.com/git/git/commit/0f21b8f468566b991eea60bb7bdf2fce9265e367 +Origin: https://github.com/git/git/commit/0d3beb71dad7906f576b0de9cea32164549163fe +Origin: https://github.com/git/git/commit/f4a32a550f9d40471fb42ed1e5c8612dfe4a83b1 +Origin: https://github.com/git/git/commit/a1d4f67c12ac172f835e6d5e4e0a197075e2146b +Reviewed-by: Aron Xu <aron@debian.org> +Last-Updated: 2023-01-26 + +diff --git a/Documentation/config/protocol.txt b/Documentation/config/protocol.txt +index 756591d..7993891 100644 +--- a/Documentation/config/protocol.txt ++++ b/Documentation/config/protocol.txt +@@ -1,10 +1,10 @@ + protocol.allow:: + If set, provide a user defined default policy for all protocols which + don't explicitly have a policy (`protocol.<name>.allow`). By default, +- if unset, known-safe protocols (http, https, git, ssh, file) have a ++ if unset, known-safe protocols (http, https, git, ssh) have a + default policy of `always`, known-dangerous protocols (ext) have a +- default policy of `never`, and all other protocols have a default +- policy of `user`. Supported policies: ++ default policy of `never`, and all other protocols (including file) ++ have a default policy of `user`. Supported policies: + + + -- + +diff --git a/builtin/clone.c b/builtin/clone.c +index e335734..e626073 100644 +--- a/builtin/clone.c ++++ b/builtin/clone.c +@@ -420,13 +420,11 @@ static void copy_or_link_directory(struct strbuf *src, struct strbuf *dest, + int src_len, dest_len; + struct dir_iterator *iter; + int iter_status; +- unsigned int flags; + struct strbuf realpath = STRBUF_INIT; + + mkdir_if_missing(dest->buf, 0777); + +- flags = DIR_ITERATOR_PEDANTIC | DIR_ITERATOR_FOLLOW_SYMLINKS; +- iter = dir_iterator_begin(src->buf, flags); ++ iter = dir_iterator_begin(src->buf, DIR_ITERATOR_PEDANTIC); + + if (!iter) + die_errno(_("failed to start iterator over '%s'"), src->buf); +@@ -442,6 +440,10 @@ static void copy_or_link_directory(struct strbuf *src, struct strbuf *dest, + strbuf_setlen(dest, dest_len); + strbuf_addstr(dest, iter->relative_path); + ++ if (S_ISLNK(iter->st.st_mode)) ++ die(_("symlink '%s' exists, refusing to clone with --local"), ++ iter->relative_path); ++ + if (S_ISDIR(iter->st.st_mode)) { + mkdir_if_missing(dest->buf, 0777); + continue; +diff --git a/t/lib-submodule-update.sh b/t/lib-submodule-update.sh +index 4b714e9..cc5b58b 100644 +--- a/t/lib-submodule-update.sh ++++ b/t/lib-submodule-update.sh +@@ -196,6 +196,7 @@ test_git_directory_exists () { + # the submodule repo if it doesn't exist and configures the most problematic + # settings for diff.ignoreSubmodules. + prolog () { ++ test_config_global protocol.file.allow always && + (test -d submodule_update_repo || create_lib_submodule_repo) && + test_config_global diff.ignoreSubmodules all && + test_config diff.ignoreSubmodules all +diff --git a/t/t1091-sparse-checkout-builtin.sh b/t/t1091-sparse-checkout-builtin.sh +index 84acfc4..749c8f1 100755 +--- a/t/t1091-sparse-checkout-builtin.sh ++++ b/t/t1091-sparse-checkout-builtin.sh +@@ -449,7 +449,8 @@ test_expect_success 'interaction with submodules' ' + ( + cd super && + mkdir modules && +- git submodule add ../repo modules/child && ++ git -c protocol.file.allow=always \ ++ submodule add ../repo modules/child && + git add . && + git commit -m "add submodule" && + git sparse-checkout init --cone && +diff --git a/t/t1500-rev-parse.sh b/t/t1500-rev-parse.sh +index 408b97d..acef9fd 100755 +--- a/t/t1500-rev-parse.sh ++++ b/t/t1500-rev-parse.sh +@@ -163,7 +163,8 @@ test_expect_success 'showing the superproject correctly' ' + test_commit -C super test_commit && + test_create_repo sub && + test_commit -C sub test_commit && +- git -C super submodule add ../sub dir/sub && ++ git -c protocol.file.allow=always \ ++ -C super submodule add ../sub dir/sub && + echo $(pwd)/super >expect && + git -C super/dir/sub rev-parse --show-superproject-working-tree >out && + test_cmp expect out && +diff --git a/t/t2400-worktree-add.sh b/t/t2400-worktree-add.sh +index 5a74954..cd02f78 100755 +--- a/t/t2400-worktree-add.sh ++++ b/t/t2400-worktree-add.sh +@@ -597,6 +597,7 @@ test_expect_success '"add" should not fail because of another bad worktree' ' + ' + + test_expect_success '"add" with uninitialized submodule, with submodule.recurse unset' ' ++ test_config_global protocol.file.allow always && + test_create_repo submodule && + test_commit -C submodule first && + test_create_repo project && +@@ -612,6 +613,7 @@ test_expect_success '"add" with uninitialized submodule, with submodule.recurse + ' + + test_expect_success '"add" with initialized submodule, with submodule.recurse unset' ' ++ test_config_global protocol.file.allow always && + git -C project-clone submodule update --init && + git -C project-clone worktree add ../project-4 + ' +diff --git a/t/t2403-worktree-move.sh b/t/t2403-worktree-move.sh +index a4e1a17..e8246ee 100755 +--- a/t/t2403-worktree-move.sh ++++ b/t/t2403-worktree-move.sh +@@ -138,7 +138,8 @@ test_expect_success 'move a repo with uninitialized submodule' ' + ( + cd withsub && + test_commit initial && +- git submodule add "$PWD"/.git sub && ++ git -c protocol.file.allow=always \ ++ submodule add "$PWD"/.git sub && + git commit -m withsub && + git worktree add second HEAD && + git worktree move second third +@@ -148,7 +149,7 @@ test_expect_success 'move a repo with uninitialized submodule' ' + test_expect_success 'not move a repo with initialized submodule' ' + ( + cd withsub && +- git -C third submodule update && ++ git -c protocol.file.allow=always -C third submodule update && + test_must_fail git worktree move third forth + ) + ' +@@ -227,6 +228,7 @@ test_expect_success 'remove cleans up .git/worktrees when empty' ' + ' + + test_expect_success 'remove a repo with uninitialized submodule' ' ++ test_config_global protocol.file.allow always && + ( + cd withsub && + git worktree add to-remove HEAD && +@@ -235,6 +237,7 @@ test_expect_success 'remove a repo with uninitialized submodule' ' + ' + + test_expect_success 'not remove a repo with initialized submodule' ' ++ test_config_global protocol.file.allow always && + ( + cd withsub && + git worktree add to-remove HEAD && +diff --git a/t/t2405-worktree-submodule.sh b/t/t2405-worktree-submodule.sh +index e1b2bfd..51120d5 100755 +--- a/t/t2405-worktree-submodule.sh ++++ b/t/t2405-worktree-submodule.sh +@@ -7,6 +7,7 @@ test_description='Combination of submodules and multiple worktrees' + base_path=$(pwd -P) + + test_expect_success 'setup: create origin repos' ' ++ git config --global protocol.file.allow always && + git init origin/sub && + test_commit -C origin/sub file1 && + git init origin/main && +diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh +index 3ec3e1d..631a0b5 100755 +--- a/t/t3200-branch.sh ++++ b/t/t3200-branch.sh +@@ -279,6 +279,7 @@ test_expect_success 'deleting checked-out branch from repo that is a submodule' + git init repo1 && + git init repo1/sub && + test_commit -C repo1/sub x && ++ test_config_global protocol.file.allow always && + git -C repo1 submodule add ./sub && + git -C repo1 commit -m "adding sub" && + +diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh +index ca33173..80df13a 100755 +--- a/t/t3420-rebase-autostash.sh ++++ b/t/t3420-rebase-autostash.sh +@@ -307,7 +307,7 @@ test_expect_success 'autostash is saved on editor failure with conflict' ' + test_expect_success 'autostash with dirty submodules' ' + test_when_finished "git reset --hard && git checkout master" && + git checkout -b with-submodule && +- git submodule add ./ sub && ++ git -c protocol.file.allow=always submodule add ./ sub && + test_tick && + git commit -m add-submodule && + echo changed >sub/file0 && +diff --git a/t/t3426-rebase-submodule.sh b/t/t3426-rebase-submodule.sh +index 0ad3a07..fb21f67 100755 +--- a/t/t3426-rebase-submodule.sh ++++ b/t/t3426-rebase-submodule.sh +@@ -47,7 +47,8 @@ test_expect_success 'rebase interactive ignores modified submodules' ' + git init sub && + git -C sub commit --allow-empty -m "Initial commit" && + git init super && +- git -C super submodule add ../sub && ++ git -c protocol.file.allow=always \ ++ -C super submodule add ../sub && + git -C super config submodule.sub.ignore dirty && + >super/foo && + git -C super add foo && +diff --git a/t/t3512-cherry-pick-submodule.sh b/t/t3512-cherry-pick-submodule.sh +index 6ece1d8..697bc68 100755 +--- a/t/t3512-cherry-pick-submodule.sh ++++ b/t/t3512-cherry-pick-submodule.sh +@@ -10,6 +10,8 @@ KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1 + test_submodule_switch "cherry-pick" + + test_expect_success 'unrelated submodule/file conflict is ignored' ' ++ test_config_global protocol.file.allow always && ++ + test_create_repo sub && + + touch sub/file && +diff --git a/t/t3600-rm.sh b/t/t3600-rm.sh +index efec8d1..99dab76 100755 +--- a/t/t3600-rm.sh ++++ b/t/t3600-rm.sh +@@ -321,7 +321,7 @@ test_expect_success 'rm removes empty submodules from work tree' ' + + test_expect_success 'rm removes removed submodule from index and .gitmodules' ' + git reset --hard && +- git submodule update && ++ git -c protocol.file.allow=always submodule update && + rm -rf submod && + git rm submod && + git status -s -uno --ignore-submodules=none >actual && +@@ -627,6 +627,7 @@ cat >expect.deepmodified <<EOF + EOF + + test_expect_success 'setup subsubmodule' ' ++ test_config_global protocol.file.allow always && + git reset --hard && + git submodule update && + ( +diff --git a/t/t3906-stash-submodule.sh b/t/t3906-stash-submodule.sh +index a52e53d..0f7348e 100755 +--- a/t/t3906-stash-submodule.sh ++++ b/t/t3906-stash-submodule.sh +@@ -36,7 +36,7 @@ setup_basic () { + git init main && + ( + cd main && +- git submodule add ../sub && ++ git -c protocol.file.allow=always submodule add ../sub && + test_commit main_file + ) + } +diff --git a/t/t4059-diff-submodule-not-initialized.sh b/t/t4059-diff-submodule-not-initialized.sh +index 49bca7b..d489230 100755 +--- a/t/t4059-diff-submodule-not-initialized.sh ++++ b/t/t4059-diff-submodule-not-initialized.sh +@@ -49,7 +49,7 @@ test_expect_success 'setup - submodules' ' + ' + + test_expect_success 'setup - git submodule add' ' +- git submodule add ./sm2 sm1 && ++ git -c protocol.file.allow=always submodule add ./sm2 sm1 && + commit_file sm1 .gitmodules && + git diff-tree -p --no-commit-id --submodule=log HEAD -- sm1 >actual && + cat >expected <<-EOF && +diff --git a/t/t4060-diff-submodule-option-diff-format.sh b/t/t4060-diff-submodule-option-diff-format.sh +index fc8229c..57b1912 100755 +--- a/t/t4060-diff-submodule-option-diff-format.sh ++++ b/t/t4060-diff-submodule-option-diff-format.sh +@@ -759,9 +759,9 @@ test_expect_success 'diff --submodule=diff with .git file' ' + ' + + test_expect_success 'setup nested submodule' ' +- git submodule add -f ./sm2 && ++ git -c protocol.file.allow=always submodule add -f ./sm2 && + git commit -a -m "add sm2" && +- git -C sm2 submodule add ../sm2 nested && ++ git -c protocol.file.allow=always -C sm2 submodule add ../sm2 nested && + git -C sm2 commit -a -m "nested sub" && + head10=$(git -C sm2 rev-parse --short --verify HEAD) + ' +diff --git a/t/t4067-diff-partial-clone.sh b/t/t4067-diff-partial-clone.sh +index 804f2a8..28f42a4 100755 +--- a/t/t4067-diff-partial-clone.sh ++++ b/t/t4067-diff-partial-clone.sh +@@ -77,6 +77,7 @@ test_expect_success 'diff skips same-OID blobs' ' + + test_expect_success 'when fetching missing objects, diff skips GITLINKs' ' + test_when_finished "rm -rf sub server client trace" && ++ test_config_global protocol.file.allow always && + + test_create_repo sub && + test_commit -C sub first && +diff --git a/t/t4208-log-magic-pathspec.sh b/t/t4208-log-magic-pathspec.sh +index 6cdbe47..aeaf0d5 100755 +--- a/t/t4208-log-magic-pathspec.sh ++++ b/t/t4208-log-magic-pathspec.sh +@@ -126,6 +126,7 @@ test_expect_success 'command line pathspec parsing for "git log"' ' + + test_expect_success 'tree_entry_interesting does not match past submodule boundaries' ' + test_when_finished "rm -rf repo submodule" && ++ test_config_global protocol.file.allow always && + git init submodule && + test_commit -C submodule initial && + git init repo && +diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh +index 2013051..b60ba0f 100755 +--- a/t/t5510-fetch.sh ++++ b/t/t5510-fetch.sh +@@ -627,6 +627,7 @@ test_expect_success 'fetch.writeCommitGraph' ' + ' + + test_expect_success 'fetch.writeCommitGraph with submodules' ' ++ test_config_global protocol.file.allow always && + git clone dups super && + ( + cd super && +diff --git a/t/t5526-fetch-submodules.sh b/t/t5526-fetch-submodules.sh +index 53d7b8e..aa04eac 100755 +--- a/t/t5526-fetch-submodules.sh ++++ b/t/t5526-fetch-submodules.sh +@@ -35,6 +35,7 @@ add_upstream_commit() { + } + + test_expect_success setup ' ++ git config --global protocol.file.allow always && + mkdir deepsubmodule && + ( + cd deepsubmodule && +diff --git a/t/t5545-push-options.sh b/t/t5545-push-options.sh +index 38e6f73..77ce917 100755 +--- a/t/t5545-push-options.sh ++++ b/t/t5545-push-options.sh +@@ -113,6 +113,7 @@ test_expect_success 'push options and submodules' ' + test_commit -C parent one && + git -C parent push --mirror up && + ++ test_config_global protocol.file.allow always && + git -C parent submodule add ../upstream workbench && + git -C parent/workbench remote add up ../../upstream && + git -C parent commit -m "add submodule" && +diff --git a/t/t5572-pull-submodule.sh b/t/t5572-pull-submodule.sh +index 37fd06b..9b3b4af 100755 +--- a/t/t5572-pull-submodule.sh ++++ b/t/t5572-pull-submodule.sh +@@ -46,6 +46,10 @@ KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1 + KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1 + test_submodule_switch_func "git_pull_noff" + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'pull --recurse-submodule setup' ' + test_create_repo child && + test_commit -C child bar && +diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh +index 7df3c53..50d4821 100755 +--- a/t/t5601-clone.sh ++++ b/t/t5601-clone.sh +@@ -738,6 +738,7 @@ test_expect_success 'batch missing blob request does not inadvertently try to fe + echo aa >server/a && + echo bb >server/b && + # Also add a gitlink pointing to an arbitrary repository ++ test_config_global protocol.file.allow always && + git -C server submodule add "$(pwd)/repo_for_submodule" c && + git -C server add a b c && + git -C server commit -m x && +diff --git a/t/t5604-clone-reference.sh b/t/t5604-clone-reference.sh +index 2f7be23..9d32f1c 100755 +--- a/t/t5604-clone-reference.sh ++++ b/t/t5604-clone-reference.sh +@@ -300,8 +300,6 @@ test_expect_success SYMLINKS 'setup repo with manually symlinked or unknown file + ln -s ../an-object $obj && + + cd ../ && +- find . -type f | sort >../../../T.objects-files.raw && +- find . -type l | sort >../../../T.objects-symlinks.raw && + echo unknown_content >unknown_file + ) && + git -C T fsck && +@@ -310,19 +308,27 @@ test_expect_success SYMLINKS 'setup repo with manually symlinked or unknown file + + + test_expect_success SYMLINKS 'clone repo with symlinked or unknown files at objects/' ' +- for option in --local --no-hardlinks --shared --dissociate ++ # None of these options work when cloning locally, since T has ++ # symlinks in its `$GIT_DIR/objects` directory ++ for option in --local --no-hardlinks --dissociate + do +- git clone $option T T$option || return 1 && +- git -C T$option fsck || return 1 && +- git -C T$option rev-list --all --objects >T$option.objects && +- test_cmp T.objects T$option.objects && +- ( +- cd T$option/.git/objects && +- find . -type f | sort >../../../T$option.objects-files.raw && +- find . -type l | sort >../../../T$option.objects-symlinks.raw +- ) ++ test_must_fail git clone $option T T$option 2>err || return 1 && ++ test_i18ngrep "symlink.*exists" err || return 1 + done && + ++ # But `--shared` clones should still work, even when specifying ++ # a local path *and* that repository has symlinks present in its ++ # `$GIT_DIR/objects` directory. ++ git clone --shared T T--shared && ++ git -C T--shared fsck && ++ git -C T--shared rev-list --all --objects >T--shared.objects && ++ test_cmp T.objects T--shared.objects && ++ ( ++ cd T--shared/.git/objects && ++ find . -type f | sort >../../../T--shared.objects-files.raw && ++ find . -type l | sort >../../../T--shared.objects-symlinks.raw ++ ) && ++ + for raw in $(ls T*.raw) + do + sed -e "s!/../!/Y/!; s![0-9a-f]\{38,\}!Z!" -e "/commit-graph/d" \ +@@ -330,26 +336,6 @@ test_expect_success SYMLINKS 'clone repo with symlinked or unknown files at obje + sort $raw.de-sha-1 >$raw.de-sha || return 1 + done && + +- cat >expected-files <<-EOF && +- ./Y/Z +- ./Y/Z +- ./Y/Z +- ./a-loose-dir/Z +- ./an-object +- ./info/packs +- ./pack/pack-Z.idx +- ./pack/pack-Z.pack +- ./packs/pack-Z.idx +- ./packs/pack-Z.pack +- ./unknown_file +- EOF +- +- for option in --local --no-hardlinks --dissociate +- do +- test_cmp expected-files T$option.objects-files.raw.de-sha || return 1 && +- test_must_be_empty T$option.objects-symlinks.raw.de-sha || return 1 +- done && +- + echo ./info/alternates >expected-files && + test_cmp expected-files T--shared.objects-files.raw && + test_must_be_empty T--shared.objects-symlinks.raw +diff --git a/t/t5614-clone-submodules-shallow.sh b/t/t5614-clone-submodules-shallow.sh +index e4e6ea4..d361738 100755 +--- a/t/t5614-clone-submodules-shallow.sh ++++ b/t/t5614-clone-submodules-shallow.sh +@@ -24,6 +24,7 @@ test_expect_success 'setup' ' + + test_expect_success 'nonshallow clone implies nonshallow submodule' ' + test_when_finished "rm -rf super_clone" && ++ test_config_global protocol.file.allow always && + git clone --recurse-submodules "file://$pwd/." super_clone && + git -C super_clone log --oneline >lines && + test_line_count = 3 lines && +@@ -33,6 +34,7 @@ test_expect_success 'nonshallow clone implies nonshallow submodule' ' + + test_expect_success 'shallow clone with shallow submodule' ' + test_when_finished "rm -rf super_clone" && ++ test_config_global protocol.file.allow always && + git clone --recurse-submodules --depth 2 --shallow-submodules "file://$pwd/." super_clone && + git -C super_clone log --oneline >lines && + test_line_count = 2 lines && +@@ -42,6 +44,7 @@ test_expect_success 'shallow clone with shallow submodule' ' + + test_expect_success 'shallow clone does not imply shallow submodule' ' + test_when_finished "rm -rf super_clone" && ++ test_config_global protocol.file.allow always && + git clone --recurse-submodules --depth 2 "file://$pwd/." super_clone && + git -C super_clone log --oneline >lines && + test_line_count = 2 lines && +@@ -51,6 +54,7 @@ test_expect_success 'shallow clone does not imply shallow submodule' ' + + test_expect_success 'shallow clone with non shallow submodule' ' + test_when_finished "rm -rf super_clone" && ++ test_config_global protocol.file.allow always && + git clone --recurse-submodules --depth 2 --no-shallow-submodules "file://$pwd/." super_clone && + git -C super_clone log --oneline >lines && + test_line_count = 2 lines && +@@ -60,6 +64,7 @@ test_expect_success 'shallow clone with non shallow submodule' ' + + test_expect_success 'non shallow clone with shallow submodule' ' + test_when_finished "rm -rf super_clone" && ++ test_config_global protocol.file.allow always && + git clone --recurse-submodules --no-local --shallow-submodules "file://$pwd/." super_clone && + git -C super_clone log --oneline >lines && + test_line_count = 3 lines && +@@ -69,6 +74,7 @@ test_expect_success 'non shallow clone with shallow submodule' ' + + test_expect_success 'clone follows shallow recommendation' ' + test_when_finished "rm -rf super_clone" && ++ test_config_global protocol.file.allow always && + git config -f .gitmodules submodule.sub.shallow true && + git add .gitmodules && + git commit -m "recommend shallow for sub" && +@@ -87,6 +93,7 @@ test_expect_success 'clone follows shallow recommendation' ' + + test_expect_success 'get unshallow recommended shallow submodule' ' + test_when_finished "rm -rf super_clone" && ++ test_config_global protocol.file.allow always && + git clone --no-local "file://$pwd/." super_clone && + ( + cd super_clone && +@@ -103,6 +110,7 @@ test_expect_success 'get unshallow recommended shallow submodule' ' + + test_expect_success 'clone follows non shallow recommendation' ' + test_when_finished "rm -rf super_clone" && ++ test_config_global protocol.file.allow always && + git config -f .gitmodules submodule.sub.shallow false && + git add .gitmodules && + git commit -m "recommend non shallow for sub" && +diff --git a/t/t5616-partial-clone.sh b/t/t5616-partial-clone.sh +index d98c550..a6138e8 100755 +--- a/t/t5616-partial-clone.sh ++++ b/t/t5616-partial-clone.sh +@@ -171,6 +171,8 @@ test_expect_success 'partial clone with transfer.fsckobjects=1 works with submod + test_config -C src_with_sub uploadpack.allowfilter 1 && + test_config -C src_with_sub uploadpack.allowanysha1inwant 1 && + ++ test_config_global protocol.file.allow always && ++ + git -C src_with_sub submodule add "file://$(pwd)/submodule" mysub && + git -C src_with_sub commit -m "commit with submodule" && + +diff --git a/t/t5617-clone-submodules-remote.sh b/t/t5617-clone-submodules-remote.sh +index 1a041df..0152dc0 100755 +--- a/t/t5617-clone-submodules-remote.sh ++++ b/t/t5617-clone-submodules-remote.sh +@@ -7,6 +7,7 @@ test_description='Test cloning repos with submodules using remote-tracking branc + pwd=$(pwd) + + test_expect_success 'setup' ' ++ git config --global protocol.file.allow always && + git checkout -b master && + test_commit commit1 && + mkdir sub && +diff --git a/t/t6008-rev-list-submodule.sh b/t/t6008-rev-list-submodule.sh +index c4af9ca..a65e5f2 100755 +--- a/t/t6008-rev-list-submodule.sh ++++ b/t/t6008-rev-list-submodule.sh +@@ -23,7 +23,7 @@ test_expect_success 'setup' ' + + : > super-file && + git add super-file && +- git submodule add "$(pwd)" sub && ++ git -c protocol.file.allow=always submodule add "$(pwd)" sub && + git symbolic-ref HEAD refs/heads/super && + test_tick && + git commit -m super-initial && +diff --git a/t/t6134-pathspec-in-submodule.sh b/t/t6134-pathspec-in-submodule.sh +index c670668..2fde65b 100755 +--- a/t/t6134-pathspec-in-submodule.sh ++++ b/t/t6134-pathspec-in-submodule.sh +@@ -9,7 +9,7 @@ test_expect_success 'setup a submodule' ' + : >pretzel/a && + git -C pretzel add a && + git -C pretzel commit -m "add a file" -- a && +- git submodule add ./pretzel sub && ++ git -c protocol.file.allow=always submodule add ./pretzel sub && + git commit -a -m "add submodule" && + git submodule deinit --all + ' +diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh +index 63d5f41..6156eeb 100755 +--- a/t/t7001-mv.sh ++++ b/t/t7001-mv.sh +@@ -307,6 +307,7 @@ test_expect_success SYMLINKS 'check moved symlink' ' + rm -f moved symlink + + test_expect_success 'setup submodule' ' ++ test_config_global protocol.file.allow always && + git commit -m initial && + git reset --hard && + git submodule add ./. sub && +@@ -513,6 +514,7 @@ test_expect_success 'moving a submodule in nested directories' ' + ' + + test_expect_success 'moving nested submodules' ' ++ test_config_global protocol.file.allow always && + git commit -am "cleanup commit" && + mkdir sub_nested_nested && + (cd sub_nested_nested && +diff --git a/t/t7064-wtstatus-pv2.sh b/t/t7064-wtstatus-pv2.sh +index 601b478..2fdb6ec 100755 +--- a/t/t7064-wtstatus-pv2.sh ++++ b/t/t7064-wtstatus-pv2.sh +@@ -462,6 +462,7 @@ test_expect_success 'create and add submodule, submodule appears clean (A. S...) + git checkout initial-branch && + git clone . sub_repo && + git clone . super_repo && ++ test_config_global protocol.file.allow always && + ( cd super_repo && + git submodule add ../sub_repo sub1 && + +diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh +index cb5e34d..713f113 100755 +--- a/t/t7300-clean.sh ++++ b/t/t7300-clean.sh +@@ -480,6 +480,7 @@ test_expect_success 'should not clean submodules' ' + git init && + test_commit msg hello.world + ) && ++ test_config_global protocol.file.allow always && + git submodule add ./repo/.git sub1 && + git commit -m "sub1" && + git branch before_sub2 && +diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh +index fec7e02..bf1a4df 100755 +--- a/t/t7400-submodule-basic.sh ++++ b/t/t7400-submodule-basic.sh +@@ -11,6 +11,10 @@ subcommands of git submodule. + + . ./test-lib.sh + ++test_expect_success 'setup - enable local submodules' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'submodule deinit works on empty repository' ' + git submodule deinit --all + ' +diff --git a/t/t7403-submodule-sync.sh b/t/t7403-submodule-sync.sh +index 0726799..3bc904b 100755 +--- a/t/t7403-submodule-sync.sh ++++ b/t/t7403-submodule-sync.sh +@@ -11,6 +11,8 @@ These tests exercise the "git submodule sync" subcommand. + . ./test-lib.sh + + test_expect_success setup ' ++ git config --global protocol.file.allow always && ++ + echo file >file && + git add file && + test_tick && +diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh +index acb8766..328b9b7 100755 +--- a/t/t7406-submodule-update.sh ++++ b/t/t7406-submodule-update.sh +@@ -22,6 +22,7 @@ compare_head() + + + test_expect_success 'setup a submodule tree' ' ++ git config --global protocol.file.allow always && + echo file > file && + git add file && + test_tick && +diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh +index 6b2aa91..a3404ac 100755 +--- a/t/t7407-submodule-foreach.sh ++++ b/t/t7407-submodule-foreach.sh +@@ -13,6 +13,7 @@ that are currently checked out. + + + test_expect_success 'setup a submodule tree' ' ++ git config --global protocol.file.allow always && + echo file > file && + git add file && + test_tick && +diff --git a/t/t7408-submodule-reference.sh b/t/t7408-submodule-reference.sh +index a3892f4..02feb85 100755 +--- a/t/t7408-submodule-reference.sh ++++ b/t/t7408-submodule-reference.sh +@@ -17,6 +17,10 @@ test_alternate_is_used () { + test_cmp expect actual + } + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'preparing first repository' ' + test_create_repo A && + ( +diff --git a/t/t7409-submodule-detached-work-tree.sh b/t/t7409-submodule-detached-work-tree.sh +index fc018e3..e12eed5 100755 +--- a/t/t7409-submodule-detached-work-tree.sh ++++ b/t/t7409-submodule-detached-work-tree.sh +@@ -12,6 +12,10 @@ on detached working trees + TEST_NO_CREATE_REPO=1 + . ./test-lib.sh + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'submodule on detached working tree' ' + git init --bare remote && + test_create_repo bundle1 && +diff --git a/t/t7411-submodule-config.sh b/t/t7411-submodule-config.sh +index ad28e93..c583c4e 100755 +--- a/t/t7411-submodule-config.sh ++++ b/t/t7411-submodule-config.sh +@@ -12,6 +12,9 @@ from the database and from the worktree works. + TEST_NO_CREATE_REPO=1 + . ./test-lib.sh + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' + test_expect_success 'submodule config cache setup' ' + mkdir submodule && + (cd submodule && +diff --git a/t/t7413-submodule-is-active.sh b/t/t7413-submodule-is-active.sh +index c8e7e98..c8b5ac2 100755 +--- a/t/t7413-submodule-is-active.sh ++++ b/t/t7413-submodule-is-active.sh +@@ -9,6 +9,7 @@ submodules which are "active" and interesting to the user. + . ./test-lib.sh + + test_expect_success 'setup' ' ++ git config --global protocol.file.allow always && + git init sub && + test_commit -C sub initial && + git init super && +diff --git a/t/t7414-submodule-mistakes.sh b/t/t7414-submodule-mistakes.sh +index f2e7df5..cf95603 100755 +--- a/t/t7414-submodule-mistakes.sh ++++ b/t/t7414-submodule-mistakes.sh +@@ -30,7 +30,8 @@ test_expect_success 'no warning when updating entry' ' + + test_expect_success 'submodule add does not warn' ' + test_when_finished "git rm -rf submodule .gitmodules" && +- git submodule add ./embed submodule 2>stderr && ++ git -c protocol.file.allow=always \ ++ submodule add ./embed submodule 2>stderr && + test_i18ngrep ! warning stderr + ' + +diff --git a/t/t7415-submodule-names.sh b/t/t7415-submodule-names.sh +index f70368b..f37456f 100755 +--- a/t/t7415-submodule-names.sh ++++ b/t/t7415-submodule-names.sh +@@ -8,6 +8,10 @@ real-world setup that confirms we catch this in practice. + . ./test-lib.sh + . "$TEST_DIRECTORY"/lib-pack.sh + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'check names' ' + cat >expect <<-\EOF && + valid +diff --git a/t/t7416-submodule-dash-url.sh b/t/t7416-submodule-dash-url.sh +index d21dc8b..3ebd985 100755 +--- a/t/t7416-submodule-dash-url.sh ++++ b/t/t7416-submodule-dash-url.sh +@@ -3,6 +3,10 @@ + test_description='check handling of disallowed .gitmodule urls' + . ./test-lib.sh + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'create submodule with protected dash in url' ' + git init upstream && + git -C upstream commit --allow-empty -m base && +diff --git a/t/t7417-submodule-path-url.sh b/t/t7417-submodule-path-url.sh +index f7e7e94..b17d180 100755 +--- a/t/t7417-submodule-path-url.sh ++++ b/t/t7417-submodule-path-url.sh +@@ -3,6 +3,10 @@ + test_description='check handling of .gitmodule path with dash' + . ./test-lib.sh + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'create submodule with dash in path' ' + git init upstream && + git -C upstream commit --allow-empty -m base && +diff --git a/t/t7418-submodule-sparse-gitmodules.sh b/t/t7418-submodule-sparse-gitmodules.sh +index 3f7f271..16331c3 100755 +--- a/t/t7418-submodule-sparse-gitmodules.sh ++++ b/t/t7418-submodule-sparse-gitmodules.sh +@@ -14,6 +14,10 @@ also by committing .gitmodules and then just removing it from the filesystem. + + . ./test-lib.sh + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'sparse checkout setup which hides .gitmodules' ' + git init upstream && + git init submodule && +diff --git a/t/t7419-submodule-set-branch.sh b/t/t7419-submodule-set-branch.sh +index 3b925c3..5357093 100755 +--- a/t/t7419-submodule-set-branch.sh ++++ b/t/t7419-submodule-set-branch.sh +@@ -12,6 +12,10 @@ as expected. + TEST_NO_CREATE_REPO=1 + . ./test-lib.sh + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'submodule config cache setup' ' + mkdir submodule && + (cd submodule && +diff --git a/t/t7420-submodule-set-url.sh b/t/t7420-submodule-set-url.sh +index ef0cb6e..d6bf62b 100755 +--- a/t/t7420-submodule-set-url.sh ++++ b/t/t7420-submodule-set-url.sh +@@ -12,6 +12,10 @@ as expected. + TEST_NO_CREATE_REPO=1 + . ./test-lib.sh + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'submodule config cache setup' ' + mkdir submodule && + ( +diff --git a/t/t7421-submodule-summary-add.sh b/t/t7421-submodule-summary-add.sh +index b070f13..ce64d8b 100755 +--- a/t/t7421-submodule-summary-add.sh ++++ b/t/t7421-submodule-summary-add.sh +@@ -12,6 +12,10 @@ while making sure to add submodules using `git submodule add` instead of + + . ./test-lib.sh + ++test_expect_success 'setup' ' ++ git config --global protocol.file.allow always ++' ++ + test_expect_success 'summary test environment setup' ' + git init sm && + test_commit -C sm "add file" file file-content file-tag && +diff --git a/t/t7506-status-submodule.sh b/t/t7506-status-submodule.sh +index 3fcb447..459300c 100755 +--- a/t/t7506-status-submodule.sh ++++ b/t/t7506-status-submodule.sh +@@ -251,6 +251,7 @@ test_expect_success 'status with merge conflict in .gitmodules' ' + test_create_repo_with_commit sub1 && + test_tick && + test_create_repo_with_commit sub2 && ++ test_config_global protocol.file.allow always && + ( + cd super && + prev=$(git rev-parse HEAD) && +@@ -326,6 +327,7 @@ test_expect_success 'diff --submodule with merge conflict in .gitmodules' ' + # sub2 will have an untracked file + # sub3 will have an untracked repository + test_expect_success 'setup superproject with untracked file in nested submodule' ' ++ test_config_global protocol.file.allow always && + ( + cd super && + git clean -dfx && +diff --git a/t/t7507-commit-verbose.sh b/t/t7507-commit-verbose.sh +index ed2653d..bd0ae4b 100755 +--- a/t/t7507-commit-verbose.sh ++++ b/t/t7507-commit-verbose.sh +@@ -74,6 +74,7 @@ test_expect_success 'diff in message is retained with -v' ' + + test_expect_success 'submodule log is stripped out too with -v' ' + git config diff.submodule log && ++ test_config_global protocol.file.allow always && + git submodule add ./. sub && + git commit -m "sub added" && + ( +diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh +index a578b35..cca5069 100755 +--- a/t/t7800-difftool.sh ++++ b/t/t7800-difftool.sh +@@ -626,6 +626,7 @@ test_expect_success 'difftool --no-symlinks detects conflict ' ' + + test_expect_success 'difftool properly honors gitlink and core.worktree' ' + test_when_finished rm -rf submod/ule && ++ test_config_global protocol.file.allow always && + git submodule add ./. submod/ule && + test_config -C submod/ule diff.tool checktrees && + test_config -C submod/ule difftool.checktrees.cmd '\'' +diff --git a/t/t7814-grep-recurse-submodules.sh b/t/t7814-grep-recurse-submodules.sh +index 828cb3b..f465c0d 100755 +--- a/t/t7814-grep-recurse-submodules.sh ++++ b/t/t7814-grep-recurse-submodules.sh +@@ -193,6 +193,7 @@ test_expect_success !MINGW 'grep recurse submodule colon in name' ' + git -C "su:b" commit -m "add fi:le" && + test_tick && + ++ test_config_global protocol.file.allow always && + git -C parent submodule add "../su:b" "su:b" && + git -C parent commit -m "add submodule" && + test_tick && +@@ -227,6 +228,7 @@ test_expect_success 'grep history with moved submoules' ' + git -C sub commit -m "add file" && + test_tick && + ++ test_config_global protocol.file.allow always && + git -C parent submodule add ../sub dir/sub && + git -C parent commit -m "add submodule" && + test_tick && +@@ -271,6 +273,7 @@ test_expect_success 'grep using relative path' ' + mkdir parent/src && + echo "(1|2)d(3|4)" >parent/src/file2 && + git -C parent add src/file2 && ++ test_config_global protocol.file.allow always && + git -C parent submodule add ../sub && + git -C parent commit -m "add files and submodule" && + test_tick && +@@ -313,6 +316,7 @@ test_expect_success 'grep from a subdir' ' + mkdir parent/src && + echo "(1|2)d(3|4)" >parent/src/file && + git -C parent add src/file && ++ test_config_global protocol.file.allow always && + git -C parent submodule add ../sub src/sub && + git -C parent submodule add ../sub sub && + git -C parent commit -m "add files and submodules" && +diff --git a/t/t9304-fast-import-marks.sh b/t/t9304-fast-import-marks.sh +index d4359db..73f3ca2 100755 +--- a/t/t9304-fast-import-marks.sh ++++ b/t/t9304-fast-import-marks.sh +@@ -25,6 +25,7 @@ test_expect_success 'import with large marks file' ' + ' + + test_expect_success 'setup dump with submodule' ' ++ test_config_global protocol.file.allow always && + git submodule add "$PWD" sub && + git commit -m "add submodule" && + git fast-export HEAD >dump +diff --git a/t/t9350-fast-export.sh b/t/t9350-fast-export.sh +index 1372842..703428f 100755 +--- a/t/t9350-fast-export.sh ++++ b/t/t9350-fast-export.sh +@@ -265,6 +265,7 @@ test_expect_success 'signed-tags=warn-strip' ' + + test_expect_success 'setup submodule' ' + ++ test_config_global protocol.file.allow always && + git checkout -f master && + mkdir sub && + ( +@@ -290,6 +291,7 @@ test_expect_success 'setup submodule' ' + + test_expect_success 'submodule fast-export | fast-import' ' + ++ test_config_global protocol.file.allow always && + SUBENT1=$(git ls-tree master^ sub) && + SUBENT2=$(git ls-tree master sub) && + rm -rf new && +diff --git a/transport.c b/transport.c +index 679a35e..d2e3a90 100644 +--- a/transport.c ++++ b/transport.c +@@ -964,8 +964,7 @@ static enum protocol_allow_config get_protocol_config(const char *type) + if (!strcmp(type, "http") || + !strcmp(type, "https") || + !strcmp(type, "git") || +- !strcmp(type, "ssh") || +- !strcmp(type, "file")) ++ !strcmp(type, "ssh")) + return PROTOCOL_ALLOW_ALWAYS; + + /* known scary; err on the side of caution */ diff --git a/debian/patches/CVE-2022-39260.patch b/debian/patches/CVE-2022-39260.patch new file mode 100644 index 0000000..259ba0a --- /dev/null +++ b/debian/patches/CVE-2022-39260.patch @@ -0,0 +1,148 @@ +Origin: https://github.com/git/git/commit/32696a4cbe90929ae79ea442f5102c513ce3dfaa +Origin: https://github.com/git/git/commit/71ad7fe1bcec2a115bd0ab187240348358aa7f21 +Origin: https://github.com/git/git/commit/0ca6ead81edd4fb1984b69aae87c1189e3025530 +Reviewed-by: Aron Xu <aron@debian.org> +Last-Updated: 2023-01-26 + +diff --git a/alias.c b/alias.c +index c471538..00abde0 100644 +--- a/alias.c ++++ b/alias.c +@@ -46,14 +46,16 @@ void list_aliases(struct string_list *list) + + #define SPLIT_CMDLINE_BAD_ENDING 1 + #define SPLIT_CMDLINE_UNCLOSED_QUOTE 2 ++#define SPLIT_CMDLINE_ARGC_OVERFLOW 3 + static const char *split_cmdline_errors[] = { + N_("cmdline ends with \\"), +- N_("unclosed quote") ++ N_("unclosed quote"), ++ N_("too many arguments"), + }; + + int split_cmdline(char *cmdline, const char ***argv) + { +- int src, dst, count = 0, size = 16; ++ size_t src, dst, count = 0, size = 16; + char quoted = 0; + + ALLOC_ARRAY(*argv, size); +@@ -96,6 +98,11 @@ int split_cmdline(char *cmdline, const char ***argv) + return -SPLIT_CMDLINE_UNCLOSED_QUOTE; + } + ++ if (count >= INT_MAX) { ++ FREE_AND_NULL(*argv); ++ return -SPLIT_CMDLINE_ARGC_OVERFLOW; ++ } ++ + ALLOC_GROW(*argv, count + 1, size); + (*argv)[count] = NULL; + +diff --git a/shell.c b/shell.c +index cef7ffd..02cfd96 100644 +--- a/shell.c ++++ b/shell.c +@@ -47,6 +47,8 @@ static void cd_to_homedir(void) + die("could not chdir to user's home directory"); + } + ++#define MAX_INTERACTIVE_COMMAND (4*1024*1024) ++ + static void run_shell(void) + { + int done = 0; +@@ -67,22 +69,46 @@ static void run_shell(void) + run_command_v_opt(help_argv, RUN_SILENT_EXEC_FAILURE); + + do { +- struct strbuf line = STRBUF_INIT; + const char *prog; + char *full_cmd; + char *rawargs; ++ size_t len; + char *split_args; + const char **argv; + int code; + int count; + + fprintf(stderr, "git> "); +- if (git_read_line_interactively(&line) == EOF) { ++ ++ /* ++ * Avoid using a strbuf or git_read_line_interactively() here. ++ * We don't want to allocate arbitrary amounts of memory on ++ * behalf of a possibly untrusted client, and we're subject to ++ * OS limits on command length anyway. ++ */ ++ fflush(stdout); ++ rawargs = xmalloc(MAX_INTERACTIVE_COMMAND); ++ if (!fgets(rawargs, MAX_INTERACTIVE_COMMAND, stdin)) { + fprintf(stderr, "\n"); +- strbuf_release(&line); ++ free(rawargs); + break; + } +- rawargs = strbuf_detach(&line, NULL); ++ len = strlen(rawargs); ++ ++ /* ++ * If we truncated due to our input buffer size, reject the ++ * command. That's better than running bogus input, and ++ * there's a good chance it's just malicious garbage anyway. ++ */ ++ if (len >= MAX_INTERACTIVE_COMMAND - 1) ++ die("invalid command format: input too long"); ++ ++ if (len > 0 && rawargs[len - 1] == '\n') { ++ if (--len > 0 && rawargs[len - 1] == '\r') ++ --len; ++ rawargs[len] = '\0'; ++ } ++ + split_args = xstrdup(rawargs); + count = split_cmdline(split_args, &argv); + if (count < 0) { +diff --git a/t/t9850-shell.sh b/t/t9850-shell.sh +new file mode 100755 +index 0000000..cfc71c3 +--- /dev/null ++++ b/t/t9850-shell.sh +@@ -0,0 +1,37 @@ ++#!/bin/sh ++ ++test_description='git shell tests' ++. ./test-lib.sh ++ ++test_expect_success 'shell allows upload-pack' ' ++ printf 0000 >input && ++ git upload-pack . <input >expect && ++ git shell -c "git-upload-pack $SQ.$SQ" <input >actual && ++ test_cmp expect actual ++' ++ ++test_expect_success 'shell forbids other commands' ' ++ test_must_fail git shell -c "git config foo.bar baz" ++' ++ ++test_expect_success 'shell forbids interactive use by default' ' ++ test_must_fail git shell ++' ++ ++test_expect_success 'shell allows interactive command' ' ++ mkdir git-shell-commands && ++ write_script git-shell-commands/ping <<-\EOF && ++ echo pong ++ EOF ++ echo pong >expect && ++ echo ping | git shell >actual && ++ test_cmp expect actual ++' ++ ++test_expect_success 'shell complains of overlong commands' ' ++ perl -e "print \"a\" x 2**12 for (0..2**19)" | ++ test_must_fail git shell 2>err && ++ grep "too long" err ++' ++ ++test_done diff --git a/debian/patches/CVE-2022-41903.patch b/debian/patches/CVE-2022-41903.patch new file mode 100644 index 0000000..ea2a2c5 --- /dev/null +++ b/debian/patches/CVE-2022-41903.patch @@ -0,0 +1,445 @@ +Origin: https://github.com/git/git/commit/a244dc5b0a629290881641467c7a545de7508ab2 +Origin: https://github.com/git/git/commit/81dc898df9b4b4035534a927f3234a3839b698bf +Origin: https://github.com/git/git/commit/b49f309aa16febeddb65e82526640a91bbba3be3 +Origin: https://github.com/git/git/commit/f6e0b9f38987ad5e47bab551f8760b70689a5905 +Origin: https://github.com/git/git/commit/1de69c0cdd388b0a5b7bdde0bfa0bda514a354b0 +Origin: https://github.com/git/git/commit/48050c42c73c28b0c001d63d11dffac7e116847b +Origin: https://github.com/git/git/commit/522cc87fdc25449222a5894a428eebf4b8d5eaa9 +Origin: https://github.com/git/git/commit/17d23e8a3812a5ca3dd6564e74d5250f22e5d76d +Origin: https://github.com/git/git/commit/937b71cc8b5b998963a7f9a33312ba3549d55510 +Origin: https://github.com/git/git/commit/81c2d4c3a5ba0e6ab8c348708441fed170e63a82 +Origin: https://github.com/git/git/commit/f930a2394303b902e2973f4308f96529f736b8bc +Origin: https://github.com/git/git/commit/304a50adff6480ede46b68f7545baab542cbfb46 +Reviewed-by: Aron Xu <aron@debian.org> +Last-Updated: 2023-01-26 + +diff --git a/column.c b/column.c +index 1261e18..fbf8863 100644 +--- a/column.c ++++ b/column.c +@@ -23,7 +23,7 @@ struct column_data { + /* return length of 's' in letters, ANSI escapes stripped */ + static int item_length(const char *s) + { +- return utf8_strnwidth(s, -1, 1); ++ return utf8_strnwidth(s, strlen(s), 1); + } + + /* +diff --git a/git-compat-util.h b/git-compat-util.h +index f505f81..0ac1b7f 100644 +--- a/git-compat-util.h ++++ b/git-compat-util.h +@@ -918,6 +918,14 @@ static inline size_t st_sub(size_t a, size_t b) + return a - b; + } + ++static inline int cast_size_t_to_int(size_t a) ++{ ++ if (a > INT_MAX) ++ die("number too large to represent as int on this platform: %"PRIuMAX, ++ (uintmax_t)a); ++ return (int)a; ++} ++ + #ifdef HAVE_ALLOCA_H + # include <alloca.h> + # define xalloca(size) (alloca(size)) +diff --git a/pretty.c b/pretty.c +index 7a7708a..e228557 100644 +--- a/pretty.c ++++ b/pretty.c +@@ -13,6 +13,13 @@ + #include "gpg-interface.h" + #include "trailer.h" + ++/* ++ * The limit for formatting directives, which enable the caller to append ++ * arbitrarily many bytes to the formatted buffer. This includes padding ++ * and wrapping formatters. ++ */ ++#define FORMATTING_LIMIT (16 * 1024) ++ + static char *user_format; + static struct cmt_fmt_map { + const char *name; +@@ -915,7 +922,9 @@ static void strbuf_wrap(struct strbuf *sb, size_t pos, + if (pos) + strbuf_add(&tmp, sb->buf, pos); + strbuf_add_wrapped_text(&tmp, sb->buf + pos, +- (int) indent1, (int) indent2, (int) width); ++ cast_size_t_to_int(indent1), ++ cast_size_t_to_int(indent2), ++ cast_size_t_to_int(width)); + strbuf_swap(&tmp, sb); + strbuf_release(&tmp); + } +@@ -1041,9 +1050,18 @@ static size_t parse_padding_placeholder(const char *placeholder, + const char *end = start + strcspn(start, ",)"); + char *next; + int width; +- if (!end || end == start) ++ if (!*end || end == start) + return 0; + width = strtol(start, &next, 10); ++ ++ /* ++ * We need to limit the amount of padding, or otherwise this ++ * would allow the user to pad the buffer by arbitrarily many ++ * bytes and thus cause resource exhaustion. ++ */ ++ if (width < -FORMATTING_LIMIT || width > FORMATTING_LIMIT) ++ return 0; ++ + if (next == start || width == 0) + return 0; + if (width < 0) { +@@ -1203,6 +1221,16 @@ static size_t format_commit_one(struct strbuf *sb, /* in UTF-8 */ + if (*next != ')') + return 0; + } ++ ++ /* ++ * We need to limit the format here as it allows the ++ * user to prepend arbitrarily many bytes to the buffer ++ * when rewrapping. ++ */ ++ if (width > FORMATTING_LIMIT || ++ indent1 > FORMATTING_LIMIT || ++ indent2 > FORMATTING_LIMIT) ++ return 0; + rewrap_message_tail(sb, c, width, indent1, indent2); + return end - placeholder + 1; + } else +@@ -1473,19 +1501,21 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */ + struct format_commit_context *c) + { + struct strbuf local_sb = STRBUF_INIT; +- int total_consumed = 0, len, padding = c->padding; ++ size_t total_consumed = 0; ++ int len, padding = c->padding; ++ + if (padding < 0) { + const char *start = strrchr(sb->buf, '\n'); + int occupied; + if (!start) + start = sb->buf; +- occupied = utf8_strnwidth(start, -1, 1); ++ occupied = utf8_strnwidth(start, strlen(start), 1); + occupied += c->pretty_ctx->graph_width; + padding = (-padding) - occupied; + } + while (1) { + int modifier = *placeholder == 'C'; +- int consumed = format_commit_one(&local_sb, placeholder, c); ++ size_t consumed = format_commit_one(&local_sb, placeholder, c); + total_consumed += consumed; + + if (!modifier) +@@ -1497,7 +1527,7 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */ + placeholder++; + total_consumed++; + } +- len = utf8_strnwidth(local_sb.buf, -1, 1); ++ len = utf8_strnwidth(local_sb.buf, local_sb.len, 1); + + if (c->flush_type == flush_left_and_steal) { + const char *ch = sb->buf + sb->len - 1; +@@ -1512,7 +1542,7 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */ + if (*ch != 'm') + break; + p = ch - 1; +- while (ch - p < 10 && *p != '\033') ++ while (p > sb->buf && ch - p < 10 && *p != '\033') + p--; + if (*p != '\033' || + ch + 1 - p != display_mode_esc_sequence_len(p)) +@@ -1551,7 +1581,7 @@ static size_t format_and_pad_commit(struct strbuf *sb, /* in UTF-8 */ + } + strbuf_addbuf(sb, &local_sb); + } else { +- int sb_len = sb->len, offset = 0; ++ size_t sb_len = sb->len, offset = 0; + if (c->flush_type == flush_left) + offset = padding - len; + else if (c->flush_type == flush_both) +@@ -1574,8 +1604,7 @@ static size_t format_commit_item(struct strbuf *sb, /* in UTF-8 */ + const char *placeholder, + void *context) + { +- int consumed; +- size_t orig_len; ++ size_t consumed, orig_len; + enum { + NO_MAGIC, + ADD_LF_BEFORE_NON_EMPTY, +@@ -1596,9 +1625,21 @@ static size_t format_commit_item(struct strbuf *sb, /* in UTF-8 */ + default: + break; + } +- if (magic != NO_MAGIC) ++ if (magic != NO_MAGIC) { + placeholder++; + ++ switch (placeholder[0]) { ++ case 'w': ++ /* ++ * `%+w()` cannot ever expand to a non-empty string, ++ * and it potentially changes the layout of preceding ++ * contents. We're thus not able to handle the magic in ++ * this combination and refuse the pattern. ++ */ ++ return 0; ++ }; ++ } ++ + orig_len = sb->len; + if (((struct format_commit_context *)context)->flush_type != no_flush) + consumed = format_and_pad_commit(sb, placeholder, context); +diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh +index 204c149..84c61df 100755 +--- a/t/t4205-log-pretty-formats.sh ++++ b/t/t4205-log-pretty-formats.sh +@@ -867,4 +867,80 @@ test_expect_success 'log --pretty=reference is colored appropriately' ' + test_cmp expect actual + ' + ++test_expect_success 'log --pretty with space stealing' ' ++ printf mm0 >expect && ++ git log -1 --pretty="format:mm%>>|(1)%x30" >actual && ++ test_cmp expect actual ++' ++ ++test_expect_success 'log --pretty with invalid padding format' ' ++ printf "%s%%<(20" "$(git rev-parse HEAD)" >expect && ++ git log -1 --pretty="format:%H%<(20" >actual && ++ test_cmp expect actual ++' ++ ++test_expect_success 'log --pretty with magical wrapping directives' ' ++ commit_id=$(git commit-tree HEAD^{tree} -m "describe me") && ++ git tag describe-me $commit_id && ++ printf "\n(tag:\ndescribe-me)%%+w(2)" >expect && ++ git log -1 --pretty="format:%w(1)%+d%+w(2)" $commit_id >actual && ++ test_cmp expect actual ++' ++ ++test_expect_success SIZE_T_IS_64BIT 'log --pretty with overflowing wrapping directive' ' ++ printf "%%w(2147483649,1,1)0" >expect && ++ git log -1 --pretty="format:%w(2147483649,1,1)%x30" >actual && ++ test_cmp expect actual && ++ printf "%%w(1,2147483649,1)0" >expect && ++ git log -1 --pretty="format:%w(1,2147483649,1)%x30" >actual && ++ test_cmp expect actual && ++ printf "%%w(1,1,2147483649)0" >expect && ++ git log -1 --pretty="format:%w(1,1,2147483649)%x30" >actual && ++ test_cmp expect actual ++' ++ ++test_expect_success SIZE_T_IS_64BIT 'log --pretty with overflowing padding directive' ' ++ printf "%%<(2147483649)0" >expect && ++ git log -1 --pretty="format:%<(2147483649)%x30" >actual && ++ test_cmp expect actual ++' ++ ++test_expect_success 'log --pretty with padding and preceding control chars' ' ++ printf "\20\20 0" >expect && ++ git log -1 --pretty="format:%x10%x10%>|(4)%x30" >actual && ++ test_cmp expect actual ++' ++ ++test_expect_success 'log --pretty truncation with control chars' ' ++ test_commit "$(printf "\20\20\20\20xxxx")" file contents commit-with-control-chars && ++ printf "\20\20\20\20x.." >expect && ++ git log -1 --pretty="format:%<(3,trunc)%s" commit-with-control-chars >actual && ++ test_cmp expect actual ++' ++ ++test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message' ' ++ # We only assert that this command does not crash. This needs to be ++ # executed with the address sanitizer to demonstrate failure. ++ git log -1 --pretty="format:%>(2147483646)%x41%41%>(2147483646)%x41" >/dev/null ++' ++ ++test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'set up huge commit' ' ++ test-tool genzeros 2147483649 | tr "\000" "1" >expect && ++ huge_commit=$(git commit-tree -F expect HEAD^{tree}) ++' ++ ++test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message' ' ++ git log -1 --format="%B%<(1)%x30" $huge_commit >actual && ++ echo 0 >>expect && ++ test_cmp expect actual ++' ++ ++test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message does not cause allocation failure' ' ++ test_must_fail git log -1 --format="%<(1)%B" $huge_commit 2>error && ++ cat >expect <<-EOF && ++ fatal: number too large to represent as int on this platform: 2147483649 ++ EOF ++ test_cmp expect error ++' ++ + test_done +diff --git a/t/test-lib.sh b/t/test-lib.sh +index 9fa7c1d..7d6e0f8 100644 +--- a/t/test-lib.sh ++++ b/t/test-lib.sh +@@ -1686,6 +1686,10 @@ build_option () { + sed -ne "s/^$1: //p" + } + ++test_lazy_prereq SIZE_T_IS_64BIT ' ++ test 8 -eq "$(build_option sizeof-size_t)" ++' ++ + test_lazy_prereq LONG_IS_64BIT ' + test 8 -le "$(build_option sizeof-long)" + ' +diff --git a/utf8.c b/utf8.c +index 5b39361..d8a16af 100644 +--- a/utf8.c ++++ b/utf8.c +@@ -206,26 +206,34 @@ int utf8_width(const char **start, size_t *remainder_p) + * string, assuming that the string is utf8. Returns strlen() instead + * if the string does not look like a valid utf8 string. + */ +-int utf8_strnwidth(const char *string, int len, int skip_ansi) ++int utf8_strnwidth(const char *string, size_t len, int skip_ansi) + { +- int width = 0; + const char *orig = string; ++ size_t width = 0; + +- if (len == -1) +- len = strlen(string); + while (string && string < orig + len) { +- int skip; ++ int glyph_width; ++ size_t skip; ++ + while (skip_ansi && + (skip = display_mode_esc_sequence_len(string)) != 0) + string += skip; +- width += utf8_width(&string, NULL); ++ ++ glyph_width = utf8_width(&string, NULL); ++ if (glyph_width > 0) ++ width += glyph_width; + } +- return string ? width : len; ++ ++ /* ++ * TODO: fix the interface of this function and `utf8_strwidth()` to ++ * return `size_t` instead of `int`. ++ */ ++ return cast_size_t_to_int(string ? width : len); + } + + int utf8_strwidth(const char *string) + { +- return utf8_strnwidth(string, -1, 0); ++ return utf8_strnwidth(string, strlen(string), 0); + } + + int is_utf8(const char *text) +@@ -357,51 +365,52 @@ void strbuf_add_wrapped_bytes(struct strbuf *buf, const char *data, int len, + void strbuf_utf8_replace(struct strbuf *sb_src, int pos, int width, + const char *subst) + { +- struct strbuf sb_dst = STRBUF_INIT; +- char *src = sb_src->buf; +- char *end = src + sb_src->len; +- char *dst; +- int w = 0, subst_len = 0; ++ const char *src = sb_src->buf, *end = sb_src->buf + sb_src->len; ++ struct strbuf dst; ++ int w = 0; + +- if (subst) +- subst_len = strlen(subst); +- strbuf_grow(&sb_dst, sb_src->len + subst_len); +- dst = sb_dst.buf; ++ strbuf_init(&dst, sb_src->len); + + while (src < end) { +- char *old; ++ const char *old; ++ int glyph_width; + size_t n; + + while ((n = display_mode_esc_sequence_len(src))) { +- memcpy(dst, src, n); ++ strbuf_add(&dst, src, n); + src += n; +- dst += n; + } + + if (src >= end) + break; + + old = src; +- n = utf8_width((const char**)&src, NULL); +- if (!src) /* broken utf-8, do nothing */ ++ glyph_width = utf8_width((const char**)&src, NULL); ++ if (!src) /* broken utf-8, do nothing */ + goto out; +- if (n && w >= pos && w < pos + width) { ++ ++ /* ++ * In case we see a control character we copy it into the ++ * buffer, but don't add it to the width. ++ */ ++ if (glyph_width < 0) ++ glyph_width = 0; ++ ++ if (glyph_width && w >= pos && w < pos + width) { + if (subst) { +- memcpy(dst, subst, subst_len); +- dst += subst_len; ++ strbuf_addstr(&dst, subst); + subst = NULL; + } +- w += n; +- continue; ++ } else { ++ strbuf_add(&dst, old, src - old); + } +- memcpy(dst, old, src - old); +- dst += src - old; +- w += n; ++ ++ w += glyph_width; + } +- strbuf_setlen(&sb_dst, dst - sb_dst.buf); +- strbuf_swap(sb_src, &sb_dst); ++ ++ strbuf_swap(sb_src, &dst); + out: +- strbuf_release(&sb_dst); ++ strbuf_release(&dst); + } + + /* +@@ -791,7 +800,7 @@ int skip_utf8_bom(char **text, size_t len) + void strbuf_utf8_align(struct strbuf *buf, align_type position, unsigned int width, + const char *s) + { +- int slen = strlen(s); ++ size_t slen = strlen(s); + int display_len = utf8_strnwidth(s, slen, 0); + int utf8_compensation = slen - display_len; + +diff --git a/utf8.h b/utf8.h +index fcd5167..6da1b6d 100644 +--- a/utf8.h ++++ b/utf8.h +@@ -7,7 +7,7 @@ typedef unsigned int ucs_char_t; /* assuming 32bit int */ + + size_t display_mode_esc_sequence_len(const char *s); + int utf8_width(const char **start, size_t *remainder_p); +-int utf8_strnwidth(const char *string, int len, int skip_ansi); ++int utf8_strnwidth(const char *string, size_t len, int skip_ansi); + int utf8_strwidth(const char *string); + int is_utf8(const char *text); + int is_encoding_utf8(const char *name); diff --git a/debian/patches/CVE-2023-22490-1.patch b/debian/patches/CVE-2023-22490-1.patch new file mode 100644 index 0000000..8593296 --- /dev/null +++ b/debian/patches/CVE-2023-22490-1.patch @@ -0,0 +1,174 @@ +From 58325b93c5b6212697b088371809e9948fee8052 Mon Sep 17 00:00:00 2001 +From: Taylor Blau <me@ttaylorr.com> +Date: Tue, 24 Jan 2023 19:43:45 -0500 +Subject: [PATCH] t5619: demonstrate clone_local() with ambiguous transport + +When cloning a repository, Git must determine (a) what transport +mechanism to use, and (b) whether or not the clone is local. + +Since f38aa83f9a (use local cloning if insteadOf makes a local URL, +2014-07-17), the latter check happens after the remote has been +initialized, and references the remote's URL instead of the local path. +This is done to make it possible for a `url.<base>.insteadOf` rule to +convert a remote URL into a local one, in which case the `clone_local()` +mechanism should be used. + +However, with a specially crafted repository, Git can be tricked into +using a non-local transport while still setting `is_local` to "1" and +using the `clone_local()` optimization. The below test case +demonstrates such an instance, and shows that it can be used to include +arbitrary (known) paths in the working copy of a cloned repository on a +victim's machine[^1], even if local file clones are forbidden by +`protocol.file.allow`. + +This happens in a few parts: + + 1. We first call `get_repo_path()` to see if the remote is a local + path. If it is, we replace the repo name with its absolute path. + + 2. We then call `transport_get()` on the repo name and decide how to + access it. If it was turned into an absolute path in the previous + step, then we should always treat it like a file. + + 3. We use `get_repo_path()` again, and set `is_local` as appropriate. + But it's already too late to rewrite the repo name as an absolute + path, since we've already fed it to the transport code. + +The attack works by including a submodule whose URL corresponds to a +path on disk. In the below example, the repository "sub" is reachable +via the dumb HTTP protocol at (something like): + + http://127.0.0.1:NNNN/dumb/sub.git + +However, the path "http:/127.0.0.1:NNNN/dumb" (that is, a top-level +directory called "http:", then nested directories "127.0.0.1:NNNN", and +"dumb") exists within the repository, too. + +To determine this, it first picks the appropriate transport, which is +dumb HTTP. It then uses the remote's URL in order to determine whether +the repository exists locally on disk. However, the malicious repository +also contains an embedded stub repository which is the target of a +symbolic link at the local path corresponding to the "sub" repository on +disk (i.e., there is a symbolic link at "http:/127.0.0.1/dumb/sub.git", +pointing to the stub repository via ".git/modules/sub/../../../repo"). + +This stub repository fools Git into thinking that a local repository +exists at that URL and thus can be cloned locally. The affected call is +in `get_repo_path()`, which in turn calls `get_repo_path_1()`, which +locates a valid repository at that target. + +This then causes Git to set the `is_local` variable to "1", and in turn +instructs Git to clone the repository using its local clone optimization +via the `clone_local()` function. + +The exploit comes into play because the stub repository's top-level +"$GIT_DIR/objects" directory is a symbolic link which can point to an +arbitrary path on the victim's machine. `clone_local()` resolves the +top-level "objects" directory through a `stat(2)` call, meaning that we +read through the symbolic link and copy or hardlink the directory +contents at the destination of the link. + +In other words, we can get steps (1) and (3) to disagree by leveraging +the dangling symlink to pick a non-local transport in the first step, +and then set is_local to "1" in the third step when cloning with +`--separate-git-dir`, which makes the symlink non-dangling. + +This can result in data-exfiltration on the victim's machine when +sensitive data is at a known path (e.g., "/home/$USER/.ssh"). + +The appropriate fix is two-fold: + + - Resolve the transport later on (to avoid using the local + clone optimization with a non-local transport). + + - Avoid reading through the top-level "objects" directory when + (correctly) using the clone_local() optimization. + +This patch merely demonstrates the issue. The following two patches will +implement each part of the above fix, respectively. + +[^1]: Provided that any target directory does not contain symbolic + links, in which case the changes from 6f054f9fb3 (builtin/clone.c: + disallow `--local` clones with symlinks, 2022-07-28) will abort the + clone. + +Reported-by: yvvdwf <yvvdwf@gmail.com> +Signed-off-by: Taylor Blau <me@ttaylorr.com> +Signed-off-by: Junio C Hamano <gitster@pobox.com> +--- + t/t5619-clone-local-ambiguous-transport.sh | 63 ++++++++++++++++++++++ + 1 file changed, 63 insertions(+) + create mode 100755 t/t5619-clone-local-ambiguous-transport.sh + +diff --git a/t/t5619-clone-local-ambiguous-transport.sh b/t/t5619-clone-local-ambiguous-transport.sh +new file mode 100755 +index 0000000000..7ebd31a150 +--- /dev/null ++++ b/t/t5619-clone-local-ambiguous-transport.sh +@@ -0,0 +1,63 @@ ++#!/bin/sh ++ ++test_description='test local clone with ambiguous transport' ++ ++. ./test-lib.sh ++. "$TEST_DIRECTORY/lib-httpd.sh" ++ ++if ! test_have_prereq SYMLINKS ++then ++ skip_all='skipping test, symlink support unavailable' ++ test_done ++fi ++ ++start_httpd ++ ++REPO="$HTTPD_DOCUMENT_ROOT_PATH/sub.git" ++URI="$HTTPD_URL/dumb/sub.git" ++ ++test_expect_success 'setup' ' ++ mkdir -p sensitive && ++ echo "secret" >sensitive/secret && ++ ++ git init --bare "$REPO" && ++ test_commit_bulk -C "$REPO" --ref=main 1 && ++ ++ git -C "$REPO" update-ref HEAD main && ++ git -C "$REPO" update-server-info && ++ ++ git init malicious && ++ ( ++ cd malicious && ++ ++ git submodule add "$URI" && ++ ++ mkdir -p repo/refs && ++ touch repo/refs/.gitkeep && ++ printf "ref: refs/heads/a" >repo/HEAD && ++ ln -s "$(cd .. && pwd)/sensitive" repo/objects && ++ ++ mkdir -p "$HTTPD_URL/dumb" && ++ ln -s "../../../.git/modules/sub/../../../repo/" "$URI" && ++ ++ git add . && ++ git commit -m "initial commit" ++ ) && ++ ++ # Delete all of the references in our malicious submodule to ++ # avoid the client attempting to checkout any objects (which ++ # will be missing, and thus will cause the clone to fail before ++ # we can trigger the exploit). ++ git -C "$REPO" for-each-ref --format="delete %(refname)" >in && ++ git -C "$REPO" update-ref --stdin <in && ++ git -C "$REPO" update-server-info ++' ++ ++test_expect_failure 'ambiguous transport does not lead to arbitrary file-inclusion' ' ++ git clone malicious clone && ++ git -C clone submodule update --init && ++ ++ test_path_is_missing clone/.git/modules/sub/objects/secret ++' ++ ++test_done +-- +2.30.2 + diff --git a/debian/patches/CVE-2023-22490-2.patch b/debian/patches/CVE-2023-22490-2.patch new file mode 100644 index 0000000..407f895 --- /dev/null +++ b/debian/patches/CVE-2023-22490-2.patch @@ -0,0 +1,117 @@ +From cf8f6ce02a13f4d1979a53241afbee15a293fce9 Mon Sep 17 00:00:00 2001 +From: Taylor Blau <me@ttaylorr.com> +Date: Tue, 24 Jan 2023 19:43:48 -0500 +Subject: [PATCH] clone: delay picking a transport until after get_repo_path() + +In the previous commit, t5619 demonstrates an issue where two calls to +`get_repo_path()` could trick Git into using its local clone mechanism +in conjunction with a non-local transport. + +That sequence is: + + - the starting state is that the local path https:/example.com/foo is a + symlink that points to ../../../.git/modules/foo. So it's dangling. + + - get_repo_path() sees that no such path exists (because it's + dangling), and thus we do not canonicalize it into an absolute path + + - because we're using --separate-git-dir, we create .git/modules/foo. + Now our symlink is no longer dangling! + + - we pass the url to transport_get(), which sees it as an https URL. + + - we call get_repo_path() again, on the url. This second call was + introduced by f38aa83f9a (use local cloning if insteadOf makes a + local URL, 2014-07-17). The idea is that we want to pull the url + fresh from the remote.c API, because it will apply any aliases. + +And of course now it sees that there is a local file, which is a +mismatch with the transport we already selected. + +The issue in the above sequence is calling `transport_get()` before +deciding whether or not the repository is indeed local, and not passing +in an absolute path if it is local. + +This is reminiscent of a similar bug report in [1], where it was +suggested to perform the `insteadOf` lookup earlier. Taking that +approach may not be as straightforward, since the intent is to store the +original URL in the config, but to actually fetch from the insteadOf +one, so conflating the two early on is a non-starter. + +Note: we pass the path returned by `get_repo_path(remote->url[0])`, +which should be the same as `repo_name` (aside from any `insteadOf` +rewrites). + +We *could* pass `absolute_pathdup()` of the same argument, which +86521acaca (Bring local clone's origin URL in line with that of a remote +clone, 2008-09-01) indicates may differ depending on the presence of +".git/" for a non-bare repo. That matters for forming relative submodule +paths, but doesn't matter for the second call, since we're just feeding +it to the transport code, which is fine either way. + +[1]: https://lore.kernel.org/git/CAMoD=Bi41mB3QRn3JdZL-FGHs4w3C2jGpnJB-CqSndO7FMtfzA@mail.gmail.com/ + +Signed-off-by: Jeff King <peff@peff.net> +Signed-off-by: Taylor Blau <me@ttaylorr.com> +Signed-off-by: Junio C Hamano <gitster@pobox.com> +--- + builtin/clone.c | 8 ++++---- + t/t5619-clone-local-ambiguous-transport.sh | 15 +++++++++++---- + 2 files changed, 15 insertions(+), 8 deletions(-) + +diff --git a/builtin/clone.c b/builtin/clone.c +index e626073b1f..c042b2e256 100644 +--- a/builtin/clone.c ++++ b/builtin/clone.c +@@ -1201,10 +1201,6 @@ int cmd_clone(int argc, const char **argv, const char *prefix) + refspec_appendf(&remote->fetch, "+%s*:%s*", src_ref_prefix, + branch_top.buf); + +- transport = transport_get(remote, remote->url[0]); +- transport_set_verbosity(transport, option_verbosity, option_progress); +- transport->family = family; +- + path = get_repo_path(remote->url[0], &is_bundle); + is_local = option_local != 0 && path && !is_bundle; + if (is_local) { +@@ -1224,6 +1220,10 @@ int cmd_clone(int argc, const char **argv, const char *prefix) + } + if (option_local > 0 && !is_local) + warning(_("--local is ignored")); ++ ++ transport = transport_get(remote, path ? path : remote->url[0]); ++ transport_set_verbosity(transport, option_verbosity, option_progress); ++ transport->family = family; + transport->cloning = 1; + + transport_set_option(transport, TRANS_OPT_KEEP, "yes"); +diff --git a/t/t5619-clone-local-ambiguous-transport.sh b/t/t5619-clone-local-ambiguous-transport.sh +index 7ebd31a150..cce62bf78d 100755 +--- a/t/t5619-clone-local-ambiguous-transport.sh ++++ b/t/t5619-clone-local-ambiguous-transport.sh +@@ -53,11 +53,18 @@ test_expect_success 'setup' ' + git -C "$REPO" update-server-info + ' + +-test_expect_failure 'ambiguous transport does not lead to arbitrary file-inclusion' ' ++test_expect_success 'ambiguous transport does not lead to arbitrary file-inclusion' ' + git clone malicious clone && +- git -C clone submodule update --init && +- +- test_path_is_missing clone/.git/modules/sub/objects/secret ++ test_must_fail git -C clone submodule update --init 2>err && ++ ++ test_path_is_missing clone/.git/modules/sub/objects/secret && ++ # We would actually expect "transport .file. not allowed" here, ++ # but due to quirks of the URL detection in Git, we mis-parse ++ # the absolute path as a bogus URL and die before that step. ++ # ++ # This works for now, and if we ever fix the URL detection, it ++ # is OK to change this to detect the transport error. ++ grep "protocol .* is not supported" err + ' + + test_done +-- +2.30.2 + diff --git a/debian/patches/CVE-2023-22490-3.patch b/debian/patches/CVE-2023-22490-3.patch new file mode 100644 index 0000000..be7e280 --- /dev/null +++ b/debian/patches/CVE-2023-22490-3.patch @@ -0,0 +1,150 @@ +From bffc762f87ae8d18c6001bf0044a76004245754c Mon Sep 17 00:00:00 2001 +From: Taylor Blau <me@ttaylorr.com> +Date: Tue, 24 Jan 2023 19:43:51 -0500 +Subject: [PATCH] dir-iterator: prevent top-level symlinks without + FOLLOW_SYMLINKS + +When using the dir_iterator API, we first stat(2) the base path, and +then use that as a starting point to enumerate the directory's contents. + +If the directory contains symbolic links, we will immediately die() upon +encountering them without the `FOLLOW_SYMLINKS` flag. The same is not +true when resolving the top-level directory, though. + +As explained in a previous commit, this oversight in 6f054f9fb3 +(builtin/clone.c: disallow `--local` clones with symlinks, 2022-07-28) +can be used as an attack vector to include arbitrary files on a victim's +filesystem from outside of the repository. + +Prevent resolving top-level symlinks unless the FOLLOW_SYMLINKS flag is +given, which will cause clones of a repository with a symlink'd +"$GIT_DIR/objects" directory to fail. + +Signed-off-by: Taylor Blau <me@ttaylorr.com> +Signed-off-by: Junio C Hamano <gitster@pobox.com> +--- + dir-iterator.c | 13 +++++++++---- + dir-iterator.h | 5 +++++ + t/t0066-dir-iterator.sh | 27 ++++++++++++++++++++++++++- + t/t5604-clone-reference.sh | 16 ++++++++++++++++ + 4 files changed, 56 insertions(+), 5 deletions(-) + +diff --git a/dir-iterator.c b/dir-iterator.c +index b17e9f970a..3764dd81a1 100644 +--- a/dir-iterator.c ++++ b/dir-iterator.c +@@ -203,7 +203,7 @@ struct dir_iterator *dir_iterator_begin(const char *path, unsigned int flags) + { + struct dir_iterator_int *iter = xcalloc(1, sizeof(*iter)); + struct dir_iterator *dir_iterator = &iter->base; +- int saved_errno; ++ int saved_errno, err; + + strbuf_init(&iter->base.path, PATH_MAX); + strbuf_addstr(&iter->base.path, path); +@@ -213,10 +213,15 @@ struct dir_iterator *dir_iterator_begin(const char *path, unsigned int flags) + iter->flags = flags; + + /* +- * Note: stat already checks for NULL or empty strings and +- * inexistent paths. ++ * Note: stat/lstat already checks for NULL or empty strings and ++ * nonexistent paths. + */ +- if (stat(iter->base.path.buf, &iter->base.st) < 0) { ++ if (iter->flags & DIR_ITERATOR_FOLLOW_SYMLINKS) ++ err = stat(iter->base.path.buf, &iter->base.st); ++ else ++ err = lstat(iter->base.path.buf, &iter->base.st); ++ ++ if (err < 0) { + saved_errno = errno; + goto error_out; + } +diff --git a/dir-iterator.h b/dir-iterator.h +index 08229157c6..e3b6ff2800 100644 +--- a/dir-iterator.h ++++ b/dir-iterator.h +@@ -61,6 +61,11 @@ + * not the symlinks themselves, which is the default behavior. Broken + * symlinks are ignored. + * ++ * Note: setting DIR_ITERATOR_FOLLOW_SYMLINKS affects resolving the ++ * starting path as well (e.g., attempting to iterate starting at a ++ * symbolic link pointing to a directory without FOLLOW_SYMLINKS will ++ * result in an error). ++ * + * Warning: circular symlinks are also followed when + * DIR_ITERATOR_FOLLOW_SYMLINKS is set. The iteration may end up with + * an ELOOP if they happen and DIR_ITERATOR_PEDANTIC is set. +diff --git a/t/t0066-dir-iterator.sh b/t/t0066-dir-iterator.sh +index 92910e4e6c..c826f60f6d 100755 +--- a/t/t0066-dir-iterator.sh ++++ b/t/t0066-dir-iterator.sh +@@ -109,7 +109,9 @@ test_expect_success SYMLINKS 'setup dirs with symlinks' ' + mkdir -p dir5/a/c && + ln -s ../c dir5/a/b/d && + ln -s ../ dir5/a/b/e && +- ln -s ../../ dir5/a/b/f ++ ln -s ../../ dir5/a/b/f && ++ ++ ln -s dir4 dir6 + ' + + test_expect_success SYMLINKS 'dir-iterator should not follow symlinks by default' ' +@@ -145,4 +147,27 @@ test_expect_success SYMLINKS 'dir-iterator should follow symlinks w/ follow flag + test_cmp expected-follow-sorted-output actual-follow-sorted-output + ' + ++test_expect_success SYMLINKS 'dir-iterator does not resolve top-level symlinks' ' ++ test_must_fail test-tool dir-iterator ./dir6 >out && ++ ++ grep "ENOTDIR" out ++' ++ ++test_expect_success SYMLINKS 'dir-iterator resolves top-level symlinks w/ follow flag' ' ++ cat >expected-follow-sorted-output <<-EOF && ++ [d] (a) [a] ./dir6/a ++ [d] (a/f) [f] ./dir6/a/f ++ [d] (a/f/c) [c] ./dir6/a/f/c ++ [d] (b) [b] ./dir6/b ++ [d] (b/c) [c] ./dir6/b/c ++ [f] (a/d) [d] ./dir6/a/d ++ [f] (a/e) [e] ./dir6/a/e ++ EOF ++ ++ test-tool dir-iterator --follow-symlinks ./dir6 >out && ++ sort out >actual-follow-sorted-output && ++ ++ test_cmp expected-follow-sorted-output actual-follow-sorted-output ++' ++ + test_done +diff --git a/t/t5604-clone-reference.sh b/t/t5604-clone-reference.sh +index 9d32f1c4a4..4ff21d7ccf 100755 +--- a/t/t5604-clone-reference.sh ++++ b/t/t5604-clone-reference.sh +@@ -341,4 +341,20 @@ test_expect_success SYMLINKS 'clone repo with symlinked or unknown files at obje + test_must_be_empty T--shared.objects-symlinks.raw + ' + ++test_expect_success SYMLINKS 'clone repo with symlinked objects directory' ' ++ test_when_finished "rm -fr sensitive malicious" && ++ ++ mkdir -p sensitive && ++ echo "secret" >sensitive/file && ++ ++ git init malicious && ++ rm -fr malicious/.git/objects && ++ ln -s "$(pwd)/sensitive" ./malicious/.git/objects && ++ ++ test_must_fail git clone --local malicious clone 2>err && ++ ++ test_path_is_missing clone && ++ grep "failed to start iterator over" err ++' ++ + test_done +-- +2.30.2 + diff --git a/debian/patches/CVE-2023-23946.patch b/debian/patches/CVE-2023-23946.patch new file mode 100644 index 0000000..17c51d7 --- /dev/null +++ b/debian/patches/CVE-2023-23946.patch @@ -0,0 +1,179 @@ +From fade728df1221598f42d391cf377e9e84a32053f Mon Sep 17 00:00:00 2001 +From: Patrick Steinhardt <ps@pks.im> +Date: Thu, 2 Feb 2023 11:54:34 +0100 +Subject: [PATCH] apply: fix writing behind newly created symbolic links + +When writing files git-apply(1) initially makes sure that none of the +files it is about to create are behind a symlink: + +``` + $ git init repo + Initialized empty Git repository in /tmp/repo/.git/ + $ cd repo/ + $ ln -s dir symlink + $ git apply - <<EOF + diff --git a/symlink/file b/symlink/file + new file mode 100644 + index 0000000..e69de29 + EOF + error: affected file 'symlink/file' is beyond a symbolic link +``` + +This safety mechanism is crucial to ensure that we don't write outside +of the repository's working directory. It can be fooled though when the +patch that is being applied creates the symbolic link in the first +place, which can lead to writing files in arbitrary locations. + +Fix this by checking whether the path we're about to create is +beyond a symlink or not. Tightening these checks like this should be +fine as we already have these precautions in Git as explained +above. Ideally, we should update the check we do up-front before +starting to reflect the computed changes to the working tree so that +we catch this case as well, but as part of embargoed security work, +adding an equivalent check just before we try to write out a file +should serve us well as a reasonable first step. + +Digging back into history shows that this vulnerability has existed +since at least Git v2.9.0. As Git v2.8.0 and older don't build on my +system anymore I cannot tell whether older versions are affected, as +well. + +Reported-by: Joern Schneeweisz <jschneeweisz@gitlab.com> +Signed-off-by: Patrick Steinhardt <ps@pks.im> +Signed-off-by: Junio C Hamano <gitster@pobox.com> +--- + apply.c | 27 ++++++++++++++ + t/t4115-apply-symlink.sh | 81 ++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 108 insertions(+) + +diff --git a/apply.c b/apply.c +index 668b16e989..d80382c940 100644 +--- a/apply.c ++++ b/apply.c +@@ -4400,6 +4400,33 @@ static int create_one_file(struct apply_state *state, + if (state->cached) + return 0; + ++ /* ++ * We already try to detect whether files are beyond a symlink in our ++ * up-front checks. But in the case where symlinks are created by any ++ * of the intermediate hunks it can happen that our up-front checks ++ * didn't yet see the symlink, but at the point of arriving here there ++ * in fact is one. We thus repeat the check for symlinks here. ++ * ++ * Note that this does not make the up-front check obsolete as the ++ * failure mode is different: ++ * ++ * - The up-front checks cause us to abort before we have written ++ * anything into the working directory. So when we exit this way the ++ * working directory remains clean. ++ * ++ * - The checks here happen in the middle of the action where we have ++ * already started to apply the patch. The end result will be a dirty ++ * working directory. ++ * ++ * Ideally, we should update the up-front checks to catch what would ++ * happen when we apply the patch before we damage the working tree. ++ * We have all the information necessary to do so. But for now, as a ++ * part of embargoed security work, having this check would serve as a ++ * reasonable first step. ++ */ ++ if (path_is_beyond_symlink(state, path)) ++ return error(_("affected file '%s' is beyond a symbolic link"), path); ++ + res = try_create_file(state, path, mode, buf, size); + if (res < 0) + return -1; +diff --git a/t/t4115-apply-symlink.sh b/t/t4115-apply-symlink.sh +index 872fcda6cb..1acb7b2582 100755 +--- a/t/t4115-apply-symlink.sh ++++ b/t/t4115-apply-symlink.sh +@@ -44,4 +44,85 @@ test_expect_success 'apply --index symlink patch' ' + + ' + ++test_expect_success 'symlink setup' ' ++ ln -s .git symlink && ++ git add symlink && ++ git commit -m "add symlink" ++' ++ ++test_expect_success SYMLINKS 'symlink escape when creating new files' ' ++ test_when_finished "git reset --hard && git clean -dfx" && ++ ++ cat >patch <<-EOF && ++ diff --git a/symlink b/renamed-symlink ++ similarity index 100% ++ rename from symlink ++ rename to renamed-symlink ++ -- ++ diff --git /dev/null b/renamed-symlink/create-me ++ new file mode 100644 ++ index 0000000..039727e ++ --- /dev/null ++ +++ b/renamed-symlink/create-me ++ @@ -0,0 +1,1 @@ ++ +busted ++ EOF ++ ++ test_must_fail git apply patch 2>stderr && ++ cat >expected_stderr <<-EOF && ++ error: affected file ${SQ}renamed-symlink/create-me${SQ} is beyond a symbolic link ++ EOF ++ test_cmp expected_stderr stderr && ++ ! test_path_exists .git/create-me ++' ++ ++test_expect_success SYMLINKS 'symlink escape when modifying file' ' ++ test_when_finished "git reset --hard && git clean -dfx" && ++ touch .git/modify-me && ++ ++ cat >patch <<-EOF && ++ diff --git a/symlink b/renamed-symlink ++ similarity index 100% ++ rename from symlink ++ rename to renamed-symlink ++ -- ++ diff --git a/renamed-symlink/modify-me b/renamed-symlink/modify-me ++ index 1111111..2222222 100644 ++ --- a/renamed-symlink/modify-me ++ +++ b/renamed-symlink/modify-me ++ @@ -0,0 +1,1 @@ ++ +busted ++ EOF ++ ++ test_must_fail git apply patch 2>stderr && ++ cat >expected_stderr <<-EOF && ++ error: renamed-symlink/modify-me: No such file or directory ++ EOF ++ test_cmp expected_stderr stderr && ++ test_must_be_empty .git/modify-me ++' ++ ++test_expect_success SYMLINKS 'symlink escape when deleting file' ' ++ test_when_finished "git reset --hard && git clean -dfx && rm .git/delete-me" && ++ touch .git/delete-me && ++ ++ cat >patch <<-EOF && ++ diff --git a/symlink b/renamed-symlink ++ similarity index 100% ++ rename from symlink ++ rename to renamed-symlink ++ -- ++ diff --git a/renamed-symlink/delete-me b/renamed-symlink/delete-me ++ deleted file mode 100644 ++ index 1111111..0000000 100644 ++ EOF ++ ++ test_must_fail git apply patch 2>stderr && ++ cat >expected_stderr <<-EOF && ++ error: renamed-symlink/delete-me: No such file or directory ++ EOF ++ test_cmp expected_stderr stderr && ++ test_path_is_file .git/delete-me ++' ++ + test_done +-- +2.30.2 + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..a89fc6b --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,10 @@ +CVE-2022-24765.patch +CVE-2022-29187.patch +CVE-2022-23521.patch +CVE-2022-39253.patch +CVE-2022-39260.patch +CVE-2022-41903.patch +CVE-2023-22490-1.patch +CVE-2023-22490-2.patch +CVE-2023-22490-3.patch +CVE-2023-23946.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..aac0c2b --- /dev/null +++ b/debian/rules @@ -0,0 +1,180 @@ +#!/usr/bin/make -f + +CC =gcc +CPPFLAGS :=$(shell dpkg-buildflags --get CPPFLAGS) +CFLAGS :=-Wall $(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) +LDFLAGS :=$(shell dpkg-buildflags --get LDFLAGS) +HOST_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) +TEST =test +TEST_OPTS = +OPTS =NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core \ + libexecdir=/usr/lib/git-core \ + mandir=/usr/share/man htmldir=/usr/share/doc/git/html \ + INSTALLDIRS=vendor \ + SANE_TOOL_PATH= INSTALL=install TAR=tar \ + NO_CROSS_DIRECTORY_HARDLINKS=1 NO_INSTALL_HARDLINKS=1 \ + NO_PERL_CPAN_FALLBACKS=1 \ + PYTHON_PATH=/usr/bin/python3 \ + DEFAULT_PAGER=pager DEFAULT_EDITOR=editor \ + CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' \ + HOST_CPU='$(HOST_CPU)' +DOCS =html +DOC_OPTS =prefix=/usr htmldir=/usr/share/doc/git/html \ + ASCIIDOC8=1 ASCIIDOC_NO_ROFF=1 + +# https://wiki.debian.org/ReproducibleBuilds/TimestampsInDocumentationGeneratedByAsciidoc +DOC_OPTS += ASCIIDOC='TZ=UTC asciidoc' + +ifeq (,$(findstring terse,$(DEB_BUILD_OPTIONS))) + OPTS += V=1 + DOC_OPTS += V=1 + TEST_OPTS = --verbose +endif +ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + TEST = +endif +ifneq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS))) + DOCS = +endif +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) + # Setting this with a pattern-specific rule prevents -O from + # affecting the top-level make, which would break realtime build + # output (unless dh is run as +dh, which causes other problems). + %: MAKEFLAGS += -O +endif +ifneq (,$(shell dpkg-query -f '$${Version}' -W libpcre2-dev)) + OPTS += USE_LIBPCRE2=1 +else + OPTS += USE_LIBPCRE1=1 +endif + +TMP = $(CURDIR)/debian/tmp +GIT = $(CURDIR)/debian/git + +%: + dh $@ --with apache2 --without autoreconf + +override_dh_auto_configure: + +build-stamp: + -$(CC) -v + $(MAKE) all $(OPTS) + touch $@ + +override_dh_auto_build-arch: build-stamp + $(MAKE) -C contrib/subtree all $(OPTS) + ln -s contrib/subtree/git-subtree + +override_dh_auto_test-arch: + test -z '$(TEST)' || \ + GIT_SKIP_TESTS="t9128 t9167" \ + GIT_TEST_OPTS='$(TEST_OPTS)' $(MAKE) $(TEST) $(OPTS) + test -z '$(TEST)' || \ + GIT_TEST_OPTS='$(TEST_OPTS)' \ + $(MAKE) -C t \ + t9128-git-svn-cmd-branch.sh \ + t9167-git-svn-cmd-branch-subproject.sh \ + $(OPTS) || : + test -z '$(TEST)' || \ + GIT_TEST_OPTS='$(TEST_OPTS)' $(MAKE) -C contrib/subtree $(TEST) $(OPTS) + +override_dh_auto_build-indep: build-stamp + # git-man, git-doc + $(MAKE) -CDocumentation man $(DOCS) $(DOC_OPTS) + # git-mediawiki + $(MAKE) -Ccontrib/mw-to-git all $(OPTS) + +override_dh_auto_test-indep: + +override_dh_auto_clean: + $(MAKE) -C contrib/mw-to-git clean $(OPTS) + $(MAKE) -C contrib/subtree clean $(OPTS) + $(MAKE) clean $(OPTS) + rm -f git-subtree + +override_dh_clean: + dh_clean -Xmailinfo.c.orig + +override_dh_auto_install-arch: + # git + DESTDIR='$(GIT)' $(MAKE) install $(OPTS) + DESTDIR='$(GIT)' $(MAKE) -C contrib/subtree install $(OPTS) + install -d -m0755 '$(GIT)'/var/lib/git + rm -rf '$(GIT)'/usr/share/man + # don't include arch, cvs, p4, svn, email, gui tools, and gitk program + for i in git-archimport git-cvs git-p4 git-svn git-send-email \ + git-gui git-citool; do \ + rm -f '$(GIT)'/usr/lib/git-core/$$i*; \ + done + rm -f '$(GIT)'/usr/bin/git-cvsserver + rm -f '$(GIT)'/usr/bin/gitk + # don't include git-gui's lib + rm -rf '$(GIT)'/usr/share/git-gui/ + # don't include gitk's lib + rm -rf '$(GIT)'/usr/share/gitk/ + # don't include git-svn's lib + rm -rf '$(GIT)'/usr/share/perl5/Git/SVN* + # sanity check that #642603 fix is still in place + test $$(stat -c%h \ + '$(GIT)'/usr/lib/git-core/git-branch) -le 10 + +override_dh_auto_install-indep: + DESTDIR='$(TMP)' $(MAKE) install install-doc $(OPTS) + DESTDIR='$(TMP)' $(MAKE) -Ccontrib/mw-to-git install $(OPTS) \ + INSTLIBDIR=/usr/share/perl5 + test -z '$(DOCS)' || \ + $(MAKE) -CDocumentation install-webdoc WEBDOC_DEST='$(TMP)'/html \ + 2>/dev/null + test -z '$(DOCS)' || \ + DESTDIR='$(TMP)' $(MAKE) -Ccontrib/subtree install-doc $(OPTS) + install -m 0644 contrib/subtree/git-subtree.txt '$(TMP)'/html + # RelNotes are shipped in git + rm -rf '$(TMP)'/html/RelNotes + # don't include git-p4 man page + rm -f '$(TMP)'/html/git-p4.* + +override_dh_install-arch: + dh_install --arch + rm -rf '$(GIT)'/usr/share/git-core/contrib/hooks/multimail + +override_dh_install-indep: + dh_install --indep + for i in git-archimport git-cvs git-p4 git-svn git-send-email gitk \ + git-gui git-citool; do \ + rm -f '$(GIT)'-man/usr/share/man/man1/$$i*; \ + done + +override_dh_installdocs-arch: + dh_installdocs --arch -X.gitignore + # These licenses are replaced with symlinks in git.links. + diff -q '$(GIT)'/usr/share/doc/git/contrib/persistent-https/LICENSE /usr/share/common-licenses/Apache-2.0 + diff -bq '$(GIT)'/usr/share/doc/git/contrib/subtree/COPYING /usr/share/common-licenses/GPL-2 + rm -rf '$(GIT)'/usr/share/doc/git/contrib/completion + rm -rf '$(GIT)'/usr/share/doc/git/contrib/emacs + rm -rf '$(GIT)'/usr/share/doc/git/contrib/hooks + rm -rf '$(GIT)'/usr/share/doc/git/contrib/mw-to-git + rm -f '$(GIT)'/usr/share/doc/git/contrib/subtree/git-subtree.1 + rm -f '$(GIT)'/usr/share/doc/git/contrib/subtree/git-subtree.html + rm -f '$(GIT)'/usr/share/doc/git/contrib/subtree/git-subtree.xml + find '$(GIT)'/usr/share/doc/git/ -name .gitattributes | xargs rm -f + find '$(GIT)'/usr/share/doc/git/ -name .gitignore | xargs rm -f + +override_dh_installdocs-indep: + dh_installdocs --indep -X.gitignore + +override_dh_installchangelogs: + dh_installchangelogs debian/changelog.upstream + +override_dh_installinit: + dh_installinit -pgit-daemon-sysvinit --name=git-daemon + dh_installinit + +# Skip dh_installemacsen to avoid having to rename +# /etc/emacs/site-start.d/50git-core.el to +# /etc/emacs/site-start.d/50git-el.el. +override_dh_installemacsen: + +override_dh_compress: + dh_compress -X.txt -Xcontrib diff --git a/debian/sentinel b/debian/sentinel new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/debian/sentinel diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/versions.upstream b/debian/versions.upstream new file mode 100644 index 0000000..9e53fd2 --- /dev/null +++ b/debian/versions.upstream @@ -0,0 +1,728 @@ +v1.0rc1 +v1.0rc2 +v1.0rc3 +v1.0rc4 +v1.0rc5 +v1.0rc6 +v1.0.0 +v1.0.0a +v1.0.0b +v1.0.1 +v1.0.2 +v1.0.3 +v1.0.4 +v1.0.5 +v1.0.6 +v1.0.7 +v1.0.8 +v1.0.9 +v1.0.10 +v1.0.11 +v1.0.12 +v1.0.13 +v1.1.0 +v1.1.1 +v1.1.2 +v1.1.3 +v1.1.4 +v1.1.5 +v1.1.6 +v1.2.0 +v1.2.1 +v1.2.2 +v1.2.3 +v1.2.4 +v1.2.5 +v1.2.6 +v1.3.0-rc1 +v1.3.0-rc2 +v1.3.0-rc3 +v1.3.0-rc4 +v1.3.0 +v1.3.1 +v1.3.2 +v1.3.3 +v1.4.0-rc1 +v1.4.0-rc2 +v1.4.0 +v1.4.1-rc1 +v1.4.1-rc2 +v1.4.1 +v1.4.1.1 +v1.4.2-rc1 +v1.4.2-rc2 +v1.4.2-rc3 +v1.4.2-rc4 +v1.4.2 +v1.4.2.1 +v1.4.2.2 +v1.4.2.3 +v1.4.2.4 +v1.4.3-rc1 +v1.4.3-rc2 +v1.4.3-rc3 +v1.4.3 +v1.4.3.1 +v1.4.3.2 +v1.4.3.3 +v1.4.3.4 +v1.4.3.5 +v1.4.4-rc1 +v1.4.4-rc2 +v1.4.4 +v1.4.4.1 +v1.4.4.2 +v1.4.4.3 +v1.4.4.4 +v1.4.4.5 +v1.5.0-rc0 +v1.5.0-rc1 +v1.5.0-rc2 +v1.5.0-rc3 +v1.5.0-rc4 +v1.5.0 +v1.5.0.1 +v1.5.0.2 +v1.5.0.3 +v1.5.0.4 +v1.5.0.5 +v1.5.0.6 +v1.5.0.7 +v1.5.1-rc1 +v1.5.1-rc2 +v1.5.1-rc3 +v1.5.1 +v1.5.1.1 +v1.5.1.2 +v1.5.1.3 +v1.5.1.4 +v1.5.1.5 +v1.5.1.6 +v1.5.2-rc0 +v1.5.2-rc1 +v1.5.2-rc2 +v1.5.2-rc3 +v1.5.2 +v1.5.2.1 +v1.5.2.2 +v1.5.2.3 +v1.5.2.4 +v1.5.2.5 +v1.5.3-rc0 +v1.5.3-rc1 +v1.5.3-rc2 +v1.5.3-rc3 +v1.5.3-rc4 +v1.5.3-rc5 +v1.5.3-rc6 +v1.5.3-rc7 +v1.5.3 +v1.5.3.1 +v1.5.3.2 +v1.5.3.3 +v1.5.3.4 +v1.5.3.5 +v1.5.3.6 +v1.5.3.7 +v1.5.3.8 +v1.5.4-rc0 +v1.5.4-rc1 +v1.5.4-rc2 +v1.5.4-rc3 +v1.5.4-rc4 +v1.5.4-rc5 +v1.5.4 +v1.5.4.1 +v1.5.4.2 +v1.5.4.3 +v1.5.4.4 +v1.5.4.5 +v1.5.4.6 +v1.5.4.7 +v1.5.5-rc0 +v1.5.5-rc1 +v1.5.5-rc2 +v1.5.5-rc3 +v1.5.5 +v1.5.5.1 +v1.5.5.2 +v1.5.5.3 +v1.5.5.4 +v1.5.5.5 +v1.5.5.6 +v1.5.6-rc0 +v1.5.6-rc1 +v1.5.6-rc2 +v1.5.6-rc3 +v1.5.6 +v1.5.6.1 +v1.5.6.2 +v1.5.6.3 +v1.5.6.4 +v1.5.6.5 +v1.5.6.6 +v1.6.0-rc0 +v1.6.0-rc1 +v1.6.0-rc2 +v1.6.0-rc3 +v1.6.0 +v1.6.0.1 +v1.6.0.2 +v1.6.0.3 +v1.6.0.4 +v1.6.0.5 +v1.6.0.6 +v1.6.1-rc1 +v1.6.1-rc2 +v1.6.1-rc3 +v1.6.1-rc4 +v1.6.1 +v1.6.1.1 +v1.6.1.2 +v1.6.1.3 +v1.6.1.4 +v1.6.2-rc0 +v1.6.2-rc1 +v1.6.2-rc2 +v1.6.2 +v1.6.2.1 +v1.6.2.2 +v1.6.2.3 +v1.6.2.4 +v1.6.2.5 +v1.6.3-rc0 +v1.6.3-rc1 +v1.6.3-rc2 +v1.6.3-rc3 +v1.6.3-rc4 +v1.6.3 +v1.6.3.1 +v1.6.3.2 +v1.6.3.3 +v1.6.3.4 +v1.6.4-rc0 +v1.6.4-rc1 +v1.6.4-rc2 +v1.6.4-rc3 +v1.6.4 +v1.6.4.1 +v1.6.4.2 +v1.6.4.3 +v1.6.4.4 +v1.6.4.5 +v1.6.5-rc0 +v1.6.5-rc1 +v1.6.5-rc2 +v1.6.5-rc3 +v1.6.5 +v1.6.5.1 +v1.6.5.2 +v1.6.5.3 +v1.6.5.4 +v1.6.5.5 +v1.6.5.6 +v1.6.5.7 +v1.6.5.8 +v1.6.5.9 +v1.6.6-rc0 +v1.6.6-rc1 +v1.6.6-rc2 +v1.6.6-rc3 +v1.6.6-rc4 +v1.6.6 +v1.6.6.1 +v1.6.6.2 +v1.6.6.3 +v1.7.0-rc0 +v1.7.0-rc1 +v1.7.0-rc2 +v1.7.0 +v1.7.0.1 +v1.7.0.2 +v1.7.0.3 +v1.7.0.4 +v1.7.0.5 +v1.7.0.6 +v1.7.0.7 +v1.7.0.8 +v1.7.0.9 +v1.7.1-rc0 +v1.7.1-rc1 +v1.7.1-rc2 +v1.7.1 +v1.7.1.1 +v1.7.1.2 +v1.7.1.3 +v1.7.1.4 +v1.7.2-rc0 +v1.7.2-rc1 +v1.7.2-rc2 +v1.7.2-rc3 +v1.7.2 +v1.7.2.1 +v1.7.2.2 +v1.7.2.3 +v1.7.2.4 +v1.7.2.5 +v1.7.3-rc0 +v1.7.3-rc1 +v1.7.3-rc2 +v1.7.3 +v1.7.3.1 +v1.7.3.2 +v1.7.3.3 +v1.7.3.4 +v1.7.3.5 +v1.7.4-rc0 +v1.7.4-rc1 +v1.7.4-rc2 +v1.7.4-rc3 +v1.7.4 +v1.7.4.1 +v1.7.4.2 +v1.7.4.3 +v1.7.4.4 +v1.7.4.5 +v1.7.5-rc0 +v1.7.5-rc1 +v1.7.5-rc2 +v1.7.5-rc3 +v1.7.5 +v1.7.5.1 +v1.7.5.2 +v1.7.5.3 +v1.7.5.4 +v1.7.6-rc0 +v1.7.6-rc1 +v1.7.6-rc2 +v1.7.6-rc3 +v1.7.6 +v1.7.6.1 +v1.7.6.2 +v1.7.6.3 +v1.7.6.4 +v1.7.6.5 +v1.7.6.6 +v1.7.7-rc0 +v1.7.7-rc1 +v1.7.7-rc2 +v1.7.7-rc3 +v1.7.7 +v1.7.7.1 +v1.7.7.2 +v1.7.7.3 +v1.7.7.4 +v1.7.7.5 +v1.7.7.6 +v1.7.7.7 +v1.7.8-rc0 +v1.7.8-rc1 +v1.7.8-rc2 +v1.7.8-rc3 +v1.7.8-rc4 +v1.7.8 +v1.7.8.1 +v1.7.8.2 +v1.7.8.3 +v1.7.8.4 +v1.7.8.5 +v1.7.8.6 +v1.7.9-rc0 +v1.7.9-rc1 +v1.7.9-rc2 +v1.7.9 +v1.7.9.1 +v1.7.9.2 +v1.7.9.3 +v1.7.9.4 +v1.7.9.5 +v1.7.9.6 +v1.7.9.7 +v1.7.10-rc0 +v1.7.10-rc1 +v1.7.10-rc2 +v1.7.10-rc3 +v1.7.10-rc4 +v1.7.10 +v1.7.10.1 +v1.7.10.2 +v1.7.10.3 +v1.7.10.4 +v1.7.10.5 +v1.7.11-rc0 +v1.7.11-rc1 +v1.7.11-rc2 +v1.7.11-rc3 +v1.7.11 +v1.7.11.1 +v1.7.11.2 +v1.7.11.3 +v1.7.11.4 +v1.7.11.5 +v1.7.11.6 +v1.7.11.7 +v1.7.12-rc0 +v1.7.12-rc1 +v1.7.12-rc2 +v1.7.12-rc3 +v1.7.12 +v1.7.12.1 +v1.7.12.2 +v1.7.12.3 +v1.7.12.4 +v1.8.0-rc0 +v1.8.0-rc1 +v1.8.0-rc2 +v1.8.0-rc3 +v1.8.0 +v1.8.0.1 +v1.8.0.2 +v1.8.0.3 +v1.8.1-rc0 +v1.8.1-rc1 +v1.8.1-rc2 +v1.8.1-rc3 +v1.8.1 +v1.8.1.1 +v1.8.1.2 +v1.8.1.3 +v1.8.1.4 +v1.8.1.5 +v1.8.1.6 +v1.8.2-rc0 +v1.8.2-rc1 +v1.8.2-rc2 +v1.8.2-rc3 +v1.8.2 +v1.8.2.1 +v1.8.2.2 +v1.8.2.3 +v1.8.3-rc0 +v1.8.3-rc1 +v1.8.3-rc2 +v1.8.3-rc3 +v1.8.3 +v1.8.3.1 +v1.8.3.2 +v1.8.3.3 +v1.8.3.4 +v1.8.4-rc0 +v1.8.4-rc1 +v1.8.4-rc2 +v1.8.4-rc3 +v1.8.4-rc4 +v1.8.4 +v1.8.4.1 +v1.8.4.2 +v1.8.4.3 +v1.8.4.4 +v1.8.4.5 +v1.8.5-rc0 +v1.8.5-rc1 +v1.8.5-rc2 +v1.8.5-rc3 +v1.8.5 +v1.8.5.1 +v1.8.5.2 +v1.8.5.3 +v1.8.5.4 +v1.8.5.5 +v1.8.5.6 +v1.9-rc0 +v1.9-rc1 +v1.9-rc2 +v1.9.0-rc3 +v1.9.0 +v1.9.1 +v1.9.2 +v1.9.3 +v1.9.4 +v1.9.5 +v2.0.0-rc0 +v2.0.0-rc1 +v2.0.0-rc2 +v2.0.0-rc3 +v2.0.0-rc4 +v2.0.0 +v2.0.1 +v2.0.2 +v2.0.3 +v2.0.4 +v2.0.5 +v2.1.0-rc0 +v2.1.0-rc1 +v2.1.0-rc2 +v2.1.0 +v2.1.1 +v2.1.2 +v2.1.3 +v2.1.4 +v2.2.0-rc0 +v2.2.0-rc1 +v2.2.0-rc2 +v2.2.0-rc3 +v2.2.0 +v2.2.1 +v2.2.2 +v2.2.3 +v2.3.0-rc0 +v2.3.0-rc1 +v2.3.0-rc2 +v2.3.0 +v2.3.1 +v2.3.2 +v2.3.3 +v2.3.4 +v2.3.5 +v2.3.6 +v2.3.7 +v2.3.8 +v2.3.9 +v2.3.10 +v2.4.0-rc0 +v2.4.0-rc1 +v2.4.0-rc2 +v2.4.0-rc3 +v2.4.0 +v2.4.1 +v2.4.2 +v2.4.3 +v2.4.4 +v2.4.5 +v2.4.6 +v2.4.7 +v2.4.8 +v2.4.9 +v2.4.10 +v2.4.11 +v2.4.12 +v2.5.0-rc0 +v2.5.0-rc1 +v2.5.0-rc2 +v2.5.0-rc3 +v2.5.0 +v2.5.1 +v2.5.2 +v2.5.3 +v2.5.4 +v2.5.5 +v2.5.6 +v2.6.0-rc0 +v2.6.0-rc1 +v2.6.0-rc2 +v2.6.0-rc3 +v2.6.0 +v2.6.1 +v2.6.2 +v2.6.3 +v2.6.4 +v2.6.5 +v2.6.6 +v2.6.7 +v2.7.0-rc0 +v2.7.0-rc1 +v2.7.0-rc2 +v2.7.0-rc3 +v2.7.0 +v2.7.1 +v2.7.2 +v2.7.3 +v2.7.4 +v2.7.5 +v2.7.6 +v2.8.0-rc0 +v2.8.0-rc1 +v2.8.0-rc2 +v2.8.0-rc3 +v2.8.0-rc4 +v2.8.0 +v2.8.1 +v2.8.2 +v2.8.3 +v2.8.4 +v2.8.5 +v2.8.6 +v2.9.0-rc0 +v2.9.0-rc1 +v2.9.0-rc2 +v2.9.0 +v2.9.1 +v2.9.2 +v2.9.3 +v2.9.4 +v2.9.5 +v2.10.0-rc0 +v2.10.0-rc1 +v2.10.0-rc2 +v2.10.0 +v2.10.1 +v2.10.2 +v2.10.3 +v2.10.4 +v2.10.5 +v2.11.0-rc0 +v2.11.0-rc1 +v2.11.0-rc2 +v2.11.0-rc3 +v2.11.0 +v2.11.1 +v2.11.2 +v2.11.3 +v2.11.4 +v2.12.0-rc0 +v2.12.0-rc1 +v2.12.0-rc2 +v2.12.0 +v2.12.1 +v2.12.2 +v2.12.3 +v2.12.4 +v2.12.5 +v2.13.0-rc0 +v2.13.0-rc1 +v2.13.0-rc2 +v2.13.0 +v2.13.1 +v2.13.2 +v2.13.3 +v2.13.4 +v2.13.5 +v2.13.6 +v2.13.7 +v2.14.0-rc0 +v2.14.0-rc1 +v2.14.0 +v2.14.1 +v2.14.2 +v2.14.3 +v2.14.4 +v2.14.5 +v2.14.6 +v2.15.0-rc0 +v2.15.0-rc1 +v2.15.0-rc2 +v2.15.0 +v2.15.1 +v2.15.2 +v2.15.3 +v2.15.4 +v2.16.0-rc0 +v2.16.0-rc1 +v2.16.0-rc2 +v2.16.0 +v2.16.1 +v2.16.2 +v2.16.3 +v2.16.4 +v2.16.5 +v2.16.6 +v2.17.0-rc0 +v2.17.0-rc1 +v2.17.0-rc2 +v2.17.0 +v2.17.1 +v2.17.2 +v2.17.3 +v2.17.4 +v2.17.5 +v2.17.6 +v2.18.0-rc0 +v2.18.0-rc1 +v2.18.0-rc2 +v2.18.0 +v2.18.1 +v2.18.2 +v2.18.3 +v2.18.4 +v2.18.5 +v2.19.0-rc0 +v2.19.0-rc1 +v2.19.0-rc2 +v2.19.0 +v2.19.1 +v2.19.2 +v2.19.3 +v2.19.4 +v2.19.5 +v2.19.6 +v2.20.0-rc0 +v2.20.0-rc1 +v2.20.0-rc2 +v2.20.0 +v2.20.1 +v2.20.2 +v2.20.3 +v2.20.4 +v2.20.5 +v2.21.0-rc0 +v2.21.0-rc1 +v2.21.0-rc2 +v2.21.0 +v2.21.1 +v2.21.2 +v2.21.3 +v2.21.4 +v2.22.0-rc0 +v2.22.0-rc1 +v2.22.0-rc2 +v2.22.0-rc3 +v2.22.0 +v2.22.1 +v2.22.2 +v2.22.3 +v2.22.4 +v2.22.5 +v2.23.0-rc0 +v2.23.0-rc1 +v2.23.0-rc2 +v2.23.0 +v2.23.1 +v2.23.2 +v2.23.3 +v2.23.4 +v2.24.0-rc0 +v2.24.0-rc1 +v2.24.0-rc2 +v2.24.0 +v2.24.1 +v2.24.2 +v2.24.3 +v2.24.4 +v2.25.0-rc0 +v2.25.0-rc1 +v2.25.0-rc2 +v2.25.0 +v2.25.1 +v2.25.2 +v2.25.3 +v2.25.4 +v2.25.5 +v2.26.0-rc0 +v2.26.0-rc1 +v2.26.0-rc2 +v2.26.0 +v2.26.1 +v2.26.2 +v2.26.3 +v2.27.0-rc0 +v2.27.0-rc1 +v2.27.0-rc2 +v2.27.0 +v2.27.1 +v2.28.0-rc0 +v2.28.0-rc1 +v2.28.0-rc2 +v2.28.0 +v2.28.1 +v2.29.0-rc0 +v2.29.0-rc1 +v2.29.0-rc2 +v2.29.0 +v2.29.1 +v2.29.2 +v2.29.3 +v2.30.0-rc0 +v2.30.0-rc1 +v2.30.0-rc2 +v2.30.0 +v2.30.1 diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..8527bb4 --- /dev/null +++ b/debian/watch @@ -0,0 +1,4 @@ +version=3 +https://www.kernel.org/pub/software/scm/git/git-([\d.]+)\.tar\.xz +opts="uversionmangle=s/\.rc/~rc/" \ +https://www.kernel.org/pub/software/scm/git/testing/git-([\d.]+rc\d+)\.tar\.xz |