Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/cmdutil.py @ 3649:e50891e461e4
Consolidate brinfo handling
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 15 Nov 2006 15:51:58 -0600 |
parents | 2801a3efc7c3 |
children | 731e739b8659 |
comparison
equal
deleted
inserted
replaced
3648:2801a3efc7c3 | 3649:e50891e461e4 |
---|---|
236 return 0 | 236 return 0 |
237 | 237 |
238 class changeset_printer(object): | 238 class changeset_printer(object): |
239 '''show changeset information when templating not requested.''' | 239 '''show changeset information when templating not requested.''' |
240 | 240 |
241 def __init__(self, ui, repo, patch, buffered): | 241 def __init__(self, ui, repo, patch, brinfo, buffered): |
242 self.ui = ui | 242 self.ui = ui |
243 self.repo = repo | 243 self.repo = repo |
244 self.buffered = buffered | 244 self.buffered = buffered |
245 self.patch = patch | 245 self.patch = patch |
246 self.brinfo = brinfo | |
246 if buffered: | 247 if buffered: |
247 self.ui = uibuffer(ui) | 248 self.ui = uibuffer(ui) |
248 | 249 |
249 def flush(self, rev): | 250 def flush(self, rev): |
250 return self.ui.flush(rev) | 251 return self.ui.flush(rev) |
251 | 252 |
252 def show(self, rev=0, changenode=None, brinfo=None, copies=None): | 253 def show(self, rev=0, changenode=None, copies=None): |
253 '''show a single changeset or file revision''' | 254 '''show a single changeset or file revision''' |
254 if self.buffered: | 255 if self.buffered: |
255 self.ui.mark(rev) | 256 self.ui.mark(rev) |
256 log = self.repo.changelog | 257 log = self.repo.changelog |
257 if changenode is None: | 258 if changenode is None: |
286 for tag in self.repo.nodetags(changenode): | 287 for tag in self.repo.nodetags(changenode): |
287 self.ui.write(_("tag: %s\n") % tag) | 288 self.ui.write(_("tag: %s\n") % tag) |
288 for parent in parents: | 289 for parent in parents: |
289 self.ui.write(_("parent: %d:%s\n") % parent) | 290 self.ui.write(_("parent: %d:%s\n") % parent) |
290 | 291 |
291 if brinfo and changenode in brinfo: | 292 if self.brinfo: |
292 br = brinfo[changenode] | 293 br = self.repo.branchlookup([changenode]) |
293 self.ui.write(_("branch: %s\n") % " ".join(br)) | 294 if br: |
295 self.ui.write(_("branch: %s\n") % " ".join(br[changenode])) | |
294 | 296 |
295 if self.ui.debugflag: | 297 if self.ui.debugflag: |
296 self.ui.write(_("manifest: %d:%s\n") % | 298 self.ui.write(_("manifest: %d:%s\n") % |
297 (self.repo.manifest.rev(changes[0]), hex(changes[0]))) | 299 (self.repo.manifest.rev(changes[0]), hex(changes[0]))) |
298 self.ui.write(_("user: %s\n") % changes[1]) | 300 self.ui.write(_("user: %s\n") % changes[1]) |
337 self.ui.write("\n") | 339 self.ui.write("\n") |
338 | 340 |
339 class changeset_templater(changeset_printer): | 341 class changeset_templater(changeset_printer): |
340 '''format changeset information.''' | 342 '''format changeset information.''' |
341 | 343 |
342 def __init__(self, ui, repo, patch, mapfile, buffered): | 344 def __init__(self, ui, repo, patch, brinfo, mapfile, buffered): |
343 changeset_printer.__init__(self, ui, repo, patch, buffered) | 345 changeset_printer.__init__(self, ui, repo, patch, brinfo, buffered) |
344 self.t = templater.templater(mapfile, templater.common_filters, | 346 self.t = templater.templater(mapfile, templater.common_filters, |
345 cache={'parent': '{rev}:{node|short} ', | 347 cache={'parent': '{rev}:{node|short} ', |
346 'manifest': '{rev}:{node|short}', | 348 'manifest': '{rev}:{node|short}', |
347 'filecopy': '{name} ({source})'}) | 349 'filecopy': '{name} ({source})'}) |
348 | 350 |
349 def use_template(self, t): | 351 def use_template(self, t): |
350 '''set template string to use''' | 352 '''set template string to use''' |
351 self.t.cache['changeset'] = t | 353 self.t.cache['changeset'] = t |
352 | 354 |
353 def show(self, rev=0, changenode=None, brinfo=None, copies=[], **props): | 355 def show(self, rev=0, changenode=None, copies=[], **props): |
354 '''show a single changeset or file revision''' | 356 '''show a single changeset or file revision''' |
355 if self.buffered: | 357 if self.buffered: |
356 self.ui.mark(rev) | 358 self.ui.mark(rev) |
357 log = self.repo.changelog | 359 log = self.repo.changelog |
358 if changenode is None: | 360 if changenode is None: |
426 def showbranches(**args): | 428 def showbranches(**args): |
427 branch = changes[5].get("branch") | 429 branch = changes[5].get("branch") |
428 if branch: | 430 if branch: |
429 return showlist('branch', [branch], plural='branches', **args) | 431 return showlist('branch', [branch], plural='branches', **args) |
430 # add old style branches if requested | 432 # add old style branches if requested |
431 if brinfo and changenode in brinfo: | 433 if self.brinfo: |
432 return showlist('branch', brinfo[changenode], | 434 br = self.repo.branchlookup([changenode]) |
433 plural='branches', **args) | 435 if changenode in br: |
436 return showlist('branch', br[changenode], | |
437 plural='branches', **args) | |
434 | 438 |
435 def showparents(**args): | 439 def showparents(**args): |
436 parents = [[('rev', log.rev(p)), ('node', hex(p))] | 440 parents = [[('rev', log.rev(p)), ('node', hex(p))] |
437 for p in log.parents(changenode) | 441 for p in log.parents(changenode) |
438 if self.ui.debugflag or p != nullid] | 442 if self.ui.debugflag or p != nullid] |
553 If all of these values are either the unset or the empty string, | 557 If all of these values are either the unset or the empty string, |
554 regular display via changeset_printer() is done. | 558 regular display via changeset_printer() is done. |
555 """ | 559 """ |
556 # options | 560 # options |
557 patch = opts.get('patch') | 561 patch = opts.get('patch') |
562 br = None | |
563 if opts.get('branches'): | |
564 ui.warn(_("the --branches option is deprecated, " | |
565 "please use 'hg branches' instead\n")) | |
566 br = True | |
558 tmpl = opts.get('template') | 567 tmpl = opts.get('template') |
559 mapfile = None | 568 mapfile = None |
560 if tmpl: | 569 if tmpl: |
561 tmpl = templater.parsestring(tmpl, quoted=False) | 570 tmpl = templater.parsestring(tmpl, quoted=False) |
562 else: | 571 else: |
574 if not os.path.split(mapfile)[0]: | 583 if not os.path.split(mapfile)[0]: |
575 mapname = (templater.templatepath('map-cmdline.' + mapfile) | 584 mapname = (templater.templatepath('map-cmdline.' + mapfile) |
576 or templater.templatepath(mapfile)) | 585 or templater.templatepath(mapfile)) |
577 if mapname: mapfile = mapname | 586 if mapname: mapfile = mapname |
578 try: | 587 try: |
579 t = changeset_templater(ui, repo, patch, mapfile, buffered) | 588 t = changeset_templater(ui, repo, patch, br, mapfile, buffered) |
580 except SyntaxError, inst: | 589 except SyntaxError, inst: |
581 raise util.Abort(inst.args[0]) | 590 raise util.Abort(inst.args[0]) |
582 if tmpl: t.use_template(tmpl) | 591 if tmpl: t.use_template(tmpl) |
583 return t | 592 return t |
584 return changeset_printer(ui, repo, patch, buffered) | 593 return changeset_printer(ui, repo, patch, br, buffered) |
585 | 594 |