X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=git-filter-branch.sh;h=88fb0f070e5f32c62ae47f90f1f27ffeef836d8f;hb=618d18b5aa9420fe446f7a1ed69d65fb45fa49b7;hp=cb9d2022cc93f1f371264098828a52e0d6bf1d7c;hpb=261fbda903762b9c47e4138312673ea25555d9e5;p=git.git diff --git a/git-filter-branch.sh b/git-filter-branch.sh index cb9d2022c..88fb0f070 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -207,7 +207,7 @@ t,) ,*) ;; *) - die "Cannot set --prune-empty and --filter-commit at the same time" + die "Cannot set --prune-empty and --commit-filter at the same time" esac case "$force" in @@ -259,7 +259,6 @@ 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" @@ -332,7 +331,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 +462,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) ||