Mercurial > hg-stable
comparison hgext/keyword.py @ 14835:ec4d4114e7fe
keyword: reuse already present working contexts for match
Shortens overlong line as side-effect.
author | Christian Ebert <blacktrash@gmx.net> |
---|---|
date | Sun, 03 Jul 2011 12:58:03 +0200 |
parents | 35c2cc322ba8 |
children | 261482576c1e |
comparison
equal
deleted
inserted
replaced
14834:a2de9da4604d | 14835:ec4d4114e7fe |
---|---|
320 def cmp(self, node, text): | 320 def cmp(self, node, text): |
321 '''Removes keyword substitutions for comparison.''' | 321 '''Removes keyword substitutions for comparison.''' |
322 text = self.kwt.shrink(self.path, text) | 322 text = self.kwt.shrink(self.path, text) |
323 return super(kwfilelog, self).cmp(node, text) | 323 return super(kwfilelog, self).cmp(node, text) |
324 | 324 |
325 def _status(ui, repo, kwt, *pats, **opts): | 325 def _status(ui, repo, wctx, kwt, *pats, **opts): |
326 '''Bails out if [keyword] configuration is not active. | 326 '''Bails out if [keyword] configuration is not active. |
327 Returns status of working directory.''' | 327 Returns status of working directory.''' |
328 if kwt: | 328 if kwt: |
329 return repo.status(match=scmutil.match(repo[None], pats, opts), clean=True, | 329 return repo.status(match=scmutil.match(wctx, pats, opts), clean=True, |
330 unknown=opts.get('unknown') or opts.get('all')) | 330 unknown=opts.get('unknown') or opts.get('all')) |
331 if ui.configitems('keyword'): | 331 if ui.configitems('keyword'): |
332 raise util.Abort(_('[keyword] patterns cannot match')) | 332 raise util.Abort(_('[keyword] patterns cannot match')) |
333 raise util.Abort(_('no [keyword] patterns configured')) | 333 raise util.Abort(_('no [keyword] patterns configured')) |
334 | 334 |
338 if len(wctx.parents()) > 1: | 338 if len(wctx.parents()) > 1: |
339 raise util.Abort(_('outstanding uncommitted merge')) | 339 raise util.Abort(_('outstanding uncommitted merge')) |
340 kwt = kwtools['templater'] | 340 kwt = kwtools['templater'] |
341 wlock = repo.wlock() | 341 wlock = repo.wlock() |
342 try: | 342 try: |
343 status = _status(ui, repo, kwt, *pats, **opts) | 343 status = _status(ui, repo, wctx, kwt, *pats, **opts) |
344 modified, added, removed, deleted, unknown, ignored, clean = status | 344 modified, added, removed, deleted, unknown, ignored, clean = status |
345 if modified or added or removed or deleted: | 345 if modified or added or removed or deleted: |
346 raise util.Abort(_('outstanding uncommitted changes')) | 346 raise util.Abort(_('outstanding uncommitted changes')) |
347 kwt.overwrite(wctx, clean, True, expand) | 347 kwt.overwrite(wctx, clean, True, expand) |
348 finally: | 348 finally: |
473 k = keyword expansion candidate (not tracked) | 473 k = keyword expansion candidate (not tracked) |
474 I = ignored | 474 I = ignored |
475 i = ignored (not tracked) | 475 i = ignored (not tracked) |
476 ''' | 476 ''' |
477 kwt = kwtools['templater'] | 477 kwt = kwtools['templater'] |
478 status = _status(ui, repo, kwt, *pats, **opts) | 478 wctx = repo[None] |
479 status = _status(ui, repo, wctx, kwt, *pats, **opts) | |
479 cwd = pats and repo.getcwd() or '' | 480 cwd = pats and repo.getcwd() or '' |
480 modified, added, removed, deleted, unknown, ignored, clean = status | 481 modified, added, removed, deleted, unknown, ignored, clean = status |
481 files = [] | 482 files = [] |
482 if not opts.get('unknown') or opts.get('all'): | 483 if not opts.get('unknown') or opts.get('all'): |
483 files = sorted(modified + added + clean) | 484 files = sorted(modified + added + clean) |
484 wctx = repo[None] | |
485 kwfiles = kwt.iskwfile(files, wctx) | 485 kwfiles = kwt.iskwfile(files, wctx) |
486 kwdeleted = kwt.iskwfile(deleted, wctx) | 486 kwdeleted = kwt.iskwfile(deleted, wctx) |
487 kwunknown = kwt.iskwfile(unknown, wctx) | 487 kwunknown = kwt.iskwfile(unknown, wctx) |
488 if not opts.get('ignore') or opts.get('all'): | 488 if not opts.get('ignore') or opts.get('all'): |
489 showfiles = kwfiles, kwdeleted, kwunknown | 489 showfiles = kwfiles, kwdeleted, kwunknown |