# HG changeset patch # User Brendan Cully # Date 1272925684 25200 # Node ID 3ec4c544291087d01d2323436af70f10df37b0bd # Parent 70a0acfe51d6ea3e123e79dd39092b5101a7406a# Parent c4347e48b0d0b05c3677f3c12ef465467584672c Merge with main diff -r 70a0acfe51d6 -r 3ec4c5442910 hgext/keyword.py --- a/hgext/keyword.py Mon May 03 15:27:05 2010 -0700 +++ b/hgext/keyword.py Mon May 03 15:28:04 2010 -0700 @@ -160,12 +160,9 @@ Caveat: localrepository._link fails on Windows.''' return self.match(path) and not 'l' in flagfunc(path) - def overwrite(self, node, expand, candidates, recctx=None): + def overwrite(self, node, expand, candidates): '''Overwrites selected files expanding/shrinking keywords.''' - if recctx is None: - ctx = self.repo[node] - else: - ctx = recctx + ctx = self.repo[node] mf = ctx.manifest() if node is not None: # commit, record candidates = [f for f in ctx.files() if f in mf] @@ -175,7 +172,7 @@ msg = (expand and _('overwriting %s expanding keywords\n') or _('overwriting %s shrinking keywords\n')) for f in candidates: - if recctx is None: + if not self.record: data = self.repo.file(f).read(mf[f]) else: data = self.repo.wread(f) @@ -507,7 +504,7 @@ ret = orig(ui, repo, commitfunc, *pats, **opts) recctx = repo['.'] if ctx != recctx: - kwt.overwrite('.', True, None, recctx) + kwt.overwrite('.', True, None) return ret finally: wlock.release() diff -r 70a0acfe51d6 -r 3ec4c5442910 mercurial/commands.py --- a/mercurial/commands.py Mon May 03 15:27:05 2010 -0700 +++ b/mercurial/commands.py Mon May 03 15:28:04 2010 -0700 @@ -3109,15 +3109,21 @@ ui.status(m, label='log.branch') st = list(repo.status(unknown=True))[:6] + ms = mergemod.mergestate(repo) st.append([f for f in ms if ms[f] == 'u']) + + subs = [s for s in ctx.substate if ctx.sub(s).dirty()] + st.append(subs) + labels = [ui.label(_('%d modified'), 'status.modified'), ui.label(_('%d added'), 'status.added'), ui.label(_('%d removed'), 'status.removed'), ui.label(_('%d deleted'), 'status.deleted'), ui.label(_('%d unknown'), 'status.unknown'), ui.label(_('%d ignored'), 'status.ignored'), - ui.label(_('%d unresolved'), 'resolve.unresolved')] + ui.label(_('%d unresolved'), 'resolve.unresolved'), + ui.label(_('%d subrepos'), 'status.modified')] t = [] for s, l in zip(st, labels): if s: @@ -3130,7 +3136,7 @@ t += _(' (merge)') elif branch != parents[0].branch(): t += _(' (new branch)') - elif (not st[0] and not st[1] and not st[2]): + elif (not st[0] and not st[1] and not st[2] and not st[7]): t += _(' (clean)') cleanworkdir = True elif pnode not in bheads: diff -r 70a0acfe51d6 -r 3ec4c5442910 tests/test-subrepo --- a/tests/test-subrepo Mon May 03 15:27:05 2010 -0700 +++ b/tests/test-subrepo Mon May 03 15:28:04 2010 -0700 @@ -16,6 +16,7 @@ hg init s echo a > s/a hg -R s ci -Ams0 +hg sum hg ci -m1 echo % add sub sub @@ -24,7 +25,9 @@ echo a > s/ss/a hg -R s add s/.hgsub hg -R s/ss add s/ss/a +hg sum hg ci -m2 +hg sum echo % bump sub rev echo b > s/a diff -r 70a0acfe51d6 -r 3ec4c5442910 tests/test-subrepo.out --- a/tests/test-subrepo.out Mon May 03 15:27:05 2010 -0700 +++ b/tests/test-subrepo.out Mon May 03 15:28:04 2010 -0700 @@ -2,10 +2,25 @@ adding a % add first sub adding a +parent: 0:f7b1eb17ad24 tip + 0 +branch: default +commit: 1 added, 1 subrepos +update: (current) committing subrepository s % add sub sub +parent: 1:7cf8cfea66e4 tip + 1 +branch: default +commit: 1 subrepos +update: (current) committing subrepository s committing subrepository ss +parent: 2:df30734270ae tip + 2 +branch: default +commit: (clean) +update: (current) % bump sub rev committing subrepository s % leave sub dirty