Mercurial > hgsubversion
annotate tools/common.sh @ 981:82bbb3428684
pull: save the last pulled revision *after* converting revisions
Otherwise, a KeyboardInterrupt may lead to an unpulled revision being
incorrectly saved as pulled in the lastpulled file. This will lead to
the interrupted revision being incorrectly skipped at the next pull,
leading to an incorrect conversion -- one might even say corrupt.
Due to it's nature of requiring a manual interrupt, this bug is
difficult to test.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Sun, 11 Nov 2012 15:31:19 +0100 |
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 } |