Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-merge-commit @ 4193:9e3121017fb2
Optimize return value of util._matcher for common command line case
This will trigger every time somebody runs something like "hg diff"
or "hg status" without any arguments.
The important part here is returning util.always as the match function,
which is a much simpler (and faster) function than the usual return
value, and allows other code to just skip the filtering if it knows
all files will match.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Sat, 10 Mar 2007 23:01:00 -0300 |
parents | e7282dede8cd |
children | 46280c004f22 |
rev | line source |
---|---|
4058
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
1 #!/bin/sh |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
2 # check that renames are correctly saved by a commit after a merge |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
3 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
4 HGMERGE=merge |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
5 export HGMERGE |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
6 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
7 # test with the merge on 3 having the rename on the local parent |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
8 hg init a |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
9 cd a |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
10 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
11 echo line1 > foo |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
12 hg add foo |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
13 hg ci -m '0: add foo' -d '0 0' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
14 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
15 echo line2 >> foo |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
16 hg ci -m '1: change foo' -d '0 0' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
17 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
18 hg up -C 0 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
19 hg mv foo bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
20 rm bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
21 echo line0 > bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
22 echo line1 >> bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
23 hg ci -m '2: mv foo bar; change bar' -d '0 0' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
24 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
25 hg merge 1 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
26 echo '% contents of bar should be line0 line1 line2' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
27 cat bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
28 hg ci -m '3: merge with local rename' -d '0 0' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
29 hg debugindex .hg/store/data/bar.i |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
30 hg debugrename bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
31 hg debugindex .hg/store/data/foo.i |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
32 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
33 # revert the content change from rev 2 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
34 hg up -C 2 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
35 rm bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
36 echo line1 > bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
37 hg ci -m '4: revert content change from rev 2' -d '0 0' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
38 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
39 hg log --template '#rev#:#node|short# #parents#\n' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
40 echo '% this should use bar@rev2 as the ancestor' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
41 hg --debug merge 3 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
42 echo '% contents of bar should be line1 line2' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
43 cat bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
44 hg ci -m '5: merge' -d '0 0' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
45 hg debugindex .hg/store/data/bar.i |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
46 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
47 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
48 # same thing, but with the merge on 3 having the rename on the remote parent |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
49 echo |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
50 echo |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
51 cd .. |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
52 hg clone -U -r 1 -r 2 a b |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
53 cd b |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
54 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
55 hg up -C 1 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
56 hg merge 2 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
57 echo '% contents of bar should be line0 line1 line2' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
58 cat bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
59 hg ci -m '3: merge with remote rename' -d '0 0' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
60 hg debugindex .hg/store/data/bar.i |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
61 hg debugrename bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
62 hg debugindex .hg/store/data/foo.i |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
63 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
64 # revert the content change from rev 2 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
65 hg up -C 2 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
66 rm bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
67 echo line1 > bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
68 hg ci -m '4: revert content change from rev 2' -d '0 0' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
69 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
70 hg log --template '#rev#:#node|short# #parents#\n' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
71 echo '% this should use bar@rev2 as the ancestor' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
72 hg --debug merge 3 |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
73 echo '% contents of bar should be line1 line2' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
74 cat bar |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
75 hg ci -m '5: merge' -d '0 0' |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
76 hg debugindex .hg/store/data/bar.i |
e7282dede8cd
filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
77 |