# HG changeset patch # User Alexis S. L. Carvalho # Date 1188235264 10800 # Node ID 466323968b232df2e806ebb0aeef4f2e37948a4c # Parent 438ff951df70852719d3fb717b144fcf995aad2b Avoid adding to the changelog executable files added by the second parent. This was a regression introduced by b51a8138292a. diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- 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) diff --git a/tests/test-changelog-exec b/tests/test-changelog-exec 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 diff --git a/tests/test-changelog-exec.out b/tests/test-changelog-exec.out 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