Mercurial > hg
annotate tests/test-double-merge.t @ 14050:9e8a9d45945c stable
subrepo: handle svn tracked/unknown directory collisions
This happens more often than expected. Say you have an svn subrepository with
python code. Python would have generated unknown .pyc files. Now, you rebase
this setup on a revision where a directory containing python code does not
exist. Subversion is first asked to remove this directory when updating, but
will not because it contains untracked items. Then it will have to bring back
the directory after the merge but will fail because it now collides with an
untracked directory.
Using --force is not very elegant and only works with svn >= 1.5 but the only
alternative I can think of is to write our own purge command for subversion.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Fri, 04 Mar 2011 14:00:49 +0100 |
parents | 4c94b6d0fb1c |
children | efdcce3fd2d5 |
rev | line source |
---|---|
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
1 $ hg init repo |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
2 $ cd repo |
5042
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
3 |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
4 $ echo line 1 > foo |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11973
diff
changeset
|
5 $ hg ci -qAm 'add foo' |
5042
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
6 |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
7 copy foo to bar and change both files |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
8 $ hg cp foo bar |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
9 $ echo line 2-1 >> foo |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
10 $ echo line 2-2 >> bar |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11973
diff
changeset
|
11 $ hg ci -m 'cp foo bar; change both' |
5042
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
12 |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
13 in another branch, change foo in a way that doesn't conflict with |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
14 the other changes |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
15 $ hg up -qC 0 |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
16 $ echo line 0 > foo |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
17 $ hg cat foo >> foo |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11973
diff
changeset
|
18 $ hg ci -m 'change foo' |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
19 created new head |
5042
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
20 |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
21 we get conflicts that shouldn't be there |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
22 $ hg merge -P |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11973
diff
changeset
|
23 changeset: 1:484bf6903104 |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
24 user: test |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11973
diff
changeset
|
25 date: Thu Jan 01 00:00:00 1970 +0000 |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
26 summary: cp foo bar; change both |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
27 |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
28 $ hg merge --debug |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
29 searching for copies back to rev 1 |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
30 unmatched files in other: |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
31 bar |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
32 all copies found (* = to merge, ! = divergent): |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
33 bar -> foo * |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
34 checking for directory renames |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
35 resolving manifests |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
36 overwrite None partial False |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11973
diff
changeset
|
37 ancestor e6dc8efe11cc local 6a0df1dad128+ remote 484bf6903104 |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
38 foo: versions differ -> m |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
39 foo: remote copied to bar -> m |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
40 preserving foo for resolve of bar |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
41 preserving foo for resolve of foo |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
42 updating: foo 1/2 files (50.00%) |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
43 picked tool 'internal:merge' for bar (binary False symlink False) |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
44 merging foo and bar to bar |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11973
diff
changeset
|
45 my bar@6a0df1dad128+ other bar@484bf6903104 ancestor foo@e6dc8efe11cc |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
46 premerge successful |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
47 updating: foo 2/2 files (100.00%) |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
48 picked tool 'internal:merge' for foo (binary False symlink False) |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
49 merging foo |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11973
diff
changeset
|
50 my foo@6a0df1dad128+ other foo@484bf6903104 ancestor foo@e6dc8efe11cc |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
51 premerge successful |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
52 0 files updated, 2 files merged, 0 files removed, 0 files unresolved |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
53 (branch merge, don't forget to commit) |
5042
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
54 |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
55 contents of foo |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
56 $ cat foo |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
57 line 0 |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
58 line 1 |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
59 line 2-1 |
5042
f191bc3916f7
merge: do early copy to deal with issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
60 |
11973
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
61 contents of bar |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
62 $ cat bar |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
63 line 0 |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
64 line 1 |
b773ca489fd3
tests: unify test-double-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
8834
diff
changeset
|
65 line 2-2 |