mercurial/cmdutil.py
changeset 36203 01280638bdb1
parent 36194 39b3aab6231e
child 36204 33ed8b511185
equal deleted inserted replaced
36202:707aba4d48b5 36203:01280638bdb1
   891     else:
   891     else:
   892         return commiteditor
   892         return commiteditor
   893 
   893 
   894 def makefilename(repo, pat, node, desc=None,
   894 def makefilename(repo, pat, node, desc=None,
   895                   total=None, seqno=None, revwidth=None, pathname=None):
   895                   total=None, seqno=None, revwidth=None, pathname=None):
   896     node_expander = {
   896     expander = {
   897         'H': lambda: hex(node),
   897         'H': lambda: hex(node),
   898         'R': lambda: '%d' % repo.changelog.rev(node),
   898         'R': lambda: '%d' % repo.changelog.rev(node),
   899         'h': lambda: short(node),
   899         'h': lambda: short(node),
   900         'm': lambda: re.sub('[^\w]', '_', desc or '')
   900         'm': lambda: re.sub('[^\w]', '_', desc or ''),
   901         }
   901         'r': lambda: ('%d' % repo.changelog.rev(node)).zfill(revwidth or 0),
   902     expander = {
       
   903         '%': lambda: '%',
   902         '%': lambda: '%',
   904         'b': lambda: os.path.basename(repo.root),
   903         'b': lambda: os.path.basename(repo.root),
   905         }
   904         }
   906 
   905 
   907     try:
   906     try:
   908         if node:
       
   909             expander.update(node_expander)
       
   910         if node:
       
   911             expander['r'] = (lambda:
       
   912                     ('%d' % repo.changelog.rev(node)).zfill(revwidth or 0))
       
   913         if total is not None:
   907         if total is not None:
   914             expander['N'] = lambda: '%d' % total
   908             expander['N'] = lambda: '%d' % total
   915         if seqno is not None:
   909         if seqno is not None:
   916             expander['n'] = lambda: '%d' % seqno
   910             expander['n'] = lambda: '%d' % seqno
   917         if total is not None and seqno is not None:
   911         if total is not None and seqno is not None:
   958         return self
   952         return self
   959 
   953 
   960     def __exit__(self, exc_type, exc_value, exc_tb):
   954     def __exit__(self, exc_type, exc_value, exc_tb):
   961         pass
   955         pass
   962 
   956 
   963 def makefileobj(repo, pat, node=None, desc=None, total=None,
   957 def makefileobj(repo, pat, node, desc=None, total=None,
   964                 seqno=None, revwidth=None, mode='wb', modemap=None,
   958                 seqno=None, revwidth=None, mode='wb', modemap=None,
   965                 pathname=None):
   959                 pathname=None):
   966 
   960 
   967     writable = mode not in ('r', 'rb')
   961     writable = mode not in ('r', 'rb')
   968 
   962