In the previous commit filter-branch learned to dump its mappings. Introduce a --load-map option that lets it load map files in the same format. This option does not accumulate; only the last one counts. Letting it accumulate would require two argument-parsing passes since we need to know the $tempdir before we can establish any maps. Also, the maps add to all filtered maps. This is a bit of a tradeoff. As it stands, it could be useful to remap refs in another repository using the map file from elsewere. On the other hand, it does mean that it may rewrite more refs than the user intended. Signed-off-by: Thomas Rast <trast@xxxxxxxxxxxxxxx> --- git-filter-branch.sh | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 020b076..9feeb26 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -127,6 +127,7 @@ force= prune_empty= remap_to_ancestor= dump_map= +load_map= while : do case "$1" in @@ -205,6 +206,16 @@ do ;; esac ;; + --load-map) + case "$OPTARG" in + /*) + load_map="$OPTARG" + ;; + *) + load_map="$(pwd)/$OPTARG" + ;; + esac + ;; *) usage ;; @@ -275,6 +286,14 @@ export GIT_INDEX_FILE # map old->new commit ids for rewriting parents mkdir ../map || die "Could not create map/ directory" +if test -n "$load_map" +then + while read pre post + do + echo $post > ../map/$pre + done < "$load_map" +fi + # we need "--" only if there are no path arguments in $@ nonrevs=$(git rev-parse --no-revs "$@") || exit if test -z "$nonrevs" -- 1.7.4.rc0.240.g44e61 -- 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