[ANNOUNCE] Git v2.15.0-rc1
A release candidate Git v2.15.0-rc1 is now available for testing at the usual places. It is comprised of 721 non-merge commits since v2.14.0, contributed by 72 people, 22 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.15.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git New contributors whose contributions weren't in v2.14.0 are as follows. Welcome to the Git development community! Ann T Ropea, Daniel Watkins, Derrick Stolee, Dimitrios Christidis, Eric Rannaud, Evan Zacks, Hielke Christian Braun, Ian Campbell, Ilya Kantor, Jameson Miller, Job Snijders, Joel Teichroeb, joernchen, Łukasz Gryglicki, Manav Rathi, Martin Ågren, Michael Forney, Patryk Obara, Randall S. Becker, Ross Kabus, Taylor Blau, and Urs Thuermann. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Andreas Heiduk, Anthony Sottile, Ben Boeckel, Brandon Casey, Brandon Williams, brian m. carlson, Christian Couder, Eric Blake, Han-Wen Nienhuys, Heiko Voigt, Jean-Noel Avila, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Junio C Hamano, Kaartic Sivaraam, Kevin Daudt, Kevin Willford, Lars Schneider, Martin Koegler, Matthieu Moy, Max Kirillov, Michael Haggerty, Michael J Gruber, Nguyễn Thái Ngọc Duy, Nicolas Morey-Chaisemartin, Øystein Walle, Paolo Bonzini, Pat Thoyts, Philip Oakley, Phillip Wood, Raman Gupta, Ramsay Jones, René Scharfe, Sahil Dua, Santiago Torres, Stefan Beller, Stephan Beyer, Takashi Iwai, Thomas Braun, Thomas Gummerer, Todd Zullinger, Tom G. Christensen, Torsten Bögershausen, and William Duclot. Git 2.15 Release Notes (draft) == Backward compatibility notes and other notable changes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is now scheduled to happen in Git v2.16, the next major release after this one. * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to BUG(). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. * "branch --set-upstream" that has been deprecated in Git 1.8 has finally been retired. Updates since v2.14 --- UI, Workflows & Features * An example that is now obsolete has been removed from a sample hook, and an old example in it that added a sign-off manually has been improved to use the interpret-trailers command. * The advice message given when "git rebase" stops for conflicting changes has been improved. * The "rerere-train" script (in contrib/) learned the "--overwrite" option to allow overwriting existing recorded resolutions. * "git contacts" (in contrib/) now lists the address on the "Reported-by:" trailer to its output, in addition to those on S-o-b: and other trailers, to make it easier to notify (and thank) the original bug reporter. * "git rebase", especially when it is run by mistake and ends up trying to replay many changes, spent long time in silence. The command has been taught to show progress report when it spends long time preparing these many changes to replay (which would give the user a chance to abort with ^C). * "git merge" learned a "--signoff" option to add the Signed-off-by: trailer with the committer's name. * "git diff" learned to optionally paint new lines that are the same as deleted lines elsewhere differently from genuinely new lines. * "git interpret-trailers" learned to take the trailer specifications from the command line that overrides the configured values. * "git interpret-trailers" has been taught a "--parse" and a few other options to make it easier for scripts to grab existing trailer lines from a commit log message. * The "--format=%(trailers)" option "git log" and its friends take learned to take the 'unfold' and 'only' modifiers to normalize its output, e.g. "git log --format=%(trailers:only,unfold)". * &q
[ANNOUNCE] Git v2.15.0-rc0
An early preview release Git v2.15.0-rc0 is now available for testing at the usual places. It is comprised of 672 non-merge commits since v2.14.0, contributed by 66 people, 20 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.15.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git New contributors whose contributions weren't in v2.14.0 are as follows. Welcome to the Git development community! Ann T Ropea, Daniel Watkins, Dimitrios Christidis, Eric Rannaud, Evan Zacks, Hielke Christian Braun, Ian Campbell, Ilya Kantor, Jameson Miller, Job Snijders, Joel Teichroeb, joernchen, Łukasz Gryglicki, Manav Rathi, Martin Ågren, Michael Forney, Patryk Obara, Rene Scharfe, Ross Kabus, and Urs Thuermann. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Andreas Heiduk, Anthony Sottile, Ben Boeckel, Brandon Casey, Brandon Williams, brian m. carlson, Christian Couder, Eric Blake, Han-Wen Nienhuys, Heiko Voigt, Jeff Hostetler, Jeff King, Johannes Schindelin, Jonathan Nieder, Jonathan Tan, Junio C Hamano, Kaartic Sivaraam, Kevin Daudt, Kevin Willford, Lars Schneider, Martin Koegler, Matthieu Moy, Max Kirillov, Michael Haggerty, Michael J Gruber, Nguyễn Thái Ngọc Duy, Nicolas Morey-Chaisemartin, Øystein Walle, Paolo Bonzini, Pat Thoyts, Philip Oakley, Phillip Wood, Raman Gupta, Ramsay Jones, René Scharfe, Sahil Dua, Santiago Torres, Stefan Beller, Stephan Beyer, Takashi Iwai, Thomas Gummerer, Tom G. Christensen, Torsten Bögershausen, and William Duclot. Git 2.15 Release Notes (draft) == Backward compatibility notes and other notable changes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is now scheduled to happen in the upcoming release. * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. * "branch --set-upstream" that has been deprecated in Git 1.8 has finally been retired. Updates since v2.14 --- UI, Workflows & Features * An example that is now obsolete has been removed from a sample hook, and an old example in it that added a sign-off manually has been improved to use the interpret-trailers command. * The advice message given when "git rebase" stops for conflicting changes has been improved. * The "rerere-train" script (in contrib/) learned the "--overwrite" option to allow overwriting existing recorded resolutions. * "git contacts" (in contrib/) now lists the address on the "Reported-by:" trailer to its output, in addition to those on S-o-b: and other trailers, to make it easier to notify (and thank) the original bug reporter. * "git rebase", especially when it is run by mistake and ends up trying to replay many changes, spent long time in silence. The command has been taught to show progress report when it spends long time preparing these many changes to replay (which would give the user a chance to abort with ^C). * "git merge" learned a "--signoff" option to add the Signed-off-by: trailer with the committer's name. * "git diff" learned to optionally paint new lines that are the same as deleted lines elsewhere differently from genuinely new lines. * "git interpret-trailers" learned to take the trailer specifications from the command line that overrides the configured values. * "git interpret-trailers" has been taught a "--parse" and a few other options to make it easier for scripts to grab existing trailer lines from a commit log message. * "gitweb" shows a link to visit the 'raw' contents of blbos in the history overview page. * "[gc] rerereResolved = 5.days" used to be invalid, as the variable is defined to take an integer counting the number of days. It now is allowed. * The code to acquire a lock on a reference (e.g. while accep
[ANNOUNCE] Git v2.15.0-rc0
An early preview release Git v2.15.0-rc0 is now available for testing at the usual places. It is comprised of 672 non-merge commits since v2.14.0, contributed by 66 people, 20 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.15.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git New contributors whose contributions weren't in v2.14.0 are as follows. Welcome to the Git development community! Ann T Ropea, Daniel Watkins, Dimitrios Christidis, Eric Rannaud, Evan Zacks, Hielke Christian Braun, Ian Campbell, Ilya Kantor, Jameson Miller, Job Snijders, Joel Teichroeb, joernchen, Łukasz Gryglicki, Manav Rathi, Martin Ågren, Michael Forney, Patryk Obara, Rene Scharfe, Ross Kabus, and Urs Thuermann. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Andreas Heiduk, Anthony Sottile, Ben Boeckel, Brandon Casey, Brandon Williams, brian m. carlson, Christian Couder, Eric Blake, Han-Wen Nienhuys, Heiko Voigt, Jeff Hostetler, Jeff King, Johannes Schindelin, Jonathan Nieder, Jonathan Tan, Junio C Hamano, Kaartic Sivaraam, Kevin Daudt, Kevin Willford, Lars Schneider, Martin Koegler, Matthieu Moy, Max Kirillov, Michael Haggerty, Michael J Gruber, Nguyễn Thái Ngọc Duy, Nicolas Morey-Chaisemartin, Øystein Walle, Paolo Bonzini, Pat Thoyts, Philip Oakley, Phillip Wood, Raman Gupta, Ramsay Jones, René Scharfe, Sahil Dua, Santiago Torres, Stefan Beller, Stephan Beyer, Takashi Iwai, Thomas Gummerer, Tom G. Christensen, Torsten Bögershausen, and William Duclot. Git 2.15 Release Notes (draft) == Backward compatibility notes and other notable changes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is now scheduled to happen in the upcoming release. * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. * "branch --set-upstream" that has been deprecated in Git 1.8 has finally been retired. Updates since v2.14 --- UI, Workflows & Features * An example that is now obsolete has been removed from a sample hook, and an old example in it that added a sign-off manually has been improved to use the interpret-trailers command. * The advice message given when "git rebase" stops for conflicting changes has been improved. * The "rerere-train" script (in contrib/) learned the "--overwrite" option to allow overwriting existing recorded resolutions. * "git contacts" (in contrib/) now lists the address on the "Reported-by:" trailer to its output, in addition to those on S-o-b: and other trailers, to make it easier to notify (and thank) the original bug reporter. * "git rebase", especially when it is run by mistake and ends up trying to replay many changes, spent long time in silence. The command has been taught to show progress report when it spends long time preparing these many changes to replay (which would give the user a chance to abort with ^C). * "git merge" learned a "--signoff" option to add the Signed-off-by: trailer with the committer's name. * "git diff" learned to optionally paint new lines that are the same as deleted lines elsewhere differently from genuinely new lines. * "git interpret-trailers" learned to take the trailer specifications from the command line that overrides the configured values. * "git interpret-trailers" has been taught a "--parse" and a few other options to make it easier for scripts to grab existing trailer lines from a commit log message. * "gitweb" shows a link to visit the 'raw' contents of blbos in the history overview page. * "[gc] rerereResolved = 5.days" used to be invalid, as the variable is defined to take an integer counting the number of days. It now is allowed. * The code to acquire a lock on a reference (e.g. while accep
[ANNOUNCE] Git v2.13.6 and others
Maintenance releases Git v2.10.5, v2.11.4, v2.12.5 and v2.13.6 are now available at the usual places. These are solely about hardening "git shell" that is used on servers against an unsafe user input, which "git cvsserver" copes with poorly. A copy of the release notes for v2.10.5 is attached at the end of the message, but the notes for other releases listed above essentially say the same thing. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.10.5', 'v2.11.4', 'v2.12.5' and 'v2.13.6' tags and some of them have the 'maint-2.10', 'maint-2.11', 'maint-2.12' and 'maint-2.13' branches that the tags point at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git Note that the committed version of the release notes for these versions all incorrectly mention "git daemon", where they should have said "git shell". It has been corrected in the attached copy, but because the release engineering was done several days in advance and the tags have already been shared with binary packagers and others at the git-secur...@googlegroups.com mailing list, these release tarballs are issued _with_ the known typo to avoid confusion of having two release tags with different contents. Sorry about that. Git v2.10.5 Release Notes = Fixes since v2.10.4 --- * "git cvsserver" no longer is invoked by "git shell" by default, as it is old and largely unmaintained. * Various Perl scripts did not use safe_pipe_capture() instead of backticks, leaving them susceptible to end-user input. They have been corrected. Credits go to joernchen <joernc...@phenoelit.de> for finding the unsafe constructs in "git cvsserver", and to Jeff King at GitHub for finding and fixing instances of the same issue in other scripts. Changes since v2.10.4 are as follows: 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
[ANNOUNCE] Git v2.13.6 and others
Maintenance releases Git v2.10.5, v2.11.4, v2.12.5 and v2.13.6 are now available at the usual places. These are solely about hardening "git shell" that is used on servers against an unsafe user input, which "git cvsserver" copes with poorly. A copy of the release notes for v2.10.5 is attached at the end of the message, but the notes for other releases listed above essentially say the same thing. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.10.5', 'v2.11.4', 'v2.12.5' and 'v2.13.6' tags and some of them have the 'maint-2.10', 'maint-2.11', 'maint-2.12' and 'maint-2.13' branches that the tags point at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git Note that the committed version of the release notes for these versions all incorrectly mention "git daemon", where they should have said "git shell". It has been corrected in the attached copy, but because the release engineering was done several days in advance and the tags have already been shared with binary packagers and others at the git-secur...@googlegroups.com mailing list, these release tarballs are issued _with_ the known typo to avoid confusion of having two release tags with different contents. Sorry about that. Git v2.10.5 Release Notes = Fixes since v2.10.4 --- * "git cvsserver" no longer is invoked by "git shell" by default, as it is old and largely unmaintained. * Various Perl scripts did not use safe_pipe_capture() instead of backticks, leaving them susceptible to end-user input. They have been corrected. Credits go to joernchen for finding the unsafe constructs in "git cvsserver", and to Jeff King at GitHub for finding and fixing instances of the same issue in other scripts. Changes since v2.10.4 are as follows: 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
[ANNOUNCE] Git v2.14.2
it is old and largely unmaintained. * Various Perl scripts did not use safe_pipe_capture() instead of backticks, leaving them susceptible to end-user input. They have been corrected. Also contains various documentation updates and code clean-ups. Credits go to joernchen <joernc...@phenoelit.de> for finding the unsafe constructs in "git cvsserver", and to Jeff King at GitHub for finding and fixing instances of the same issue in other scripts. Changes since v2.14.1 are as follows: 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 " 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 fro
[ANNOUNCE] Git v2.14.2
s old and largely unmaintained. * Various Perl scripts did not use safe_pipe_capture() instead of backticks, leaving them susceptible to end-user input. They have been corrected. Also contains various documentation updates and code clean-ups. Credits go to joernchen for finding the unsafe constructs in "git cvsserver", and to Jeff King at GitHub for finding and fixing instances of the same issue in other scripts. Changes since v2.14.1 are as follows: 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 " 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
[ANNOUNCE] Git v2.14.1, v2.13.5, and others
The latest maintenance release Git v2.14.1 is now available at the usual places, together with releases for older maintenance track for the same issue: v2.7.6, v2.8.6, v2.9.5, v2.10.4, v2.11.3, v2.12.4, and v2.13.5. These contain a security fix for CVE-2017-1000117, and are released in coordination with Subversion and Mercurial that share a similar issue. CVE-2017-9800 and CVE-2017-1000116 are assigned to these systems, respectively, for issues similar to it that are now addressed in their part of this coordinated release. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of these tags: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git A malicious third-party can give a crafted "ssh://..." URL to an unsuspecting victim, and an attempt to visit the URL can result in any program that exists on the victim's machine being executed. Such a URL could be placed in the .gitmodules file of a malicious project, and an unsuspecting victim could be tricked into running "git clone --recurse-submodules" to trigger the vulnerability. Credits to find and fix the issue go to Brian Neel at GitLab, Joern Schneeweisz of Recurity Labs and Jeff King at GitHub. * A "ssh://..." URL can result in a "ssh" command line with a hostname that begins with a dash "-", which would cause the "ssh" command to instead (mis)treat it as an option. This is now prevented by forbidding such a hostname (which should not impact any real-world usage). * Similarly, when GIT_PROXY_COMMAND is configured, the command is run with host and port that are parsed out from "ssh://..." URL; a poorly written GIT_PROXY_COMMAND could be tricked into treating a string that begins with a dash "-" as an option. This is now prevented by forbidding such a hostname and port number (again, which should not impact any real-world usage). * In the same spirit, a repository name that begins with a dash "-" is also forbidden now.
[ANNOUNCE] Git v2.14.1, v2.13.5, and others
The latest maintenance release Git v2.14.1 is now available at the usual places, together with releases for older maintenance track for the same issue: v2.7.6, v2.8.6, v2.9.5, v2.10.4, v2.11.3, v2.12.4, and v2.13.5. These contain a security fix for CVE-2017-1000117, and are released in coordination with Subversion and Mercurial that share a similar issue. CVE-2017-9800 and CVE-2017-1000116 are assigned to these systems, respectively, for issues similar to it that are now addressed in their part of this coordinated release. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of these tags: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git A malicious third-party can give a crafted "ssh://..." URL to an unsuspecting victim, and an attempt to visit the URL can result in any program that exists on the victim's machine being executed. Such a URL could be placed in the .gitmodules file of a malicious project, and an unsuspecting victim could be tricked into running "git clone --recurse-submodules" to trigger the vulnerability. Credits to find and fix the issue go to Brian Neel at GitLab, Joern Schneeweisz of Recurity Labs and Jeff King at GitHub. * A "ssh://..." URL can result in a "ssh" command line with a hostname that begins with a dash "-", which would cause the "ssh" command to instead (mis)treat it as an option. This is now prevented by forbidding such a hostname (which should not impact any real-world usage). * Similarly, when GIT_PROXY_COMMAND is configured, the command is run with host and port that are parsed out from "ssh://..." URL; a poorly written GIT_PROXY_COMMAND could be tricked into treating a string that begins with a dash "-" as an option. This is now prevented by forbidding such a hostname and port number (again, which should not impact any real-world usage). * In the same spirit, a repository name that begins with a dash "-" is also forbidden now.
Re: linux-next: Signed-off-by missing for commit in the drivers-x86 tree
Linus Torvaldswrites: > On Wed, Aug 2, 2017 at 5:28 PM, Stephen Rothwell > wrote: >> >> I would say that if you rebase someone's commit(s), then you are on the >> "patch's delivery path" and so should add a Signed-off-by tag. > > Yeah, I agree. Rebasing really is pretty much the exact same thing as > applying a patch. > >> "git rebase" does have a "--signoff" option. > > I think you end up signing off twice using that. I don't think it's > smart enough to say "oh, you already did it once". Git avoids duplication only when your SoB appears as the last existing one, so that we can capture a flow of a patch which you originally signed off, picked up and tweaked further by somebody else, which comes back to you and you sign it off again. We may drop yours even when yours is not the last in the existing chain, but that would be a bug; at least the above is what we try to do. > And in general, you simply should never rebase commits that have > already been publicized. And the fact that you didn't commit them in > the first place definitely means that they've been public somewhere. > > So I would definitely suggest against the "git rebase --signoff" > model, even if git were to do the "right thing". It's simply > fundamentally the wrong thing to do. When those involved are using push/pull as a replacement for e-mailed patch exchange, then such a workflow should be OK. There needs to be a shared understanding that the branch(es) used for such exchange are unstable and should not be built directly on to be merged, of course.
Re: linux-next: Signed-off-by missing for commit in the drivers-x86 tree
Linus Torvalds writes: > On Wed, Aug 2, 2017 at 5:28 PM, Stephen Rothwell > wrote: >> >> I would say that if you rebase someone's commit(s), then you are on the >> "patch's delivery path" and so should add a Signed-off-by tag. > > Yeah, I agree. Rebasing really is pretty much the exact same thing as > applying a patch. > >> "git rebase" does have a "--signoff" option. > > I think you end up signing off twice using that. I don't think it's > smart enough to say "oh, you already did it once". Git avoids duplication only when your SoB appears as the last existing one, so that we can capture a flow of a patch which you originally signed off, picked up and tweaked further by somebody else, which comes back to you and you sign it off again. We may drop yours even when yours is not the last in the existing chain, but that would be a bug; at least the above is what we try to do. > And in general, you simply should never rebase commits that have > already been publicized. And the fact that you didn't commit them in > the first place definitely means that they've been public somewhere. > > So I would definitely suggest against the "git rebase --signoff" > model, even if git were to do the "right thing". It's simply > fundamentally the wrong thing to do. When those involved are using push/pull as a replacement for e-mailed patch exchange, then such a workflow should be OK. There needs to be a shared understanding that the branch(es) used for such exchange are unstable and should not be built directly on to be merged, of course.
[ANNOUNCE] Git v2.14.0
The latest feature release Git v2.14.0 is now available at the usual places. It is comprised of 727 non-merge commits since v2.13.0, contributed by 66 people, 18 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ when kernel.org mirrors catch up. The following public repositories all have a copy of the 'v2.14.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git New contributors whose contributions weren't in v2.13.0 are as follows. Welcome to the Git development community! Anthony Sottile, A. Wilcox, Ben Peart, Brian Malehorn, Hugues Peccatte, James Clarke, Jeff Smith, Kaartic Sivaraam, Liam Beguin, Louis, Phillip Wood, Rikard Falkeborn, Sahil Dua, Samuel Lijin, Stephen Kent, Sylvestre Ledru, Tyler Brazier, and xiaoqiang zhao. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alejandro R. Sedeño, Alexander Shopov, Andreas Heiduk, Beat Bolli, Brandon Williams, brian m. carlson, Changwoo Ryu, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Eric Wong, Hartmut Henkel, Jean-Noel Avila, Jeff Hostetler, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Jordi Mas, Junio C Hamano, Kyle J. McKay, Kyle Meyer, Lars Schneider, Marc Branchaud, Michael Haggerty, Miguel Torroja, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Peter Krefting, Prathamesh Chavan, Ralf Thielow, Ramsay Jones, René Scharfe, Stefan Beller, Štěpán Němec, Sven Strickroth, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, and Ville Skyttä. Git 2.14 Release Notes == Backward compatibility notes and other notable changes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. * The experiment to improve the hunk-boundary selection of textual diff output has finished, and the "indent heuristics" has now become the default. * Git can now be built with PCRE v2 instead of v1 of the PCRE library. Replace USE_LIBPCRE=YesPlease with USE_LIBPCRE2=YesPlease in existing build scripts to build against the new version. As the upstream PCRE maintainer has abandoned v1 maintenance for all but the most critical bug fixes, use of v2 is recommended. Updates since v2.13 --- UI, Workflows & Features * The colors in which "git status --short --branch" showed the names of the current branch and its remote-tracking branch are now configurable. * "git clone" learned the "--no-tags" option not to fetch all tags initially, and also set up the tagopt not to follow any tags in subsequent fetches. * "git archive --format=zip" learned to use zip64 extension when necessary to go beyond the 4GB limit. * "git reset" learned "--recurse-submodules" option. * "git diff --submodule=diff" now recurses into nested submodules. * "git repack" learned to accept the --threads= option and pass it to pack-objects. * "git send-email" learned to run sendemail-validate hook to inspect and reject a message before sending it out. * There is no good reason why "git fetch $there $sha1" should fail when the $sha1 names an object at the tip of an advertised ref, even when the other side hasn't enabled allowTipSHA1InWant. * The "[includeIf "gitdir:$dir"] path=..." mechanism introduced in 2.13.0 would canonicalize the path of the gitdir being matched, and did not match e.g. "gitdir:~/work/*" against a repo in "~/work/main" if "~/work" was a symlink to "/mnt/storage/work". Now we match both the resolved canonical path and what "pwd" would show. The include will happen if either one matches. * The "indent" heuristics is now the default in "diff". The diff.in
[ANNOUNCE] Git v2.14.0
The latest feature release Git v2.14.0 is now available at the usual places. It is comprised of 727 non-merge commits since v2.13.0, contributed by 66 people, 18 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ when kernel.org mirrors catch up. The following public repositories all have a copy of the 'v2.14.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git New contributors whose contributions weren't in v2.13.0 are as follows. Welcome to the Git development community! Anthony Sottile, A. Wilcox, Ben Peart, Brian Malehorn, Hugues Peccatte, James Clarke, Jeff Smith, Kaartic Sivaraam, Liam Beguin, Louis, Phillip Wood, Rikard Falkeborn, Sahil Dua, Samuel Lijin, Stephen Kent, Sylvestre Ledru, Tyler Brazier, and xiaoqiang zhao. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alejandro R. Sedeño, Alexander Shopov, Andreas Heiduk, Beat Bolli, Brandon Williams, brian m. carlson, Changwoo Ryu, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Eric Wong, Hartmut Henkel, Jean-Noel Avila, Jeff Hostetler, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Jordi Mas, Junio C Hamano, Kyle J. McKay, Kyle Meyer, Lars Schneider, Marc Branchaud, Michael Haggerty, Miguel Torroja, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Peter Krefting, Prathamesh Chavan, Ralf Thielow, Ramsay Jones, René Scharfe, Stefan Beller, Štěpán Němec, Sven Strickroth, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, and Ville Skyttä. Git 2.14 Release Notes == Backward compatibility notes and other notable changes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. * The experiment to improve the hunk-boundary selection of textual diff output has finished, and the "indent heuristics" has now become the default. * Git can now be built with PCRE v2 instead of v1 of the PCRE library. Replace USE_LIBPCRE=YesPlease with USE_LIBPCRE2=YesPlease in existing build scripts to build against the new version. As the upstream PCRE maintainer has abandoned v1 maintenance for all but the most critical bug fixes, use of v2 is recommended. Updates since v2.13 --- UI, Workflows & Features * The colors in which "git status --short --branch" showed the names of the current branch and its remote-tracking branch are now configurable. * "git clone" learned the "--no-tags" option not to fetch all tags initially, and also set up the tagopt not to follow any tags in subsequent fetches. * "git archive --format=zip" learned to use zip64 extension when necessary to go beyond the 4GB limit. * "git reset" learned "--recurse-submodules" option. * "git diff --submodule=diff" now recurses into nested submodules. * "git repack" learned to accept the --threads= option and pass it to pack-objects. * "git send-email" learned to run sendemail-validate hook to inspect and reject a message before sending it out. * There is no good reason why "git fetch $there $sha1" should fail when the $sha1 names an object at the tip of an advertised ref, even when the other side hasn't enabled allowTipSHA1InWant. * The "[includeIf "gitdir:$dir"] path=..." mechanism introduced in 2.13.0 would canonicalize the path of the gitdir being matched, and did not match e.g. "gitdir:~/work/*" against a repo in "~/work/main" if "~/work" was a symlink to "/mnt/storage/work". Now we match both the resolved canonical path and what "pwd" would show. The include will happen if either one matches. * The "indent" heuristics is now the default in "diff". The diff.in
[ANNOUNCE] Git v2.13.4
The latest maintenance release Git v2.13.4 is now available at the usual places. There is no update that is particulary important or controversial in this release; it is primarily to flush the safer fixes that have already been in the 'master' branch in preparation for the v2.14.0 release down to the maintenance track. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.13.4' tag and the 'maint' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git Git v2.13.4 Release Notes = Fixes since v2.13.3 --- * Update the character width tables. * A recent update broke an alias that contained an uppercase letter, which has been fixed. * On Cygwin, similar to Windows, "git push //server/share/repository" ought to mean a repository on a network share that can be accessed locally, but this did not work correctly due to stripping the double slashes at the beginning. * The progress meter did not give a useful output when we haven't had 0.5 seconds to measure the throughput during the interval. Instead show the overall throughput rate at the end, which is a much more useful number. * We run an early part of "git gc" that deals with refs before daemonising (and not under lock) even when running a background auto-gc, which caused multiple gc processes attempting to run the early part at the same time. This is now prevented by running the early part also under the GC lock. Also contains a handful of small code and documentation clean-ups. Changes since v2.13.3 are as follows: 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 <
[ANNOUNCE] Git v2.13.4
The latest maintenance release Git v2.13.4 is now available at the usual places. There is no update that is particulary important or controversial in this release; it is primarily to flush the safer fixes that have already been in the 'master' branch in preparation for the v2.14.0 release down to the maintenance track. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.13.4' tag and the 'maint' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git Git v2.13.4 Release Notes = Fixes since v2.13.3 --- * Update the character width tables. * A recent update broke an alias that contained an uppercase letter, which has been fixed. * On Cygwin, similar to Windows, "git push //server/share/repository" ought to mean a repository on a network share that can be accessed locally, but this did not work correctly due to stripping the double slashes at the beginning. * The progress meter did not give a useful output when we haven't had 0.5 seconds to measure the throughput during the interval. Instead show the overall throughput rate at the end, which is a much more useful number. * We run an early part of "git gc" that deals with refs before daemonising (and not under lock) even when running a background auto-gc, which caused multiple gc processes attempting to run the early part at the same time. This is now prevented by running the early part also under the GC lock. Also contains a handful of small code and documentation clean-ups. Changes since v2.13.3 are as follows: 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 <
[ANNOUNCE] Git v2.14.0-rc1
A release candidate Git v2.14.0-rc1 is now available for testing at the usual places. It is comprised of 708 non-merge commits since v2.13.0, contributed by 61 people, 14 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.14.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git New contributors whose contributions weren't in v2.13.0 are as follows. Welcome to the Git development community! A. Wilcox, Ben Peart, Brian Malehorn, James Clarke, Jeff Smith, Kaartic Sivaraam, Liam Beguin, Phillip Wood, Rikard Falkeborn, Sahil Dua, Samuel Lijin, Stephen Kent, Tyler Brazier, and xiaoqiang zhao. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alejandro R. Sedeño, Alexander Shopov, Andreas Heiduk, Beat Bolli, Brandon Williams, brian m. carlson, Changwoo Ryu, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Eric Wong, Jean-Noel Avila, Jeff Hostetler, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Jordi Mas, Junio C Hamano, Kyle J. McKay, Kyle Meyer, Lars Schneider, Marc Branchaud, Michael Haggerty, Miguel Torroja, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Peter Krefting, Prathamesh Chavan, Ralf Thielow, Ramsay Jones, René Scharfe, Stefan Beller, Štěpán Němec, Sven Strickroth, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, and Ville Skyttä. Git 2.14 Release Notes (draft) == Backward compatibility notes and other notable changes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. * The experiment to improve the hunk-boundary selection of textual diff output has finished, and the "indent heuristics" has now become the default. * Git can now be built with PCRE v2 instead of v1 of the PCRE library. Replace USE_LIBPCRE=YesPlease with USE_LIBPCRE2=YesPlease in existing build scripts to build against the new version. As the upstream PCRE maintainer has abandoned v1 maintenance for all but the most critical bug fixes, use of v2 is recommended. Updates since v2.13 --- UI, Workflows & Features * The colors in which "git status --short --branch" showed the names of the current branch and its remote-tracking branch are now configurable. * "git clone" learned the "--no-tags" option not to fetch all tags initially, and also set up the tagopt not to follow any tags in subsequent fetches. * "git archive --format=zip" learned to use zip64 extension when necessary to go beyond the 4GB limit. * "git reset" learned "--recurse-submodules" option. * "git diff --submodule=diff" now recurses into nested submodules. * "git repack" learned to accept the --threads= option and pass it to pack-objects. * "git send-email" learned to run sendemail-validate hook to inspect and reject a message before sending it out. * There is no good reason why "git fetch $there $sha1" should fail when the $sha1 names an object at the tip of an advertised ref, even when the other side hasn't enabled allowTipSHA1InWant. * The "[includeIf "gitdir:$dir"] path=..." mechanism introduced in 2.13.0 would canonicalize the path of the gitdir being matched, and did not match e.g. "gitdir:~/work/*" against a repo in "~/work/main" if "~/work" was a symlink to "/mnt/storage/work". Now we match both the resolved canonical path and what "pwd" would show. The include will happen if either one matches. * The "indent" heuristics is now the default in "diff". The diff.indentHeuristic configuration variable can be set to "false&quo
[ANNOUNCE] Git v2.14.0-rc1
A release candidate Git v2.14.0-rc1 is now available for testing at the usual places. It is comprised of 708 non-merge commits since v2.13.0, contributed by 61 people, 14 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.14.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git New contributors whose contributions weren't in v2.13.0 are as follows. Welcome to the Git development community! A. Wilcox, Ben Peart, Brian Malehorn, James Clarke, Jeff Smith, Kaartic Sivaraam, Liam Beguin, Phillip Wood, Rikard Falkeborn, Sahil Dua, Samuel Lijin, Stephen Kent, Tyler Brazier, and xiaoqiang zhao. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alejandro R. Sedeño, Alexander Shopov, Andreas Heiduk, Beat Bolli, Brandon Williams, brian m. carlson, Changwoo Ryu, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Eric Wong, Jean-Noel Avila, Jeff Hostetler, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Jordi Mas, Junio C Hamano, Kyle J. McKay, Kyle Meyer, Lars Schneider, Marc Branchaud, Michael Haggerty, Miguel Torroja, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Peter Krefting, Prathamesh Chavan, Ralf Thielow, Ramsay Jones, René Scharfe, Stefan Beller, Štěpán Němec, Sven Strickroth, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, and Ville Skyttä. Git 2.14 Release Notes (draft) == Backward compatibility notes and other notable changes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. * The experiment to improve the hunk-boundary selection of textual diff output has finished, and the "indent heuristics" has now become the default. * Git can now be built with PCRE v2 instead of v1 of the PCRE library. Replace USE_LIBPCRE=YesPlease with USE_LIBPCRE2=YesPlease in existing build scripts to build against the new version. As the upstream PCRE maintainer has abandoned v1 maintenance for all but the most critical bug fixes, use of v2 is recommended. Updates since v2.13 --- UI, Workflows & Features * The colors in which "git status --short --branch" showed the names of the current branch and its remote-tracking branch are now configurable. * "git clone" learned the "--no-tags" option not to fetch all tags initially, and also set up the tagopt not to follow any tags in subsequent fetches. * "git archive --format=zip" learned to use zip64 extension when necessary to go beyond the 4GB limit. * "git reset" learned "--recurse-submodules" option. * "git diff --submodule=diff" now recurses into nested submodules. * "git repack" learned to accept the --threads= option and pass it to pack-objects. * "git send-email" learned to run sendemail-validate hook to inspect and reject a message before sending it out. * There is no good reason why "git fetch $there $sha1" should fail when the $sha1 names an object at the tip of an advertised ref, even when the other side hasn't enabled allowTipSHA1InWant. * The "[includeIf "gitdir:$dir"] path=..." mechanism introduced in 2.13.0 would canonicalize the path of the gitdir being matched, and did not match e.g. "gitdir:~/work/*" against a repo in "~/work/main" if "~/work" was a symlink to "/mnt/storage/work". Now we match both the resolved canonical path and what "pwd" would show. The include will happen if either one matches. * The "indent" heuristics is now the default in "diff". The diff.indentHeuristic configuration variable can be set to "false&quo
Re: [ANNOUNCE] Git v2.14.0-rc0
Ævar Arnfjörð Bjarmason <ava...@gmail.com> writes: > On Thu, Jul 13 2017, Junio C. Hamano jotted: > > Proposed improvements for the release notes (is this a good way to > propose RelNotes changes?) Thanks. You could also throw a patch just like any bugfix/update to documentation, I would think. > I think this may explain it better: > > * The "[includeIf "gitdir:$dir"] path=..." mechanism introduced in >2.13.0 would canonicalize the path of the gitdir being >matched. > >Therefore it wouldn't match e.g. "gitdir:~/work/*" against a repo in >"~/work/main" if ~/work was a symlink to "/mnt/storage/work". > >Now we match both the resolved canonical path and what "pwd" would >show. The include will happen if either one matches. Will use this (and some others) verbatim ;-) Thanks. >> * Update "perl-compatible regular expression" support to enable JIT >>and also allow linking with the newer PCRE v2 library. > > At the risk of advertising work I've done too much, I think it makes > sense to split this into two separate and somewhat more verbose items: As I shoot for shorter summary, going down to too much detail in these entries is not welcome. However, an exception is the top part of the release notes where we discuss backward incompatible changes etc. that helps people to decide the deployment strategy. Encouraging migration from v1 to v2 belongs there, I would think.
Re: [ANNOUNCE] Git v2.14.0-rc0
Ævar Arnfjörð Bjarmason writes: > On Thu, Jul 13 2017, Junio C. Hamano jotted: > > Proposed improvements for the release notes (is this a good way to > propose RelNotes changes?) Thanks. You could also throw a patch just like any bugfix/update to documentation, I would think. > I think this may explain it better: > > * The "[includeIf "gitdir:$dir"] path=..." mechanism introduced in >2.13.0 would canonicalize the path of the gitdir being >matched. > >Therefore it wouldn't match e.g. "gitdir:~/work/*" against a repo in >"~/work/main" if ~/work was a symlink to "/mnt/storage/work". > >Now we match both the resolved canonical path and what "pwd" would >show. The include will happen if either one matches. Will use this (and some others) verbatim ;-) Thanks. >> * Update "perl-compatible regular expression" support to enable JIT >>and also allow linking with the newer PCRE v2 library. > > At the risk of advertising work I've done too much, I think it makes > sense to split this into two separate and somewhat more verbose items: As I shoot for shorter summary, going down to too much detail in these entries is not welcome. However, an exception is the top part of the release notes where we discuss backward incompatible changes etc. that helps people to decide the deployment strategy. Encouraging migration from v1 to v2 belongs there, I would think.
[ANNOUNCE] Git v2.14.0-rc0
An early preview release Git v2.14.0-rc0 is now available for testing at the usual places. It is comprised of 675 non-merge commits since v2.13.0, contributed by 53 people, 14 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.14.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git New contributors whose contributions weren't in v2.13.0 are as follows. Welcome to the Git development community! A. Wilcox, Ben Peart, Brian Malehorn, James Clarke, Jeff Smith, Kaartic Sivaraam, Liam Beguin, Phillip Wood, Rikard Falkeborn, Sahil Dua, Samuel Lijin, Stephen Kent, Tyler Brazier, and xiaoqiang zhao. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alejandro R. Sedeño, Andreas Heiduk, Beat Bolli, Brandon Williams, brian m. carlson, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Eric Wong, Jean-Noel Avila, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Kyle Meyer, Lars Schneider, Marc Branchaud, Michael Haggerty, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Prathamesh Chavan, Ralf Thielow, Ramsay Jones, René Scharfe, Stefan Beller, Štěpán Němec, Sven Strickroth, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, and Ville Skyttä. Git 2.14 Release Notes (draft) == Backward compatibility notes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. * The experiment to improve the hunk-boundary selection of textual diff output has finished, and the "indent heuristics" has now become the default. Updates since v2.13 --- UI, Workflows & Features * The colors in which "git status --short --branch" showed the names of the current branch and its remote-tracking branch are now configurable. * "git clone" learned the "--no-tags" option not to fetch all tags initially, and also set up the tagopt not to follow any tags in subsequent fetches. * "git archive --format=zip" learned to use zip64 extension when necessary to go beyond the 4GB limit. * "git reset" learned "--recurse-submodules" option. * "git diff --submodule=diff" now recurses into nested submodules. * "git repack" learned to accept the --threads= option and pass it to pack-objects. * "git send-email" learned to run sendemail-validate hook to inspect and reject a message before sending it out. * There is no good reason why "git fetch $there $sha1" should fail when the $sha1 names an object at the tip of an advertised ref, even when the other side hasn't enabled allowTipSHA1InWant. * The recently introduced "[includeIf "gitdir:$dir"] path=..." mechanism has further been taught to take symlinks into account. The directory "$dir" specified in "gitdir:$dir" may be a symlink to a real location, not something that $(getcwd) may return. In such a case, a realpath of "$dir" is compared with the real path of the current repository to determine if the contents from the named path should be included. * Make the "indent" heuristics the default in "diff" and diff.indentHeuristics configuration variable an escape hatch for those who do no want it. * Many commands learned to pay attention to submodule.recurse configuration. * The convention for a command line is to follow "git cmdname --options" with revisions followed by an optional "--" disambiguator and then finally pathspecs. When "--" is not there, we make sure early ones are all interpretable as revs (and do not look like paths) and later ones are the other way around. A pat
[ANNOUNCE] Git v2.14.0-rc0
An early preview release Git v2.14.0-rc0 is now available for testing at the usual places. It is comprised of 675 non-merge commits since v2.13.0, contributed by 53 people, 14 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.14.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git New contributors whose contributions weren't in v2.13.0 are as follows. Welcome to the Git development community! A. Wilcox, Ben Peart, Brian Malehorn, James Clarke, Jeff Smith, Kaartic Sivaraam, Liam Beguin, Phillip Wood, Rikard Falkeborn, Sahil Dua, Samuel Lijin, Stephen Kent, Tyler Brazier, and xiaoqiang zhao. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alejandro R. Sedeño, Andreas Heiduk, Beat Bolli, Brandon Williams, brian m. carlson, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Eric Wong, Jean-Noel Avila, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Kyle Meyer, Lars Schneider, Marc Branchaud, Michael Haggerty, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Prathamesh Chavan, Ralf Thielow, Ramsay Jones, René Scharfe, Stefan Beller, Štěpán Němec, Sven Strickroth, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, and Ville Skyttä. Git 2.14 Release Notes (draft) == Backward compatibility notes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. * The experiment to improve the hunk-boundary selection of textual diff output has finished, and the "indent heuristics" has now become the default. Updates since v2.13 --- UI, Workflows & Features * The colors in which "git status --short --branch" showed the names of the current branch and its remote-tracking branch are now configurable. * "git clone" learned the "--no-tags" option not to fetch all tags initially, and also set up the tagopt not to follow any tags in subsequent fetches. * "git archive --format=zip" learned to use zip64 extension when necessary to go beyond the 4GB limit. * "git reset" learned "--recurse-submodules" option. * "git diff --submodule=diff" now recurses into nested submodules. * "git repack" learned to accept the --threads= option and pass it to pack-objects. * "git send-email" learned to run sendemail-validate hook to inspect and reject a message before sending it out. * There is no good reason why "git fetch $there $sha1" should fail when the $sha1 names an object at the tip of an advertised ref, even when the other side hasn't enabled allowTipSHA1InWant. * The recently introduced "[includeIf "gitdir:$dir"] path=..." mechanism has further been taught to take symlinks into account. The directory "$dir" specified in "gitdir:$dir" may be a symlink to a real location, not something that $(getcwd) may return. In such a case, a realpath of "$dir" is compared with the real path of the current repository to determine if the contents from the named path should be included. * Make the "indent" heuristics the default in "diff" and diff.indentHeuristics configuration variable an escape hatch for those who do no want it. * Many commands learned to pay attention to submodule.recurse configuration. * The convention for a command line is to follow "git cmdname --options" with revisions followed by an optional "--" disambiguator and then finally pathspecs. When "--" is not there, we make sure early ones are all interpretable as revs (and do not look like paths) and later ones are the other way around. A pat
[ANNOUNCE] Git v2.13.3
The latest maintenance release Git v2.13.3 is now available at the usual places. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.13.3' tag and the 'maint' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git Git v2.13.3 Release Notes = Fixes since v2.13.2 --- * The "collision detecting" SHA-1 implementation shipped with 2.13.2 was still broken on some platforms. Update to the upstream code again to take their fix. * The 'diff-highlight' program (in contrib/) has been restructured for easier reuse by an external project 'diff-so-fancy'. * "git mergetool" learned to work around a wrapper MacOS X adds around underlying meld. * An example in documentation that does not work in multi worktree configuration has been corrected. * The pretty-format specifiers like '%h', '%t', etc. had an optimization that no longer works correctly. In preparation/hope of getting it correctly implemented, first discard the optimization that is broken. * The code to pick up and execute command alias definition from the configuration used to switch to the top of the working tree and then come back when the expanded alias was executed, which was unnecessarilyl complex. Attempt to simplify the logic by using the early-config mechanism that does not chdir around. * "git add -p" were updated in 2.12 timeframe to cope with custom core.commentchar but the implementation was buggy and a metacharacter like $ and * did not work. * Fix a recent regression to "git rebase -i" and add tests that would have caught it and others. * An unaligned 32-bit access in pack-bitmap code ahs been corrected. * Tighten error checks for invalid "git apply" input. * The split index code did not honor core.sharedrepository setting correctly. * The Makefile rule in contrib/subtree for building documentation learned to honour USE_ASCIIDOCTOR just like the main documentation set does. * A few tests that tried to verify the contents of push certificates did not use 'git rev-parse' to formulate the line to look for in the certificate correctly. * After "git branch --move" of the currently checked out branch, the code to walk the reflog of HEAD via "log -g" and friends incorrectly stopped at the reflog entry that records the renaming of the branch. * The rewrite of "git branch --list" using for-each-ref's internals that happened in v2.13 regressed its handling of color.branch.local; this has been fixed. Also contains various documentation updates and code clean-ups. Changes since v2.13.2 are as follows: 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 Prepar
[ANNOUNCE] Git v2.13.3
The latest maintenance release Git v2.13.3 is now available at the usual places. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.13.3' tag and the 'maint' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = https://github.com/gitster/git Git v2.13.3 Release Notes = Fixes since v2.13.2 --- * The "collision detecting" SHA-1 implementation shipped with 2.13.2 was still broken on some platforms. Update to the upstream code again to take their fix. * The 'diff-highlight' program (in contrib/) has been restructured for easier reuse by an external project 'diff-so-fancy'. * "git mergetool" learned to work around a wrapper MacOS X adds around underlying meld. * An example in documentation that does not work in multi worktree configuration has been corrected. * The pretty-format specifiers like '%h', '%t', etc. had an optimization that no longer works correctly. In preparation/hope of getting it correctly implemented, first discard the optimization that is broken. * The code to pick up and execute command alias definition from the configuration used to switch to the top of the working tree and then come back when the expanded alias was executed, which was unnecessarilyl complex. Attempt to simplify the logic by using the early-config mechanism that does not chdir around. * "git add -p" were updated in 2.12 timeframe to cope with custom core.commentchar but the implementation was buggy and a metacharacter like $ and * did not work. * Fix a recent regression to "git rebase -i" and add tests that would have caught it and others. * An unaligned 32-bit access in pack-bitmap code ahs been corrected. * Tighten error checks for invalid "git apply" input. * The split index code did not honor core.sharedrepository setting correctly. * The Makefile rule in contrib/subtree for building documentation learned to honour USE_ASCIIDOCTOR just like the main documentation set does. * A few tests that tried to verify the contents of push certificates did not use 'git rev-parse' to formulate the line to look for in the certificate correctly. * After "git branch --move" of the currently checked out branch, the code to walk the reflog of HEAD via "log -g" and friends incorrectly stopped at the reflog entry that records the renaming of the branch. * The rewrite of "git branch --list" using for-each-ref's internals that happened in v2.13 regressed its handling of color.branch.local; this has been fixed. Also contains various documentation updates and code clean-ups. Changes since v2.13.2 are as follows: 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 Prepar
[ANNOUNCE] Git v2.13.2
h" 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
[ANNOUNCE] Git v2.13.2
h" 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
[ANNOUNCE] Git v2.13.1
, causing intermittent test failures. This has been fixed by disabling traces from "receive-pack" in the test. * "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no slashes in it, cannot be a nickname for a remote on Windows, as that is likely to be a pathname on a local filesystem. * The "collision detecting" SHA-1 implementation shipped with 2.13 was quite broken on some big-endian platforms and/or platforms that do not like unaligned fetches. Update to the upstream code which has already fixed these issues. * "git am -h" triggered a BUG(). * The interaction of "url.*.insteadOf" and custom URL scheme's whitelisting is now documented better. Also contains various documentation updates and code clean-ups. Changes since v2.13.0 are as follows: 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-Noel 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" ste
[ANNOUNCE] Git v2.13.1
, causing intermittent test failures. This has been fixed by disabling traces from "receive-pack" in the test. * "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no slashes in it, cannot be a nickname for a remote on Windows, as that is likely to be a pathname on a local filesystem. * The "collision detecting" SHA-1 implementation shipped with 2.13 was quite broken on some big-endian platforms and/or platforms that do not like unaligned fetches. Update to the upstream code which has already fixed these issues. * "git am -h" triggered a BUG(). * The interaction of "url.*.insteadOf" and custom URL scheme's whitelisting is now documented better. Also contains various documentation updates and code clean-ups. Changes since v2.13.0 are as follows: 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-Noel 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" ste
[ANNOUNCE] Git v2.12.3 and others
Maintenance releases Git v2.4.12, v2.5.6, v2.6.7, v2.7.5, v2.8.5, v2.9.4, v2.10.3, v2.11.2, and v2.12.3 have been tagged and are now available at the usual places. These are primarily to fix a recently disclosed problem with "git shell", which may allow a user who comes over SSH to run an interactive pager by causing it to spawn "git upload-pack --help" (CVE-2017-8386). Some (like v2.12.3) have other fixes that have been accumulating included as well. "git-shell" is a restricted login shell that can be used on a server to prevent SSH clients from running any programs except those needed for git fetches and pushes. If you are not running a server, or if your server has not been explicitly configured to use git-shell as a login shell, you are not affected. Also note that sites running "git shell" behind gitolite are NOT vulnerable. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of these tags: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git
[ANNOUNCE] Git v2.12.3 and others
Maintenance releases Git v2.4.12, v2.5.6, v2.6.7, v2.7.5, v2.8.5, v2.9.4, v2.10.3, v2.11.2, and v2.12.3 have been tagged and are now available at the usual places. These are primarily to fix a recently disclosed problem with "git shell", which may allow a user who comes over SSH to run an interactive pager by causing it to spawn "git upload-pack --help" (CVE-2017-8386). Some (like v2.12.3) have other fixes that have been accumulating included as well. "git-shell" is a restricted login shell that can be used on a server to prevent SSH clients from running any programs except those needed for git fetches and pushes. If you are not running a server, or if your server has not been explicitly configured to use git-shell as a login shell, you are not affected. Also note that sites running "git shell" behind gitolite are NOT vulnerable. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of these tags: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git
[ANNOUNCE] Git v2.13.0
The latest feature release Git v2.13.0 is now available at the usual places. It is comprised of 729 non-merge commits since v2.12.0, contributed by 65 people, 15 of which are new faces. This release also contains the security patch in v2.12.3 and others to fix CVE-2017-8386. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.13.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.12.0 are as follows. Welcome to the Git development community! Allan Xavier, Andreas Heiduk, Devin J. Pohly, Devin Lehmacher, Hiroshi Shirosaki, Johan Hovold, Maxim Moseychuk, Mostyn Bramley-Moore, Prathamesh Chavan, Quentin Pradet, René Genz, Segev Finer, Sergey Ryazanov, Stephen Hicks, and Valery Tolstov. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Brandon Williams, brian m. carlson, Christian Couder, Cornelius Weig, David Aguilar, David Turner, Eric Wong, Giuseppe Bilotta, Jacob Keller, Jean-Noel Avila, Jeff Hostetler, Jeff King, Jiang Xin, Johannes Schindelin, Jonathan Nieder, Jonathan Tan, Jordi Mas, Junio C Hamano, Karthik Nayak, Kevin Willford, Kyle Meyer, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Michael Haggerty, Michael J Gruber, Michael Rappazzo, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Peter Krefting, Ralf Thielow, Ramsay Jones, Ray Chen, René Scharfe, Ross Lagerwall, Santiago Torres, Sebastian Schuberth, Simon Ruderich, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, Vasco Almeida, and Vegard Nossum. Git 2.13 Release Notes == Backward compatibility notes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and is now removed. * The default location "~/.git-credential-cache/socket" for the socket used to communicate with the credential-cache daemon has been moved to "~/.cache/git/credential/socket". * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. Updates since v2.12 --- UI, Workflows & Features * "git describe" and "git name-rev" have been taught to take more than one refname patterns to restrict the set of refs to base their naming output on, and also learned to take negative patterns to name refs not to be used for naming via their "--exclude" option. * Deletion of a branch "foo/bar" could remove .git/refs/heads/foo once there no longer is any other branch whose name begins with "foo/", but we didn't do so so far. Now we do. * When "git merge" detects a path that is renamed in one history while the other history deleted (or modified) it, it now reports both paths to help the user understand what is going on in the two histories being merged. * The part in "http.." configuration variable can now be spelled with '*' that serves as wildcard. E.g. "http.https://*.example.com.proxy; can be used to specify the proxy used for https://a.example.com, https://b.example.com, etc., i.e. any host in the example.com domain. * "git tag" did not leave useful message when adding a new entry to reflog; this was left unnoticed for a long time because refs/tags/* doesn't keep reflog by default. * The "negative" pathspec feature was somewhat more cumbersome to use than necessary in that its short-hand used "!" which needed to be escaped from shells, and it required "exclude from what?" specified. * The command line options for ssh invocation needs to be tweaked for some implementations of SSH (e.g. Pu
[ANNOUNCE] Git v2.13.0
The latest feature release Git v2.13.0 is now available at the usual places. It is comprised of 729 non-merge commits since v2.12.0, contributed by 65 people, 15 of which are new faces. This release also contains the security patch in v2.12.3 and others to fix CVE-2017-8386. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.13.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.12.0 are as follows. Welcome to the Git development community! Allan Xavier, Andreas Heiduk, Devin J. Pohly, Devin Lehmacher, Hiroshi Shirosaki, Johan Hovold, Maxim Moseychuk, Mostyn Bramley-Moore, Prathamesh Chavan, Quentin Pradet, René Genz, Segev Finer, Sergey Ryazanov, Stephen Hicks, and Valery Tolstov. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Brandon Williams, brian m. carlson, Christian Couder, Cornelius Weig, David Aguilar, David Turner, Eric Wong, Giuseppe Bilotta, Jacob Keller, Jean-Noel Avila, Jeff Hostetler, Jeff King, Jiang Xin, Johannes Schindelin, Jonathan Nieder, Jonathan Tan, Jordi Mas, Junio C Hamano, Karthik Nayak, Kevin Willford, Kyle Meyer, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Michael Haggerty, Michael J Gruber, Michael Rappazzo, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Peter Krefting, Ralf Thielow, Ramsay Jones, Ray Chen, René Scharfe, Ross Lagerwall, Santiago Torres, Sebastian Schuberth, Simon Ruderich, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, Vasco Almeida, and Vegard Nossum. Git 2.13 Release Notes == Backward compatibility notes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and is now removed. * The default location "~/.git-credential-cache/socket" for the socket used to communicate with the credential-cache daemon has been moved to "~/.cache/git/credential/socket". * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. Updates since v2.12 --- UI, Workflows & Features * "git describe" and "git name-rev" have been taught to take more than one refname patterns to restrict the set of refs to base their naming output on, and also learned to take negative patterns to name refs not to be used for naming via their "--exclude" option. * Deletion of a branch "foo/bar" could remove .git/refs/heads/foo once there no longer is any other branch whose name begins with "foo/", but we didn't do so so far. Now we do. * When "git merge" detects a path that is renamed in one history while the other history deleted (or modified) it, it now reports both paths to help the user understand what is going on in the two histories being merged. * The part in "http.." configuration variable can now be spelled with '*' that serves as wildcard. E.g. "http.https://*.example.com.proxy; can be used to specify the proxy used for https://a.example.com, https://b.example.com, etc., i.e. any host in the example.com domain. * "git tag" did not leave useful message when adding a new entry to reflog; this was left unnoticed for a long time because refs/tags/* doesn't keep reflog by default. * The "negative" pathspec feature was somewhat more cumbersome to use than necessary in that its short-hand used "!" which needed to be escaped from shells, and it required "exclude from what?" specified. * The command line options for ssh invocation needs to be tweaked for some implementations of SSH (e.g. Pu
[ANNOUNCE] Git v2.13.0-rc2
A release candidate Git v2.13.0-rc2 is now available for testing at the usual places. It is comprised of 699 non-merge commits since v2.12.0, contributed by 59 people, 15 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.13.0-rc2' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.12.0 are as follows. Welcome to the Git development community! Allan Xavier, Andreas Heiduk, Devin J. Pohly, Devin Lehmacher, Hiroshi Shirosaki, Johan Hovold, Maxim Moseychuk, Mostyn Bramley-Moore, Prathamesh Chavan, Quentin Pradet, René Genz, Segev Finer, Sergey Ryazanov, Stephen Hicks, and Valery Tolstov. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alex Henrie, Brandon Williams, brian m. carlson, Christian Couder, Cornelius Weig, David Aguilar, David Turner, Eric Wong, Giuseppe Bilotta, Jacob Keller, Jean-Noel Avila, Jeff Hostetler, Jeff King, Johannes Schindelin, Jonathan Nieder, Jonathan Tan, Junio C Hamano, Karthik Nayak, Kevin Willford, Kyle Meyer, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Michael Haggerty, Michael J Gruber, Michael Rappazzo, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Peter Krefting, Ralf Thielow, Ramsay Jones, René Scharfe, Ross Lagerwall, Santiago Torres, Sebastian Schuberth, Simon Ruderich, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, and Vegard Nossum. Git 2.13 Release Notes (draft) == Backward compatibility notes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and is now removed. * The default location "~/.git-credential-cache/socket" for the socket used to communicate with the credential-cache daemon has been moved to "~/.cache/git/credential/socket". * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. Updates since v2.12 --- UI, Workflows & Features * "git describe" and "git name-rev" have been taught to take more than one refname patterns to restrict the set of refs to base their naming output on, and also learned to take negative patterns to name refs not to be used for naming via their "--exclude" option. * Deletion of a branch "foo/bar" could remove .git/refs/heads/foo once there no longer is any other branch whose name begins with "foo/", but we didn't do so so far. Now we do. * When "git merge" detects a path that is renamed in one history while the other history deleted (or modified) it, it now reports both paths to help the user understand what is going on in the two histories being merged. * The part in "http.." configuration variable can now be spelled with '*' that serves as wildcard. E.g. "http.https://*.example.com.proxy; can be used to specify the proxy used for https://a.example.com, https://b.example.com, etc., i.e. any host in the example.com domain. * "git tag" did not leave useful message when adding a new entry to reflog; this was left unnoticed for a long time because refs/tags/* doesn't keep reflog by default. * The "negative" pathspec feature was somewhat more cumbersome to use than necessary in that its short-hand used "!" which needed to be escaped from shells, and it required "exclude from what?" specified. * The command line options for ssh invocation needs to be tweaked for some implementations of SSH (e.g. PuTTY plink wants "-P " while OpenSSH wants "-p " to specify port to connect to), and the variant was guessed when GIT_S
[ANNOUNCE] Git v2.13.0-rc2
A release candidate Git v2.13.0-rc2 is now available for testing at the usual places. It is comprised of 699 non-merge commits since v2.12.0, contributed by 59 people, 15 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.13.0-rc2' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.12.0 are as follows. Welcome to the Git development community! Allan Xavier, Andreas Heiduk, Devin J. Pohly, Devin Lehmacher, Hiroshi Shirosaki, Johan Hovold, Maxim Moseychuk, Mostyn Bramley-Moore, Prathamesh Chavan, Quentin Pradet, René Genz, Segev Finer, Sergey Ryazanov, Stephen Hicks, and Valery Tolstov. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alex Henrie, Brandon Williams, brian m. carlson, Christian Couder, Cornelius Weig, David Aguilar, David Turner, Eric Wong, Giuseppe Bilotta, Jacob Keller, Jean-Noel Avila, Jeff Hostetler, Jeff King, Johannes Schindelin, Jonathan Nieder, Jonathan Tan, Junio C Hamano, Karthik Nayak, Kevin Willford, Kyle Meyer, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Michael Haggerty, Michael J Gruber, Michael Rappazzo, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Peter Krefting, Ralf Thielow, Ramsay Jones, René Scharfe, Ross Lagerwall, Santiago Torres, Sebastian Schuberth, Simon Ruderich, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, and Vegard Nossum. Git 2.13 Release Notes (draft) == Backward compatibility notes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and is now removed. * The default location "~/.git-credential-cache/socket" for the socket used to communicate with the credential-cache daemon has been moved to "~/.cache/git/credential/socket". * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. Updates since v2.12 --- UI, Workflows & Features * "git describe" and "git name-rev" have been taught to take more than one refname patterns to restrict the set of refs to base their naming output on, and also learned to take negative patterns to name refs not to be used for naming via their "--exclude" option. * Deletion of a branch "foo/bar" could remove .git/refs/heads/foo once there no longer is any other branch whose name begins with "foo/", but we didn't do so so far. Now we do. * When "git merge" detects a path that is renamed in one history while the other history deleted (or modified) it, it now reports both paths to help the user understand what is going on in the two histories being merged. * The part in "http.." configuration variable can now be spelled with '*' that serves as wildcard. E.g. "http.https://*.example.com.proxy; can be used to specify the proxy used for https://a.example.com, https://b.example.com, etc., i.e. any host in the example.com domain. * "git tag" did not leave useful message when adding a new entry to reflog; this was left unnoticed for a long time because refs/tags/* doesn't keep reflog by default. * The "negative" pathspec feature was somewhat more cumbersome to use than necessary in that its short-hand used "!" which needed to be escaped from shells, and it required "exclude from what?" specified. * The command line options for ssh invocation needs to be tweaked for some implementations of SSH (e.g. PuTTY plink wants "-P " while OpenSSH wants "-p " to specify port to connect to), and the variant was guessed when GIT_S
[ANNOUNCE] Git v2.13.0-rc1
A release candidate Git v2.13.0-rc1 is now available for testing at the usual places. It is comprised of 684 non-merge commits since v2.12.0, contributed by 54 people, 13 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.13.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.12.0 are as follows. Welcome to the Git development community! Allan Xavier, Andreas Heiduk, Devin J. Pohly, Devin Lehmacher, Hiroshi Shirosaki, Johan Hovold, Maxim Moseychuk, Mostyn Bramley-Moore, Prathamesh Chavan, Quentin Pradet, Segev Finer, Sergey Ryazanov, and Valery Tolstov. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alex Henrie, Brandon Williams, brian m. carlson, Christian Couder, Cornelius Weig, David Aguilar, David Turner, Eric Wong, Giuseppe Bilotta, Jacob Keller, Jeff Hostetler, Jeff King, Johannes Schindelin, Jonathan Nieder, Jonathan Tan, Junio C Hamano, Karthik Nayak, Kevin Willford, Kyle Meyer, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Michael Haggerty, Michael J Gruber, Michael Rappazzo, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Ralf Thielow, Ramsay Jones, René Scharfe, Ross Lagerwall, Santiago Torres, Sebastian Schuberth, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, and Vegard Nossum. Git 2.13 Release Notes (draft) == Backward compatibility notes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and is now removed. * The default location "~/.git-credential-cache/socket" for the socket used to communicate with the credential-cache daemon has been moved to "~/.cache/git/credential/socket". * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. Updates since v2.12 --- UI, Workflows & Features * "git describe" and "git name-rev" have been taught to take more than one refname patterns to restrict the set of refs to base their naming output on, and also learned to take negative patterns to name refs not to be used for naming via their "--exclude" option. * Deletion of a branch "foo/bar" could remove .git/refs/heads/foo once there no longer is any other branch whose name begins with "foo/", but we didn't do so so far. Now we do. * When "git merge" detects a path that is renamed in one history while the other history deleted (or modified) it, it now reports both paths to help the user understand what is going on in the two histories being merged. * The part in "http.." configuration variable can now be spelled with '*' that serves as wildcard. E.g. "http.https://*.example.com.proxy; can be used to specify the proxy used for https://a.example.com, https://b.example.com, etc., i.e. any host in the example.com domain. * "git tag" did not leave useful message when adding a new entry to reflog; this was left unnoticed for a long time because refs/tags/* doesn't keep reflog by default. * The "negative" pathspec feature was somewhat more cumbersome to use than necessary in that its short-hand used "!" which needed to be escaped from shells, and it required "exclude from what?" specified. * The command line options for ssh invocation needs to be tweaked for some implementations of SSH (e.g. PuTTY plink wants "-P " while OpenSSH wants "-p " to specify port to connect to), and the variant was guessed when GIT_SSH environment variable is used to specify it. The logic to guess now ap
[ANNOUNCE] Git v2.13.0-rc1
A release candidate Git v2.13.0-rc1 is now available for testing at the usual places. It is comprised of 684 non-merge commits since v2.12.0, contributed by 54 people, 13 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.13.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.12.0 are as follows. Welcome to the Git development community! Allan Xavier, Andreas Heiduk, Devin J. Pohly, Devin Lehmacher, Hiroshi Shirosaki, Johan Hovold, Maxim Moseychuk, Mostyn Bramley-Moore, Prathamesh Chavan, Quentin Pradet, Segev Finer, Sergey Ryazanov, and Valery Tolstov. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alex Henrie, Brandon Williams, brian m. carlson, Christian Couder, Cornelius Weig, David Aguilar, David Turner, Eric Wong, Giuseppe Bilotta, Jacob Keller, Jeff Hostetler, Jeff King, Johannes Schindelin, Jonathan Nieder, Jonathan Tan, Junio C Hamano, Karthik Nayak, Kevin Willford, Kyle Meyer, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Michael Haggerty, Michael J Gruber, Michael Rappazzo, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Ralf Thielow, Ramsay Jones, René Scharfe, Ross Lagerwall, Santiago Torres, Sebastian Schuberth, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, and Vegard Nossum. Git 2.13 Release Notes (draft) == Backward compatibility notes. * Use of an empty string as a pathspec element that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and is now removed. * The default location "~/.git-credential-cache/socket" for the socket used to communicate with the credential-cache daemon has been moved to "~/.cache/git/credential/socket". * Git now avoids blindly falling back to ".git" when the setup sequence said we are _not_ in Git repository. A corner case that happens to work right now may be broken by a call to die("BUG"). We've tried hard to locate such cases and fixed them, but there might still be cases that need to be addressed--bug reports are greatly appreciated. Updates since v2.12 --- UI, Workflows & Features * "git describe" and "git name-rev" have been taught to take more than one refname patterns to restrict the set of refs to base their naming output on, and also learned to take negative patterns to name refs not to be used for naming via their "--exclude" option. * Deletion of a branch "foo/bar" could remove .git/refs/heads/foo once there no longer is any other branch whose name begins with "foo/", but we didn't do so so far. Now we do. * When "git merge" detects a path that is renamed in one history while the other history deleted (or modified) it, it now reports both paths to help the user understand what is going on in the two histories being merged. * The part in "http.." configuration variable can now be spelled with '*' that serves as wildcard. E.g. "http.https://*.example.com.proxy; can be used to specify the proxy used for https://a.example.com, https://b.example.com, etc., i.e. any host in the example.com domain. * "git tag" did not leave useful message when adding a new entry to reflog; this was left unnoticed for a long time because refs/tags/* doesn't keep reflog by default. * The "negative" pathspec feature was somewhat more cumbersome to use than necessary in that its short-hand used "!" which needed to be escaped from shells, and it required "exclude from what?" specified. * The command line options for ssh invocation needs to be tweaked for some implementations of SSH (e.g. PuTTY plink wants "-P " while OpenSSH wants "-p " to specify port to connect to), and the variant was guessed when GIT_SSH environment variable is used to specify it. The logic to guess now ap
[ANNOUNCE] Git v2.12.2
th --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..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
[ANNOUNCE] Git v2.12.2
th --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..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
[ANNOUNCE] Git v2.12.1
The latest maintenance release Git v2.12.1 is now available at the usual places. The tarballs are NOT YET found at: https://www.kernel.org/pub/software/scm/git/ but hopefully will be in a few days (I am having trouble reaching there). The following public repositories all have a copy of the 'v2.12.1' tag and the 'maint' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v2.12.1 Release Notes = Fixes since v2.12 - * Reduce authentication round-trip over HTTP when the server supports just a single authentication method. This also improves the behaviour when Git is misconfigured to enable http.emptyAuth against a server that does not authenticate without a username (i.e. not using Kerberos etc., which makes http.emptyAuth pointless). * Windows port wants to use OpenSSL's implementation of SHA-1 routines, so let them. * Add 32-bit Linux variant to the set of platforms to be tested with Travis CI. * When a redirected http transport gets an error during the redirected request, we ignored the error we got from the server, and ended up giving a not-so-useful error message. * The patch subcommand of "git add -i" was meant to have paths selection prompt just like other subcommand, unlike "git add -p" directly jumps to hunk selection. Recently, this was broken and "add -i" lost the paths selection dialog, but it now has been fixed. * Git v2.12 was shipped with an embarrassing breakage where various operations that verify paths given from the user stopped dying when seeing an issue, and instead later triggering segfault. * The code to parse "git log -L..." command line was buggy when there are many ranges specified with -L; overrun of the allocated buffer has been fixed. * The command-line parsing of "git log -L" copied internal data structures using incorrect size on ILP32 systems. Also contains various documentation updates and code clean-ups. Changes since v2.12.0 are as follows: 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
[ANNOUNCE] Git v2.12.1
The latest maintenance release Git v2.12.1 is now available at the usual places. The tarballs are NOT YET found at: https://www.kernel.org/pub/software/scm/git/ but hopefully will be in a few days (I am having trouble reaching there). The following public repositories all have a copy of the 'v2.12.1' tag and the 'maint' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v2.12.1 Release Notes = Fixes since v2.12 - * Reduce authentication round-trip over HTTP when the server supports just a single authentication method. This also improves the behaviour when Git is misconfigured to enable http.emptyAuth against a server that does not authenticate without a username (i.e. not using Kerberos etc., which makes http.emptyAuth pointless). * Windows port wants to use OpenSSL's implementation of SHA-1 routines, so let them. * Add 32-bit Linux variant to the set of platforms to be tested with Travis CI. * When a redirected http transport gets an error during the redirected request, we ignored the error we got from the server, and ended up giving a not-so-useful error message. * The patch subcommand of "git add -i" was meant to have paths selection prompt just like other subcommand, unlike "git add -p" directly jumps to hunk selection. Recently, this was broken and "add -i" lost the paths selection dialog, but it now has been fixed. * Git v2.12 was shipped with an embarrassing breakage where various operations that verify paths given from the user stopped dying when seeing an issue, and instead later triggering segfault. * The code to parse "git log -L..." command line was buggy when there are many ranges specified with -L; overrun of the allocated buffer has been fixed. * The command-line parsing of "git log -L" copied internal data structures using incorrect size on ILP32 systems. Also contains various documentation updates and code clean-ups. Changes since v2.12.0 are as follows: 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
Re: [ANNOUNCE] Git v2.12.1
Junio C Hamano <gits...@pobox.com> writes: > The tarballs are NOT YET found at: > > https://www.kernel.org/pub/software/scm/git/ > > but hopefully will be in a few days (I am having trouble reaching > there). Now they are. Thanks.
Re: [ANNOUNCE] Git v2.12.1
Junio C Hamano writes: > The tarballs are NOT YET found at: > > https://www.kernel.org/pub/software/scm/git/ > > but hopefully will be in a few days (I am having trouble reaching > there). Now they are. Thanks.
Re: [ANNOUNCE] Git v2.12.0
Willy Tarreau <w...@1wt.eu> writes: > Hi Junio, > > On Fri, Feb 24, 2017 at 11:28:58AM -0800, Junio C Hamano wrote: >> * Use of an empty string that is used for 'everything matches' is >>still warned and Git asks users to use a more explicit '.' for that >>instead. The hope is that existing users will not mind this >>change, and eventually the warning can be turned into a hard error, >>upgrading the deprecation into removal of this (mis)feature. That >>is not scheduled to happen in the upcoming release (yet). > > FWIW '.' is not equivalent to '' when it comes to grep or such commands, I am amused and amazed ;-). The above is not about "grep" but was meant to describe "pathspec". We used to take "" as a pathspec element that means "every path matches", but recently started deprecating it and ask users to be more explicit by using "." (as a directory as a pathspec element matches everything inside the directory). We are not changing the pattern matching done by "git grep" or "log --grep". What is changing is that between the two that means the same thing: cd t/ && git log "" cd t/ && git log . the former is deprecated. I find it amusing that I have been writing the above in the draft release notes without realizing that I failed to say that it is about pathspec for quite some time, and without realizing that the above can be misinterpreted as if it is talking about grep patterns. And I find it amazing that it took this long for somebody to spot that misleading vagueness in this description and point it out. It should probably be updated to start like so: Use of an empty string as a pathspec element that is used for 'everything matches' is ... Thanks.
Re: [ANNOUNCE] Git v2.12.0
Willy Tarreau writes: > Hi Junio, > > On Fri, Feb 24, 2017 at 11:28:58AM -0800, Junio C Hamano wrote: >> * Use of an empty string that is used for 'everything matches' is >>still warned and Git asks users to use a more explicit '.' for that >>instead. The hope is that existing users will not mind this >>change, and eventually the warning can be turned into a hard error, >>upgrading the deprecation into removal of this (mis)feature. That >>is not scheduled to happen in the upcoming release (yet). > > FWIW '.' is not equivalent to '' when it comes to grep or such commands, I am amused and amazed ;-). The above is not about "grep" but was meant to describe "pathspec". We used to take "" as a pathspec element that means "every path matches", but recently started deprecating it and ask users to be more explicit by using "." (as a directory as a pathspec element matches everything inside the directory). We are not changing the pattern matching done by "git grep" or "log --grep". What is changing is that between the two that means the same thing: cd t/ && git log "" cd t/ && git log . the former is deprecated. I find it amusing that I have been writing the above in the draft release notes without realizing that I failed to say that it is about pathspec for quite some time, and without realizing that the above can be misinterpreted as if it is talking about grep patterns. And I find it amazing that it took this long for somebody to spot that misleading vagueness in this description and point it out. It should probably be updated to start like so: Use of an empty string as a pathspec element that is used for 'everything matches' is ... Thanks.
[ANNOUNCE] Git v2.12.0
The latest feature release Git v2.12.0 is now available at the usual places. It is comprised of 517 non-merge commits since v2.11.0, contributed by 80 people, 24 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.12.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.11.0 are as follows. Welcome to the Git development community! Alan Davies, Andreas Krey, Cornelius Weig, Damien Regad, David Pursehouse, Denton Liu, George Vanburgh, Igor Kushnir, Jack Bates, Joachim Jablon, Jordi Mas, Kristoffer Haugsbakk, Kyle Meyer, Luis Ressel, Lukas Puehringer, Markus Hitter, Peter Law, Rasmus Villemoes, Rogier Goossens, Stefan Dotterweich, Steven Penny, Vinicius Kursancew, Vladimir Panteleev, and Wolfram Sang. Returning contributors who helped this release are as follows. Thanks for your continued support. 마누엘, Alexander Shopov, Alex Henrie, Anthony Ramine, Beat Bolli, Brandon Williams, brian m. carlson, Changwoo Ryu, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Grégoire Paris, Heiko Voigt, Jacob Keller, Jean-Noel Avila, Jeff Hostetler, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Max Kirillov, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Paul Mackerras, Peter Krefting, Philip Oakley, Pranit Bauva, Ralf Thielow, Ramsay Jones, Ray Chen, René Scharfe, Richard Hansen, Santiago Torres, Satoshi Yasushima, Stefan Beller, Stephan Beyer, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, Vasco Almeida, Vegard Nossum, and Vitaly "_Vi" Shukela. Git 2.12 Release Notes == Backward compatibility notes. * Use of an empty string that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in a future release. * An ancient script "git relink" has been removed. Updates since v2.11 --- UI, Workflows & Features * Various updates to "git p4". * "git p4" didn't interact with the internal of .git directory correctly in the modern "git-worktree"-enabled world. * "git branch --list" and friends learned "--ignore-case" option to optionally sort branches and tags case insensitively. * In addition to %(subject), %(body), "log --pretty=format:..." learned a new placeholder %(trailers). * "git rebase" learned "--quit" option, which allows a user to remove the metadata left by an earlier "git rebase" that was manually aborted without using "git rebase --abort". * "git clone --reference $there --recurse-submodules $super" has been taught to guess repositories usable as references for submodules of $super that are embedded in $there while making a clone of the superproject borrow objects from $there; extend the mechanism to also allow submodules of these submodules to borrow repositories embedded in these clones of the submodules embedded in the clone of the superproject. * Porcelain scripts written in Perl are getting internationalized. * "git merge --continue" has been added as a synonym to "git commit" to conclude a merge that has stopped due to conflicts. * Finer-grained control of what protocols are allowed for transports during clone/fetch/push have been enabled via a new configuration mechanism. * "git shortlog" learned "--committer" option to group commits by committer, instead of author. * GitLFS integration with "git p4" has been updated. * The isatty() emulation for Windows has been updated to eradicate the previous hack that depended on internals of (older) MSVC runtime. * Some platforms no longer understand "latin-1" that is still seen in the wild in e-mail headers; replace them with "iso-8859-1" that is more widely
[ANNOUNCE] Git v2.12.0
The latest feature release Git v2.12.0 is now available at the usual places. It is comprised of 517 non-merge commits since v2.11.0, contributed by 80 people, 24 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.12.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.11.0 are as follows. Welcome to the Git development community! Alan Davies, Andreas Krey, Cornelius Weig, Damien Regad, David Pursehouse, Denton Liu, George Vanburgh, Igor Kushnir, Jack Bates, Joachim Jablon, Jordi Mas, Kristoffer Haugsbakk, Kyle Meyer, Luis Ressel, Lukas Puehringer, Markus Hitter, Peter Law, Rasmus Villemoes, Rogier Goossens, Stefan Dotterweich, Steven Penny, Vinicius Kursancew, Vladimir Panteleev, and Wolfram Sang. Returning contributors who helped this release are as follows. Thanks for your continued support. 마누엘, Alexander Shopov, Alex Henrie, Anthony Ramine, Beat Bolli, Brandon Williams, brian m. carlson, Changwoo Ryu, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Grégoire Paris, Heiko Voigt, Jacob Keller, Jean-Noel Avila, Jeff Hostetler, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Max Kirillov, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Paul Mackerras, Peter Krefting, Philip Oakley, Pranit Bauva, Ralf Thielow, Ramsay Jones, Ray Chen, René Scharfe, Richard Hansen, Santiago Torres, Satoshi Yasushima, Stefan Beller, Stephan Beyer, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, Vasco Almeida, Vegard Nossum, and Vitaly "_Vi" Shukela. Git 2.12 Release Notes == Backward compatibility notes. * Use of an empty string that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in a future release. * An ancient script "git relink" has been removed. Updates since v2.11 --- UI, Workflows & Features * Various updates to "git p4". * "git p4" didn't interact with the internal of .git directory correctly in the modern "git-worktree"-enabled world. * "git branch --list" and friends learned "--ignore-case" option to optionally sort branches and tags case insensitively. * In addition to %(subject), %(body), "log --pretty=format:..." learned a new placeholder %(trailers). * "git rebase" learned "--quit" option, which allows a user to remove the metadata left by an earlier "git rebase" that was manually aborted without using "git rebase --abort". * "git clone --reference $there --recurse-submodules $super" has been taught to guess repositories usable as references for submodules of $super that are embedded in $there while making a clone of the superproject borrow objects from $there; extend the mechanism to also allow submodules of these submodules to borrow repositories embedded in these clones of the submodules embedded in the clone of the superproject. * Porcelain scripts written in Perl are getting internationalized. * "git merge --continue" has been added as a synonym to "git commit" to conclude a merge that has stopped due to conflicts. * Finer-grained control of what protocols are allowed for transports during clone/fetch/push have been enabled via a new configuration mechanism. * "git shortlog" learned "--committer" option to group commits by committer, instead of author. * GitLFS integration with "git p4" has been updated. * The isatty() emulation for Windows has been updated to eradicate the previous hack that depended on internals of (older) MSVC runtime. * Some platforms no longer understand "latin-1" that is still seen in the wild in e-mail headers; replace them with "iso-8859-1" that is more widely
[ANNOUNCE] Git v2.12.0-rc2
A release candidate Git v2.12.0-rc2 is now available for testing at the usual places. It is comprised of 487 non-merge commits since v2.11.0, contributed by 67 people, 21 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.12.0-rc2' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.11.0 are as follows. Welcome to the Git development community! Alan Davies, Andreas Krey, Cornelius Weig, David Pursehouse, Denton Liu, George Vanburgh, Igor Kushnir, Jack Bates, Kristoffer Haugsbakk, Kyle Meyer, Luis Ressel, Lukas Puehringer, Markus Hitter, Peter Law, Rasmus Villemoes, Rogier Goossens, Stefan Dotterweich, Steven Penny, Vinicius Kursancew, Vladimir Panteleev, and Wolfram Sang. Returning contributors who helped this release are as follows. Thanks for your continued support. 마누엘, Alex Henrie, Beat Bolli, Brandon Williams, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Heiko Voigt, Jacob Keller, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Max Kirillov, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Paul Mackerras, Philip Oakley, Pranit Bauva, Ramsay Jones, René Scharfe, Richard Hansen, Santiago Torres, Satoshi Yasushima, Stefan Beller, Stephan Beyer, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Vasco Almeida, Vegard Nossum, and Vitaly "_Vi" Shukela. Git 2.12 Release Notes (draft) == Backward compatibility notes. * Use of an empty string that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in a future release. * An ancient script "git relink" has been removed. Updates since v2.11 --- UI, Workflows & Features * Various updates to "git p4". * "git p4" didn't interact with the internal of .git directory correctly in the modern "git-worktree"-enabled world. * "git branch --list" and friends learned "--ignore-case" option to optionally sort branches and tags case insensitively. * In addition to %(subject), %(body), "log --pretty=format:..." learned a new placeholder %(trailers). * "git rebase" learned "--quit" option, which allows a user to remove the metadata left by an earlier "git rebase" that was manually aborted without using "git rebase --abort". * "git clone --reference $there --recurse-submodules $super" has been taught to guess repositories usable as references for submodules of $super that are embedded in $there while making a clone of the superproject borrow objects from $there; extend the mechanism to also allow submodules of these submodules to borrow repositories embedded in these clones of the submodules embedded in the clone of the superproject. * Porcelain scripts written in Perl are getting internationalized. * "git merge --continue" has been added as a synonym to "git commit" to conclude a merge that has stopped due to conflicts. * Finer-grained control of what protocols are allowed for transports during clone/fetch/push have been enabled via a new configuration mechanism. * "git shortlog" learned "--committer" option to group commits by committer, instead of author. * GitLFS integration with "git p4" has been updated. * The isatty() emulation for Windows has been updated to eradicate the previous hack that depended on internals of (older) MSVC runtime. * Some platforms no longer understand "latin-1" that is still seen in the wild in e-mail headers; replace them with "iso-8859-1" that is more widely known when conversion fails from/to it. * "git grep" has been taught to optionally recurse into submodules. * "git rm" used to refus
[ANNOUNCE] Git v2.12.0-rc2
A release candidate Git v2.12.0-rc2 is now available for testing at the usual places. It is comprised of 487 non-merge commits since v2.11.0, contributed by 67 people, 21 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.12.0-rc2' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.11.0 are as follows. Welcome to the Git development community! Alan Davies, Andreas Krey, Cornelius Weig, David Pursehouse, Denton Liu, George Vanburgh, Igor Kushnir, Jack Bates, Kristoffer Haugsbakk, Kyle Meyer, Luis Ressel, Lukas Puehringer, Markus Hitter, Peter Law, Rasmus Villemoes, Rogier Goossens, Stefan Dotterweich, Steven Penny, Vinicius Kursancew, Vladimir Panteleev, and Wolfram Sang. Returning contributors who helped this release are as follows. Thanks for your continued support. 마누엘, Alex Henrie, Beat Bolli, Brandon Williams, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Heiko Voigt, Jacob Keller, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Max Kirillov, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Paul Mackerras, Philip Oakley, Pranit Bauva, Ramsay Jones, René Scharfe, Richard Hansen, Santiago Torres, Satoshi Yasushima, Stefan Beller, Stephan Beyer, SZEDER Gábor, Thomas Gummerer, Torsten Bögershausen, Vasco Almeida, Vegard Nossum, and Vitaly "_Vi" Shukela. Git 2.12 Release Notes (draft) == Backward compatibility notes. * Use of an empty string that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in a future release. * An ancient script "git relink" has been removed. Updates since v2.11 --- UI, Workflows & Features * Various updates to "git p4". * "git p4" didn't interact with the internal of .git directory correctly in the modern "git-worktree"-enabled world. * "git branch --list" and friends learned "--ignore-case" option to optionally sort branches and tags case insensitively. * In addition to %(subject), %(body), "log --pretty=format:..." learned a new placeholder %(trailers). * "git rebase" learned "--quit" option, which allows a user to remove the metadata left by an earlier "git rebase" that was manually aborted without using "git rebase --abort". * "git clone --reference $there --recurse-submodules $super" has been taught to guess repositories usable as references for submodules of $super that are embedded in $there while making a clone of the superproject borrow objects from $there; extend the mechanism to also allow submodules of these submodules to borrow repositories embedded in these clones of the submodules embedded in the clone of the superproject. * Porcelain scripts written in Perl are getting internationalized. * "git merge --continue" has been added as a synonym to "git commit" to conclude a merge that has stopped due to conflicts. * Finer-grained control of what protocols are allowed for transports during clone/fetch/push have been enabled via a new configuration mechanism. * "git shortlog" learned "--committer" option to group commits by committer, instead of author. * GitLFS integration with "git p4" has been updated. * The isatty() emulation for Windows has been updated to eradicate the previous hack that depended on internals of (older) MSVC runtime. * Some platforms no longer understand "latin-1" that is still seen in the wild in e-mail headers; replace them with "iso-8859-1" that is more widely known when conversion fails from/to it. * "git grep" has been taught to optionally recurse into submodules. * "git rm" used to refus
[ANNOUNCE] Git v2.12.0-rc1
A release candidate Git v2.12.0-rc1 is now available for testing at the usual places. It is comprised of 455 non-merge commits since v2.11.0, contributed by 65 people, 20 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.12.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.11.0 are as follows. Welcome to the Git development community! Alan Davies, Andreas Krey, Cornelius Weig, Denton Liu, George Vanburgh, Igor Kushnir, Jack Bates, Kristoffer Haugsbakk, Kyle Meyer, Luis Ressel, Lukas Puehringer, Markus Hitter, Peter Law, Rasmus Villemoes, Rogier Goossens, Stefan Dotterweich, Steven Penny, Vinicius Kursancew, Vladimir Panteleev, and Wolfram Sang. Returning contributors who helped this release are as follows. Thanks for your continued support. 마누엘, Alex Henrie, Beat Bolli, Brandon Williams, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Heiko Voigt, Jacob Keller, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Max Kirillov, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Paul Mackerras, Philip Oakley, Pranit Bauva, Ramsay Jones, René Scharfe, Richard Hansen, Santiago Torres, Satoshi Yasushima, Stefan Beller, Stephan Beyer, SZEDER Gábor, Torsten Bögershausen, Vasco Almeida, Vegard Nossum, and Vitaly "_Vi" Shukela. Git 2.12 Release Notes (draft) == Backward compatibility notes. * Use of an empty string that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in a future release. * An ancient script "git relink" has been removed. Updates since v2.11 --- UI, Workflows & Features * Various updates to "git p4". * "git p4" didn't interact with the internal of .git directory correctly in the modern "git-worktree"-enabled world. * "git branch --list" and friends learned "--ignore-case" option to optionally sort branches and tags case insensitively. * In addition to %(subject), %(body), "log --pretty=format:..." learned a new placeholder %(trailers). * "git rebase" learned "--quit" option, which allows a user to remove the metadata left by an earlier "git rebase" that was manually aborted without using "git rebase --abort". * "git clone --reference $there --recurse-submodules $super" has been taught to guess repositories usable as references for submodules of $super that are embedded in $there while making a clone of the superproject borrow objects from $there; extend the mechanism to also allow submodules of these submodules to borrow repositories embedded in these clones of the submodules embedded in the clone of the superproject. * Porcelain scripts written in Perl are getting internationalized. * "git merge --continue" has been added as a synonym to "git commit" to conclude a merge that has stopped due to conflicts. * Finer-grained control of what protocols are allowed for transports during clone/fetch/push have been enabled via a new configuration mechanism. * "git shortlog" learned "--committer" option to group commits by committer, instead of author. * GitLFS integration with "git p4" has been updated. * The isatty() emulation for Windows has been updated to eradicate the previous hack that depended on internals of (older) MSVC runtime. * Some platforms no longer understand "latin-1" that is still seen in the wild in e-mail headers; replace them with "iso-8859-1" that is more widely known when conversion fails from/to it. * "git grep" has been taught to optionally recurse into submodules. * "git rm" used to refuse to remove a submodule when it has i
[ANNOUNCE] Git v2.12.0-rc1
A release candidate Git v2.12.0-rc1 is now available for testing at the usual places. It is comprised of 455 non-merge commits since v2.11.0, contributed by 65 people, 20 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.12.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.11.0 are as follows. Welcome to the Git development community! Alan Davies, Andreas Krey, Cornelius Weig, Denton Liu, George Vanburgh, Igor Kushnir, Jack Bates, Kristoffer Haugsbakk, Kyle Meyer, Luis Ressel, Lukas Puehringer, Markus Hitter, Peter Law, Rasmus Villemoes, Rogier Goossens, Stefan Dotterweich, Steven Penny, Vinicius Kursancew, Vladimir Panteleev, and Wolfram Sang. Returning contributors who helped this release are as follows. Thanks for your continued support. 마누엘, Alex Henrie, Beat Bolli, Brandon Williams, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Heiko Voigt, Jacob Keller, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Max Kirillov, Mike Hommey, Nguyễn Thái Ngọc Duy, Patrick Steinhardt, Paul Mackerras, Philip Oakley, Pranit Bauva, Ramsay Jones, René Scharfe, Richard Hansen, Santiago Torres, Satoshi Yasushima, Stefan Beller, Stephan Beyer, SZEDER Gábor, Torsten Bögershausen, Vasco Almeida, Vegard Nossum, and Vitaly "_Vi" Shukela. Git 2.12 Release Notes (draft) == Backward compatibility notes. * Use of an empty string that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in a future release. * An ancient script "git relink" has been removed. Updates since v2.11 --- UI, Workflows & Features * Various updates to "git p4". * "git p4" didn't interact with the internal of .git directory correctly in the modern "git-worktree"-enabled world. * "git branch --list" and friends learned "--ignore-case" option to optionally sort branches and tags case insensitively. * In addition to %(subject), %(body), "log --pretty=format:..." learned a new placeholder %(trailers). * "git rebase" learned "--quit" option, which allows a user to remove the metadata left by an earlier "git rebase" that was manually aborted without using "git rebase --abort". * "git clone --reference $there --recurse-submodules $super" has been taught to guess repositories usable as references for submodules of $super that are embedded in $there while making a clone of the superproject borrow objects from $there; extend the mechanism to also allow submodules of these submodules to borrow repositories embedded in these clones of the submodules embedded in the clone of the superproject. * Porcelain scripts written in Perl are getting internationalized. * "git merge --continue" has been added as a synonym to "git commit" to conclude a merge that has stopped due to conflicts. * Finer-grained control of what protocols are allowed for transports during clone/fetch/push have been enabled via a new configuration mechanism. * "git shortlog" learned "--committer" option to group commits by committer, instead of author. * GitLFS integration with "git p4" has been updated. * The isatty() emulation for Windows has been updated to eradicate the previous hack that depended on internals of (older) MSVC runtime. * Some platforms no longer understand "latin-1" that is still seen in the wild in e-mail headers; replace them with "iso-8859-1" that is more widely known when conversion fails from/to it. * "git grep" has been taught to optionally recurse into submodules. * "git rm" used to refuse to remove a submodule when it has i
[ANNOUNCE] Git v2.12.0-rc0
An early preview release Git v2.12.0-rc0 is now available for testing at the usual places. It is comprised of 441 non-merge commits since v2.11.0, contributed by 63 people, 19 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.12.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.11.0 are as follows. Welcome to the Git development community! Alan Davies, Andreas Krey, Cornelius Weig, George Vanburgh, Igor Kushnir, Jack Bates, Kristoffer Haugsbakk, Kyle Meyer, Luis Ressel, Lukas Puehringer, Markus Hitter, Peter Law, Rasmus Villemoes, Rogier Goossens, Stefan Dotterweich, Steven Penny, Vinicius Kursancew, Vladimir Panteleev, and Wolfram Sang. Returning contributors who helped this release are as follows. Thanks for your continued support. 마누엘, Alex Henrie, Beat Bolli, Brandon Williams, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Heiko Voigt, Jacob Keller, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Max Kirillov, Mike Hommey, Nguyễn Thái Ngọc Duy, Paul Mackerras, Philip Oakley, Pranit Bauva, Ramsay Jones, René Scharfe, Richard Hansen, Santiago Torres, Satoshi Yasushima, Stefan Beller, Stephan Beyer, SZEDER Gábor, Torsten Bögershausen, Vasco Almeida, Vegard Nossum, and Vitaly "_Vi" Shukela. Git 2.12 Release Notes (draft) == Backward compatibility notes. * Use of an empty string that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in a future release. * An ancient script "git relink" has been removed. Updates since v2.11 --- UI, Workflows & Features * Various updates to "git p4". * "git p4" didn't interact with the internal of .git directory correctly in the modern "git-worktree"-enabled world. * "git branch --list" and friends learned "--ignore-case" option to optionally sort branches and tags case insensitively. * In addition to %(subject), %(body), "log --pretty=format:..." learned a new placeholder %(trailers). * "git rebase" learned "--quit" option, which allows a user to remove the metadata left by an earlier "git rebase" that was manually aborted without using "git rebase --abort". * "git clone --reference $there --recurse-submodules $super" has been taught to guess repositories usable as references for submodules of $super that are embedded in $there while making a clone of the superproject borrow objects from $there; extend the mechanism to also allow submodules of these submodules to borrow repositories embedded in these clones of the submodules embedded in the clone of the superproject. * Porcelain scripts written in Perl are getting internationalized. * "git merge --continue" has been added as a synonym to "git commit" to conclude a merge that has stopped due to conflicts. * Finer-grained control of what protocols are allowed for transports during clone/fetch/push have been enabled via a new configuration mechanism. * "git shortlog" learned "--committer" option to group commits by committer, instead of author. * GitLFS integration with "git p4" has been updated. * The isatty() emulation for Windows has been updated to eradicate the previous hack that depended on internals of (older) MSVC runtime. * Some platforms no longer understand "latin-1" that is still seen in the wild in e-mail headers; replace them with "iso-8859-1" that is more widely known when conversion fails from/to it. * "git grep" has been taught to optionally recurse into submodules. * "git rm" used to refuse to remove a submodule when it has its own git
[ANNOUNCE] Git v2.12.0-rc0
An early preview release Git v2.12.0-rc0 is now available for testing at the usual places. It is comprised of 441 non-merge commits since v2.11.0, contributed by 63 people, 19 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.12.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.11.0 are as follows. Welcome to the Git development community! Alan Davies, Andreas Krey, Cornelius Weig, George Vanburgh, Igor Kushnir, Jack Bates, Kristoffer Haugsbakk, Kyle Meyer, Luis Ressel, Lukas Puehringer, Markus Hitter, Peter Law, Rasmus Villemoes, Rogier Goossens, Stefan Dotterweich, Steven Penny, Vinicius Kursancew, Vladimir Panteleev, and Wolfram Sang. Returning contributors who helped this release are as follows. Thanks for your continued support. 마누엘, Alex Henrie, Beat Bolli, Brandon Williams, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Heiko Voigt, Jacob Keller, Jeff Hostetler, Jeff King, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kyle J. McKay, Lars Schneider, Linus Torvalds, Luke Diamand, Matt McCutchen, Max Kirillov, Mike Hommey, Nguyễn Thái Ngọc Duy, Paul Mackerras, Philip Oakley, Pranit Bauva, Ramsay Jones, René Scharfe, Richard Hansen, Santiago Torres, Satoshi Yasushima, Stefan Beller, Stephan Beyer, SZEDER Gábor, Torsten Bögershausen, Vasco Almeida, Vegard Nossum, and Vitaly "_Vi" Shukela. Git 2.12 Release Notes (draft) == Backward compatibility notes. * Use of an empty string that is used for 'everything matches' is still warned and Git asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. That is not scheduled to happen in the upcoming release (yet). * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in a future release. * An ancient script "git relink" has been removed. Updates since v2.11 --- UI, Workflows & Features * Various updates to "git p4". * "git p4" didn't interact with the internal of .git directory correctly in the modern "git-worktree"-enabled world. * "git branch --list" and friends learned "--ignore-case" option to optionally sort branches and tags case insensitively. * In addition to %(subject), %(body), "log --pretty=format:..." learned a new placeholder %(trailers). * "git rebase" learned "--quit" option, which allows a user to remove the metadata left by an earlier "git rebase" that was manually aborted without using "git rebase --abort". * "git clone --reference $there --recurse-submodules $super" has been taught to guess repositories usable as references for submodules of $super that are embedded in $there while making a clone of the superproject borrow objects from $there; extend the mechanism to also allow submodules of these submodules to borrow repositories embedded in these clones of the submodules embedded in the clone of the superproject. * Porcelain scripts written in Perl are getting internationalized. * "git merge --continue" has been added as a synonym to "git commit" to conclude a merge that has stopped due to conflicts. * Finer-grained control of what protocols are allowed for transports during clone/fetch/push have been enabled via a new configuration mechanism. * "git shortlog" learned "--committer" option to group commits by committer, instead of author. * GitLFS integration with "git p4" has been updated. * The isatty() emulation for Windows has been updated to eradicate the previous hack that depended on internals of (older) MSVC runtime. * Some platforms no longer understand "latin-1" that is still seen in the wild in e-mail headers; replace them with "iso-8859-1" that is more widely known when conversion fails from/to it. * "git grep" has been taught to optionally recurse into submodules. * "git rm" used to refuse to remove a submodule when it has its own git
[ANNOUNCE] Git v2.11.1
ch 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.XX 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 erro
[ANNOUNCE] Git v2.11.1
bmodule 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.XX 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() c
Re: [RFC for GIT] pull-request: add praise to people doing QA
Wolfram Sangwrites: > I didn't know about trailers before. As I undestand it, I could use > "Tested-by" as the key, and the commit subject as the value. This list > then could be parsed and brought into proper output shape. It would > simplify the subject parsing, but most things my AWK script currently > does would still need to stay or to be reimplemented (extracting names > from tags, creating arrays of tags given by $name). Am I correct? That is not exactly what I had in mind. I was wondering if we can do without any external script, implementing the logic you added inside shortlog with an extra option that triggers the whole thing, which may call into the same trailers API as used by the interpret-trailers command to do the parsing and picking out parts.
Re: [RFC for GIT] pull-request: add praise to people doing QA
Wolfram Sang writes: > I didn't know about trailers before. As I undestand it, I could use > "Tested-by" as the key, and the commit subject as the value. This list > then could be parsed and brought into proper output shape. It would > simplify the subject parsing, but most things my AWK script currently > does would still need to stay or to be reimplemented (extracting names > from tags, creating arrays of tags given by $name). Am I correct? That is not exactly what I had in mind. I was wondering if we can do without any external script, implementing the logic you added inside shortlog with an extra option that triggers the whole thing, which may call into the same trailers API as used by the interpret-trailers command to do the parsing and picking out parts.
Re: [RFC for GIT] pull-request: add praise to people doing QA
Wolfram Sangwrites: > === new stuff starts here > > with much appreciated quality assurance from > > Andy Shevchenko (1): > (Rev.) i2c: piix4: Avoid race conditions with IMC > > Benjamin Tissoires (1): > (Test) i2c: do not enable fall back to Host Notify by default > > Vladimir Zapolskiy (1): > (Rev.) i2c: print correct device invalid address > > === diffstat, ... > > This patch is a very early RFC to collect opinions. I am not very familiar > with > the git codebase, but I guess using a filter needs to be reworked, the > dependency on GNU awk may be frowned upon (though 'asorti' is really useful > here), the reg-ex are not super-solid, and it should be a command-line option, > of course. That all being said, it was a fast way to produce what I would like > to add to my pull requests for the i2c subsystem and to see if other > kernel/git > maintainers are interested in something like this. > > Disclaimer: while this patch applies to the git codebase, I have to admit that > I simply patched around in /usr/lib/git-core of my Debian machine :) > > So much for now, let me know what you think, So the idea is to have list of those whose names appear on Reviewed-by: and Tested-by: collected and listed after the list of commit titles and author names. I personally do not see much downsides in doing so, but I do not consume that many PRs myself, so let's hear from those who actually do process many of them. As to the implementation, I am wondering if we can make this somehow work well with the "trailers" code we already have, instead of inventing yet another parser of trailers. In its current shape, "interpret-trailers" focuses on "editing" an existing commit log message to tweak the trailer lines. That mode of operation would help amending and rebasing, and to do that it needs to parse the commit log message, identify trailer blocks, parse out each trailer lines, etc. There is no fundamental reason why its output must be an edited original commit log message---it should be usable as a filter that picks trailer lines of the selected trailer type, like "Tested-By", etc.
Re: [RFC for GIT] pull-request: add praise to people doing QA
Wolfram Sang writes: > === new stuff starts here > > with much appreciated quality assurance from > > Andy Shevchenko (1): > (Rev.) i2c: piix4: Avoid race conditions with IMC > > Benjamin Tissoires (1): > (Test) i2c: do not enable fall back to Host Notify by default > > Vladimir Zapolskiy (1): > (Rev.) i2c: print correct device invalid address > > === diffstat, ... > > This patch is a very early RFC to collect opinions. I am not very familiar > with > the git codebase, but I guess using a filter needs to be reworked, the > dependency on GNU awk may be frowned upon (though 'asorti' is really useful > here), the reg-ex are not super-solid, and it should be a command-line option, > of course. That all being said, it was a fast way to produce what I would like > to add to my pull requests for the i2c subsystem and to see if other > kernel/git > maintainers are interested in something like this. > > Disclaimer: while this patch applies to the git codebase, I have to admit that > I simply patched around in /usr/lib/git-core of my Debian machine :) > > So much for now, let me know what you think, So the idea is to have list of those whose names appear on Reviewed-by: and Tested-by: collected and listed after the list of commit titles and author names. I personally do not see much downsides in doing so, but I do not consume that many PRs myself, so let's hear from those who actually do process many of them. As to the implementation, I am wondering if we can make this somehow work well with the "trailers" code we already have, instead of inventing yet another parser of trailers. In its current shape, "interpret-trailers" focuses on "editing" an existing commit log message to tweak the trailer lines. That mode of operation would help amending and rebasing, and to do that it needs to parse the commit log message, identify trailer blocks, parse out each trailer lines, etc. There is no fundamental reason why its output must be an edited original commit log message---it should be usable as a filter that picks trailer lines of the selected trailer type, like "Tested-By", etc.
Re: [PATCH] printk: Remove no longer used second struct cont
Joe Percheswrites: > grep 2.5.4 was the last version that supported the -P option to > grep through for multiple lines. Does anybody know why it was dropped?
Re: [PATCH] printk: Remove no longer used second struct cont
Joe Perches writes: > grep 2.5.4 was the last version that supported the -P option to > grep through for multiple lines. Does anybody know why it was dropped?
[ANNOUNCE] Git v2.11.0
The latest feature release Git v2.11.0 is now available at the usual places. It is comprised of 673 non-merge commits since v2.10.0, contributed by 74 people, 15 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.11.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, jfbu, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Andreas Schwab, Beat Bolli, Ben North, brian m. carlson, Changwoo Ryu, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noel Avila, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Marc Branchaud, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Patrick Steinhardt, Pat Thoyts, Peter Krefting, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Tobias Klauser, Trần Ngọc Quân, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the repository and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --recurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presence of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, can perform "outside-world-to-Git" conversions (e.g. end-of-line conversions and application of the clean-filter), and it has had this feature on by default from very early days, its reverse operation "git cat-file", which takes an object
[ANNOUNCE] Git v2.11.0
The latest feature release Git v2.11.0 is now available at the usual places. It is comprised of 673 non-merge commits since v2.10.0, contributed by 74 people, 15 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.11.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, jfbu, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Andreas Schwab, Beat Bolli, Ben North, brian m. carlson, Changwoo Ryu, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noel Avila, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Marc Branchaud, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Patrick Steinhardt, Pat Thoyts, Peter Krefting, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Tobias Klauser, Trần Ngọc Quân, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the repository and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --recurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presence of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, can perform "outside-world-to-Git" conversions (e.g. end-of-line conversions and application of the clean-filter), and it has had this feature on by default from very early days, its reverse operation "git cat-file", which takes an object
[ANNOUNCE] Git v2.11.0-rc3
A release candidate Git v2.11.0-rc3 is now available for testing at the usual places. It is comprised of 666 non-merge commits since v2.10.0, contributed by 73 people, 15 of which are new faces. It turns out that one recent fix exposed codepaths that have not been using the API correctly, resulting apparent minor regressions in a few programs. This hopefully final release candidate contains fixes to them. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.11.0-rc3' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, jfbu, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Andreas Schwab, Beat Bolli, Ben North, brian m. carlson, Changwoo Ryu, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noel Avila, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Patrick Steinhardt, Pat Thoyts, Peter Krefting, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Tobias Klauser, Trần Ngọc Quân, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes (draft) == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the repository and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --recurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presence of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, allowed to perform the "outside-world-t
[ANNOUNCE] Git v2.11.0-rc3
A release candidate Git v2.11.0-rc3 is now available for testing at the usual places. It is comprised of 666 non-merge commits since v2.10.0, contributed by 73 people, 15 of which are new faces. It turns out that one recent fix exposed codepaths that have not been using the API correctly, resulting apparent minor regressions in a few programs. This hopefully final release candidate contains fixes to them. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.11.0-rc3' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, jfbu, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Andreas Schwab, Beat Bolli, Ben North, brian m. carlson, Changwoo Ryu, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noel Avila, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Patrick Steinhardt, Pat Thoyts, Peter Krefting, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Tobias Klauser, Trần Ngọc Quân, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes (draft) == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the repository and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --recurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presence of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, allowed to perform the "outside-world-t
[ANNOUNCE] Git v2.11.0-rc2
A release candidate Git v2.11.0-rc2 is now available for testing at the usual places. It is comprised of 646 non-merge commits since v2.10.0, contributed by 68 people, 14 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.11.0-rc2' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Andreas Schwab, Beat Bolli, Ben North, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Patrick Steinhardt, Pat Thoyts, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Tobias Klauser, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes (draft) == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the repository and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --recurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presence of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, allowed to perform the "outside-world-to-Git" conversions (e.g. end-of-line conversions and application of the clean-filter), and it had the feature on by default from very early days, its reverse operation "git cat-file", which takes an object from the Git object store and externalize for th
[ANNOUNCE] Git v2.11.0-rc2
A release candidate Git v2.11.0-rc2 is now available for testing at the usual places. It is comprised of 646 non-merge commits since v2.10.0, contributed by 68 people, 14 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.11.0-rc2' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Andreas Schwab, Beat Bolli, Ben North, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Patrick Steinhardt, Pat Thoyts, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Tobias Klauser, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes (draft) == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the repository and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --recurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presence of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, allowed to perform the "outside-world-to-Git" conversions (e.g. end-of-line conversions and application of the clean-filter), and it had the feature on by default from very early days, its reverse operation "git cat-file", which takes an object from the Git object store and externalize for th
[ANNOUNCE] Git v2.11.0-rc1
A release candidate Git v2.11.0-rc1 is now available for testing at the usual places. It is comprised of 642 non-merge commits since v2.10.0, contributed by 66 people, 14 of which are new faces. Due to the last-minute fixups and timezone differences, there might be a few more updates to test scripts that are necessary depending on your platform, but otherwise this should be pretty much what the final 2.11 will look like. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.11.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Andreas Schwab, Beat Bolli, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Patrick Steinhardt, Pat Thoyts, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes (draft) == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the repository and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --recurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presence of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, allowed to perform the "outside-world-to-Git" conversions (e.g. end-of-line conversions and application of the
[ANNOUNCE] Git v2.11.0-rc1
A release candidate Git v2.11.0-rc1 is now available for testing at the usual places. It is comprised of 642 non-merge commits since v2.10.0, contributed by 66 people, 14 of which are new faces. Due to the last-minute fixups and timezone differences, there might be a few more updates to test scripts that are necessary depending on your platform, but otherwise this should be pretty much what the final 2.11 will look like. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.11.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Andreas Schwab, Beat Bolli, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Patrick Steinhardt, Pat Thoyts, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes (draft) == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the repository and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --recurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presence of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, allowed to perform the "outside-world-to-Git" conversions (e.g. end-of-line conversions and application of the
[ANNOUNCE] Git v2.11.0-rc0
An early preview release Git v2.11.0-rc0 is now available for testing at the usual places. It is comprised of 617 non-merge commits since v2.10.0, contributed by 64 people, 14 of which are new faces. An updated, slightly slipped from the original, schedule is found at http://tinyurl.com/gitCal and I am hoping that we can conclude this cycle before US Thanksgiving. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.11.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Beat Bolli, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Pat Thoyts, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes (draft) == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the reopsitory and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --resurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presense of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, allowed to perform the "outside-world-to-Git" conversions (e.g. end-of-line conversions and application of the clean-filter), and it had the feature on by default from very early days, its reverse
[ANNOUNCE] Git v2.11.0-rc0
An early preview release Git v2.11.0-rc0 is now available for testing at the usual places. It is comprised of 617 non-merge commits since v2.10.0, contributed by 64 people, 14 of which are new faces. An updated, slightly slipped from the original, schedule is found at http://tinyurl.com/gitCal and I am hoping that we can conclude this cycle before US Thanksgiving. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.11.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.10.0 are as follows. Welcome to the Git development community! Aaron M Watson, Brandon Williams, Brian Henderson, Emily Xie, Gavin Lambert, Ian Kelling, Jeff Hostetler, Mantas Mikulėnas, Petr Stodulka, Satoshi Yasushima, Stefan Christ, Vegard Nossum, yaras, and Younes Khoudli. Returning contributors who helped this release are as follows. Thanks for your continued support. Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Alex Riesen, Anders Kaseorg, Beat Bolli, brian m. carlson, Chris Packham, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Eric Wong, Jacob Keller, Jakub Narębski, Jean-Noël AVILA, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Josh Triplett, Junio C Hamano, Karsten Blees, Kevin Daudt, Kirill Smelkov, Lars Schneider, Linus Torvalds, Matthieu Moy, Michael Haggerty, Michael J Gruber, Mike Ralphson, Nguyễn Thái Ngọc Duy, Olaf Hering, Orgad Shaneh, Pat Thoyts, Philip Oakley, Pranit Bauva, Ralf Thielow, Ray Chen, René Scharfe, Ronnie Sahlberg, Stefan Beller, SZEDER Gábor, Thomas Gummerer, Vasco Almeida, and Дилян Палаузов. Git 2.11 Release Notes (draft) == Backward compatibility notes. * An empty string used as a pathspec element has always meant 'everything matches', but it is too easy to write a script that finds a path to remove in $path and run 'git rm "$paht"' by mistake (when the user meant to give "$path"), which ends up removing everything. This release starts warning about the use of an empty string that is used for 'everything matches' and asks users to use a more explicit '.' for that instead. The hope is that existing users will not mind this change, and eventually the warning can be turned into a hard error, upgrading the deprecation into removal of this (mis)feature. * The historical argument order "git merge HEAD ..." has been deprecated for quite some time, and will be removed in the next release (not this one). * The default abbreviation length, which has historically been 7, now scales as the repository grows, using the approximate number of objects in the reopsitory and a bit of math around the birthday paradox. The logic suggests to use 12 hexdigits for the Linux kernel, and 9 to 10 for Git itself. Updates since v2.10 --- UI, Workflows & Features * Comes with new version of git-gui, now at its 0.21.0 tag. * "git format-patch --cover-letter HEAD^" to format a single patch with a separate cover letter now numbers the output as [PATCH 0/1] and [PATCH 1/1] by default. * An incoming "git push" that attempts to push too many bytes can now be rejected by setting a new configuration variable at the receiving end. * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", which was not intuitive, given that "git nosuchcommand" said "git: 'nosuchcommand' is not a git command". * "git clone --resurse-submodules --reference $path $URL" is a way to reduce network transfer cost by borrowing objects in an existing $path repository when cloning the superproject from $URL; it learned to also peek into $path for presense of corresponding repositories of submodules and borrow objects from there when able. * The "git diff --submodule={short,log}" mechanism has been enhanced to allow "--submodule=diff" to show the patch between the submodule commits bound to the superproject. * Even though "git hash-objects", which is a tool to take an on-filesystem data stream and put it into the Git object store, allowed to perform the "outside-world-to-Git" conversions (e.g. end-of-line conversions and application of the clean-filter), and it had the feature on by default from very early days, its reverse
[ANNOUNCE] Git v2.10.2
tree that is connected to the bare repository. The check has been corrected to allow it. * "git rebase" immediately after "git clone" failed to find the fork point from the upstream. * When fetching from a remote that has many tags that are irrelevant to branches we are following, we used to waste way too many cycles when checking if the object pointed at by a tag (that we are not going to fetch!) exists in our repository too carefully. * The Travis CI configuration we ship ran the tests with --verbose option but this risks non-TAP output that happens to be "ok" to be misinterpreted as TAP signalling a test that passed. This resulted in unnecessary failure. This has been corrected by introducing a new mode to run our tests in the test harness to send the verbose output separately to the log file. * Some AsciiDoc formatter mishandles a displayed illustration with tabs in it. Adjust a few of them in merge-base documentation to work around them. Also contains minor documentation updates and code clean-ups. Changes since v2.10.1 are as follows: 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..{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
[ANNOUNCE] Git v2.10.2
tree that is connected to the bare repository. The check has been corrected to allow it. * "git rebase" immediately after "git clone" failed to find the fork point from the upstream. * When fetching from a remote that has many tags that are irrelevant to branches we are following, we used to waste way too many cycles when checking if the object pointed at by a tag (that we are not going to fetch!) exists in our repository too carefully. * The Travis CI configuration we ship ran the tests with --verbose option but this risks non-TAP output that happens to be "ok" to be misinterpreted as TAP signalling a test that passed. This resulted in unnecessary failure. This has been corrected by introducing a new mode to run our tests in the test harness to send the verbose output separately to the log file. * Some AsciiDoc formatter mishandles a displayed illustration with tabs in it. Adjust a few of them in merge-base documentation to work around them. Also contains minor documentation updates and code clean-ups. Changes since v2.10.1 are as follows: 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..{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
[ANNOUNCE] Git v2.10.1
mmap(2)ed, which may not have a terminating NUL, leading to a read beyond the end of the mapped region. This was fixed by introducing a regexec_buf() helper that takes a <ptr,len> pair with REG_STARTEND extension. * The procedure to build Git on Mac OS X for Travis CI hardcoded the internal directory structure we assumed HomeBrew uses, which was a no-no. The procedure has been updated to ask HomeBrew things we need to know to fix this. * When "git rebase -i" is given a broken instruction, it told the user to fix it with "--edit-todo", but didn't say what the step after that was (i.e. "--continue"). * "git add --chmod=+x" added recently lacked documentation, which has been corrected. * "git add --chmod=+x " added recently only toggled the executable bit for paths that are either new or modified. This has been corrected to flip the executable bit for all paths that match the given pathspec. * "git pack-objects --include-tag" was taught that when we know that we are sending an object C, we want a tag B that directly points at C but also a tag A that points at the tag B. We used to miss the intermediate tag B in some cases. * Documentation around tools to import from CVS was fairly outdated. * In the codepath that comes up with the hostname to be used in an e-mail when the user didn't tell us, we looked at ai_canonname field in struct addrinfo without making sure it is not NULL first. Also contains minor documentation updates and code clean-ups. Changes since v2.10.0 are as follows: 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 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): Docu
[ANNOUNCE] Git v2.10.1
p(2)ed, which may not have a terminating NUL, leading to a read beyond the end of the mapped region. This was fixed by introducing a regexec_buf() helper that takes a pair with REG_STARTEND extension. * The procedure to build Git on Mac OS X for Travis CI hardcoded the internal directory structure we assumed HomeBrew uses, which was a no-no. The procedure has been updated to ask HomeBrew things we need to know to fix this. * When "git rebase -i" is given a broken instruction, it told the user to fix it with "--edit-todo", but didn't say what the step after that was (i.e. "--continue"). * "git add --chmod=+x" added recently lacked documentation, which has been corrected. * "git add --chmod=+x " added recently only toggled the executable bit for paths that are either new or modified. This has been corrected to flip the executable bit for all paths that match the given pathspec. * "git pack-objects --include-tag" was taught that when we know that we are sending an object C, we want a tag B that directly points at C but also a tag A that points at the tag B. We used to miss the intermediate tag B in some cases. * Documentation around tools to import from CVS was fairly outdated. * In the codepath that comes up with the hostname to be used in an e-mail when the user didn't tell us, we looked at ai_canonname field in struct addrinfo without making sure it is not NULL first. Also contains minor documentation updates and code clean-ups. Changes since v2.10.0 are as follows: 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 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:
[ANNOUNCE] Git v2.10.0
The latest feature release Git v2.10.0 is now available at the usual places. It is comprised of 639 non-merge commits since v2.9.0, contributed by 76 people, 22 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.10.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.9.0 are as follows. Welcome to the Git development community! Alexander Hirsch, Andreas Brauchli, Andrew Oakley, Antoine Queru, Ben Wijen, Christopher Layne, Dave Nicolson, David Glasser, Ed Maste, Heiko Becker, Ingo Brückl, Jonathan Tan, Jordan DE GEA, Josef Kufner, Keith McGuigan, Kevin Willford, LE Manh Cuong, Michael Stahl, Parker Moore, Peter Colberg, Tom Russello, and William Duclot. Returning contributors who helped this release are as follows. Thanks for your continued support. Alex Henrie, Alfred Perlstein, Armin Kunaschik, brian m. carlson, Changwoo Ryu, Charles Bailey, Chris Packham, Christian Couder, David A. Greene, David Aguilar, David Kastrup, David Turner, Edward Thomson, Elia Pinto, Eric Sunshine, Eric Wong, Heiko Voigt, Jacob Keller, Jean-Noel Avila, Jeff King, Jiang Xin, Joey Hess, Johannes Schindelin, Johannes Sixt, John Keeping, Jonathan Nieder, Josh Triplett, Junio C Hamano, Lars Schneider, Lars Vogel, Linus Torvalds, Lukas Fleischer, Matthieu Moy, Mehul Jain, Michael Haggerty, Michael J Gruber, Mike Hommey, Nguyễn Thái Ngọc Duy, Nicolas Pitre, Orgad Shaneh, Patrick Steinhardt, Peter Krefting, Pranit Bauva, Ramsay Jones, René Scharfe, Ronald Wampler, Stefan Beller, SZEDER Gábor, Thomas Braun, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, Vasco Almeida, and Ville Skyttä. Git 2.10 Release Notes == Backward compatibility notes Updates since v2.9 -- UI, Workflows & Features * "git pull --rebase --verify-signature" learned to warn the user that "--verify-signature" is a no-op when rebasing. * An upstream project can make a recommendation to shallowly clone some submodules in the .gitmodules file it ships. * "git worktree add" learned that '-' can be used as a short-hand for "@{-1}", the previous branch. * Update the funcname definition to support css files. * The completion script (in contrib/) learned to complete "git status" options. * Messages that are generated by auto gc during "git push" on the receiving end are now passed back to the sending end in such a way that they are shown with "remote: " prefix to avoid confusing the users. * "git add -i/-p" learned to honor diff.compactionHeuristic experimental knob, so that the user can work on the same hunk split as "git diff" output. * "upload-pack" allows a custom "git pack-objects" replacement when responding to "fetch/clone" via the uploadpack.packObjectsHook. (merge b738396 jk/upload-pack-hook later to maint). * Teach format-patch and mailsplit (hence "am") how a line that happens to begin with "From " in the e-mail message is quoted with ">", so that these lines can be restored to their original shape. (merge d9925d1 ew/mboxrd-format-am later to maint). * "git repack" learned the "--keep-unreachable" option, which sends loose unreachable objects to a pack instead of leaving them loose. This helps heuristics based on the number of loose objects (e.g. "gc --auto"). (merge e26a8c4 jk/repack-keep-unreachable later to maint). * "log --graph --format=" learned that "%>|(N)" specifies the width relative to the terminal's left edge, not relative to the area to draw text that is to the right of the ancestry-graph section. It also now accepts negative N that means the column limit is relative to the right border. * A careless invocation of "git send-email directory/" after editing 0001-change.patch with an editor often ends up sending both 0001-change.patch and its backup file, 0001-change.patch~, causing embarrassment and a minor confusion. Detect such an input and offer to skip the backup files when sending the patches out. (merge 531220b jc/send-email-skip-backup later to maint). * "git submodule update" that drives many "git clone" could eventually hit flaky servers/network conditions on one of the submodules; the command
[ANNOUNCE] Git v2.10.0
The latest feature release Git v2.10.0 is now available at the usual places. It is comprised of 639 non-merge commits since v2.9.0, contributed by 76 people, 22 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.10.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.9.0 are as follows. Welcome to the Git development community! Alexander Hirsch, Andreas Brauchli, Andrew Oakley, Antoine Queru, Ben Wijen, Christopher Layne, Dave Nicolson, David Glasser, Ed Maste, Heiko Becker, Ingo Brückl, Jonathan Tan, Jordan DE GEA, Josef Kufner, Keith McGuigan, Kevin Willford, LE Manh Cuong, Michael Stahl, Parker Moore, Peter Colberg, Tom Russello, and William Duclot. Returning contributors who helped this release are as follows. Thanks for your continued support. Alex Henrie, Alfred Perlstein, Armin Kunaschik, brian m. carlson, Changwoo Ryu, Charles Bailey, Chris Packham, Christian Couder, David A. Greene, David Aguilar, David Kastrup, David Turner, Edward Thomson, Elia Pinto, Eric Sunshine, Eric Wong, Heiko Voigt, Jacob Keller, Jean-Noel Avila, Jeff King, Jiang Xin, Joey Hess, Johannes Schindelin, Johannes Sixt, John Keeping, Jonathan Nieder, Josh Triplett, Junio C Hamano, Lars Schneider, Lars Vogel, Linus Torvalds, Lukas Fleischer, Matthieu Moy, Mehul Jain, Michael Haggerty, Michael J Gruber, Mike Hommey, Nguyễn Thái Ngọc Duy, Nicolas Pitre, Orgad Shaneh, Patrick Steinhardt, Peter Krefting, Pranit Bauva, Ramsay Jones, René Scharfe, Ronald Wampler, Stefan Beller, SZEDER Gábor, Thomas Braun, Thomas Gummerer, Torsten Bögershausen, Trần Ngọc Quân, Vasco Almeida, and Ville Skyttä. Git 2.10 Release Notes == Backward compatibility notes Updates since v2.9 -- UI, Workflows & Features * "git pull --rebase --verify-signature" learned to warn the user that "--verify-signature" is a no-op when rebasing. * An upstream project can make a recommendation to shallowly clone some submodules in the .gitmodules file it ships. * "git worktree add" learned that '-' can be used as a short-hand for "@{-1}", the previous branch. * Update the funcname definition to support css files. * The completion script (in contrib/) learned to complete "git status" options. * Messages that are generated by auto gc during "git push" on the receiving end are now passed back to the sending end in such a way that they are shown with "remote: " prefix to avoid confusing the users. * "git add -i/-p" learned to honor diff.compactionHeuristic experimental knob, so that the user can work on the same hunk split as "git diff" output. * "upload-pack" allows a custom "git pack-objects" replacement when responding to "fetch/clone" via the uploadpack.packObjectsHook. (merge b738396 jk/upload-pack-hook later to maint). * Teach format-patch and mailsplit (hence "am") how a line that happens to begin with "From " in the e-mail message is quoted with ">", so that these lines can be restored to their original shape. (merge d9925d1 ew/mboxrd-format-am later to maint). * "git repack" learned the "--keep-unreachable" option, which sends loose unreachable objects to a pack instead of leaving them loose. This helps heuristics based on the number of loose objects (e.g. "gc --auto"). (merge e26a8c4 jk/repack-keep-unreachable later to maint). * "log --graph --format=" learned that "%>|(N)" specifies the width relative to the terminal's left edge, not relative to the area to draw text that is to the right of the ancestry-graph section. It also now accepts negative N that means the column limit is relative to the right border. * A careless invocation of "git send-email directory/" after editing 0001-change.patch with an editor often ends up sending both 0001-change.patch and its backup file, 0001-change.patch~, causing embarrassment and a minor confusion. Detect such an input and offer to skip the backup files when sending the patches out. (merge 531220b jc/send-email-skip-backup later to maint). * "git submodule update" that drives many "git clone" could eventually hit flaky servers/network conditions on one of the submodules; the command
Re: [PATCH V2] git-send-email: Add ability to cc: any "bylines" in the commit message
Joe Perches <j...@perches.com> writes: > On Wed, 2016-08-31 at 12:34 -0700, Junio C Hamano wrote: >> Joe Perches <j...@perches.com> writes: >> > Many commits have various forms of bylines similar to >> A missing blank line (I can tweak while queuing). > [] >> > + next if $suppress_cc{'bylines'} and $what !~ >> > /Signed-off-by/i and $what =~ /by$/i; >> Having to keep this /by$/i in sync with whatever definition of >> bylines is will be error prone. How about doing it in this way? >> >> # Now parse the message body >> +my $bypat = r/[\w-]+-by/; >> while (<$fh>) { >> ... >> if (/^(Signed-off-by|Cc|$bypat): (.*)$/i) { >> ... >> next if $suppress_cc{'bodycc'} and $what =~ >> /Cc/i; >> +next if $suppress_cc{'bylines'} and >> +$what !~ /^Signed-off-by/i and >> +$what =~ /^$bypat/i; >> >> Other than that, looking good. > > Sure, whatever you want, do you want a v3 from me or can > you fix it up however you want? This topic is not my itch, so "however I want" would not be a good instruction to me--The lazy one in me would be tempted to say "ok, then I'd drop it altogether" ;-) I am sure the typo "[^\s]+[\w-]by" in the one we just saw was merely because you rushed it out without double checking. We are in pre-release feature freeze so there is no need to rush. I'd prefer to see a final version that is carefully proof-read by the author. Thanks.
Re: [PATCH V2] git-send-email: Add ability to cc: any "bylines" in the commit message
Joe Perches writes: > On Wed, 2016-08-31 at 12:34 -0700, Junio C Hamano wrote: >> Joe Perches writes: >> > Many commits have various forms of bylines similar to >> A missing blank line (I can tweak while queuing). > [] >> > + next if $suppress_cc{'bylines'} and $what !~ >> > /Signed-off-by/i and $what =~ /by$/i; >> Having to keep this /by$/i in sync with whatever definition of >> bylines is will be error prone. How about doing it in this way? >> >> # Now parse the message body >> +my $bypat = r/[\w-]+-by/; >> while (<$fh>) { >> ... >> if (/^(Signed-off-by|Cc|$bypat): (.*)$/i) { >> ... >> next if $suppress_cc{'bodycc'} and $what =~ >> /Cc/i; >> +next if $suppress_cc{'bylines'} and >> +$what !~ /^Signed-off-by/i and >> +$what =~ /^$bypat/i; >> >> Other than that, looking good. > > Sure, whatever you want, do you want a v3 from me or can > you fix it up however you want? This topic is not my itch, so "however I want" would not be a good instruction to me--The lazy one in me would be tempted to say "ok, then I'd drop it altogether" ;-) I am sure the typo "[^\s]+[\w-]by" in the one we just saw was merely because you rushed it out without double checking. We are in pre-release feature freeze so there is no need to rush. I'd prefer to see a final version that is carefully proof-read by the author. Thanks.
Re: [PATCH V2] git-send-email: Add ability to cc: any "bylines" in the commit message
Joe Percheswrites: > Many commits have various forms of bylines similar to A missing blank line (I can tweak while queuing). > "Acked-by: Name " and "Reported-by: Name " > > Add the ability to cc: bylines (e.g. Acked-by:) when using git send-email. > > This can be suppressed with --suppress-cc=bylines. > ... > @@ -307,8 +308,10 @@ Automating >patch body (commit message) except for self (use 'self' for that). > - 'sob' will avoid including anyone mentioned in Signed-off-by lines except > for self (use 'self' for that). > +- 'bylines' will avoid including anyone mentioned in any "-by:" lines > + in the patch header except for Signed-off-by. feels a bit too informal but I don't think of a better alternative, perhaps other than "*-by:". > @@ -1545,7 +1545,7 @@ foreach my $t (@files) { > # Now parse the message body > while(<$fh>) { > $message .= $_; > - if (/^(Signed-off-by|Cc): (.*)$/i) { > + if (/^(Signed-off-by|Cc|[^\s]+[\w-]by): (.*)$/i) { I thought you wanted if (/^(Signed-off-by|Cc|[\w-]+-by): (.*)$/i) { instead to avoid "O_=:;fooby: Joe Perches " > chomp; > my ($what, $c) = ($1, $2); > chomp $c; > @@ -1555,6 +1555,12 @@ foreach my $t (@files) { > } else { > next if $suppress_cc{'sob'} and $what =~ > /Signed-off-by/i; > next if $suppress_cc{'bodycc'} and $what =~ > /Cc/i; > + next if $suppress_cc{'bylines'} and $what !~ > /Signed-off-by/i and $what =~ /by$/i; Having to keep this /by$/i in sync with whatever definition of bylines is will be error prone. How about doing it in this way? # Now parse the message body + my $bypat = r/[\w-]+-by/; while (<$fh>) { ... if (/^(Signed-off-by|Cc|$bypat): (.*)$/i) { ... next if $suppress_cc{'bodycc'} and $what =~ /Cc/i; + next if $suppress_cc{'bylines'} and + $what !~ /^Signed-off-by/i and + $what =~ /^$bypat/i; Other than that, looking good.
Re: [PATCH V2] git-send-email: Add ability to cc: any "bylines" in the commit message
Joe Perches writes: > Many commits have various forms of bylines similar to A missing blank line (I can tweak while queuing). > "Acked-by: Name " and "Reported-by: Name " > > Add the ability to cc: bylines (e.g. Acked-by:) when using git send-email. > > This can be suppressed with --suppress-cc=bylines. > ... > @@ -307,8 +308,10 @@ Automating >patch body (commit message) except for self (use 'self' for that). > - 'sob' will avoid including anyone mentioned in Signed-off-by lines except > for self (use 'self' for that). > +- 'bylines' will avoid including anyone mentioned in any "-by:" lines > + in the patch header except for Signed-off-by. feels a bit too informal but I don't think of a better alternative, perhaps other than "*-by:". > @@ -1545,7 +1545,7 @@ foreach my $t (@files) { > # Now parse the message body > while(<$fh>) { > $message .= $_; > - if (/^(Signed-off-by|Cc): (.*)$/i) { > + if (/^(Signed-off-by|Cc|[^\s]+[\w-]by): (.*)$/i) { I thought you wanted if (/^(Signed-off-by|Cc|[\w-]+-by): (.*)$/i) { instead to avoid "O_=:;fooby: Joe Perches " > chomp; > my ($what, $c) = ($1, $2); > chomp $c; > @@ -1555,6 +1555,12 @@ foreach my $t (@files) { > } else { > next if $suppress_cc{'sob'} and $what =~ > /Signed-off-by/i; > next if $suppress_cc{'bodycc'} and $what =~ > /Cc/i; > + next if $suppress_cc{'bylines'} and $what !~ > /Signed-off-by/i and $what =~ /by$/i; Having to keep this /by$/i in sync with whatever definition of bylines is will be error prone. How about doing it in this way? # Now parse the message body + my $bypat = r/[\w-]+-by/; while (<$fh>) { ... if (/^(Signed-off-by|Cc|$bypat): (.*)$/i) { ... next if $suppress_cc{'bodycc'} and $what =~ /Cc/i; + next if $suppress_cc{'bylines'} and + $what !~ /^Signed-off-by/i and + $what =~ /^$bypat/i; Other than that, looking good.
Re: [PATCH] git-send-email: Add ability to cc: any "trailers" from commit message
Joe Perches <j...@perches.com> writes: > On Wed, 2016-08-31 at 10:54 -0700, Junio C Hamano wrote: >> Joe Perches <j...@perches.com> writes: >> >> > >> > Many commits have various forms of trailers similar to >> > "Acked-by: Name " and "Reported-by: Name " >> > >> > Add the ability to cc these trailers when using git send-email. >> I thought you were asking what we call these " followed by >> " at the end of the log message, and "footers or trailers" >> was the answer. >> >> I do not have a strong objection against limiting to "-by:" lines; >> for one thing, it would automatically avoid having to worry about >> "Bug-ID:" and other trailers that won't have e-mail address at all. >> >> But if you are _only_ picking up "-by:" lines, then calling this >> option "trailers" is way too wide and confusing. I do not think >> there is any specific name for "-by:" lines, though. Perhaps you >> would need to invent some name that has "-by" as a substring. >> >> "any-by"? or just "by"? I dunno. > > Signatures? Helped-by: and Reported-by: are often written by the author of the patch and not by those who helped or reported, so calling them signatures imply the author is forging them, too ;-) I dunno. Any name that hints that this applies only to the trailers that ends with "-by" is fine but "Signatures-by" does not sound very grammatical.
Re: [PATCH] git-send-email: Add ability to cc: any "trailers" from commit message
Joe Perches writes: > On Wed, 2016-08-31 at 10:54 -0700, Junio C Hamano wrote: >> Joe Perches writes: >> >> > >> > Many commits have various forms of trailers similar to >> > "Acked-by: Name " and "Reported-by: Name " >> > >> > Add the ability to cc these trailers when using git send-email. >> I thought you were asking what we call these " followed by >> " at the end of the log message, and "footers or trailers" >> was the answer. >> >> I do not have a strong objection against limiting to "-by:" lines; >> for one thing, it would automatically avoid having to worry about >> "Bug-ID:" and other trailers that won't have e-mail address at all. >> >> But if you are _only_ picking up "-by:" lines, then calling this >> option "trailers" is way too wide and confusing. I do not think >> there is any specific name for "-by:" lines, though. Perhaps you >> would need to invent some name that has "-by" as a substring. >> >> "any-by"? or just "by"? I dunno. > > Signatures? Helped-by: and Reported-by: are often written by the author of the patch and not by those who helped or reported, so calling them signatures imply the author is forging them, too ;-) I dunno. Any name that hints that this applies only to the trailers that ends with "-by" is fine but "Signatures-by" does not sound very grammatical.
Re: [PATCH] git-send-email: Add ability to cc: any "trailers" from commit message
Joe Percheswrites: > Many commits have various forms of trailers similar to > "Acked-by: Name " and "Reported-by: Name " > > Add the ability to cc these trailers when using git send-email. I thought you were asking what we call these " followed by " at the end of the log message, and "footers or trailers" was the answer. I do not have a strong objection against limiting to "-by:" lines; for one thing, it would automatically avoid having to worry about "Bug-ID:" and other trailers that won't have e-mail address at all. But if you are _only_ picking up "-by:" lines, then calling this option "trailers" is way too wide and confusing. I do not think there is any specific name for "-by:" lines, though. Perhaps you would need to invent some name that has "-by" as a substring. "any-by"? or just "by"? I dunno. > if ($suppress_cc{'all'}) { > - foreach my $entry (qw (cccmd cc author self sob body bodycc)) { > + foreach my $entry (qw (cccmd cc author self sob body bodycc trailers)) { > $suppress_cc{$entry} = 1; > } OK. > @@ -448,7 +448,7 @@ $suppress_cc{'self'} = $suppress_from if defined > $suppress_from; > $suppress_cc{'sob'} = !$signed_off_by_cc if defined $signed_off_by_cc; > > if ($suppress_cc{'body'}) { > - foreach my $entry (qw (sob bodycc)) { > + foreach my $entry (qw (sob bodycc trailers)) { > $suppress_cc{$entry} = 1; > } > delete $suppress_cc{'body'}; OK. > @@ -1545,7 +1545,7 @@ foreach my $t (@files) { > # Now parse the message body > while(<$fh>) { > $message .= $_; > - if (/^(Signed-off-by|Cc): (.*)$/i) { > + if (/^(Signed-off-by|Cc|[^\s]+[_-]by): (.*)$/i) { Micronits: (1) do you really want to grab a run of any non-blanks? Don't you want to exclude at least a colon? (2) allowing an underscore looks a bit unusual. > @@ -1555,6 +1555,12 @@ foreach my $t (@files) { > } else { > next if $suppress_cc{'sob'} and $what =~ > /Signed-off-by/i; > next if $suppress_cc{'bodycc'} and $what =~ > /Cc/i; > + next if $suppress_cc{'trailers'} and $what !~ > /Signed-off-by/i && $what =~ /by$/i; > + } It is a bit unfortunate that S-o-b is a subset of any-by that forces you to do this. > + if ($c !~ /.+@.+/) { > + printf("(body) Ignoring %s from line '%s'\n", > +$what, $_) unless $quiet; > + next; > } This check is new and applies to sob/cc, too. I am aware of the fact that people sometimes write only a name with no e-mail address when giving credit to a third-party and we want to avoid upsetting the underlying MTA by feeding it a non-address. Looking at existing helper subs like extract_valid_address and sanitize_address that all addresses we pass to the MTA go through, it appears to me that we try to support an addr-spec with only local-part without @domain, so this new check might turn out to be too strict from that point of view, but on the other hand I suspect it won't be a huge issue because the addresses in the footers are for public consumption and it may not make much sense to have a local-only address there. I dunno. > push @cc, $c; > printf("(body) Adding cc: %s from line '%s'\n",
Re: [PATCH] git-send-email: Add ability to cc: any "trailers" from commit message
Joe Perches writes: > Many commits have various forms of trailers similar to > "Acked-by: Name " and "Reported-by: Name " > > Add the ability to cc these trailers when using git send-email. I thought you were asking what we call these " followed by " at the end of the log message, and "footers or trailers" was the answer. I do not have a strong objection against limiting to "-by:" lines; for one thing, it would automatically avoid having to worry about "Bug-ID:" and other trailers that won't have e-mail address at all. But if you are _only_ picking up "-by:" lines, then calling this option "trailers" is way too wide and confusing. I do not think there is any specific name for "-by:" lines, though. Perhaps you would need to invent some name that has "-by" as a substring. "any-by"? or just "by"? I dunno. > if ($suppress_cc{'all'}) { > - foreach my $entry (qw (cccmd cc author self sob body bodycc)) { > + foreach my $entry (qw (cccmd cc author self sob body bodycc trailers)) { > $suppress_cc{$entry} = 1; > } OK. > @@ -448,7 +448,7 @@ $suppress_cc{'self'} = $suppress_from if defined > $suppress_from; > $suppress_cc{'sob'} = !$signed_off_by_cc if defined $signed_off_by_cc; > > if ($suppress_cc{'body'}) { > - foreach my $entry (qw (sob bodycc)) { > + foreach my $entry (qw (sob bodycc trailers)) { > $suppress_cc{$entry} = 1; > } > delete $suppress_cc{'body'}; OK. > @@ -1545,7 +1545,7 @@ foreach my $t (@files) { > # Now parse the message body > while(<$fh>) { > $message .= $_; > - if (/^(Signed-off-by|Cc): (.*)$/i) { > + if (/^(Signed-off-by|Cc|[^\s]+[_-]by): (.*)$/i) { Micronits: (1) do you really want to grab a run of any non-blanks? Don't you want to exclude at least a colon? (2) allowing an underscore looks a bit unusual. > @@ -1555,6 +1555,12 @@ foreach my $t (@files) { > } else { > next if $suppress_cc{'sob'} and $what =~ > /Signed-off-by/i; > next if $suppress_cc{'bodycc'} and $what =~ > /Cc/i; > + next if $suppress_cc{'trailers'} and $what !~ > /Signed-off-by/i && $what =~ /by$/i; > + } It is a bit unfortunate that S-o-b is a subset of any-by that forces you to do this. > + if ($c !~ /.+@.+/) { > + printf("(body) Ignoring %s from line '%s'\n", > +$what, $_) unless $quiet; > + next; > } This check is new and applies to sob/cc, too. I am aware of the fact that people sometimes write only a name with no e-mail address when giving credit to a third-party and we want to avoid upsetting the underlying MTA by feeding it a non-address. Looking at existing helper subs like extract_valid_address and sanitize_address that all addresses we pass to the MTA go through, it appears to me that we try to support an addr-spec with only local-part without @domain, so this new check might turn out to be too strict from that point of view, but on the other hand I suspect it won't be a huge issue because the addresses in the footers are for public consumption and it may not make much sense to have a local-only address there. I dunno. > push @cc, $c; > printf("(body) Adding cc: %s from line '%s'\n",
Re: git am and duplicate signatures
Joe Perches <j...@perches.com> writes: > (adding lkml) > > On Tue, 2016-08-30 at 09:54 -0700, Junio C Hamano wrote: >> Joe Perches <j...@perches.com> writes: >> > git-am -s will avoid duplicating the last signature >> > in a patch. >> > >> > But given a developer creates a patch, send it around for >> > acks/other signoffs, collects signatures and then does >> > a git am -s on a different branch, this sort of sign-off >> > chain is possible: >> > >> >Signed-off-by: Original Developer <o...@domain.com> >> >Acked-by: Random Developer <r...@domain.com> >> >Signed-off-by: Original Developer <o...@domain.com> >> Both correct and allowing the earlier one duplicated as long as >> there is somebody/something else in between is deliberate. > > linux-kernel has a script (scripts/checkpatch.pl) that > looks for duplicate signatures (-by: [name] ) > > Should the last Signed-off-by: in the commit log be > excluded from this check? That is left for the kernel folks to decide, but excluding only "the last" does not make much sense to me. If you look for only "two consecutive same signatures" and barf, that would be in line with what we have been shooting for to support the above "original then random then back to original" example you gave us above.
Re: git am and duplicate signatures
Joe Perches writes: > (adding lkml) > > On Tue, 2016-08-30 at 09:54 -0700, Junio C Hamano wrote: >> Joe Perches writes: >> > git-am -s will avoid duplicating the last signature >> > in a patch. >> > >> > But given a developer creates a patch, send it around for >> > acks/other signoffs, collects signatures and then does >> > a git am -s on a different branch, this sort of sign-off >> > chain is possible: >> > >> >Signed-off-by: Original Developer >> >Acked-by: Random Developer >> >Signed-off-by: Original Developer >> Both correct and allowing the earlier one duplicated as long as >> there is somebody/something else in between is deliberate. > > linux-kernel has a script (scripts/checkpatch.pl) that > looks for duplicate signatures (-by: [name] ) > > Should the last Signed-off-by: in the commit log be > excluded from this check? That is left for the kernel folks to decide, but excluding only "the last" does not make much sense to me. If you look for only "two consecutive same signatures" and barf, that would be in line with what we have been shooting for to support the above "original then random then back to original" example you gave us above.
[ANNOUNCE] Git v2.10.0-rc2
A release candidate Git v2.10.0-rc2 is now available for testing at the usual places. It is comprised of 623 non-merge commits since v2.9.0, contributed by 71 people, 22 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.10.0-rc2' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.9.0 are as follows. Welcome to the Git development community! Alexander Hirsch, Andreas Brauchli, Andrew Oakley, Antoine Queru, Ben Wijen, Christopher Layne, Dave Nicolson, David Glasser, Ed Maste, Heiko Becker, Ingo Brückl, Jonathan Tan, Jordan DE GEA, Josef Kufner, Keith McGuigan, Kevin Willford, LE Manh Cuong, Michael Stahl, Parker Moore, Peter Colberg, Tom Russello, and William Duclot. Returning contributors who helped this release are as follows. Thanks for your continued support. Alex Henrie, Alfred Perlstein, Armin Kunaschik, brian m. carlson, Charles Bailey, Chris Packham, Christian Couder, David A. Greene, David Aguilar, David Kastrup, David Turner, Edward Thomson, Elia Pinto, Eric Sunshine, Eric Wong, Heiko Voigt, Jacob Keller, Jean-Noel Avila, Jeff King, Joey Hess, Johannes Schindelin, Johannes Sixt, John Keeping, Jonathan Nieder, Josh Triplett, Junio C Hamano, Lars Schneider, Lars Vogel, Linus Torvalds, Lukas Fleischer, Matthieu Moy, Mehul Jain, Michael Haggerty, Michael J Gruber, Mike Hommey, Nguyễn Thái Ngọc Duy, Nicolas Pitre, Orgad Shaneh, Patrick Steinhardt, Pranit Bauva, Ramsay Jones, René Scharfe, Ronald Wampler, Stefan Beller, SZEDER Gábor, Thomas Braun, Torsten Bögershausen, Vasco Almeida, and Ville Skyttä. Git 2.10 Release Notes (draft) == Backward compatibility notes Updates since v2.9 -- UI, Workflows & Features * "git pull --rebase --verify-signature" learned to warn the user that "--verify-signature" is a no-op when rebasing. * An upstream project can make a recommendation to shallowly clone some submodules in the .gitmodules file it ships. * "git worktree add" learned that '-' can be used as a short-hand for "@{-1}", the previous branch. * Update the funcname definition to support css files. * The completion script (in contrib/) learned to complete "git status" options. * Messages that are generated by auto gc during "git push" on the receiving end are now passed back to the sending end in such a way that they are shown with "remote: " prefix to avoid confusing the users. * "git add -i/-p" learned to honor diff.compactionHeuristic experimental knob, so that the user can work on the same hunk split as "git diff" output. * "upload-pack" allows a custom "git pack-objects" replacement when responding to "fetch/clone" via the uploadpack.packObjectsHook. (merge b738396 jk/upload-pack-hook later to maint). * Teach format-patch and mailsplit (hence "am") how a line that happens to begin with "From " in the e-mail message is quoted with ">", so that these lines can be restored to their original shape. (merge d9925d1 ew/mboxrd-format-am later to maint). * "git repack" learned the "--keep-unreachable" option, which sends loose unreachable objects to a pack instead of leaving them loose. This helps heuristics based on the number of loose objects (e.g. "gc --auto"). (merge e26a8c4 jk/repack-keep-unreachable later to maint). * "log --graph --format=" learned that "%>|(N)" specifies the width relative to the terminal's left edge, not relative to the area to draw text that is to the right of the ancestry-graph section. It also now accepts negative N that means the column limit is relative to the right border. * A careless invocation of "git send-email directory/" after editing 0001-change.patch with an editor often ends up sending both 0001-change.patch and its backup file, 0001-change.patch~, causing embarrassment and a minor confusion. Detect such an input and offer to skip the backup files when sending the patches out. (merge 531220b jc/send-email-skip-backup later to maint). * "git submodule update" that drives many "git clone" could eventually hit flaky servers/network conditions on one of the submodules; the command learned to retry the attemp
[ANNOUNCE] Git v2.10.0-rc2
A release candidate Git v2.10.0-rc2 is now available for testing at the usual places. It is comprised of 623 non-merge commits since v2.9.0, contributed by 71 people, 22 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.10.0-rc2' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.9.0 are as follows. Welcome to the Git development community! Alexander Hirsch, Andreas Brauchli, Andrew Oakley, Antoine Queru, Ben Wijen, Christopher Layne, Dave Nicolson, David Glasser, Ed Maste, Heiko Becker, Ingo Brückl, Jonathan Tan, Jordan DE GEA, Josef Kufner, Keith McGuigan, Kevin Willford, LE Manh Cuong, Michael Stahl, Parker Moore, Peter Colberg, Tom Russello, and William Duclot. Returning contributors who helped this release are as follows. Thanks for your continued support. Alex Henrie, Alfred Perlstein, Armin Kunaschik, brian m. carlson, Charles Bailey, Chris Packham, Christian Couder, David A. Greene, David Aguilar, David Kastrup, David Turner, Edward Thomson, Elia Pinto, Eric Sunshine, Eric Wong, Heiko Voigt, Jacob Keller, Jean-Noel Avila, Jeff King, Joey Hess, Johannes Schindelin, Johannes Sixt, John Keeping, Jonathan Nieder, Josh Triplett, Junio C Hamano, Lars Schneider, Lars Vogel, Linus Torvalds, Lukas Fleischer, Matthieu Moy, Mehul Jain, Michael Haggerty, Michael J Gruber, Mike Hommey, Nguyễn Thái Ngọc Duy, Nicolas Pitre, Orgad Shaneh, Patrick Steinhardt, Pranit Bauva, Ramsay Jones, René Scharfe, Ronald Wampler, Stefan Beller, SZEDER Gábor, Thomas Braun, Torsten Bögershausen, Vasco Almeida, and Ville Skyttä. Git 2.10 Release Notes (draft) == Backward compatibility notes Updates since v2.9 -- UI, Workflows & Features * "git pull --rebase --verify-signature" learned to warn the user that "--verify-signature" is a no-op when rebasing. * An upstream project can make a recommendation to shallowly clone some submodules in the .gitmodules file it ships. * "git worktree add" learned that '-' can be used as a short-hand for "@{-1}", the previous branch. * Update the funcname definition to support css files. * The completion script (in contrib/) learned to complete "git status" options. * Messages that are generated by auto gc during "git push" on the receiving end are now passed back to the sending end in such a way that they are shown with "remote: " prefix to avoid confusing the users. * "git add -i/-p" learned to honor diff.compactionHeuristic experimental knob, so that the user can work on the same hunk split as "git diff" output. * "upload-pack" allows a custom "git pack-objects" replacement when responding to "fetch/clone" via the uploadpack.packObjectsHook. (merge b738396 jk/upload-pack-hook later to maint). * Teach format-patch and mailsplit (hence "am") how a line that happens to begin with "From " in the e-mail message is quoted with ">", so that these lines can be restored to their original shape. (merge d9925d1 ew/mboxrd-format-am later to maint). * "git repack" learned the "--keep-unreachable" option, which sends loose unreachable objects to a pack instead of leaving them loose. This helps heuristics based on the number of loose objects (e.g. "gc --auto"). (merge e26a8c4 jk/repack-keep-unreachable later to maint). * "log --graph --format=" learned that "%>|(N)" specifies the width relative to the terminal's left edge, not relative to the area to draw text that is to the right of the ancestry-graph section. It also now accepts negative N that means the column limit is relative to the right border. * A careless invocation of "git send-email directory/" after editing 0001-change.patch with an editor often ends up sending both 0001-change.patch and its backup file, 0001-change.patch~, causing embarrassment and a minor confusion. Detect such an input and offer to skip the backup files when sending the patches out. (merge 531220b jc/send-email-skip-backup later to maint). * "git submodule update" that drives many "git clone" could eventually hit flaky servers/network conditions on one of the submodules; the command learned to retry the attemp
[ANNOUNCE] Git v2.10.0-rc1
A release candidate Git v2.10.0-rc1 is now available for testing at the usual places. It is comprised of 611 non-merge commits since v2.9.0, contributed by 68 people, 20 of which are new faces. Relative to v2.10-0-rc0 (the preview), there is a last-minute merge of Linus's "Let's show longer fingerprint in the GPG output" patch (which was a bit scary but I made sure push-certificate codepath would not be negatively affected), among other small topics. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.10.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.9.0 are as follows. Welcome to the Git development community! Alexander Hirsch, Andreas Brauchli, Andrew Oakley, Antoine Queru, Christopher Layne, Dave Nicolson, Ed Maste, Heiko Becker, Ingo Brückl, Jonathan Tan, Jordan DE GEA, Josef Kufner, Keith McGuigan, Kevin Willford, LE Manh Cuong, Michael Stahl, Parker Moore, Peter Colberg, Tom Russello, and William Duclot. Returning contributors who helped this release are as follows. Thanks for your continued support. Alex Henrie, Alfred Perlstein, Armin Kunaschik, brian m. carlson, Charles Bailey, Chris Packham, Christian Couder, David A. Greene, David Aguilar, David Kastrup, David Turner, Edward Thomson, Elia Pinto, Eric Sunshine, Eric Wong, Heiko Voigt, Jacob Keller, Jeff King, Joey Hess, Johannes Schindelin, Johannes Sixt, John Keeping, Jonathan Nieder, Josh Triplett, Junio C Hamano, Lars Schneider, Lars Vogel, Linus Torvalds, Lukas Fleischer, Matthieu Moy, Mehul Jain, Michael Haggerty, Michael J Gruber, Mike Hommey, Nguyễn Thái Ngọc Duy, Nicolas Pitre, Orgad Shaneh, Patrick Steinhardt, Pranit Bauva, Ramsay Jones, René Scharfe, Ronald Wampler, Stefan Beller, SZEDER Gábor, Thomas Braun, Torsten Bögershausen, Vasco Almeida, and Ville Skyttä. Git 2.10 Release Notes (draft) == Backward compatibility notes Updates since v2.9 -- UI, Workflows & Features * "git pull --rebase --verify-signature" learned to warn the user that "--verify-signature" is a no-op when rebasing. * An upstream project can make a recommendation to shallowly clone some submodules in the .gitmodules file it ships. * "git worktree add" learned that '-' can be used as a short-hand for "@{-1}", the previous branch. * Update the funcname definition to support css files. * The completion script (in contrib/) learned to complete "git status" options. * Messages that are generated by auto gc during "git push" on the receiving end are now passed back to the sending end in such a way that they are shown with "remote: " prefix to avoid confusing the users. * "git add -i/-p" learned to honor diff.compactionHeuristic experimental knob, so that the user can work on the same hunk split as "git diff" output. * "upload-pack" allows a custom "git pack-objects" replacement when responding to "fetch/clone" via the uploadpack.packObjectsHook. (merge b738396 jk/upload-pack-hook later to maint). * Teach format-patch and mailsplit (hence "am") how a line that happens to begin with "From " in the e-mail message is quoted with ">", so that these lines can be restored to their original shape. (merge d9925d1 ew/mboxrd-format-am later to maint). * "git repack" learned the "--keep-unreachable" option, which sends loose unreachable objects to a pack instead of leaving them loose. This helps heuristics based on the number of loose objects (e.g. "gc --auto"). (merge e26a8c4 jk/repack-keep-unreachable later to maint). * "log --graph --format=" learned that "%>|(N)" specifies the width relative to the terminal's left edge, not relative to the area to draw text that is to the right of the ancestry-graph section. It also now accepts negative N that means the column limit is relative to the right border. * A careless invocation of "git send-email directory/" after editing 0001-change.patch with an editor often ends up sending both 0001-change.patch and its backup file, 0001-change.patch~, causing embarrassment and a minor confusion. Detect such an input and offer to skip the backup files when sending the patches out. (merge 531220b jc/send-email-skip-backup l
[ANNOUNCE] Git v2.10.0-rc1
A release candidate Git v2.10.0-rc1 is now available for testing at the usual places. It is comprised of 611 non-merge commits since v2.9.0, contributed by 68 people, 20 of which are new faces. Relative to v2.10-0-rc0 (the preview), there is a last-minute merge of Linus's "Let's show longer fingerprint in the GPG output" patch (which was a bit scary but I made sure push-certificate codepath would not be negatively affected), among other small topics. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.10.0-rc1' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.9.0 are as follows. Welcome to the Git development community! Alexander Hirsch, Andreas Brauchli, Andrew Oakley, Antoine Queru, Christopher Layne, Dave Nicolson, Ed Maste, Heiko Becker, Ingo Brückl, Jonathan Tan, Jordan DE GEA, Josef Kufner, Keith McGuigan, Kevin Willford, LE Manh Cuong, Michael Stahl, Parker Moore, Peter Colberg, Tom Russello, and William Duclot. Returning contributors who helped this release are as follows. Thanks for your continued support. Alex Henrie, Alfred Perlstein, Armin Kunaschik, brian m. carlson, Charles Bailey, Chris Packham, Christian Couder, David A. Greene, David Aguilar, David Kastrup, David Turner, Edward Thomson, Elia Pinto, Eric Sunshine, Eric Wong, Heiko Voigt, Jacob Keller, Jeff King, Joey Hess, Johannes Schindelin, Johannes Sixt, John Keeping, Jonathan Nieder, Josh Triplett, Junio C Hamano, Lars Schneider, Lars Vogel, Linus Torvalds, Lukas Fleischer, Matthieu Moy, Mehul Jain, Michael Haggerty, Michael J Gruber, Mike Hommey, Nguyễn Thái Ngọc Duy, Nicolas Pitre, Orgad Shaneh, Patrick Steinhardt, Pranit Bauva, Ramsay Jones, René Scharfe, Ronald Wampler, Stefan Beller, SZEDER Gábor, Thomas Braun, Torsten Bögershausen, Vasco Almeida, and Ville Skyttä. Git 2.10 Release Notes (draft) == Backward compatibility notes Updates since v2.9 -- UI, Workflows & Features * "git pull --rebase --verify-signature" learned to warn the user that "--verify-signature" is a no-op when rebasing. * An upstream project can make a recommendation to shallowly clone some submodules in the .gitmodules file it ships. * "git worktree add" learned that '-' can be used as a short-hand for "@{-1}", the previous branch. * Update the funcname definition to support css files. * The completion script (in contrib/) learned to complete "git status" options. * Messages that are generated by auto gc during "git push" on the receiving end are now passed back to the sending end in such a way that they are shown with "remote: " prefix to avoid confusing the users. * "git add -i/-p" learned to honor diff.compactionHeuristic experimental knob, so that the user can work on the same hunk split as "git diff" output. * "upload-pack" allows a custom "git pack-objects" replacement when responding to "fetch/clone" via the uploadpack.packObjectsHook. (merge b738396 jk/upload-pack-hook later to maint). * Teach format-patch and mailsplit (hence "am") how a line that happens to begin with "From " in the e-mail message is quoted with ">", so that these lines can be restored to their original shape. (merge d9925d1 ew/mboxrd-format-am later to maint). * "git repack" learned the "--keep-unreachable" option, which sends loose unreachable objects to a pack instead of leaving them loose. This helps heuristics based on the number of loose objects (e.g. "gc --auto"). (merge e26a8c4 jk/repack-keep-unreachable later to maint). * "log --graph --format=" learned that "%>|(N)" specifies the width relative to the terminal's left edge, not relative to the area to draw text that is to the right of the ancestry-graph section. It also now accepts negative N that means the column limit is relative to the right border. * A careless invocation of "git send-email directory/" after editing 0001-change.patch with an editor often ends up sending both 0001-change.patch and its backup file, 0001-change.patch~, causing embarrassment and a minor confusion. Detect such an input and offer to skip the backup files when sending the patches out. (merge 531220b jc/send-email-skip-backup l
[ANNOUNCE] Git v2.10.0-rc0
An early preview release Git v2.10.0-rc0 is now available for testing at the usual places. It is comprised of 589 non-merge commits since v2.9.0, contributed by 67 people, 20 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.10.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.9.0 are as follows. Welcome to the Git development community! Alexander Hirsch, Andreas Brauchli, Andrew Oakley, Antoine Queru, Christopher Layne, Dave Nicolson, Ed Maste, Heiko Becker, Ingo Brückl, Jonathan Tan, Jordan DE GEA, Josef Kufner, Keith McGuigan, Kevin Willford, LE Manh Cuong, Michael Stahl, Parker Moore, Peter Colberg, Tom Russello, and William Duclot. Returning contributors who helped this release are as follows. Thanks for your continued support. Alex Henrie, Alfred Perlstein, Armin Kunaschik, brian m. carlson, Charles Bailey, Chris Packham, Christian Couder, David A. Greene, David Aguilar, David Kastrup, David Turner, Edward Thomson, Elia Pinto, Eric Sunshine, Eric Wong, Heiko Voigt, Jacob Keller, Jeff King, Joey Hess, Johannes Schindelin, Johannes Sixt, John Keeping, Jonathan Nieder, Josh Triplett, Junio C Hamano, Lars Schneider, Lars Vogel, Lukas Fleischer, Matthieu Moy, Mehul Jain, Michael Haggerty, Michael J Gruber, Mike Hommey, Nguyễn Thái Ngọc Duy, Nicolas Pitre, Orgad Shaneh, Patrick Steinhardt, Pranit Bauva, Ramsay Jones, René Scharfe, Ronald Wampler, Stefan Beller, SZEDER Gábor, Thomas Braun, Torsten Bögershausen, Vasco Almeida, and Ville Skyttä. Git 2.10 Release Notes (draft) == Backward compatibility notes Updates since v2.9 -- UI, Workflows & Features * "git pull --rebase --verify-signature" learned to warn the user that "--verify-signature" is a no-op when rebasing. * An upstream project can make a recommendation to shallowly clone some submodules in the .gitmodules file it ships. * "git worktree add" learned that '-' can be used as a short-hand for "@{-1}", the previous branch. * Update the funcname definition to support css files. * The completion script (in contrib/) learned to complete "git status" options. * Messages that are generated by auto gc during "git push" on the receiving end are now passed back to the sending end in such a way that they are shown with "remote: " prefix to avoid confusing the users. * "git add -i/-p" learned to honor diff.compactionHeuristic experimental knob, so that the user can work on the same hunk split as "git diff" output. * "upload-pack" allows a custom "git pack-objects" replacement when responding to "fetch/clone" via the uploadpack.packObjectsHook. (merge b738396 jk/upload-pack-hook later to maint). * Teach format-patch and mailsplit (hence "am") how a line that happens to begin with "From " in the e-mail message is quoted with ">", so that these lines can be restored to their original shape. (merge d9925d1 ew/mboxrd-format-am later to maint). * "git repack" learned the "--keep-unreachable" option, which sends loose unreachable objects to a pack instead of leaving them loose. This helps heuristics based on the number of loose objects (e.g. "gc --auto"). (merge e26a8c4 jk/repack-keep-unreachable later to maint). * "log --graph --format=" learned that "%>|(N)" specifies the width relative to the terminal's left edge, not relative to the area to draw text that is to the right of the ancestry-graph section. It also now accepts negative N that means the column limit is relative to the right border. * A careless invocation of "git send-email directory/" after editing 0001-change.patch with an editor often ends up sending both 0001-change.patch and its backup file, 0001-change.patch~, causing embarrassment and a minor confusion. Detect such an input and offer to skip the backup files when sending the patches out. (merge 531220b jc/send-email-skip-backup later to maint). * "git submodule update" that drives many "git clone" could eventually hit flaky servers/network conditions on one of the submodules; the command learned to retry the attempt. * The output coloring scheme learned two new attributes, italic an
[ANNOUNCE] Git v2.10.0-rc0
An early preview release Git v2.10.0-rc0 is now available for testing at the usual places. It is comprised of 589 non-merge commits since v2.9.0, contributed by 67 people, 20 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/testing/ The following public repositories all have a copy of the 'v2.10.0-rc0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.9.0 are as follows. Welcome to the Git development community! Alexander Hirsch, Andreas Brauchli, Andrew Oakley, Antoine Queru, Christopher Layne, Dave Nicolson, Ed Maste, Heiko Becker, Ingo Brückl, Jonathan Tan, Jordan DE GEA, Josef Kufner, Keith McGuigan, Kevin Willford, LE Manh Cuong, Michael Stahl, Parker Moore, Peter Colberg, Tom Russello, and William Duclot. Returning contributors who helped this release are as follows. Thanks for your continued support. Alex Henrie, Alfred Perlstein, Armin Kunaschik, brian m. carlson, Charles Bailey, Chris Packham, Christian Couder, David A. Greene, David Aguilar, David Kastrup, David Turner, Edward Thomson, Elia Pinto, Eric Sunshine, Eric Wong, Heiko Voigt, Jacob Keller, Jeff King, Joey Hess, Johannes Schindelin, Johannes Sixt, John Keeping, Jonathan Nieder, Josh Triplett, Junio C Hamano, Lars Schneider, Lars Vogel, Lukas Fleischer, Matthieu Moy, Mehul Jain, Michael Haggerty, Michael J Gruber, Mike Hommey, Nguyễn Thái Ngọc Duy, Nicolas Pitre, Orgad Shaneh, Patrick Steinhardt, Pranit Bauva, Ramsay Jones, René Scharfe, Ronald Wampler, Stefan Beller, SZEDER Gábor, Thomas Braun, Torsten Bögershausen, Vasco Almeida, and Ville Skyttä. Git 2.10 Release Notes (draft) == Backward compatibility notes Updates since v2.9 -- UI, Workflows & Features * "git pull --rebase --verify-signature" learned to warn the user that "--verify-signature" is a no-op when rebasing. * An upstream project can make a recommendation to shallowly clone some submodules in the .gitmodules file it ships. * "git worktree add" learned that '-' can be used as a short-hand for "@{-1}", the previous branch. * Update the funcname definition to support css files. * The completion script (in contrib/) learned to complete "git status" options. * Messages that are generated by auto gc during "git push" on the receiving end are now passed back to the sending end in such a way that they are shown with "remote: " prefix to avoid confusing the users. * "git add -i/-p" learned to honor diff.compactionHeuristic experimental knob, so that the user can work on the same hunk split as "git diff" output. * "upload-pack" allows a custom "git pack-objects" replacement when responding to "fetch/clone" via the uploadpack.packObjectsHook. (merge b738396 jk/upload-pack-hook later to maint). * Teach format-patch and mailsplit (hence "am") how a line that happens to begin with "From " in the e-mail message is quoted with ">", so that these lines can be restored to their original shape. (merge d9925d1 ew/mboxrd-format-am later to maint). * "git repack" learned the "--keep-unreachable" option, which sends loose unreachable objects to a pack instead of leaving them loose. This helps heuristics based on the number of loose objects (e.g. "gc --auto"). (merge e26a8c4 jk/repack-keep-unreachable later to maint). * "log --graph --format=" learned that "%>|(N)" specifies the width relative to the terminal's left edge, not relative to the area to draw text that is to the right of the ancestry-graph section. It also now accepts negative N that means the column limit is relative to the right border. * A careless invocation of "git send-email directory/" after editing 0001-change.patch with an editor often ends up sending both 0001-change.patch and its backup file, 0001-change.patch~, causing embarrassment and a minor confusion. Detect such an input and offer to skip the backup files when sending the patches out. (merge 531220b jc/send-email-skip-backup later to maint). * "git submodule update" that drives many "git clone" could eventually hit flaky servers/network conditions on one of the submodules; the command learned to retry the attempt. * The output coloring scheme learned two new attributes, italic an
[ANNOUNCE] Git v2.9.3
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 Patr
[ANNOUNCE] Git v2.9.3
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 Patr
Re: get_maintainer.pl and .mailmap entries with more than 2 addresses
Joe Percheswrites: > Hello Florian. > > There is at least an oddity with get_maintainer handling of a > .mailmap entry form. > > For instance: > > Mauro's .mailmap entry is: > Mauro Carvalho Chehab > > > > Is this a valid form? I do not think so, according to "git shortlog --help" (the canonical source of the document is Documentation/mailmap.txt, but shortlog doc includes it). Here is the relevant bits. In the simple form, each line in the file consists of the canonical real name of an author, whitespace, and an email address used in the commit (enclosed by '<' and '>') to map to the name. For example: -- Proper Name -- The more complex forms are: -- -- which allows mailmap to replace only the email part of a commit, and: -- Proper Name -- which allows mailmap to replace both the name and the email of a commit matching the specified commit email address, and: -- Proper Name Commit Name -- which allows mailmap to replace both the name and the email of a commit matching both the specified commit name and email address.
Re: get_maintainer.pl and .mailmap entries with more than 2 addresses
Joe Perches writes: > Hello Florian. > > There is at least an oddity with get_maintainer handling of a > .mailmap entry form. > > For instance: > > Mauro's .mailmap entry is: > Mauro Carvalho Chehab > > > > Is this a valid form? I do not think so, according to "git shortlog --help" (the canonical source of the document is Documentation/mailmap.txt, but shortlog doc includes it). Here is the relevant bits. In the simple form, each line in the file consists of the canonical real name of an author, whitespace, and an email address used in the commit (enclosed by '<' and '>') to map to the name. For example: -- Proper Name -- The more complex forms are: -- -- which allows mailmap to replace only the email part of a commit, and: -- Proper Name -- which allows mailmap to replace both the name and the email of a commit matching the specified commit email address, and: -- Proper Name Commit Name -- which allows mailmap to replace both the name and the email of a commit matching both the specified commit name and email address.
[ANNOUNCE] Git v2.9.2
The latest maintenance release Git v2.9.2 is now available at the usual places. This is only a fix to the test suite; there is no change in the actual code produced for your daily use of Git. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.9.2' tag and the 'maint' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v2.9.2 Release Notes Fixes since v2.9.1 -- * A fix merged to v2.9.1 had a few tests that are not meant to be run on platforms without 64-bit long, which caused unnecessary test failures on them because we didn't detect the platform and skip them. These tests are now skipped on platforms that they are not applicable to. No other change is included in this update. Changes since v2.9.1 are as follows: 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
[ANNOUNCE] Git v2.9.2
The latest maintenance release Git v2.9.2 is now available at the usual places. This is only a fix to the test suite; there is no change in the actual code produced for your daily use of Git. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.9.2' tag and the 'maint' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git Git v2.9.2 Release Notes Fixes since v2.9.1 -- * A fix merged to v2.9.1 had a few tests that are not meant to be run on platforms without 64-bit long, which caused unnecessary test failures on them because we didn't detect the platform and skip them. These tests are now skipped on platforms that they are not applicable to. No other change is included in this update. Changes since v2.9.1 are as follows: 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
[ANNOUNCE] Git v2.9.1
many server instances that host upstream of the submodules are not prepared for. * Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}' to set the default value, without enclosing it in double quotes. * Some platform-specific code had non-ANSI strict declarations of C functions that do not take any parameters, which has been corrected. * The internal code used to show local timezone offset is not prepared to handle timestamps beyond year 2100, and gave a bogus offset value to the caller. Use a more benign looking + instead and let "git log" going in such a case, instead of aborting. * One among four invocations of readlink(1) in our test suite has been rewritten so that the test can run on systems without the command (others are in valgrind test framework and t9802). * t/perf needs /usr/bin/time with GNU extension; the invocation of it is updated to "gtime" on Darwin. * A bug, which caused "git p4" while running under verbose mode to report paths that are omitted due to branch prefix incorrectly, has been fixed; the command said "Ignoring file outside of prefix" for paths that are _inside_. * The top level documentation "git help git" still pointed at the documentation set hosted at now-defunct google-code repository. Update it to point to https://git.github.io/htmldocs/git.html instead. Also contains minor documentation updates and code clean-ups. Changes since v2.9.0 are as follows: 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 |() 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
[ANNOUNCE] Git v2.9.1
many server instances that host upstream of the submodules are not prepared for. * Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}' to set the default value, without enclosing it in double quotes. * Some platform-specific code had non-ANSI strict declarations of C functions that do not take any parameters, which has been corrected. * The internal code used to show local timezone offset is not prepared to handle timestamps beyond year 2100, and gave a bogus offset value to the caller. Use a more benign looking + instead and let "git log" going in such a case, instead of aborting. * One among four invocations of readlink(1) in our test suite has been rewritten so that the test can run on systems without the command (others are in valgrind test framework and t9802). * t/perf needs /usr/bin/time with GNU extension; the invocation of it is updated to "gtime" on Darwin. * A bug, which caused "git p4" while running under verbose mode to report paths that are omitted due to branch prefix incorrectly, has been fixed; the command said "Ignoring file outside of prefix" for paths that are _inside_. * The top level documentation "git help git" still pointed at the documentation set hosted at now-defunct google-code repository. Update it to point to https://git.github.io/htmldocs/git.html instead. Also contains minor documentation updates and code clean-ups. Changes since v2.9.0 are as follows: 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 |() 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
[ANNOUNCE] Git v2.9.0
The latest feature release Git v2.9.0 is now available at the usual places. It is comprised of 497 non-merge commits since v2.8.0, contributed by 75 people, 28 of which are new faces. The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.9.0' tag and the 'master' branch that the tag points at: url = https://kernel.googlesource.com/pub/scm/git/git url = git://repo.or.cz/alt-git.git url = git://git.sourceforge.jp/gitroot/git-core/git.git url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core url = https://github.com/gitster/git New contributors whose contributions weren't in v2.8.0 are as follows. Welcome to the Git development community! Alexander Rinass, Antonin, Armin Kunaschik, Benjamin Dopplinger, Ben Woosley, Erwan Mathoniere, Gabriel Souza Franco, Jacob Nisnevich, Jan Durovec, Jean-Noël Avila, Kazuki Yamaguchi, Keller Fuchs, Laurent Arnoud, Li Peng, Marios Titas, Mehul Jain, Michael Procter, Nikola Forró, Pablo Santiago Blum de Aguiar, Pranit Bauva, Ray Zhang, René Nyffenegger, Santiago Torres, Saurav Sachidanand, Shin Kojima, Sidhant Sharma [:tk], Stanislav Kolotinskiy, and Xiaolong Ye. Returning contributors who helped this release are as follows. Thanks for your continued support. Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alexander Kuleshov, Alexander Shopov, brian m. carlson, Brian Norris, Changwoo Ryu, Christian Couder, David Aguilar, David Turner, Dennis Kaarsemaker, Dimitriy Ryazantcev, Elia Pinto, Elijah Newren, Eric Sunshine, Eric Wong, Felipe Contreras, Jacob Keller, Jean-Noel Avila, Jeff King, Jiang Xin, Johannes Schindelin, Johannes Sixt, John Keeping, Junio C Hamano, Karsten Blees, Lars Schneider, Linus Torvalds, Luke Diamand, Matthieu Moy, Michael Haggerty, Michael J Gruber, Michael Rappazzo, Nguyễn Thái Ngọc Duy, Ori Avtalion, Peter Krefting, Ralf Thielow, Ramsay Jones, Ray Chen, René Scharfe, Stefan Beller, Stephen P. Smith, Sven Strickroth, SZEDER Gábor, Torsten Bögershausen, Trần Ngọc Quân, and Vasco Almeida. Git 2.9 Release Notes = Backward compatibility notes The end-user facing Porcelain level commands in the "git diff" and "git log" family by default enable the rename detection; you can still use "diff.renames" configuration variable to disable this. Merging two branches that have no common ancestor with "git merge" is by default forbidden now to prevent creating such an unusual merge by mistake. The output formats of "git log" that indents the commit log message by 4 spaces now expands HT in the log message by default. You can use the "--no-expand-tabs" option to disable this. "git commit-tree" plumbing command required the user to always sign its result when the user sets the commit.gpgsign configuration variable, which was an ancient mistake, which this release corrects. A script that drives commit-tree, if it relies on this mistake, now needs to read commit.gpgsign and pass the -S option as necessary. Updates since v2.8 -- UI, Workflows & Features * Comes with git-multimail 1.3.1 (in contrib/). * The end-user facing commands like "git diff" and "git log" now enable the rename detection by default. * The credential.helper configuration variable is cumulative and there is no good way to override it from the command line. As a special case, giving an empty string as its value now serves as the signal to clear the values specified in various files. * A new "interactive.diffFilter" configuration can be used to customize the diff shown in "git add -i" sessions. * "git p4" now allows P4 author names to be mapped to Git author names. * "git rebase -x" can be used without passing "-i" option. * "git -c credential.= submodule" can now be used to propagate configuration variables related to credential helper down to the submodules. * "git tag" can create an annotated tag without explicitly given an "-a" (or "-s") option (i.e. when a tag message is given). A new configuration variable, tag.forceSignAnnotated, can be used to tell the command to create signed tag in such a situation. * "git merge" used to allow merging two branches that have no common base by default, which led to a brand new history of an existing project created and then get pulled by an unsuspecting maintainer, which allowed an unnecessary parallel history merged into the existing project. The command has been taught not to allow this by default, with an escape hatch "--allow-unrelated-histories" option to be used in a rare event that merges histories o