mercurial/commands.py
changeset 25082 e30b66bb7d4d
parent 24994 713b09fc9fbb
child 25111 1ef96a3b8b89
equal deleted inserted replaced
25081:7642f119c2a2 25082:e30b66bb7d4d
  2543         succs = tuple(parsenodeid(succ) for succ in successors)
  2543         succs = tuple(parsenodeid(succ) for succ in successors)
  2544         l = repo.lock()
  2544         l = repo.lock()
  2545         try:
  2545         try:
  2546             tr = repo.transaction('debugobsolete')
  2546             tr = repo.transaction('debugobsolete')
  2547             try:
  2547             try:
  2548                 try:
  2548                 date = opts.get('date')
  2549                     date = opts.get('date')
  2549                 if date:
  2550                     if date:
  2550                     date = util.parsedate(date)
  2551                         date = util.parsedate(date)
  2551                 else:
  2552                     else:
  2552                     date = None
  2553                         date = None
  2553                 prec = parsenodeid(precursor)
  2554                     prec = parsenodeid(precursor)
  2554                 parents = None
  2555                     parents = None
  2555                 if opts['record_parents']:
  2556                     if opts['record_parents']:
  2556                     if prec not in repo.unfiltered():
  2557                         if prec not in repo.unfiltered():
  2557                         raise util.Abort('cannot used --record-parents on '
  2558                             raise util.Abort('cannot used --record-parents on '
  2558                                          'unknown changesets')
  2559                                              'unknown changesets')
  2559                     parents = repo.unfiltered()[prec].parents()
  2560                         parents = repo.unfiltered()[prec].parents()
  2560                     parents = tuple(p.node() for p in parents)
  2561                         parents = tuple(p.node() for p in parents)
  2561                 repo.obsstore.create(tr, prec, succs, opts['flags'],
  2562                     repo.obsstore.create(tr, prec, succs, opts['flags'],
  2562                                      parents=parents, date=date,
  2563                                          parents=parents, date=date,
  2563                                      metadata=metadata)
  2564                                          metadata=metadata)
  2564                 tr.close()
  2565                     tr.close()
  2565             except ValueError, exc:
  2566                 except ValueError, exc:
  2566                 raise util.Abort(_('bad obsmarker input: %s') % exc)
  2567                     raise util.Abort(_('bad obsmarker input: %s') % exc)
       
  2568             finally:
  2567             finally:
  2569                 tr.release()
  2568                 tr.release()
  2570         finally:
  2569         finally:
  2571             l.release()
  2570             l.release()
  2572     else:
  2571     else: