mercurial/commands.py
changeset 22218 b629397ca15f
parent 22216 9be81b86ca97
child 22248 75618a223e18
equal deleted inserted replaced
22217:570f87422f54 22218:b629397ca15f
  2329             raise util.Abort('changeset references must be full hexadecimal '
  2329             raise util.Abort('changeset references must be full hexadecimal '
  2330                              'node identifiers')
  2330                              'node identifiers')
  2331 
  2331 
  2332     if precursor is not None:
  2332     if precursor is not None:
  2333         metadata = {}
  2333         metadata = {}
  2334         if 'date' in opts:
       
  2335             metadata['date'] = opts['date']
       
  2336         metadata['user'] = opts['user'] or ui.username()
  2334         metadata['user'] = opts['user'] or ui.username()
  2337         succs = tuple(parsenodeid(succ) for succ in successors)
  2335         succs = tuple(parsenodeid(succ) for succ in successors)
  2338         l = repo.lock()
  2336         l = repo.lock()
  2339         try:
  2337         try:
  2340             tr = repo.transaction('debugobsolete')
  2338             tr = repo.transaction('debugobsolete')
  2341             try:
  2339             try:
  2342                 try:
  2340                 try:
       
  2341                     date = opts.get('date')
       
  2342                     if date:
       
  2343                         date = util.parsedate(date)
       
  2344                     else:
       
  2345                         date = None
  2343                     repo.obsstore.create(tr, parsenodeid(precursor), succs,
  2346                     repo.obsstore.create(tr, parsenodeid(precursor), succs,
  2344                                          opts['flags'], metadata=metadata)
  2347                                          opts['flags'], date=date,
       
  2348                                          metadata=metadata)
  2345                     tr.close()
  2349                     tr.close()
  2346                 except ValueError, exc:
  2350                 except ValueError, exc:
  2347                     raise util.Abort(_('bad obsmarker input: %s') % exc)
  2351                     raise util.Abort(_('bad obsmarker input: %s') % exc)
  2348             finally:
  2352             finally:
  2349                 tr.release()
  2353                 tr.release()