# HG changeset patch # User Matt Mackall # Date 1275407697 18000 # Node ID 55226ceb0b2aff71c64869f8506ed1dd39770639 # Parent 94b7b3a1ae1bb4344220fa360ca9f1c5c4063f89# Parent d3ffbeae8a5a9dd06b104a5f9f790cfd38fb0c32 Merge with i18n diff -r d3ffbeae8a5a -r 55226ceb0b2a hgext/keyword.py --- a/hgext/keyword.py Tue Jun 01 12:25:43 2010 -0300 +++ b/hgext/keyword.py Tue Jun 01 10:54:57 2010 -0500 @@ -194,7 +194,7 @@ '''Overwrites selected files expanding/shrinking keywords.''' ctx = self.repo[node] mf = ctx.manifest() - if node is not None: # commit, record + if self.record: candidates = [f for f in ctx.files() if f in mf] candidates = [f for f in candidates if self.iskwfile(f, ctx.flags)] if candidates: @@ -209,7 +209,7 @@ if util.binary(data): continue if expand: - if node is None: + if node is None: # kwexpand/kwshrink ctx = self.repo.filectx(f, fileid=mf[f]).changectx() data, found = self.substitute(data, f, ctx, self.re_kw.subn) @@ -220,6 +220,8 @@ self.repo.wwrite(f, data, mf.flags(f)) if node is None: self.repo.dirstate.normal(f) + elif self.record: + self.repo.dirstate.normallookup(f) self.restrict = False def shrinktext(self, text): @@ -497,7 +499,7 @@ n = super(kwrepo, self).commitctx(ctx, error) # no lock needed, only called from repo.commit() which already locks if not kwt.record: - kwt.overwrite(n, True, None) + kwt.overwrite(n, True, sorted(ctx.added() + ctx.modified())) return n # monkeypatches diff -r d3ffbeae8a5a -r 55226ceb0b2a mercurial/hg.py diff -r d3ffbeae8a5a -r 55226ceb0b2a mercurial/util.py diff -r d3ffbeae8a5a -r 55226ceb0b2a tests/test-keyword --- a/tests/test-keyword Tue Jun 01 12:25:43 2010 -0300 +++ b/tests/test-keyword Tue Jun 01 10:54:57 2010 -0500 @@ -142,7 +142,7 @@ echo % compare changenodes in a c cat a c -echo % record +echo % record chunk python -c \ 'l=open("a").readlines();l.insert(1,"foo\n");l.append("bar\n");open("a","w").writelines(l);' hg record -d '1 10' -m rectest< msg +# do not use "hg record -m" here! +hg record -l msg -d '1 11'<