Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-parentrevspec @ 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 | 4fe04b183fd8 |
children |
rev | line source |
---|---|
5191
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
1 #!/bin/sh |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
2 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
3 commit() |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
4 { |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
5 msg=$1 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
6 p1=$2 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
7 p2=$3 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
8 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
9 if [ "$p1" ]; then |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
10 hg up -qC $p1 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
11 fi |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
12 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
13 if [ "$p2" ]; then |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
14 HGMERGE=true hg merge -q $p2 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
15 fi |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
16 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
17 echo >> foo |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
18 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
19 hg commit -d '0 0' -qAm "$msg" foo |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
20 } |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
21 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
22 hg init repo |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
23 cd repo |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
24 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
25 echo '[extensions]' > .hg/hgrc |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
26 echo 'hgext.parentrevspec =' >> .hg/hgrc |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
27 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
28 commit '0: add foo' |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
29 commit '1: change foo 1' |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
30 commit '2: change foo 2a' |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
31 commit '3: change foo 3a' |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
32 commit '4: change foo 2b' 1 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
33 commit '5: merge' 3 4 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
34 commit '6: change foo again' |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
35 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
36 hg log --template '#rev#:#node|short# #parents#\n' |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
37 echo |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
38 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
39 lookup() |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
40 { |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
41 for rev in "$@"; do |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
42 printf "$rev: " |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
43 hg id -nr $rev |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
44 done |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
45 true |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
46 } |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
47 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
48 tipnode=`hg id -ir tip` |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
49 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
50 echo 'should work with tag/branch/node/rev' |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
51 for r in tip default $tipnode 6; do |
5199
94e77a174f55
Quote ^ and ~ chars in test-parentrevspec.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5191
diff
changeset
|
52 lookup "$r^" |
5191
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
53 done |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
54 echo |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
55 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
56 echo 'some random lookups' |
5199
94e77a174f55
Quote ^ and ~ chars in test-parentrevspec.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5191
diff
changeset
|
57 lookup "6^^" "6^^^" "6^^^^" "6^^^^^" "6^^^^^^" "6^1" "6^2" "6^^2" "6^1^2" "6^^3" |
94e77a174f55
Quote ^ and ~ chars in test-parentrevspec.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5191
diff
changeset
|
58 lookup "6~" "6~1" "6~2" "6~3" "6~4" "6~5" "6~42" "6~1^2" "6~1^2~2" |
5191
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
59 echo |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
60 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
61 echo 'with a tag "6^" pointing to rev 1' |
5283
4fe04b183fd8
Forgot to quote "6^" in test-parentrevspec (see 94e77a174f55)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5199
diff
changeset
|
62 hg tag -l -r 1 "6^" |
5199
94e77a174f55
Quote ^ and ~ chars in test-parentrevspec.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5191
diff
changeset
|
63 lookup "6^" "6^1" "6~1" "6^^" |
5191
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
64 echo |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
65 |
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
66 echo 'with a tag "foo^bar" pointing to rev 2' |
5199
94e77a174f55
Quote ^ and ~ chars in test-parentrevspec.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5191
diff
changeset
|
67 hg tag -l -r 2 "foo^bar" |
94e77a174f55
Quote ^ and ~ chars in test-parentrevspec.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5191
diff
changeset
|
68 lookup "foo^bar" "foo^bar^" |
5191
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
69 |