[ANNOUNCE] git-filter-repo v2.28.0 (Was: Re: [ANNOUNCE] Git v2.28.0)
Hi, On Mon, Jul 27, 2020 at 11:54 AM Junio C Hamano wrote: > > The latest feature release Git v2.28.0 is now available at the > usual places. It is comprised of 317 non-merge commits since > v2.27.0, contributed by 58 people, 13 of which are new faces. The latest release of git-filter-repo, v2.28.0, is also now available. It is comprised of 15 non-merge commits since v2.27.1, including two changes from new contributors. The public repo of filter-repo is at https://github.com/newren/git-filter-repo The tarballs can be found at: https://github.com/newren/git-filter-repo/releases git-filter-repo can also be installed via a variety of package managers across Windows, Mac OS, or Linux (and maybe others)[1]. New contributors whose contributions weren't in v2.27.1 are as follows. Welcome to the git-filter-repo development community! * James Ramsay * Jonas Bernoulli [1] https://github.com/newren/git-filter-repo/blob/master/INSTALL.md git-filter-repo 2.28 Release Notes == (Note: Additional information is available for many release notes at https://github.com/newren/git-filter-repo/issues/) * New features: * ignore comment lines in --paths-from-file (#111) * Fixes: * allow globs to match file or directory names (#114) * use new --date-format=raw-permissive fast-import option to avoid fast-import failure on malformed date timezones (#88) * fix undefined variable names reported by flake8 in rare error paths (#128) * fix crash from assuming parent is an int (#131) * Documentation: * document mapping output (#117) * ignore the generated documentation (#127) * several miscellaneous doc improvements * Miscellaneous: * make tests individually re-runnable Changes since v2.27.1 are as follows: Elijah Newren (13): INSTALL.md: fix missing trailing backquote t9390: make tests individually re-runnable filter-repo: allow globs to match file or directory names filter-repo: ignore comment lines in --paths-from-file git-filter-repo.txt: point people at the generated documentation git-filter-repo.txt: be more forceful on the wording of --force filter-repo: make fresh clone warning scarier INSTALL.md: wording clarification on what repology.org tracks contrib: rename no-op-example to barebones-example filter-repo: use new --date-format=raw-permissive fast-import option Contributing.md: link to Nicolai Hähnle's code review comments Fix undefined variable names filter-repo: fix crash from assuming parent is an int James Ramsay (1): git-filter-repo.txt: document mapping output Jonas Bernoulli (1): .gitignore: ignore the generated documentation
[ANNOUNCE] Git v2.28.0
The latest feature release Git v2.28.0 is now available at the usual places. It is comprised of 317 non-merge commits since v2.27.0, contributed by 58 people, 13 of which are new faces. It is smaller than the releases in our recent past, mostly due to the development cycle was near the shorter end of the spectrum (our cycles last 8-12 weeks and this was a rare 8-week cycle). The tarballs are found at: https://www.kernel.org/pub/software/scm/git/ The following public repositories all have a copy of the 'v2.28.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.27.0 are as follows. Welcome to the Git development community! Andrew Ng, Bojun Chen, Chris Torek, David J. Malan, Don Goodman-Wilson, Jiuyang Xie, Luc Van Oostenryck, Marco Trevisan (Treviño), Mikhail Terekhov, Miroslav Koškár, Rafael Aquini, Srinidhi Kaushik, and Trygve Aaberge. Returning contributors who helped this release are as follows. Thanks for your continued support. Abhishek Kumar, Alessandro Menti, Ben Keene, brian m. carlson, Carlo Marcelo Arenas Belón, Christian Couder, Christopher Diaz Riveros, Denton Liu, Derrick Stolee, Đoàn Trần Công Danh, Elijah Newren, Emily Shaffer, Emir Sarı, Eric Sunshine, Han-Wen Nienhuys, Jacob Keller, Jean-Noël Avila, Jeff King, Jiang Xin, Johannes Schindelin, John Lin, Jonathan Nieder, Jonathan Tan, Jordi Mas, Josh Steadmon, Junio C Hamano, Laurent Arnoud, Martin Ågren, Matheus Tavares, Matthias Rüster, Paolo Bonzini, Patrick Steinhardt, Peter Krefting, Pratyush Yadav, Ralf Thielow, Ramsay Jones, Randall S. Becker, René Scharfe, Shourya Shukla, SZEDER Gábor, Taylor Blau, Trần Ngọc Quân, Ville Skyttä, Xin Li, and Yi-Jyun Pan. Git 2.28 Release Notes == Updates since v2.27 --- Backward compatibility notes * "fetch.writeCommitGraph" is deemed to be still a bit too risky and is no longer part of the "feature.experimental" set. UI, Workflows & Features * The commands in the "diff" family learned to honor "diff.relative" configuration variable. * The check in "git fsck" to ensure that the tree objects are sorted still had corner cases it missed unsorted entries. * The interface to redact sensitive information in the trace output has been simplified. * The command line completion (in contrib/) learned to complete options that the "git switch" command takes. * "git diff" used to take arguments in random and nonsense range notation, e.g. "git diff A..B C", "git diff A..B C...D", etc., which has been cleaned up. * "git diff-files" has been taught to say paths that are marked as intent-to-add are new files, not modified from an empty blob. * "git status" learned to report the status of sparse checkout. * "git difftool" has trouble dealing with paths added to the index with the intent-to-add bit. * "git fast-export --anonymize" learned to take customized mapping to allow its users to tweak its output more usable for debugging. * The command line completion support (in contrib/) used to be prepared to work with "set -u" but recent changes got a bit more sloppy. This has been corrected. * "git gui" now allows opening work trees from the start-up dialog. Performance, Internal Implementation, Development Support etc. * Code optimization for a common case. (merge 8777616e4d an/merge-single-strategy-optim later to maint). * We've adopted a convention that any on-stack structure can be initialized to have zero values in all fields with "= { 0 }", even when the first field happens to be a pointer, but sparse complained that a null pointer should be spelled NULL for a long time. Start using -Wno-universal-initializer option to squelch it (the latest sparse has it on by default). * "git log -L..." now takes advantage of the "which paths are touched by this commit?" info stored in the commit-graph system. * As FreeBSD is not the only platform whose regexp library reports a REG_ILLSEQ error when fed invalid UTF-8, add logic to detect that automatically and skip the affected tests. * "git bugreport" learns to report what shell is in use. * Support for GIT_CURL_VERBOSE has been rewritten in terms of GIT_TRACE_CURL. * Preliminary clean-ups around refs API, plus file format specification documentation for the reftable backend. * Workaround breakage in MSVC build, where "curl-config --cflags" gives settings appropriate for GCC build. * Code clean-up of "git clean" resulted in a fix of recent performance regression. * Code clean-up in the codepath that serves "git fetch" continues. * "git merge-base --is-ancestor" is taught to take advantage of the commit graph. * Rewrite of
[ANNOUNCE] Git v2.28.0-rc2
A release candidate Git v2.28.0-rc2 is now available for testing at the usual places. It is comprised of 301 non-merge commits since v2.27.0, contributed by 46 people, 12 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.28.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.27.0 are as follows. Welcome to the Git development community! Andrew Ng, Chris Torek, David J. Malan, Don Goodman-Wilson, Jiuyang Xie, Luc Van Oostenryck, Marco Trevisan (Treviño), Mikhail Terekhov, Miroslav Koškár, Rafael Aquini, Srinidhi Kaushik, and Trygve Aaberge. Returning contributors who helped this release are as follows. Thanks for your continued support. Abhishek Kumar, Ben Keene, brian m. carlson, Carlo Marcelo Arenas Belón, Christian Couder, Denton Liu, Derrick Stolee, Đoàn Trần Công Danh, Elijah Newren, Emily Shaffer, Eric Sunshine, Han-Wen Nienhuys, Jacob Keller, Jeff King, Johannes Schindelin, John Lin, Jonathan Nieder, Jonathan Tan, Josh Steadmon, Junio C Hamano, Laurent Arnoud, Martin Ågren, Matheus Tavares, Paolo Bonzini, Patrick Steinhardt, Pratyush Yadav, Ramsay Jones, Randall S. Becker, René Scharfe, Shourya Shukla, SZEDER Gábor, Taylor Blau, Ville Skyttä, and Xin Li. Git 2.28 Release Notes (draft) == Updates since v2.27 --- Backward compatibility notes * "fetch.writeCommitGraph" is deemed to be still a bit too risky and is no longer part of the "feature.experimental" set. UI, Workflows & Features * The commands in the "diff" family learned to honor "diff.relative" configuration variable. * The check in "git fsck" to ensure that the tree objects are sorted still had corner cases it missed unsorted entries. * The interface to redact sensitive information in the trace output has been simplified. * The command line completion (in contrib/) learned to complete options that the "git switch" command takes. * "git diff" used to take arguments in random and nonsense range notation, e.g. "git diff A..B C", "git diff A..B C...D", etc., which has been cleaned up. * "git diff-files" has been taught to say paths that are marked as intent-to-add are new files, not modified from an empty blob. * "git status" learned to report the status of sparse checkout. * "git difftool" has trouble dealing with paths added to the index with the intent-to-add bit. * "git fast-export --anonymize" learned to take customized mapping to allow its users to tweak its output more usable for debugging. * The command line completion support (in contrib/) used to be prepared to work with "set -u" but recent changes got a bit more sloppy. This has been corrected. * "git gui" now allows opening work trees from the start-up dialog. Performance, Internal Implementation, Development Support etc. * Code optimization for a common case. (merge 8777616e4d an/merge-single-strategy-optim later to maint). * We've adopted a convention that any on-stack structure can be initialized to have zero values in all fields with "= { 0 }", even when the first field happens to be a pointer, but sparse complained that a null pointer should be spelled NULL for a long time. Start using -Wno-universal-initializer option to squelch it (the latest sparse has it on by default). * "git log -L..." now takes advantage of the "which paths are touched by this commit?" info stored in the commit-graph system. * As FreeBSD is not the only platform whose regexp library reports a REG_ILLSEQ error when fed invalid UTF-8, add logic to detect that automatically and skip the affected tests. * "git bugreport" learns to report what shell is in use. * Support for GIT_CURL_VERBOSE has been rewritten in terms of GIT_TRACE_CURL. * Preliminary clean-ups around refs API, plus file format specification documentation for the reftable backend. * Workaround breakage in MSVC build, where "curl-config --cflags" gives settings appropriate for GCC build. * Code clean-up of "git clean" resulted in a fix of recent performance regression. * Code clean-up in the codepath that serves "git fetch" continues. * "git merge-base --is-ancestor" is taught to take advantage of the commit graph. * Rewrite of parts of the scripted "git submodule" Porcelain command continues; this time it is "git submodule set-branch" subcommand's turn. * The "fetch/clone" protocol has been updated to allow the server to instruct the clients to grab pre-packaged packfile(s) in addition to the packed object data coming over the wire. * A misdesigned
[ANNOUNCE] Git v2.28.0-rc1
A release candidate Git v2.28.0-rc1 is now available for testing at the usual places. It is comprised of 295 non-merge commits since v2.27.0, contributed by 43 people, 10 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.28.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.27.0 are as follows. Welcome to the Git development community! Andrew Ng, Chris Torek, Don Goodman-Wilson, Jiuyang Xie, Luc Van Oostenryck, Marco Trevisan (Treviño), Miroslav Koškár, Rafael Aquini, Srinidhi Kaushik, and Trygve Aaberge. Returning contributors who helped this release are as follows. Thanks for your continued support. Abhishek Kumar, Ben Keene, brian m. carlson, Carlo Marcelo Arenas Belón, Christian Couder, Denton Liu, Derrick Stolee, Đoàn Trần Công Danh, Elijah Newren, Emily Shaffer, Eric Sunshine, Han-Wen Nienhuys, Jacob Keller, Jeff King, Johannes Schindelin, John Lin, Jonathan Nieder, Jonathan Tan, Josh Steadmon, Junio C Hamano, Laurent Arnoud, Martin Ågren, Matheus Tavares, Paolo Bonzini, Patrick Steinhardt, Ramsay Jones, Randall S. Becker, René Scharfe, Shourya Shukla, SZEDER Gábor, Taylor Blau, Ville Skyttä, and Xin Li. Git 2.28 Release Notes (draft) == Updates since v2.27 --- Backward compatibility notes * "fetch.writeCommitGraph" is deemed to be still a bit too risky and is no longer part of the "feature.experimental" set. UI, Workflows & Features * The commands in the "diff" family learned to honor "diff.relative" configuration variable. * The check in "git fsck" to ensure that the tree objects are sorted still had corner cases it missed unsorted entries. * The interface to redact sensitive information in the trace output has been simplified. * The command line completion (in contrib/) learned to complete options that the "git switch" command takes. * "git diff" used to take arguments in random and nonsense range notation, e.g. "git diff A..B C", "git diff A..B C...D", etc., which has been cleaned up. * "git diff-files" has been taught to say paths that are marked as intent-to-add are new files, not modified from an empty blob. * "git status" learned to report the status of sparse checkout. * "git difftool" has trouble dealing with paths added to the index with the intent-to-add bit. * "git fast-export --anonymize" learned to take customized mapping to allow its users to tweak its output more usable for debugging. * The command line completion support (in contrib/) used to be prepared to work with "set -u" but recent changes got a bit more sloppy. This has been corrected. Performance, Internal Implementation, Development Support etc. * Code optimization for a common case. (merge 8777616e4d an/merge-single-strategy-optim later to maint). * We've adopted a convention that any on-stack structure can be initialized to have zero values in all fields with "= { 0 }", even when the first field happens to be a pointer, but sparse complained that a null pointer should be spelled NULL for a long time. Start using -Wno-universal-initializer option to squelch it (the latest sparse has it on by default). * "git log -L..." now takes advantage of the "which paths are touched by this commit?" info stored in the commit-graph system. * As FreeBSD is not the only platform whose regexp library reports a REG_ILLSEQ error when fed invalid UTF-8, add logic to detect that automatically and skip the affected tests. * "git bugreport" learns to report what shell is in use. * Support for GIT_CURL_VERBOSE has been rewritten in terms of GIT_TRACE_CURL. * Preliminary clean-ups around refs API, plus file format specification documentation for the reftable backend. * Workaround breakage in MSVC build, where "curl-config --cflags" gives settings appropriate for GCC build. * Code clean-up of "git clean" resulted in a fix of recent performance regression. * Code clean-up in the codepath that serves "git fetch" continues. * "git merge-base --is-ancestor" is taught to take advantage of the commit graph. * Rewrite of parts of the scripted "git submodule" Porcelain command continues; this time it is "git submodule set-branch" subcommand's turn. * The "fetch/clone" protocol has been updated to allow the server to instruct the clients to grab pre-packaged packfile(s) in addition to the packed object data coming over the wire. * A misdesigned strbuf_write_fd() function has been retired. * SHA-256 migration work continues, including CVS/SVN interface. * A few
Re: [ANNOUNCE] Git v2.28.0-rc0
On 7/10/2020 12:07 PM, Junio C Hamano wrote: > Derrick Stolee writes: > >> On 7/9/2020 5:40 PM, Junio C Hamano wrote: >>> An early preview release Git v2.28.0-rc0 is now available for >>> testing at the usual places. >> >> This might be part of your new process, or it might be an >> oversight. It seems that GIT-VERSION-GEN did not update with >> this RC, so the built version will still have a 2.27 start [1]. >> >> This differs from previous rc's [2]. > > Sorry, I screwed up. Thanks for a set of sharp eyes. No worries. The only reason I was confused was because I always hit a conflict on GIT-VERSION-GEN when rebasing microsoft/git onto a git-for-windows/git version (so we can add the ".vfs." into the version string). I had no idea if this would cause anyone trouble. Thanks, -Stolee
Re: [ANNOUNCE] Git v2.28.0-rc0
Derrick Stolee writes: > On 7/9/2020 5:40 PM, Junio C Hamano wrote: >> An early preview release Git v2.28.0-rc0 is now available for >> testing at the usual places. > > This might be part of your new process, or it might be an > oversight. It seems that GIT-VERSION-GEN did not update with > this RC, so the built version will still have a 2.27 start [1]. > > This differs from previous rc's [2]. Sorry, I screwed up. Thanks for a set of sharp eyes. I however think that there is no practical problem other than for those who "grep DEF_VER GIT-VERSION-GEN" and base their action on the result. If somebody is building from the tarball created by "make dist" (be it done by me and uploaded to k.org or done by somebody else from a clone of my repository), there would be the "version" file included in the tarball that would override the DEF_VER setting in GIT_VERION_GEN. If somebody is building from a clone of my repository, GIT_VERSION_GEN runs "git describe" to find out which version it is, without using DEF_VER. The only three unrealistic classes of users that may be affected are: - The ones that single-branch cloned from me _with_ --no-tags, so that "git describe" is run but cannot find what version it is. - The ones that _somehow_ cloned from me _without_ having any version of git that can run "git describe" in the repository. - The ones that receives a tarball that was created by running "make dist" in the directory that resulted from extracting the official tarball and then removed the ./version file included in the official tarball. For the people in the first two classes, GIT-VERSION-GEN would fail to use "git describe" to find which version it is building, and end up using DEF_VER. We can call the third kind a crippled/sabotaged tarball---without the involvement of the person who extracted the official tarball, munged the resulting directory and then made a different tarball by running "make dist" in it, the builders would not see DEF_VAR being wrong. Thanks anyway. I'll try to be more careful when tagging -rc1
Re: [ANNOUNCE] Git v2.28.0-rc0
On 7/9/2020 5:40 PM, Junio C Hamano wrote: > An early preview release Git v2.28.0-rc0 is now available for > testing at the usual places. This might be part of your new process, or it might be an oversight. It seems that GIT-VERSION-GEN did not update with this RC, so the built version will still have a 2.27 start [1]. This differs from previous rc's [2]. Thanks, -Stolee [1] https://github.com/git/git/blob/v2.28.0-rc0/GIT-VERSION-GEN#L4 [2] https://github.com/git/git/blob/v2.27.0-rc0/GIT-VERSION-GEN#L4
[ANNOUNCE] Git v2.28.0-rc0
An early preview release Git v2.28.0-rc0 is now available for testing at the usual places. It is comprised of 284 non-merge commits since v2.27.0, contributed by 42 people, 9 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.28.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.27.0 are as follows. Welcome to the Git development community! Andrew Ng, Chris Torek, Don Goodman-Wilson, Jiuyang Xie, Luc Van Oostenryck, Marco Trevisan (Treviño), Miroslav Koškár, Rafael Aquini, and Srinidhi Kaushik. Returning contributors who helped this release are as follows. Thanks for your continued support. Abhishek Kumar, Ben Keene, brian m. carlson, Carlo Marcelo Arenas Belón, Christian Couder, Denton Liu, Derrick Stolee, Đoàn Trần Công Danh, Elijah Newren, Emily Shaffer, Eric Sunshine, Han-Wen Nienhuys, Jacob Keller, Jeff King, Johannes Schindelin, John Lin, Jonathan Nieder, Jonathan Tan, Josh Steadmon, Junio C Hamano, Laurent Arnoud, Martin Ågren, Matheus Tavares, Paolo Bonzini, Patrick Steinhardt, Ramsay Jones, Randall S. Becker, René Scharfe, Shourya Shukla, SZEDER Gábor, Taylor Blau, Ville Skyttä, and Xin Li. Git 2.28 Release Notes (draft) == Updates since v2.27 --- Backward compatibility notes * "fetch.writeCommitGraph" is deemed to be still a bit too risky and is no longer part of the "feature.experimental" set. * It used to be that setting extensions.* configuration variables alone, while leaving core.repositoryFormatVersion=0, made these settings effective, which was a wrong thing to do. In version 0, there was no special meaning in extensions.* configuration variables. This has been corrected. If you need these repository extensions to be effective, the core.repositoryFormatVersion variable needs to be updated to 1 after vetting these extensions.* variables are set correctly. UI, Workflows & Features * The commands in the "diff" family learned to honor "diff.relative" configuration variable. * The check in "git fsck" to ensure that the tree objects are sorted still had corner cases it missed unsorted entries. * The interface to redact sensitive information in the trace output has been simplified. * The command line completion (in contrib/) learned to complete options that the "git switch" command takes. * "git diff" used to take arguments in random and nonsense range notation, e.g. "git diff A..B C", "git diff A..B C...D", etc., which has been cleaned up. * "git diff-files" has been taught to say paths that are marked as intent-to-add are new files, not modified from an empty blob. * "git status" learned to report the status of sparse checkout. * "git difftool" has trouble dealing with paths added to the index with the intent-to-add bit. * "git fast-export --anonymize" learned to take customized mapping to allow its users to tweak its output more usable for debugging. * The command line completion support (in contrib/) used to be prepared to work with "set -u" but recent changes got a bit more sloppy. This has been corrected. Performance, Internal Implementation, Development Support etc. * Code optimization for a common case. (merge 8777616e4d an/merge-single-strategy-optim later to maint). * We've adopted a convention that any on-stack structure can be initialized to have zero values in all fields with "= { 0 }", even when the first field happens to be a pointer, but sparse complained that a null pointer should be spelled NULL for a long time. Start using -Wno-universal-initializer option to squelch it (the latest sparse has it on by default). * "git log -L..." now takes advantage of the "which paths are touched by this commit?" info stored in the commit-graph system. * As FreeBSD is not the only platform whose regexp library reports a REG_ILLSEQ error when fed invalid UTF-8, add logic to detect that automatically and skip the affected tests. * "git bugreport" learns to report what shell is in use. * Support for GIT_CURL_VERBOSE has been rewritten in terms of GIT_TRACE_CURL. * Preliminary clean-ups around refs API, plus file format specification documentation for the reftable backend. * Workaround breakage in MSVC build, where "curl-config --cflags" gives settings appropriate for GCC build. * Code clean-up of "git clean" resulted in a fix of recent performance regression. * Code clean-up in the codepath that serves "git fetch" continues. * "git merge-base --is-ancestor" is taught to take advantage of the commit