Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-impexp-branch @ 5390:36c46e20976a
merge: provide *_ISLINK environment vars to merge helper
Sets HG_MY_ISLINK, HG_OTHER_ISLINK, HG_BASE_ISLINK in environment. Without these variables, it's impossible for the merge application to know whether the 'other' and 'base' files were symlinks in their original contexts. For the purposes of the merge they are always emitted as small text files.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Wed, 03 Oct 2007 23:09:36 +0200 |
parents | 32ea809e5bd1 |
children |
rev | line source |
---|---|
4439
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
1 #!/bin/sh |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
2 |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
3 cat >findbranch.py <<EOF |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
4 import re, sys |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
5 |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
6 head_re = re.compile('^#(?:(?:\\s+([A-Za-z][A-Za-z0-9_]*)(?:\\s.*)?)|(?:\\s*))$') |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
7 |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
8 for line in sys.stdin: |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
9 hmatch = head_re.match(line) |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
10 if not hmatch: |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
11 sys.exit(1) |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
12 if hmatch.group(1) == 'Branch': |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
13 sys.exit(0) |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
14 sys.exit(1) |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
15 EOF |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
16 hg init a |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
17 cd a |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
18 echo "Rev 1" >rev |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
19 hg add rev |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
20 hg commit -m "No branch." |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
21 hg branch abranch |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
22 echo "Rev 2" >rev |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
23 hg commit -m "With branch." |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
24 if hg export 0 | python ../findbranch.py; then |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
25 echo "Export of default branch revision has Branch header" 1>&2 |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
26 exit 1 |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
27 fi |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
28 if hg export 1 | python ../findbranch.py; then |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
29 : # Do nothing |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
30 else |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
31 echo "Export of branch revision is missing Branch header" 1>&2 |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
32 exit 1 |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
33 fi |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
34 # Make sure import still works with branch information in patches. |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
35 cd .. |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
36 hg init b |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
37 cd b |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
38 hg -R ../a export 0 | hg import - |
871ff96a86cc
Add a test for the Branch header being in hg export.
Eric Hopper <hopper@omnifarious.org>
parents:
diff
changeset
|
39 hg -R ../a export 1 | hg import - |
4441
32ea809e5bd1
Alter test to test import --exact to make sure it works with branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4439
diff
changeset
|
40 cd .. |
32ea809e5bd1
Alter test to test import --exact to make sure it works with branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4439
diff
changeset
|
41 rm -rf b |
32ea809e5bd1
Alter test to test import --exact to make sure it works with branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4439
diff
changeset
|
42 hg init b |
32ea809e5bd1
Alter test to test import --exact to make sure it works with branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4439
diff
changeset
|
43 cd b |
32ea809e5bd1
Alter test to test import --exact to make sure it works with branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4439
diff
changeset
|
44 hg -R ../a export 0 | hg import --exact - |
32ea809e5bd1
Alter test to test import --exact to make sure it works with branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4439
diff
changeset
|
45 hg -R ../a export 1 | hg import --exact - |