Following up on the suggestion to make git.git smaller and shed non-core tools, here's an RFC series to do so with git-filter-branch. This series first removes dependencies on git-filter-branch (of which there were very few), and then deletes git-filter-branch itself in the final commit. I'm more than happy to consider alternate places for the filter-branch history (I had considered just merging it in with git-filter-repo), but for now I just made it available here: https://github.com/newren/git-filter-branch The rewrite above contains the history of the files deleted in Patch 5, plus a one-time copy of relevant build files (Makefiles, test-lib.sh, etc. -- I didn't want the whole history of these), and then touchups to streamline the build files and make them all work in this standalone repo. Some highlevel notes on the patches: * Patches 1&2: are good cleanups & performance wins regardless of whether the rest of the series is taken * Patch 3: an attempt to improve i18n situation for external scripts, but discovered to not be necessary/useful for git-filter-branch specifically * Patch 4: * If we are good with deleting git-filter-branch now and just noting it in the release notes, then patch 4 could be simplified; there's no need to update git-filter-branch.txt in that case. * If, however, we want to do some external messaging for an additional release cycle or two before moving git-filter-branch out of git.git, this patch will help us until then to at least avoid recommending a tool which will likely mangle user's data in unexpected ways. But it'd be really helpful if folks could review and opine on the BFG stuff if so. * Patch 5: actually deletes git-filter-branch, its tests, and documentation. Elijah Newren (5): t6006: simplify and optimize empty message test t3427: accelerate this test by using fast-export and fast-import git-sh-i18n: work with external scripts Recommend git-filter-repo instead of git-filter-branch in documentation Remove git-filter-branch, it is now external to git.git .gitignore | 1 - Documentation/git-fast-export.txt | 6 +- Documentation/git-filter-branch.txt | 481 -------------------- Documentation/git-gc.txt | 17 +- Documentation/git-rebase.txt | 2 +- Documentation/git-replace.txt | 10 +- Documentation/git-svn.txt | 4 +- Documentation/githooks.txt | 7 +- Makefile | 1 - command-list.txt | 1 - contrib/svn-fe/svn-fe.txt | 4 +- git-filter-branch.sh | 662 ---------------------------- git-sh-i18n.sh | 7 +- t/perf/p7000-filter-branch.sh | 24 - t/t3427-rebase-subtree.sh | 32 +- t/t6006-rev-list-format.sh | 5 +- t/t7003-filter-branch.sh | 505 --------------------- t/t7009-filter-branch-null-sha1.sh | 55 --- t/t9902-completion.sh | 12 +- 19 files changed, 63 insertions(+), 1773 deletions(-) delete mode 100644 Documentation/git-filter-branch.txt delete mode 100755 git-filter-branch.sh delete mode 100755 t/perf/p7000-filter-branch.sh delete mode 100755 t/t7003-filter-branch.sh delete mode 100755 t/t7009-filter-branch-null-sha1.sh -- 2.23.0.5.g775ebaa2a0