annotate tools/common.sh @ 1028:c4b25a903ad3

layouts: consistently return None for default branch This makes the single and standard layouts consistent in what they return for the default branch. Previously, single had returned 'default' now they both return None. In addition, this fixes a now-exposed bug in stupid's convert_revision logic. Specifically, when a file is replaced by another file within the same branch, we treated that as replacing the entire branch. this bug was previously hidden because meta.split_branch_path and meta.localname were inconsistent in what they returned for the single layout. meta.split-branch_path is used to maintain the set of known branches, where meta.localname is used to determine the branch for the path being replaced. This resulted in erroneously hitting the condition that skipped paths outside branches we know about when considering replace operations from svn.
author David Schleimer <dschleimer@fb.com>
date Wed, 05 Jun 2013 11:00:06 -0700
parents 5071b8511572
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }