changeset 5242:466323968b23

Avoid adding to the changelog executable files added by the second parent. This was a regression introduced by b51a8138292a.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Mon, 27 Aug 2007 14:21:04 -0300
parents 438ff951df70
children 8050f13772f6
files mercurial/localrepo.py tests/test-changelog-exec tests/test-changelog-exec.out
diffstat 3 files changed, 54 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -718,7 +718,7 @@ class localrepository(repo.repository):
                 new[f] = self.filecommit(f, m1, m2, linkrev, tr, changed)
                 new_exec = is_exec(f)
                 new_link = is_link(f)
-                if not changed or changed[-1] != f:
+                if (not changed or changed[-1] != f) and m2.get(f) != new[f]:
                     # mention the file in the changelog if some flag changed,
                     # even if there was no content change.
                     old_exec = m1.execf(f)
new file mode 100755
--- /dev/null
+++ b/tests/test-changelog-exec
@@ -0,0 +1,32 @@
+#!/bin/sh
+# b51a8138292a introduced a regression where we would mention in the
+# changelog executable files added by the second parent of a merge.
+# Test that that doesn't happen anymore
+
+"$TESTDIR/hghave" execbit || exit 80
+
+hg init repo
+cd repo
+echo foo > foo
+hg ci -qAm 'add foo' -d '0 0'
+
+echo bar > bar
+chmod +x bar
+hg ci -qAm 'add bar' -d '0 0'
+echo '% manifest of p2:'
+hg manifest
+echo
+
+hg up -qC 0
+echo >> foo
+hg ci -m 'change foo' -d '0 0'
+echo '% manifest of p1:'
+hg manifest
+
+hg merge
+hg ci -m 'merge' -d '0 0'
+
+echo '% this should not mention bar:'
+hg tip -v
+
+hg debugindex .hg/store/data/bar.i
new file mode 100644
--- /dev/null
+++ b/tests/test-changelog-exec.out
@@ -0,0 +1,21 @@
+% manifest of p2:
+bar
+foo
+
+% manifest of p1:
+foo
+1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+(branch merge, don't forget to commit)
+% this should not mention bar:
+changeset:   3:ef2fc9b4a51b
+tag:         tip
+parent:      2:ed1b79f46b9a
+parent:      1:d394a8db219b
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+description:
+merge
+
+
+   rev    offset  length   base linkrev nodeid       p1           p2
+     0         0       5      0       1 b004912a8510 000000000000 000000000000