author | Matt Mackall <mpm@selenic.com> |
Wed, 13 Aug 2008 20:18:43 -0500 | |
changeset 6899 | 56a7a54e074f |
parent 6385 | 0d4e068e9e52 |
child 8167 | 6c82beaaa11a |
permissions | -rwxr-xr-x |
5194
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 |
|
6385
0d4e068e9e52
commit: when committing the results of a merge, it's all or nothing
Bryan O'Sullivan <bos@serpentine.com>
parents:
5283
diff
changeset
|
19 |
hg commit -d '0 0' -qAm "$msg" |
5194
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:
5194
diff
changeset
|
52 |
lookup "$r^" |
5194
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:
5194
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:
5194
diff
changeset
|
58 |
lookup "6~" "6~1" "6~2" "6~3" "6~4" "6~5" "6~42" "6~1^2" "6~1^2~2" |
5194
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:
5194
diff
changeset
|
63 |
lookup "6^" "6^1" "6~1" "6^^" |
5194
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:
5194
diff
changeset
|
67 |
hg tag -l -r 2 "foo^bar" |
94e77a174f55
Quote ^ and ~ chars in test-parentrevspec.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5194
diff
changeset
|
68 |
lookup "foo^bar" "foo^bar^" |
5194
b111e9a907b1
Add parentrevspec extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
69 |