@matheusbsbs / matheus-bagliano / commits / def16e7181
Fork 0

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>

Brandon Casey committed Jan 28, 2008 at 15:16 UTC def16e71819833d507a97a645366c569939dce73
1 file changed +5
git-filter-branch.sh
+5
@@ -189,6 +189,9 @@ cd "$tempdir/t" &&
189 workdir="$(pwd)" ||
190 die ""
191
192 +# Remove tempdir on exit
193 +trap 'cd ../..; rm -rf "$tempdir"' 0
194 +
195 # Make sure refs/original is empty
196 git for-each-ref > "$tempdir"/backup-refs
197 while read sha1 type name
@@ -406,6 +409,8 @@ fi
409 cd ../..
410 rm -rf "$tempdir"
411
412 +trap - 0
413 +
414 unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE
415 test -z "$ORIG_GIT_DIR" || GIT_DIR="$ORIG_GIT_DIR" && export GIT_DIR
416 test -z "$ORIG_GIT_WORK_TREE" || GIT_WORK_TREE="$ORIG_GIT_WORK_TREE" &&