Move filter-branch out of core, it needs perl now

A change to the git filter-branch command in git-2.15 added a perl
dependency, bd2c79fbfe (filter-branch: stash away ref map in a branch,
2017-09-21)¹.

This dependency is only present when using the option --state-branch,
which means many users of filter-branch will never notice the perl
dependency.

However, without moving the tool from git-core to git, any users running
filter-branch with the --state-branch option might find that the command
fails badly, potentially leaving their repository in a broken state.
This is not an acceptable trade-off, in my opinion.

I'm not sure if it's worthwhile to suggest a patch upstream to better
handle users running with the --state-branch option when perl is not
installed, allowing us to safely ship git filter-branch in git-core for
use on systems without perl.

¹ https://github.com/git/git/commit/bd2c79fbfe
This commit is contained in:
Todd Zullinger 2017-11-11 13:05:03 -05:00
parent cb7fab7e6c
commit 339c6b6d5c

View File

@ -531,7 +531,7 @@ chmod a-x Documentation/technical/api-index.sh
find contrib -type f | xargs chmod -x
# Split core files
not_core_re="git-(add--interactive|credential-(gnome-keyring|libsecret|netrc)|difftool|instaweb|request-pull|send-mail)|gitweb"
not_core_re="git-(add--interactive|credential-(gnome-keyring|libsecret|netrc)|difftool|filter-branch|instaweb|request-pull|send-mail)|gitweb"
grep -vE "$not_core_re|%{_mandir}" bin-man-doc-files > bin-files-core
grep -vE "$not_core_re" bin-man-doc-files | grep "%{_mandir}" > man-doc-files-core
grep -E "$not_core_re" bin-man-doc-files \
@ -738,6 +738,7 @@ rm -rf %{buildroot}
- Fix t9020-remote-svn failure when setting PYTHON_PATH
- Rename %%gitcoredir to %%gitexecdir; upstream uses the latter
- Move commands which no longer require perl into git-core
- Move filter-branch out of core, it needs perl now
* Mon Oct 30 2017 Todd Zullinger <tmz@pobox.com> - 2.15.0-1
- Update to 2.15.0