annotate tests/test-merge10.t @ 25997:d4e1e947444b stable

convert: fix git copy file content conversions There was a bug in the git convert code where if you copied a file and modified the copy source in the same commit, and if the copy dest was alphabetically earlier than the copy source, the converted version would use the copy dest contents for both the source and the target. The root of the bug is that the git diff-tree output is formatted like so: :<mode> <mode> <oldhash> <newhash> <state> <src> <dest> :100644 100644 c1ab79a15... 3dfc779ab... C069 oldname newname :100644 100644 c1ab79a15... 03e2188a6... M oldname The old code would always take the 'oldname' field as the name of the file being processed, then it would try to do an extra convert for the newname. This works for renames because it does a delete for the oldname and a create for the newname. For copies though, it ends up associating the copied content (3dfc779ab above) with the oldname. It only happened when the dest was alphabetically before because that meant the copy got processed before the modification. The fix is the treat copy lines as affecting only the newname, and not marking the oldname as processed.
author Durham Goode <durham@fb.com>
date Thu, 06 Aug 2015 17:21:46 -0700
parents f2719b387380
children eb586ed5d8ce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11983
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
1 Test for changeset 9fe267f77f56ff127cf7e65dc15dd9de71ce8ceb
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
2 (merge correctly when all the files in a directory are moved
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
3 but then local changes are added in the same directory)
4696
59b8f9361545 tests: add merge test for changeset 9fe267f77f56
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
4
11983
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
5 $ hg init a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
6 $ cd a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
7 $ mkdir -p testdir
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
8 $ echo a > testdir/a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
9 $ hg add testdir/a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11983
diff changeset
10 $ hg commit -m a
11983
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
11 $ cd ..
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
12
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
13 $ hg clone a b
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
14 updating to branch default
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
16 $ cd a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
17 $ echo alpha > testdir/a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11983
diff changeset
18 $ hg commit -m remote-change
11983
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
19 $ cd ..
4696
59b8f9361545 tests: add merge test for changeset 9fe267f77f56
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
diff changeset
20
11983
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
21 $ cd b
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
22 $ mkdir testdir/subdir
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
23 $ hg mv testdir/a testdir/subdir/a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11983
diff changeset
24 $ hg commit -m move
11983
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
25 $ mkdir newdir
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
26 $ echo beta > newdir/beta
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
27 $ hg add newdir/beta
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11983
diff changeset
28 $ hg commit -m local-addition
11983
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
29 $ hg pull ../a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
30 pulling from ../a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
31 searching for changes
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
32 adding changesets
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
33 adding manifests
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
34 adding file changes
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
35 added 1 changesets with 1 changes to 1 files (+1 heads)
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
36 (run 'hg heads' to see heads, 'hg merge' to merge)
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
37 $ hg up -C 2
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
38 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
39 $ hg merge
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
40 merging testdir/subdir/a and testdir/a to testdir/subdir/a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
41 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
42 (branch merge, don't forget to commit)
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
43 $ hg stat
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
44 M testdir/subdir/a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
45 $ hg diff --nodates
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11983
diff changeset
46 diff -r bc21c9773bfa testdir/subdir/a
11983
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
47 --- a/testdir/subdir/a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
48 +++ b/testdir/subdir/a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
49 @@ -1,1 +1,1 @@
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
50 -a
27649cf258e3 tests: unify test-merge10
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8168
diff changeset
51 +alpha
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12156
diff changeset
52
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12156
diff changeset
53 $ cd ..