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 <johannes.schindelin@xxxxxx> --- 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 - 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