Skip to content

Commit

Permalink
Work around Subversion race in git-svn tests.
Browse files Browse the repository at this point in the history
Some of the git-svn tests can fail on fast machines due to a race in
Subversion: if a file is modified in the same second it was checked out
(or in for that matter), Subversion will not consider it modified. This
works around the problem by increasing the timestamp by one second
before each commit.

[jc: with "touch -r -d" replacement from Eric]

Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Michael Spang <mspang@uwaterloo.ca>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Michael Spang authored and Junio C Hamano committed Feb 13, 2007
1 parent ccf5aa8 commit 7b3fab8
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 2 deletions.
3 changes: 3 additions & 0 deletions t/lib-git-svn.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,6 @@ fi
svnrepo="file://$svnrepo"


poke() {
perl -e '@x = stat($ARGV[0]); utime($x[8], $x[9] + 1, $ARGV[0])' "$1"
}
7 changes: 5 additions & 2 deletions t/t9101-git-svn-props.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,14 @@ test_expect_success 'checkout working copy from svn' "svn co $svnrepo test_wc"
test_expect_success 'setup some commits to svn' \
'cd test_wc &&
echo Greetings >> kw.c &&
poke kw.c &&
svn commit -m "Not yet an Id" &&
echo Hello world >> kw.c &&
poke kw.c &&
svn commit -m "Modified file, but still not yet an Id" &&
svn propset svn:keywords Id kw.c &&
svn commit -m "Propset Id"
poke kw.c &&
svn commit -m "Propset Id" &&
cd ..'

test_expect_success 'initialize git-svn' "git-svn init $svnrepo"
Expand All @@ -83,7 +86,7 @@ test_expect_success "propset CR on crlf files" \
svn propset svn:eol-style CR empty &&
svn propset svn:eol-style CR crlf &&
svn propset svn:eol-style CR ne_crlf &&
svn commit -m "propset CR on crlf files"
svn commit -m "propset CR on crlf files" &&
cd ..'

test_expect_success 'fetch and pull latest from svn and checkout a new wc' \
Expand Down
1 change: 1 addition & 0 deletions t/t9103-git-svn-graft-branches.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ test_expect_success 'initialize repo' "
svn co $svnrepo wc &&
cd wc &&
echo feedme >> branches/a/readme &&
poke branches/a/readme &&
svn commit -m hungry &&
cd trunk &&
svn merge -r3:4 $svnrepo/branches/a &&
Expand Down
2 changes: 2 additions & 0 deletions t/t9104-git-svn-follow-parent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,13 @@ test_expect_success 'initialize repo' "
svn co $svnrepo wc &&
cd wc &&
echo world >> trunk/readme &&
poke trunk/readme &&
svn commit -m 'another commit' &&
svn up &&
svn mv -m 'rename to thunk' trunk thunk &&
svn up &&
echo goodbye >> thunk/readme &&
poke thunk/readme &&
svn commit -m 'bye now' &&
cd ..
"
Expand Down
2 changes: 2 additions & 0 deletions t/t9106-git-svn-commit-diff-clobber.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ test_expect_success 'commit change from svn side' "
svn co $svnrepo t.svn &&
cd t.svn &&
echo second line from svn >> file &&
poke file &&
svn commit -m 'second line from svn' &&
cd .. &&
rm -rf t.svn
Expand Down Expand Up @@ -45,6 +46,7 @@ test_expect_failure 'dcommit fails to commit because of conflict' "
svn co $svnrepo t.svn &&
cd t.svn &&
echo fourth line from svn >> file &&
poke file &&
svn commit -m 'fourth line from svn' &&
cd .. &&
rm -rf t.svn &&
Expand Down

0 comments on commit 7b3fab8

Please sign in to comment.