# HG changeset patch # User Matt Mackall # Date 1315524644 18000 # Node ID 91d2efecb24548b4f880511873a2ac2ab33880f2 # Parent 650d81a313cb6c3ea26cef8e183a6df223e42617# Parent ad6eb7d7dbcafac0614e884222d182187fbfec6e merge with stable diff -r 650d81a313cb -r 91d2efecb245 hgext/keyword.py --- a/hgext/keyword.py Thu Sep 08 10:20:42 2011 +0200 +++ b/hgext/keyword.py Thu Sep 08 18:30:44 2011 -0500 @@ -275,7 +275,10 @@ data, found = _shrinktext(data, re_kw.subn) if found: self.ui.note(msg % f) + fpath = self.repo.wjoin(f) + mode = os.lstat(fpath).st_mode self.repo.wwrite(f, data, ctx.flags(f)) + os.chmod(fpath, mode) if kwcmd: self.repo.dirstate.normal(f) elif self.record: diff -r 650d81a313cb -r 91d2efecb245 mercurial/templates/paper/graph.tmpl --- a/mercurial/templates/paper/graph.tmpl Thu Sep 08 10:20:42 2011 +0200 +++ b/mercurial/templates/paper/graph.tmpl Thu Sep 08 18:30:44 2011 -0500 @@ -95,7 +95,7 @@ item = item.replace(/_DATE/, cur[5]); var tagspan = ''; - if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{ + if (cur[7].length || cur[8].length || (cur[6][0] != 'default' || cur[6][1])) \{ tagspan = ''; if (cur[6][1]) \{ tagspan += ''; diff -r 650d81a313cb -r 91d2efecb245 tests/test-hgweb-empty.t --- a/tests/test-hgweb-empty.t Thu Sep 08 10:20:42 2011 +0200 +++ b/tests/test-hgweb-empty.t Thu Sep 08 18:30:44 2011 -0500 @@ -281,7 +281,7 @@ item = item.replace(/_DATE/, cur[5]); var tagspan = ''; - if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) { + if (cur[7].length || cur[8].length || (cur[6][0] != 'default' || cur[6][1])) { tagspan = ''; if (cur[6][1]) { tagspan += ''; diff -r 650d81a313cb -r 91d2efecb245 tests/test-keyword.t --- a/tests/test-keyword.t Thu Sep 08 10:20:42 2011 +0200 +++ b/tests/test-keyword.t Thu Sep 08 18:30:44 2011 -0500 @@ -270,15 +270,20 @@ xxx $ ignore $Id$ -Check whether expansion is filewise +Check whether expansion is filewise and file mode is preserved $ echo '$Id$' > c $ echo 'tests for different changenodes' >> c + $ chmod 600 c + $ ls -l c | cut -b 1-10 + -rw------- commit file c $ hg commit -A -mcndiff -d '1 0' -u 'User Name ' adding c + $ ls -l c | cut -b 1-10 + -rw------- force expansion