Mercurial > hg-stable
annotate tests/test-impexp-branch @ 11674:c29012a73518 stable
i18n: safety writing into non-ASCII named files on any shell implementation
some shell implementation (e.g.: dash) can not handle redirection into
non-ASCII UTF-8 named file correctly.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 22 Jul 2010 23:18:38 +0900 |
parents | 32ea809e5bd1 |
children |
rev | line source |
---|---|
4442
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 - |
4444
32ea809e5bd1
Alter test to test import --exact to make sure it works with branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4442
diff
changeset
|
40 cd .. |
32ea809e5bd1
Alter test to test import --exact to make sure it works with branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4442
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:
4442
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:
4442
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:
4442
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:
4442
diff
changeset
|
45 hg -R ../a export 1 | hg import --exact - |