summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Tim Henigan <tim.henigan@gmail.com>2012-03-14 12:38:06 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-03-14 15:22:38 -0700
commitbfe392e3674770e8a0312d4945b0a5f2c9007eab (patch)
tree69904b5eb0b3fddeec484b7a9c3d652182156c83
parentcontrib/diffall: eliminate duplicate while loops (diff)
downloadtgif-bfe392e3674770e8a0312d4945b0a5f2c9007eab.tar.xz
contrib/diffall: fix cleanup trap on Windows
Prior to this commit, the cleanup trap that removes the tmp dir created by the script would fail on Windows. The error was silently ignored by the script. On Windows, a directory cannot be removed while it is the working directory of the process (thanks to Johannes Sixt on the Git list for this info [1]). This commit eliminates the 'cd' into the tmp directory that caused the error. [1]: http://article.gmane.org/gmane.comp.version-control.git/193086 Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xcontrib/diffall/git-diffall7
1 files changed, 3 insertions, 4 deletions
diff --git a/contrib/diffall/git-diffall b/contrib/diffall/git-diffall
index 91a31c8780..84f2b654d7 100755
--- a/contrib/diffall/git-diffall
+++ b/contrib/diffall/git-diffall
@@ -49,7 +49,7 @@ cd "$cdup" || {
tmp=$(perl -e 'use File::Temp qw(tempdir);
$t=tempdir("/tmp/git-diffall.XXXXX") or exit(1);
print $t') || exit 1
-trap 'rm -rf "$tmp" 2>/dev/null' EXIT
+trap 'rm -rf "$tmp"' EXIT
left=
right=
@@ -233,9 +233,8 @@ do
fi
done < "$tmp/filelist"
-cd "$tmp"
-LOCAL="$left_dir"
-REMOTE="$right_dir"
+LOCAL="$tmp/$left_dir"
+REMOTE="$tmp/$right_dir"
if test -n "$diff_tool"
then