Mercurial > hgsubversion
annotate tools/common.sh @ 855:258f60678791
pickle_atomic: use atomictempfile to avoid duplicating hg functionality
atomictempfile takes care of a whole bunch of things we need,
including atomic renaming, putting the tempfile in a reasonable
location (with a reasonable name), and file mode copying. Thanks to mg
for pointing out that we could use this instead of rolling our own
file mode handling.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Tue, 17 Apr 2012 07:46:43 -0500 |
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 } |