equal
deleted
inserted
replaced
3061 except TypeError: |
3061 except TypeError: |
3062 raise error.Abort('changeset references must be full hexadecimal ' |
3062 raise error.Abort('changeset references must be full hexadecimal ' |
3063 'node identifiers') |
3063 'node identifiers') |
3064 |
3064 |
3065 if opts.get('delete'): |
3065 if opts.get('delete'): |
3066 try: |
3066 indices = [] |
3067 indices = [int(v) for v in opts.get('delete')] |
3067 for v in opts.get('delete'): |
3068 except ValueError: |
3068 try: |
3069 raise error.Abort(_('invalid index value'), |
3069 indices.append(int(v)) |
3070 hint=_('use integers fro indices')) |
3070 except ValueError: |
|
3071 raise error.Abort(_('invalid index value: %r') % v, |
|
3072 hint=_('use integers for indices')) |
3071 |
3073 |
3072 if repo.currenttransaction(): |
3074 if repo.currenttransaction(): |
3073 raise error.Abort(_('Cannot delete obsmarkers in the middle ' |
3075 raise error.Abort(_('cannot delete obsmarkers in the middle ' |
3074 'of transaction.')) |
3076 'of transaction.')) |
3075 |
3077 |
3076 w = repo.wlock() |
3078 with repo.lock(): |
3077 l = repo.lock() |
3079 n = repo.obsstore.delete(indices) |
3078 try: |
3080 ui.write(_('deleted %i obsolescense markers\n') % n) |
3079 tr = repo.transaction('debugobsolete') |
3081 |
3080 try: |
|
3081 n = repo.obsstore.delete(indices) |
|
3082 ui.write(_('Deleted %i obsolescense markers\n') % n) |
|
3083 tr.close() |
|
3084 finally: |
|
3085 tr.release() |
|
3086 finally: |
|
3087 l.release() |
|
3088 w.release() |
|
3089 return |
3082 return |
3090 |
3083 |
3091 if precursor is not None: |
3084 if precursor is not None: |
3092 if opts['rev']: |
3085 if opts['rev']: |
3093 raise error.Abort('cannot select revision when creating marker') |
3086 raise error.Abort('cannot select revision when creating marker') |