[ANNOUNCE] Git v2.31.0
The latest feature release Git v2.31.0 is now available at the usual places. It is comprised of 679 non-merge commits since v2.30.0, contributed by 85 people, 23 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.31.0' tag and the 'master' branch that the tag points at: url = https://git.kernel.org/pub/scm/git/git 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.30.0 are as follows. Welcome to the Git development community! Aleksey Kliger, Andreas Bühmann, Andrew Klotz, Andrzej Hunt, Antonio Russo, Arnaud Morin, Bagas Sanjaya, Christian Walther, Clement Moyroud, Daniel Levin, Daniel Troger, Harold Kim, Jacob Vosmaer, LeSeulArtichaut, Mikhail Klyushin, Neeraj Singh, Sangeeta Jain, Seth House, Shubham Verma, Utku Gultopu, Vasyl Vavrychuk, Vojtěch Knyttl, and ZheNing Hu. Returning contributors who helped this release are as follows. Thanks for your continued support. Abhishek Kumar, Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alexander Shopov, Alex Henrie, Arusekk, brian m. carlson, Christian Couder, Christopher Diaz Riveros, Dana Dahlstrom, Daniel Santos, Denton Liu, Derrick Stolee, Dimitriy Ryazantcev, Elijah Newren, Emir Sarı, Eric Sunshine, Eric Wong, Felipe Contreras, Han-Wen Nienhuys, Hariom Verma, Heba Waly, Jean-Noël Avila, Jeff Hostetler, Jeff King, Jiang Xin, Joey Salazar, Johannes Schindelin, Johannes Sixt, Jonathan Nieder, Jonathan Tan, Jordi Mas, Junio C Hamano, Kevin Daudt, Kevin Willford, Lars Schneider, Martin Ågren, Martin von Zweigbergk, Matheus Tavares, Matthias Rüster, Michael Haggerty, Patrick Steinhardt, Paul Jolly, Peter Kaestle, Peter Krefting, Phil Hord, Philippe Blain, Phillip Szelat, Phillip Wood, Pranit Bauva, Pratyush Yadav, Rafael Silva, Ralf Thielow, René Scharfe, Ross Light, Sergey Organov, SZEDER Gábor, Taylor Blau, Thomas Ackermann, Torsten Bögershausen, Trần Ngọc Quân, and Yi-Jyun Pan. [*] We are counting not just the authorship contribution but issue reporting, testing and reviewing that are recorded in the commit trailers. Git 2.31 Release Notes == Updates since v2.30 --- Backward incompatible and other important changes * The "pack-redundant" command, which has been left stale with almost unusable performance issues, now warns loudly when it gets used, as we no longer want to recommend its use (instead just "repack -d" instead). * The development community has adopted Contributor Covenant v2.0 to update from v1.4 that we have been using. * The support for deprecated PCRE1 library has been dropped. * Fixes for CVE-2021-21300 in Git 2.30.2 (and earlier) is included. UI, Workflows & Features * The "--format=%(trailers)" mechanism gets enhanced to make it easier to design output for machine consumption. * When a user does not tell "git pull" to use rebase or merge, the command gives a loud message telling a user to choose between rebase or merge but creates a merge anyway, forcing users who would want to rebase to redo the operation. Fix an early part of this problem by tightening the condition to give the message---there is no reason to stop or force the user to choose between rebase or merge if the history fast-forwards. * The configuration variable 'core.abbrev' can be set to 'no' to force no abbreviation regardless of the hash algorithm. * "git rev-parse" can be explicitly told to give output as absolute or relative path with the `--path-format=(absolute|relative)` option. * Bash completion (in contrib/) update to make it easier for end-users to add completion for their custom "git" subcommands. * "git maintenance" learned to drive scheduled maintenance on platforms whose native scheduling methods are not 'cron'. * After expiring a reflog and making a single commit, the reflog for the branch would record a single entry that knows both @{0} and @{1}, but we failed to answer "what commit were we on?", i.e. @{1} * "git bundle" learns "--stdin" option to read its refs from the standard input. Also, it now does not lose refs whey they point at the same object. * "git log" learned a new "--diff-merges=" option. * "git ls-files" can and does show multiple entries when the index is unmerged, which is a source for confusion unless -s/-u option is in use. A new option --deduplicate has been introduced. * `git worktree list` now annotates worktrees as prunable, shows locked and prunable attributes in --porcelain mode, and gained a --verbose option. * "git clone" tries to locally check out the branch pointed at by HEAD of the remote repository after it is done, but the p
[ANNOUNCE] Git v2.31.0-rc2
A release candidate Git v2.31.0-rc2 is now available for testing at the usual places. It is comprised of 655 non-merge commits since v2.30.0, contributed by 68 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.31.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 = https://github.com/gitster/git New contributors whose contributions weren't in v2.30.0 are as follows. Welcome to the Git development community! Aleksey Kliger, Andreas Bühmann, Andrew Klotz, Andrzej Hunt, Antonio Russo, Arnaud Morin, Christian Walther, Clement Moyroud, Daniel Levin, Daniel Troger, Harold Kim, Jacob Vosmaer, LeSeulArtichaut, Mikhail Klyushin, Neeraj Singh, Sangeeta Jain, Seth House, Shubham Verma, Utku Gultopu, Vasyl Vavrychuk, Vojtěch Knyttl, and ZheNing Hu. Returning contributors who helped this release are as follows. Thanks for your continued support. Abhishek Kumar, Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alex Henrie, brian m. carlson, Christian Couder, Denton Liu, Derrick Stolee, Elijah Newren, Eric Sunshine, Eric Wong, Felipe Contreras, Han-Wen Nienhuys, Hariom Verma, Heba Waly, Jeff Hostetler, Jeff King, Jiang Xin, Joey Salazar, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kevin Daudt, Kevin Willford, Lars Schneider, Martin Ågren, Martin von Zweigbergk, Matheus Tavares, Michael Haggerty, Patrick Steinhardt, Paul Jolly, Peter Kaestle, Phil Hord, Philippe Blain, Phillip Wood, Pranit Bauva, Pratyush Yadav, Rafael Silva, René Scharfe, Ross Light, Sergey Organov, SZEDER Gábor, Taylor Blau, Thomas Ackermann, and Torsten Bögershausen. [*] We are counting not just the authorship contribution but issue reporting, testing and reviewing that are recorded in the commit trailers. Git 2.31 Release Notes (draft) == Updates since v2.30 --- Backward incompatible and other important changes * The "pack-redundant" command, which has been left stale with almost unusable performance issues, now warns loudly when it gets used, as we no longer want to recommend its use (instead just "repack -d" instead). * The development community has adopted Contributor Covenant v2.0 to update from v1.4 that we have been using. * The support for deprecated PCRE1 library has been dropped. * Fixes for CVE-2021-21300 in Git 2.30.2 (and earlier) is included. UI, Workflows & Features * The "--format=%(trailers)" mechanism gets enhanced to make it easier to design output for machine consumption. * When a user does not tell "git pull" to use rebase or merge, the command gives a loud message telling a user to choose between rebase or merge but creates a merge anyway, forcing users who would want to rebase to redo the operation. Fix an early part of this problem by tightening the condition to give the message---there is no reason to stop or force the user to choose between rebase or merge if the history fast-forwards. * The configuration variable 'core.abbrev' can be set to 'no' to force no abbreviation regardless of the hash algorithm. * "git rev-parse" can be explicitly told to give output as absolute or relative path with the `--path-format=(absolute|relative)` option. * Bash completion (in contrib/) update to make it easier for end-users to add completion for their custom "git" subcommands. * "git maintenance" learned to drive scheduled maintenance on platforms whose native scheduling methods are not 'cron'. * After expiring a reflog and making a single commit, the reflog for the branch would record a single entry that knows both @{0} and @{1}, but we failed to answer "what commit were we on?", i.e. @{1} * "git bundle" learns "--stdin" option to read its refs from the standard input. Also, it now does not lose refs whey they point at the same object. * "git log" learned a new "--diff-merges=" option. * "git ls-files" can and does show multiple entries when the index is unmerged, which is a source for confusion unless -s/-u option is in use. A new option --deduplicate has been introduced. * `git worktree list` now annotates worktrees as prunable, shows locked and prunable attributes in --porcelain mode, and gained a --verbose option. * "git clone" tries to locally check out the branch pointed at by HEAD of the remote repository after it is done, but the protocol did not convey the information necessary to do so when copying an empty repository. The protocol v2 learned how to do so. * There are other ways than ".." for a single token to denote a "commit range", namely "^!" and "^-", but "git range-diff" did not understand
Re: [ANNOUNCE] Git v2.31.0-rc1
On 03/03/21 10:14PM, Junio C Hamano wrote: > Eric Sunshine writes: > > > On Wed, Mar 3, 2021 at 7:23 PM Junio C Hamano wrote: > >> Pratyush Yadav (1): > >> git-gui: remove lines starting with the comment character > > > > Is there some way that this can be removed from v2.31.0 before final > > release? It badly breaks git-gui on macOS[1,2] to the point of making > > it unusable (Tcl throws errors at launch time and when trying to > > commit, and committing is 100% broken). > > Thanks. > > I could revert the merge with the problematic changes to git-gui, > i.e. 0917373 (Merge https://github.com/prati0100/git-gui, > 2021-03-01), but if possible, I'd rather merge a revert made on the > git-gui side. If b1056f60 (Merge branch 'py/commit-comments', > 2021-02-22) is the tip of git-gui repository, and b9a43869 (git-gui: > remove lines starting with the comment character, 2021-02-03) is > what breaks, perhaps > > $ git checkout b1056f60^2 && > git revert b9a43869 && > git checkout b1056f60 && > git merge @{-1} > > would be what we want to have at the tip of git-gui until the > breakage gets sorted out. > > Pratyush? I will send a follow-up PR with the patch reverted. I'll then apply Eric's patch to fix breakage on MacOS and let it simmer till the next release. Let's not risk any breaking changes close to release. -- Regards, Pratyush Yadav
Re: [ANNOUNCE] Git v2.31.0-rc1
Eric Sunshine writes: > On Wed, Mar 3, 2021 at 7:23 PM Junio C Hamano wrote: >> Pratyush Yadav (1): >> git-gui: remove lines starting with the comment character > > Is there some way that this can be removed from v2.31.0 before final > release? It badly breaks git-gui on macOS[1,2] to the point of making > it unusable (Tcl throws errors at launch time and when trying to > commit, and committing is 100% broken). Thanks. I could revert the merge with the problematic changes to git-gui, i.e. 0917373 (Merge https://github.com/prati0100/git-gui, 2021-03-01), but if possible, I'd rather merge a revert made on the git-gui side. If b1056f60 (Merge branch 'py/commit-comments', 2021-02-22) is the tip of git-gui repository, and b9a43869 (git-gui: remove lines starting with the comment character, 2021-02-03) is what breaks, perhaps $ git checkout b1056f60^2 && git revert b9a43869 && git checkout b1056f60 && git merge @{-1} would be what we want to have at the tip of git-gui until the breakage gets sorted out. Pratyush?
Re: [ANNOUNCE] Git v2.31.0-rc1
On Wed, Mar 3, 2021 at 7:23 PM Junio C Hamano wrote: > Pratyush Yadav (1): > git-gui: remove lines starting with the comment character Is there some way that this can be removed from v2.31.0 before final release? It badly breaks git-gui on macOS[1,2] to the point of making it unusable (Tcl throws errors at launch time and when trying to commit, and committing is 100% broken). [1]: https://lore.kernel.org/git/capig+ct-sfgmdi9-6aekf85ntoixeqddjjk-pyuhdttvae-...@mail.gmail.com/ [2]: https://lore.kernel.org/git/20210228231110.24076-1-sunsh...@sunshineco.com/
Re: [ANNOUNCE] Git v2.31.0-rc1
On Wed, Mar 3, 2021 at 7:23 PM Junio C Hamano wrote: > Eric Sunshine (3): > worktree: teach `repair` to fix multi-directional breakage The merge message associated with this change is: "git worktree repair" learned to deal with the case where both the repository and the worktree moved. which seems worth mentioning in the v2.31.0 release notes, so it's a bit surprising that it is not mentioned anywhere. I haven't investigated how the release notes are generated from the merge messages, so it is unclear if this is a mere oversight, an intentional omission, or a tooling error.
[ANNOUNCE] Git v2.31.0-rc1
A release candidate Git v2.31.0-rc1 is now available for testing at the usual places. It is comprised of 631 non-merge commits since v2.30.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.31.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.30.0 are as follows. Welcome to the Git development community! Andreas Bühmann, Andrew Klotz, Andrzej Hunt, Antonio Russo, Arnaud Morin, Christian Walther, Clement Moyroud, Daniel Levin, Daniel Troger, Harold Kim, Jacob Vosmaer, LeSeulArtichaut, Mikhail Klyushin, Neeraj Singh, Sangeeta Jain, Seth House, Shubham Verma, Utku Gultopu, Vasyl Vavrychuk, Vojtěch Knyttl, and ZheNing Hu. Returning contributors who helped this release are as follows. Thanks for your continued support. Abhishek Kumar, Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alex Henrie, brian m. carlson, Christian Couder, Denton Liu, Derrick Stolee, Elijah Newren, Eric Sunshine, Eric Wong, Felipe Contreras, Han-Wen Nienhuys, Hariom Verma, Heba Waly, Jeff Hostetler, Jeff King, Jiang Xin, Joey Salazar, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kevin Daudt, Kevin Willford, Lars Schneider, Martin Ågren, Martin von Zweigbergk, Matheus Tavares, Michael Haggerty, Patrick Steinhardt, Paul Jolly, Peter Kaestle, Phil Hord, Philippe Blain, Phillip Wood, Pranit Bauva, Pratyush Yadav, Rafael Silva, René Scharfe, Ross Light, Sergey Organov, SZEDER Gábor, Taylor Blau, Thomas Ackermann, and Torsten Bögershausen. [*] We are counting not just the authorship contribution but issue reporting, testing and reviewing that are recorded in the commit trailers. Git 2.31 Release Notes (draft) == Updates since v2.30 --- Backward incompatible and other important changes * The "pack-redundant" command, which has been left stale with almost unusable performance issues, now warns loudly when it gets used, as we no longer want to recommend its use (instead just "repack -d" instead). * The development community has adopted Contributor Covenant v2.0 to update from v1.4 that we have been using. * The support for deprecated PCRE1 library has been dropped. UI, Workflows & Features * The "--format=%(trailers)" mechanism gets enhanced to make it easier to design output for machine consumption. * When a user does not tell "git pull" to use rebase or merge, the command gives a loud message telling a user to choose between rebase or merge but creates a merge anyway, forcing users who would want to rebase to redo the operation. Fix an early part of this problem by tightening the condition to give the message---there is no reason to stop or force the user to choose between rebase or merge if the history fast-forwards. * The configuration variable 'core.abbrev' can be set to 'no' to force no abbreviation regardless of the hash algorithm. * "git rev-parse" can be explicitly told to give output as absolute or relative path with the `--path-format=(absolute|relative)` option. * Bash completion (in contrib/) update to make it easier for end-users to add completion for their custom "git" subcommands. * "git maintenance" learned to drive scheduled maintenance on platforms whose native scheduling methods are not 'cron'. * After expiring a reflog and making a single commit, the reflog for the branch would record a single entry that knows both @{0} and @{1}, but we failed to answer "what commit were we on?", i.e. @{1} * "git bundle" learns "--stdin" option to read its refs from the standard input. Also, it now does not lose refs whey they point at the same object. * "git log" learned a new "--diff-merges=" option. * "git ls-files" can and does show multiple entries when the index is unmerged, which is a source for confusion unless -s/-u option is in use. A new option --deduplicate has been introduced. * `git worktree list` now annotates worktrees as prunable, shows locked and prunable attributes in --porcelain mode, and gained a --verbose option. * "git clone" tries to locally check out the branch pointed at by HEAD of the remote repository after it is done, but the protocol did not convey the information necessary to do so when copying an empty repository. The protocol v2 learned how to do so. * There are other ways than ".." for a single token to denote a "commit range", namely "^!" and "^-", but "git range-diff" did not understand them. * The "git range-diff" command learned "--(left|right)-only" option to show on
[ANNOUNCE] Git v2.31.0-rc0
An early preview release Git v2.31.0-rc0 is now available for testing at the usual places. It is comprised of 568 non-merge commits since v2.30.0, contributed by 58 people, 18 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.31.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.30.0 are as follows. Welcome to the Git development community! Andreas Bühmann, Andrew Klotz, Andrzej Hunt, Antonio Russo, Arnaud Morin, Christian Walther, Clement Moyroud, Daniel Levin, Daniel Troger, Harold Kim, Jacob Vosmaer, LeSeulArtichaut, Sangeeta Jain, Seth House, Utku Gultopu, Vasyl Vavrychuk, Vojtěch Knyttl, and ZheNing Hu. Returning contributors who helped this release are as follows. Thanks for your continued support. Abhishek Kumar, Adam Dinwoodie, Ævar Arnfjörð Bjarmason, Alex Henrie, brian m. carlson, Christian Couder, Denton Liu, Derrick Stolee, Elijah Newren, Eric Sunshine, Eric Wong, Felipe Contreras, Jeff King, Jiang Xin, Joey Salazar, Johannes Schindelin, Johannes Sixt, Jonathan Tan, Junio C Hamano, Kevin Daudt, Lars Schneider, Martin Ågren, Martin von Zweigbergk, Matheus Tavares, Michael Haggerty, Patrick Steinhardt, Paul Jolly, Peter Kaestle, Phil Hord, Philippe Blain, Phillip Wood, Pranit Bauva, Rafael Silva, René Scharfe, Ross Light, Sergey Organov, SZEDER Gábor, Taylor Blau, Thomas Ackermann, and Torsten Bögershausen. [*] We are counting not just the authorship contribution but mention for issue reporting, testing and reviewing in the commits added during this cycle are all counted. Git 2.31 Release Notes (draft) == Updates since v2.30 --- Backward incompatible and other important changes * The "pack-redundant" command, which has been left stale with almost unusable performance issues, now warns loudly when it gets used, as we no longer want to recommend its use (instead just "repack -d" instead). * The development community has adopted Contributor Covenant v2.0 to update from v1.4 that we have been using. * The support for deprecated PCRE1 library has been dropped. UI, Workflows & Features * The "--format=%(trailers)" mechanism gets enhanced to make it easier to design output for machine consumption. * When a user does not tell "git pull" to use rebase or merge, the command gives a loud message telling a user to choose between rebase or merge but creates a merge anyway, forcing users who would want to rebase to redo the operation. Fix an early part of this problem by tightening the condition to give the message---there is no reason to stop or force the user to choose between rebase or merge if the history fast-forwards. * The configuration variable 'core.abbrev' can be set to 'no' to force no abbreviation regardless of the hash algorithm. * "git rev-parse" can be explicitly told to give output as absolute or relative path with the `--path-format=(absolute|relative)` option. * Bash completion (in contrib/) update to make it easier for end-users to add completion for their custom "git" subcommands. * "git maintenance" learned to drive scheduled maintenance on platforms whose native scheduling methods are not 'cron'. * After expiring a reflog and making a single commit, the reflog for the branch would record a single entry that knows both @{0} and @{1}, but we failed to answer "what commit were we on?", i.e. @{1} * "git bundle" learns "--stdin" option to read its refs from the standard input. Also, it now does not lose refs whey they point at the same object. * "git log" learned a new "--diff-merges=" option. * "git ls-files" can and does show multiple entries when the index is unmerged, which is a source for confusion unless -s/-u option is in use. A new option --deduplicate has been introduced. * `git worktree list` now annotates worktrees as prunable, shows locked and prunable attributes in --porcelain mode, and gained a --verbose option. * "git clone" tries to locally check out the branch pointed at by HEAD of the remote repository after it is done, but the protocol did not convey the information necessary to do so when copying an empty repository. The protocol v2 learned how to do so. * There are other ways than ".." for a single token to denote a "commit range", namely "^!" and "^-", but "git range-diff" did not understand them. * The "git range-diff" command learned "--(left|right)-only" option to show only one side of the compared range. * "git mergetool" feeds three versions (base, local and remote) of