Mercurial > hgsubversion
annotate tools/common.sh @ 872:a279b5838aaf
test_util: remove self.repo_path, generate new paths each time
This solves a problem with startrev tests sporadically failing in ra.get_log()
with some kind of svn corruption error. Loading each svn repository in a
different place solved that, or at least prevented me from reproducing it. What
is interesting is this is the same fixture being loaded each time. Also, before
loading the fixture, we take care of removing an existing repository. Loading
with the same options twice also failed reproducing the issue. Same thing if
the first load only load the svn repository but does not convert it.
So, I have absolutely no idea what was wrong, blame python subprocess,
subversion or some kind of filesystem write ordering bug.
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Thu, 19 Apr 2012 18:29:32 +0200 |
parents | 5071b8511572 |
children |
rev | line source |
---|---|
213
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
1 function verify_current_revision() |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
2 { |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
3 /bin/rm -rf * |
388
5071b8511572
tools: Fixes for verification that seemed to be needed.
Augie Fackler <durin42@gmail.com>
parents:
259
diff
changeset
|
4 exportcmd="svn export `hg svn info 2> /dev/null | grep '^URL: ' | sed 's/URL: //'`@`hg svn info | grep ^Revision | sed 's/.*: //;s/ .*//'` . --force" |
213
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
5 `echo $exportcmd` > /dev/null |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
6 x=$? |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
7 if [[ "$x" != "0" ]] ; then |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
8 echo $exportcmd |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
9 echo 'export failed!' |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
10 return 255 |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
11 fi |
216
3c87de482011
tools: fixes for wc outputting with spaces.
Augie Fackler <durin42@gmail.com>
parents:
213
diff
changeset
|
12 if [[ "`hg st | wc -l | python -c 'import sys; print sys.stdin.read().strip()'`" == "0" ]] ; then |
213
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
13 return 0 |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
14 else |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
15 if [[ $1 != "keep" ]] ; then |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
16 revert_all_files |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
17 fi |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
18 return 1 |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
19 fi |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
20 } |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
21 |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
22 function revert_all_files() |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
23 { |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
24 hg revert --all |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
25 hg purge |
b1d2ea765516
tools: refactor stuff into common.sh, make verify-all-heads not revert.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
26 } |