Mercurial > hg
changeset 11262:55226ceb0b2a
Merge with i18n
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Tue, 01 Jun 2010 10:54:57 -0500 |
parents | 94b7b3a1ae1b (diff) d3ffbeae8a5a (current diff) |
children | 1dd69d159e5c |
files | |
diffstat | 3 files changed, 38 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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<<EOF @@ -157,6 +157,19 @@ cat a hg diff | grep -v 'b/a' hg rollback + +echo % record file +echo foo > msg +# do not use "hg record -m" here! +hg record -l msg -d '1 11'<<EOF +y +y +y +EOF +echo % a should be clean +hg status -A a +rm msg +hg rollback hg update -C echo % init --mq
--- a/tests/test-keyword.out Tue Jun 01 12:25:43 2010 -0300 +++ b/tests/test-keyword.out Tue Jun 01 10:54:57 2010 -0500 @@ -132,7 +132,7 @@ xxx $ $Id: c,v 40a904bbbe4c 1970/01/01 00:00:01 user $ tests for different changenodes -% record +% record chunk diff --git a/a b/a 2 hunks, 2 lines changed examine changes to 'a'? [Ynsfdaq?] @@ -164,6 +164,24 @@ xxx $ +bar rolling back to revision 2 (undo commit) +% record file +diff --git a/a b/a +2 hunks, 2 lines changed +examine changes to 'a'? [Ynsfdaq?] +@@ -1,3 +1,4 @@ + expand $Id$ ++foo + do not process $Id: + xxx $ +record change 1/2 to 'a'? [Ynsfdaq?] +@@ -2,2 +3,3 @@ + do not process $Id: + xxx $ ++bar +record change 2/2 to 'a'? [Ynsfdaq?] +% a should be clean +C a +rolling back to revision 2 (undo commit) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % init --mq % qimport