Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-double-merge @ 5483:0c43f87baba3 default tip
Fix file-changed-to-dir and dir-to-file commits (issue660).
Allow adding to dirstate files that clash with previously existing
but marked for removal. Protect from reintroducing clashes by revert.
This change doesn't address related issues with update. Current
workaround is to do "clean" update by manually removing conflicting
files/dirs from working directory.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 27 Oct 2007 16:27:55 +0400 |
parents | 99a4592ea886 |
children |
rev | line source |
---|---|
5045
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
1 #!/bin/sh |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
2 |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
3 hg init repo |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
4 cd repo |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
5 |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
6 echo line 1 > foo |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
7 hg ci -qAm 'add foo' -d "1000000 0" |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
8 |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
9 # copy foo to bar and change both files |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
10 hg cp foo bar |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
11 echo line 2-1 >> foo |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
12 echo line 2-2 >> bar |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
13 hg ci -m 'cp foo bar; change both' -d "1000000 0" |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
14 |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
15 # in another branch, change foo in a way that doesn't conflict with |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
16 # the other changes |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
17 hg up -qC 0 |
5057
99a4592ea886
The >| redirection does not exist in plain sh.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5045
diff
changeset
|
18 echo line 0 > foo |
5045
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
19 hg cat foo >> foo |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
20 hg ci -m 'change foo' -d "1000000 0" |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
21 |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
22 # we get conflicts that shouldn't be there |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
23 hg merge --debug |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
24 |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
25 echo "-- foo --" |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
26 cat foo |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
27 |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
28 echo "-- bar --" |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
29 cat bar |
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
30 |