By sourcing git-filter-branch and stopping after the function definitions, the commit filter can now access the convenience functions like "map". This is done automatically if you specify a commit filter. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- git-filter-branch.sh | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 0d000ed..b574612 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,13 @@ 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") + +USAGE="git-filter-branch [-d TEMPDIR] [FILTERS] DESTBRANCH [REV-RANGE]" +. git-sh-setup + tempdir=.git-rewrite filter_env= filter_tree= @@ -118,7 +122,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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html