hgext/evolve.py
branchstable
changeset 682 6cbb52a8401b
parent 681 eff18fcaaddc
child 683 6d24bd455f79
equal deleted inserted replaced
681:eff18fcaaddc 682:6cbb52a8401b
  1236             displayer.show(c)
  1236             displayer.show(c)
  1237         ui.warn(_('Multiple non-obsolete children, explicitly update to one\n'))
  1237         ui.warn(_('Multiple non-obsolete children, explicitly update to one\n'))
  1238         return 1
  1238         return 1
  1239 
  1239 
  1240 @command('^prune|obsolete|kill',
  1240 @command('^prune|obsolete|kill',
  1241     [('n', 'new', [], _("successor changeset")),
  1241     [('n', 'new', [], _("successor changeset (DEPRECATED)")),
       
  1242      ('s', 'succ', [], _("successor changeset")),
  1242      ('r', 'rev', [], _("revisions to prune"))],
  1243      ('r', 'rev', [], _("revisions to prune"))],
  1243     _('[OPTION] [-r] REV...'))
  1244     _('[OPTION] [-r] REV...'))
  1244 def cmdprune(ui, repo, *revs, **opts):
  1245 def cmdprune(ui, repo, *revs, **opts):
  1245     """mark a changeset as obsolete
  1246     """mark a changeset as obsolete
  1246 
  1247 
  1251     XXX handle merge
  1252     XXX handle merge
  1252     XXX check immutable first
  1253     XXX check immutable first
  1253     """
  1254     """
  1254     revs = list(revs)
  1255     revs = list(revs)
  1255     revs.extend(opts['rev'])
  1256     revs.extend(opts['rev'])
       
  1257     succs = opts['new'] + opts['succ']
  1256     wlock = repo.wlock()
  1258     wlock = repo.wlock()
  1257     try:
  1259     try:
  1258         lock = repo.lock()
  1260         lock = repo.lock()
  1259         try:
  1261         try:
  1260             new = set(scmutil.revrange(repo, opts['new']))
  1262             new = set(scmutil.revrange(repo, succs))
  1261             targetnodes = set(scmutil.revrange(repo, revs))
  1263             targetnodes = set(scmutil.revrange(repo, revs))
  1262             if not targetnodes:
  1264             if not targetnodes:
  1263                 raise util.Abort('nothing to prune')
  1265                 raise util.Abort('nothing to prune')
  1264             if new:
  1266             if new:
  1265                 sucs = tuple(repo[n] for n in new)
  1267                 sucs = tuple(repo[n] for n in new)