mercurial/logcmdutil.py
changeset 43102 829088e87032
parent 43100 90b9a7e06c2c
child 43106 d783f945a701
equal deleted inserted replaced
43101:1d12ae5096d1 43102:829088e87032
   438         fm = self._fm
   438         fm = self._fm
   439         fm.startitem()
   439         fm.startitem()
   440         fm.context(ctx=ctx)
   440         fm.context(ctx=ctx)
   441         fm.data(rev=scmutil.intrev(ctx), node=fm.hexfunc(scmutil.binnode(ctx)))
   441         fm.data(rev=scmutil.intrev(ctx), node=fm.hexfunc(scmutil.binnode(ctx)))
   442 
   442 
   443         if self.ui.quiet:
   443         datahint = fm.datahint()
       
   444         if self.ui.quiet and not datahint:
   444             return
   445             return
   445 
   446 
   446         fm.data(
   447         fm.data(
   447             branch=ctx.branch(),
   448             branch=ctx.branch(),
   448             phase=ctx.phasestr(),
   449             phase=ctx.phasestr(),
   454             parents=fm.formatlist(
   455             parents=fm.formatlist(
   455                 [fm.hexfunc(c.node()) for c in ctx.parents()], name=b'node'
   456                 [fm.hexfunc(c.node()) for c in ctx.parents()], name=b'node'
   456             ),
   457             ),
   457         )
   458         )
   458 
   459 
   459         if self.ui.debugflag:
   460         if self.ui.debugflag or b'manifest' in datahint:
   460             fm.data(
   461             fm.data(manifest=fm.hexfunc(ctx.manifestnode() or wdirid))
   461                 manifest=fm.hexfunc(ctx.manifestnode() or wdirid),
   462         if self.ui.debugflag or b'extra' in datahint:
   462                 extra=fm.formatdict(ctx.extra()),
   463             fm.data(extra=fm.formatdict(ctx.extra()))
   463             )
   464 
   464 
   465         if (
       
   466             self.ui.debugflag
       
   467             or b'modified' in datahint
       
   468             or b'added' in datahint
       
   469             or b'removed' in datahint
       
   470         ):
   465             files = ctx.p1().status(ctx)
   471             files = ctx.p1().status(ctx)
   466             fm.data(
   472             fm.data(
   467                 modified=fm.formatlist(files[0], name=b'file'),
   473                 modified=fm.formatlist(files[0], name=b'file'),
   468                 added=fm.formatlist(files[1], name=b'file'),
   474                 added=fm.formatlist(files[1], name=b'file'),
   469                 removed=fm.formatlist(files[2], name=b'file'),
   475                 removed=fm.formatlist(files[2], name=b'file'),
   470             )
   476             )
   471 
   477 
   472         elif self.ui.verbose:
   478         verbose = not self.ui.debugflag and self.ui.verbose
       
   479         if verbose or b'files' in datahint:
   473             fm.data(files=fm.formatlist(ctx.files(), name=b'file'))
   480             fm.data(files=fm.formatlist(ctx.files(), name=b'file'))
   474             if copies:
   481         if verbose and copies or b'copies' in datahint:
   475                 fm.data(
   482             fm.data(
   476                     copies=fm.formatdict(copies, key=b'name', value=b'source')
   483                 copies=fm.formatdict(copies or {}, key=b'name', value=b'source')
   477                 )
   484             )
   478 
   485 
   479         if self._includestat:
   486         if self._includestat or b'diffstat' in datahint:
   480             self.ui.pushbuffer()
   487             self.ui.pushbuffer()
   481             self._differ.showdiff(self.ui, ctx, self._diffopts, stat=True)
   488             self._differ.showdiff(self.ui, ctx, self._diffopts, stat=True)
   482             fm.data(diffstat=self.ui.popbuffer())
   489             fm.data(diffstat=self.ui.popbuffer())
   483         if self._includediff:
   490         if self._includediff or b'diff' in datahint:
   484             self.ui.pushbuffer()
   491             self.ui.pushbuffer()
   485             self._differ.showdiff(self.ui, ctx, self._diffopts, stat=False)
   492             self._differ.showdiff(self.ui, ctx, self._diffopts, stat=False)
   486             fm.data(diff=self.ui.popbuffer())
   493             fm.data(diff=self.ui.popbuffer())
   487 
   494 
   488 
   495