hgext/keyword.py
changeset 5946 ee0dc0f3804b
parent 5945 7f593d7fccce
child 5961 ed4d55c2366f
equal deleted inserted replaced
5945:7f593d7fccce 5946:ee0dc0f3804b
   308     if opts.get('default'):
   308     if opts.get('default'):
   309         kwstatus = 'default'
   309         kwstatus = 'default'
   310         kwmaps = kwtemplater.templates
   310         kwmaps = kwtemplater.templates
   311         if ui.configitems('keywordmaps'):
   311         if ui.configitems('keywordmaps'):
   312             # override maps from optional rcfile
   312             # override maps from optional rcfile
   313             for k, v in kwmaps.items():
   313             for k, v in kwmaps.iteritems():
   314                 ui.setconfig('keywordmaps', k, v)
   314                 ui.setconfig('keywordmaps', k, v)
   315     elif args:
   315     elif args:
   316         # simulate hgrc parsing
   316         # simulate hgrc parsing
   317         rcmaps = ['[keywordmaps]\n'] + [a + '\n' for a in args]
   317         rcmaps = ['[keywordmaps]\n'] + [a + '\n' for a in args]
   318         fp = repo.opener('hgrc', 'w')
   318         fp = repo.opener('hgrc', 'w')
   327             extension = '%s = %s' % (k, v)
   327             extension = '%s = %s' % (k, v)
   328             break
   328             break
   329     demostatus('config using %s keyword template maps' % kwstatus)
   329     demostatus('config using %s keyword template maps' % kwstatus)
   330     ui.write('[extensions]\n%s\n' % extension)
   330     ui.write('[extensions]\n%s\n' % extension)
   331     demoitems('keyword', ui.configitems('keyword'))
   331     demoitems('keyword', ui.configitems('keyword'))
   332     demoitems('keywordmaps', kwmaps.items())
   332     demoitems('keywordmaps', kwmaps.iteritems())
   333     keywords = '$' + '$\n$'.join(kwmaps.keys()) + '$\n'
   333     keywords = '$' + '$\n$'.join(kwmaps.keys()) + '$\n'
   334     repo.wopener(fn, 'w').write(keywords)
   334     repo.wopener(fn, 'w').write(keywords)
   335     repo.add([fn])
   335     repo.add([fn])
   336     path = repo.wjoin(fn)
   336     path = repo.wjoin(fn)
   337     ui.note(_('\n%s keywords written to %s:\n') % (kwstatus, path))
   337     ui.note(_('\n%s keywords written to %s:\n') % (kwstatus, path))
   462             _p1 = _p2 = None
   462             _p1 = _p2 = None
   463             try:
   463             try:
   464                 wlock = self.wlock()
   464                 wlock = self.wlock()
   465                 lock = self.lock()
   465                 lock = self.lock()
   466                 # store and postpone commit hooks
   466                 # store and postpone commit hooks
   467                 commithooks = []
   467                 commithooks = {}
   468                 for name, cmd in ui.configitems('hooks'):
   468                 for name, cmd in ui.configitems('hooks'):
   469                     if name.split('.', 1)[0] == 'commit':
   469                     if name.split('.', 1)[0] == 'commit':
   470                         commithooks.append((name, cmd))
   470                         commithooks[name] = cmd
   471                         ui.setconfig('hooks', name, None)
   471                         ui.setconfig('hooks', name, None)
   472                 if commithooks:
   472                 if commithooks:
   473                     # store parents for commit hook environment
   473                     # store parents for commit hook environment
   474                     if p1 is None:
   474                     if p1 is None:
   475                         _p1, _p2 = repo.dirstate.parents()
   475                         _p1, _p2 = repo.dirstate.parents()
   486                                           date=date, match=match, force=force,
   486                                           date=date, match=match, force=force,
   487                                           force_editor=force_editor,
   487                                           force_editor=force_editor,
   488                                           p1=p1, p2=p2, extra=extra)
   488                                           p1=p1, p2=p2, extra=extra)
   489 
   489 
   490                 # restore commit hooks
   490                 # restore commit hooks
   491                 for name, cmd in commithooks:
   491                 for name, cmd in commithooks.iteritems():
   492                     ui.setconfig('hooks', name, cmd)
   492                     ui.setconfig('hooks', name, cmd)
   493                 if node is not None:
   493                 if node is not None:
   494                     _overwrite(ui, self, node=node)
   494                     _overwrite(ui, self, node=node)
   495                     repo.hook('commit', node=node, parent1=_p1, parent2=_p2)
   495                     repo.hook('commit', node=node, parent1=_p1, parent2=_p2)
   496                 return node
   496                 return node