X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-filter-branch.sh;h=962a93b586571eb6fc60aae53c77f6e6b9fb281f;hb=9ca1169fd92c71ebbef92ff18aa5d91a2157d1bd;hp=3dfb2c3382bdeae67463d331dd2a08670faf37a0;hpb=11a1a49a16a52ff9b684a430d68b8982ed313427;p=git.git diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 3dfb2c338..962a93b58 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -139,6 +139,7 @@ do continue ;; --remap-to-ancestor) + # deprecated ($remap_to_ancestor is set now automatically) shift remap_to_ancestor=t continue @@ -259,14 +260,20 @@ test -s "$tempdir"/heads || GIT_INDEX_FILE="$(pwd)/../index" export GIT_INDEX_FILE -git read-tree || die "Could not seed the index" # map old->new commit ids for rewriting parents mkdir ../map || die "Could not create map/ directory" # we need "--" only if there are no path arguments in $@ nonrevs=$(git rev-parse --no-revs "$@") || exit -test -z "$nonrevs" && dashdash=-- || dashdash= +if test -z "$nonrevs" +then + dashdash=-- +else + dashdash= + remap_to_ancestor=t +fi + rev_args=$(git rev-parse --revs-only "$@") case "$filter_subdir" in @@ -332,7 +339,7 @@ while read commit parents; do die "tree filter failed: $filter_tree" ( - git diff-index -r --name-only $commit && + git diff-index -r --name-only --ignore-submodules $commit && git ls-files --others ) > "$tempdir"/tree-state || exit git update-index --add --replace --remove --stdin \ @@ -463,11 +470,11 @@ if [ "$filter_tag_name" ]; then "$new_sha1" "$new_ref" git cat-file tag "$ref" | sed -n \ - -e "1,/^$/{ + -e '1,/^$/{ /^object /d /^type /d /^tag /d - }" \ + }' \ -e '/^-----BEGIN PGP SIGNATURE-----/q' \ -e 'p' ) | git mktag) ||