[ANNOUNCE] git-filter-repo v2.25.0 (Was Re: [ANNOUNCE] Git v2.25.0)

From: Elijah Newren
Date: Mon Jan 13 2020 - 15:14:09 EST


Hi,

On Mon, Jan 13, 2020 at 11:32 AM Junio C Hamano <gitster@xxxxxxxxx> wrote:
>
> The latest feature release Git v2.25.0 is now available at the
> usual places. It is comprised of 583 non-merge commits since
> v2.24.0, contributed by 84 people, 32 of which are new faces.

The latest release of git-filter-repo, v2.25.0, is also now available. It
is comprised of 29 non-merge commits since v2.24.0, contributed by 6
people, 5 of whom are new.

The public 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 now also be installed via pip[1] or a variety of
package managers across Windows, Mac OS, or Linux (and maybe
others)[2].

New contributors whose contributions weren't in v2.24.0 are as follows.
Welcome to the git-filter-repo development community!

Karl Lenz, Benoit Fouletier, Andreas Schneider, Julian Berman,
Matthisk Heimensen

[1] https://github.com/newren/git-filter-repo/blob/master/INSTALL.md#installation-via-pip
[2] https://github.com/newren/git-filter-repo/blob/master/INSTALL.md#installation-via-package-manager

----------------------------------------------------------------

git-filter-repo 2.25 Release Notes
==================================

(Note: Additional information is available for many release notes at
https://github.com/newren/git-filter-repo/issues/<NUMBER>)

Fixes:
* A bug in empty/degenerate commit pruning could result in path
filters being ignored for commits not in the first parent history
of a commit when the first parent history is pruned away. This has
been corrected, with the unwanted files now being pruned. (#3, #35)
* blob-callbacks and --replace-text could result in commits becoming
empty, but such commits were overlooked for empty pruning. This
has been corrected. (#42)
* On case-insensitive file systems, fast-import will have files whose
names differ in case only overwrite each other. Avoid such
clobbering of history while rewriting when a repo is cloned onto
such a filesystem (#24).
* Prevent --analyze from choking on typechanges in conjunction with
renames.
* Workaround python subprocess bug on Windows in the bfg-ish and
filter-lamely (a.k.a. filter-branch-ish) scripts, so that these
scripts can also be run on Windows (#27)

Enhancements:
* Due to pruning of commits which become empty, a merge commit can
become degenerate in a variety of ways. One of these is that one
parent can become the ancestor of the other, making the merge
commit unnecessary (unless it introduces some file changes). Add a
new --no-ff option to avoid pruning such a merge commit when the
first parent is the one that is an ancestor of the other parent.
* Warn users who try to use invalid path components (#32)
* Parse mailmap entries with no email address (#29)
* Allow --dry-run and --debug to be used together (#29)

Installation improvements:
* Fix some path and documentation installation issues (#12, #10)
* Update GPL license file (#34)
* Add packaging scripts for uploading to PyPI (#11, #16, #43)

Documentation improvements:
* Ficks sum tiepos in reeport fiuhls genereighted bye --analyze (#18, #40)
* Include several documentation updates, including fixing an error (#41);
most of these updates were in response to common questions.

Miscellaneous:
* Prefer 'coverage3' to 'python3-coverage' in testing, to match name
of upstream package.
* Add a basic .gitignore


Changes since v2.24.0 are as follows:

Andreas Schneider (1):
Update GPL license file

Benoit Fouletier (2):
Makefile: fix documentation installation
Makefile: fix path installation issues

Elijah Newren (21):
filter-repo (README): add sections on prerequisites and installation
Explain how to use a python3 executable not named "python3"
filter-repo (README): add code of conduct and contributing guidelines
run_coverage: prefer coverage3 to python3-coverage
Contributing.md: mention testsuite line coverage
contrib: clarify a few points of usage
Reference package managers in installation instructions
Contributing.md: clarify notes about PEP-8
filter-repo: don't have analyze choke on typechange types
filter-repo: move file filtering out of _tweak_commit() for re-use
filter-repo: actually fix issue with pruning of empty commits
release: tweak packaging scripts for uploading to PyPI
filter-repo: avoid clobbering files whose names differ in case only
contrib: update bfg-ish and filter-lamely with windows workaround
Contributing.md: clarify reasons for using git.git submission guidelines
filter-repo: warn users who try to use invalid path components
filter-repo: add new --no-ff option
filter-repo: fix bad column label in path-all-sizes.txt report
git-filter-repo.txt: fix example of editing blob contents
filter-repo: fix pruning of empty commits with blob callbacks
INSTALL: a few small tweaks and clarifications

Julian Berman (1):
release: add packaging scripts for uploading to PyPI

Karl Lenz (3):
.gitignore: ignore the test result directories
filter-repo: parse mailmap entries with no email address
filter-repo: allow --dry-run and --debug to be used together

Matthisk Heimensen (1):
filter-repo: fix typo in generated analysis README