filter-branch.sh: remove temporary directory on failure
One of the first things filter-branch does is to create a temporary directory. This directory is eventually removed by the script during normal operation, but is not removed if the script encounters an error. Set a trap to remove it when the script terminates for any reason. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
0eab8ca68a
commit
def16e7181
|
|
@ -189,6 +189,9 @@ cd "$tempdir/t" &&
|
||||||
workdir="$(pwd)" ||
|
workdir="$(pwd)" ||
|
||||||
die ""
|
die ""
|
||||||
|
|
||||||
|
# Remove tempdir on exit
|
||||||
|
trap 'cd ../..; rm -rf "$tempdir"' 0
|
||||||
|
|
||||||
# Make sure refs/original is empty
|
# Make sure refs/original is empty
|
||||||
git for-each-ref > "$tempdir"/backup-refs
|
git for-each-ref > "$tempdir"/backup-refs
|
||||||
while read sha1 type name
|
while read sha1 type name
|
||||||
|
|
@ -406,6 +409,8 @@ fi
|
||||||
cd ../..
|
cd ../..
|
||||||
rm -rf "$tempdir"
|
rm -rf "$tempdir"
|
||||||
|
|
||||||
|
trap - 0
|
||||||
|
|
||||||
unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE
|
unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE
|
||||||
test -z "$ORIG_GIT_DIR" || GIT_DIR="$ORIG_GIT_DIR" && export GIT_DIR
|
test -z "$ORIG_GIT_DIR" || GIT_DIR="$ORIG_GIT_DIR" && export GIT_DIR
|
||||||
test -z "$ORIG_GIT_WORK_TREE" || GIT_WORK_TREE="$ORIG_GIT_WORK_TREE" &&
|
test -z "$ORIG_GIT_WORK_TREE" || GIT_WORK_TREE="$ORIG_GIT_WORK_TREE" &&
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue