[REVISED PATCH 1/2] filter-branch: provide the convenience functions also for commit filters
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:22
Subsystem:
the rest · Maintainer:
Linus Torvalds
By sourcing git-filter-branch and stopping after the function definitions, the commit filter can now access the convenience functions like "map". Signed-off-by: Johannes Schindelin <redacted> --- On Wed, 18 Jul 2007, Junio C Hamano wrote: > Exporting this_script variable, and changing the above to > > filter_commit='SOURCE_FUNCTIONS=1 . "$this_script";'" $OPTARG" > > to arrange the shell that is invoked with 'sh -c' to expand its > value would make it smaller problem, I suspect. Hereby done. <shameless plug>rebase -i rocks</shameless> git-filter-branch.sh | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index 0d000ed..3113937 100755
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh@@ -8,9 +8,6 @@ # a new branch. You can specify a number of filters to modify the commits, # files and trees. -USAGE="git-filter-branch [-d TEMPDIR] [FILTERS] DESTBRANCH [REV-RANGE]" -. git-sh-setup - warn () { echo "$*" >&2 }
@@ -69,6 +66,14 @@ set_ident () { echo "[ -n \"\$GIT_${uid}_NAME\" ] || export GIT_${uid}_NAME=\"\${GIT_${uid}_EMAIL%%@*}\"" } +# This script can be sourced by the commit filter to get the functions +test "a$SOURCE_FUNCTIONS" = a1 && return +this_script="$(cd "$(dirname "$0")"; pwd)"/$(basename "$0") +export this_script + +USAGE="git-filter-branch [-d TEMPDIR] [FILTERS] DESTBRANCH [REV-RANGE]" +. git-sh-setup + tempdir=.git-rewrite filter_env= filter_tree=
@@ -118,7 +123,7 @@ do filter_msg="$OPTARG" ;; --commit-filter) - filter_commit="$OPTARG" + filter_commit='SOURCE_FUNCTIONS=1 . "$this_script";'" $OPTARG" ;; --tag-name-filter) filter_tag_name="$OPTARG"
--
1.5.3.rc1.16.g9d6f-dirty