Show More
@@ -0,0 +1,32 b'' | |||
|
1 | #!/bin/sh | |
|
2 | # b51a8138292a introduced a regression where we would mention in the | |
|
3 | # changelog executable files added by the second parent of a merge. | |
|
4 | # Test that that doesn't happen anymore | |
|
5 | ||
|
6 | "$TESTDIR/hghave" execbit || exit 80 | |
|
7 | ||
|
8 | hg init repo | |
|
9 | cd repo | |
|
10 | echo foo > foo | |
|
11 | hg ci -qAm 'add foo' -d '0 0' | |
|
12 | ||
|
13 | echo bar > bar | |
|
14 | chmod +x bar | |
|
15 | hg ci -qAm 'add bar' -d '0 0' | |
|
16 | echo '% manifest of p2:' | |
|
17 | hg manifest | |
|
18 | echo | |
|
19 | ||
|
20 | hg up -qC 0 | |
|
21 | echo >> foo | |
|
22 | hg ci -m 'change foo' -d '0 0' | |
|
23 | echo '% manifest of p1:' | |
|
24 | hg manifest | |
|
25 | ||
|
26 | hg merge | |
|
27 | hg ci -m 'merge' -d '0 0' | |
|
28 | ||
|
29 | echo '% this should not mention bar:' | |
|
30 | hg tip -v | |
|
31 | ||
|
32 | hg debugindex .hg/store/data/bar.i |
@@ -0,0 +1,21 b'' | |||
|
1 | % manifest of p2: | |
|
2 | bar | |
|
3 | foo | |
|
4 | ||
|
5 | % manifest of p1: | |
|
6 | foo | |
|
7 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
8 | (branch merge, don't forget to commit) | |
|
9 | % this should not mention bar: | |
|
10 | changeset: 3:ef2fc9b4a51b | |
|
11 | tag: tip | |
|
12 | parent: 2:ed1b79f46b9a | |
|
13 | parent: 1:d394a8db219b | |
|
14 | user: test | |
|
15 | date: Thu Jan 01 00:00:00 1970 +0000 | |
|
16 | description: | |
|
17 | merge | |
|
18 | ||
|
19 | ||
|
20 | rev offset length base linkrev nodeid p1 p2 | |
|
21 | 0 0 5 0 1 b004912a8510 000000000000 000000000000 |
@@ -630,7 +630,9 b' class localrepository(repo.repository):' | |||
|
630 | 630 | elif fp1 != nullid: # copied on local side, reversed |
|
631 | 631 | meta["copyrev"] = hex(manifest2.get(cp)) |
|
632 | 632 | fp2 = fp1 |
|
633 |
el |
|
|
633 | elif cp in manifest2: # directory rename on local side | |
|
634 | meta["copyrev"] = hex(manifest2[cp]) | |
|
635 | else: # directory rename on remote side | |
|
634 | 636 | meta["copyrev"] = hex(manifest1.get(cp, nullid)) |
|
635 | 637 | self.ui.debug(_(" %s: copy %s:%s\n") % |
|
636 | 638 | (fn, cp, meta["copyrev"])) |
@@ -644,7 +646,7 b' class localrepository(repo.repository):' | |||
|
644 | 646 | fp2 = nullid |
|
645 | 647 | |
|
646 | 648 | # is the file unmodified from the parent? report existing entry |
|
647 | if fp2 == nullid and not fl.cmp(fp1, t): | |
|
649 | if fp2 == nullid and not fl.cmp(fp1, t) and not meta: | |
|
648 | 650 | return fp1 |
|
649 | 651 | |
|
650 | 652 | changelist.append(fn) |
@@ -736,7 +738,8 b' class localrepository(repo.repository):' | |||
|
736 | 738 | new[f] = self.filecommit(f, m1, m2, linkrev, trp, changed) |
|
737 | 739 | new_exec = is_exec(f) |
|
738 | 740 | new_link = is_link(f) |
|
739 |
if not changed or changed[-1] != f |
|
|
741 | if ((not changed or changed[-1] != f) and | |
|
742 | m2.get(f) != new[f]): | |
|
740 | 743 | # mention the file in the changelog if some |
|
741 | 744 | # flag changed, even if there was no content |
|
742 | 745 | # change. |
@@ -24,9 +24,11 b' hg merge --debug 1' | |||
|
24 | 24 | echo a/* b/* |
|
25 | 25 | hg st -C |
|
26 | 26 | hg ci -m "3 merge 2+1" -d "0 0" |
|
27 | hg debugrename b/c | |
|
27 | 28 | |
|
28 | 29 | hg co -C 1 |
|
29 | 30 | hg merge --debug 2 |
|
30 | 31 | echo a/* b/* |
|
31 | 32 | hg st -C |
|
32 | 33 | hg ci -m "4 merge 1+2" -d "0 0" |
|
34 | hg debugrename b/c |
@@ -29,6 +29,7 b' A b/c' | |||
|
29 | 29 | R a/a |
|
30 | 30 | R a/b |
|
31 | 31 | R a/c |
|
32 | b/c renamed from a/c:354ae8da6e890359ef49ade27b68bbc361f3ca88 | |
|
32 | 33 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
33 | 34 | resolving manifests |
|
34 | 35 | overwrite None partial False |
@@ -40,3 +41,4 b' 1 files updated, 0 files merged, 0 files' | |||
|
40 | 41 | a/* b/a b/b b/c |
|
41 | 42 | A b/c |
|
42 | 43 | a/c |
|
44 | b/c renamed from a/c:354ae8da6e890359ef49ade27b68bbc361f3ca88 |
General Comments 0
You need to be logged in to leave comments.
Login now