提交 d9042a0a 编写于 作者: D David D. Kilzer 提交者: Junio C Hamano

Fix race condition in t9119-git-svn-info.sh

Changed the ptouch bash function to use the "Text Last Updated"
date reported by 'svn info' when changing the modified time
(mtime) of the file/symlink/directory in the git working
directory.  Previously it used the mtime of the item in the
svn working directory, which caused the race condition.

[ew: swapped argument order of ptouch() to minimize diff]

From: David D. Kilzer <ddkilzer@kilzer.net>
Signed-off-by: NDavid D. Kilzer <ddkilzer@kilzer.net>
Acked-by: NEric Wong <normalperson@yhbt.net>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 bd2d4f96
......@@ -11,11 +11,18 @@ test_done
ptouch() {
perl -w -e '
use strict;
use POSIX qw(mktime);
die "ptouch requires exactly 2 arguments" if @ARGV != 2;
die "$ARGV[0] does not exist" if ! -e $ARGV[0];
my @s = stat $ARGV[0];
utime $s[8], $s[9], $ARGV[1];
' "$1" "$2"
my $text_last_updated = shift @ARGV;
my $git_file = shift @ARGV;
die "\"$git_file\" does not exist" if ! -e $git_file;
if ($text_last_updated
=~ /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/) {
my $mtime = mktime($6, $5, $4, $3, $2 - 1, $1 - 1900);
my $atime = $mtime;
utime $atime, $mtime, $git_file;
}
' "`svn info $2 | grep '^Text Last Updated:'`" "$1"
}
test_expect_success 'setup repository and import' "
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册