equal
deleted
inserted
replaced
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() |