1408 else: |
1408 else: |
1409 q = repo.mq |
1409 q = repo.mq |
1410 q.pop(repo, patch, force=opts['force'], update=localupdate, all=opts['all']) |
1410 q.pop(repo, patch, force=opts['force'], update=localupdate, all=opts['all']) |
1411 q.save_dirty() |
1411 q.save_dirty() |
1412 return 0 |
1412 return 0 |
|
1413 |
|
1414 def rename(ui, repo, patch, name=None, **opts): |
|
1415 """rename a patch |
|
1416 |
|
1417 With one argument, renames the current patch to PATCH1. |
|
1418 With two arguments, renames PATCH1 to PATCH2.""" |
|
1419 |
|
1420 q = repo.mq |
|
1421 |
|
1422 if not name: |
|
1423 name = patch |
|
1424 patch = None |
|
1425 |
|
1426 if name in q.series: |
|
1427 raise util.Abort(_('A patch named %s already exists in the series file') % name) |
|
1428 |
|
1429 absdest = os.path.join(q.path, name) |
|
1430 if os.path.exists(absdest): |
|
1431 raise util.Abort(_('%s already exists') % absdest) |
|
1432 |
|
1433 if patch: |
|
1434 patch = q.lookup(patch) |
|
1435 else: |
|
1436 if not q.applied: |
|
1437 ui.write(_('No patches applied\n')) |
|
1438 return |
|
1439 patch = q.lookup('qtip') |
|
1440 |
|
1441 if ui.verbose: |
|
1442 ui.write('Renaming %s to %s\n' % (patch, name)) |
|
1443 i = q.find_series(patch) |
|
1444 q.full_series[i] = name |
|
1445 q.read_series(q.full_series) |
|
1446 q.series_dirty = 1 |
|
1447 |
|
1448 info = q.isapplied(patch) |
|
1449 if info: |
|
1450 q.applied[info[0]] = info[1] + ':' + name |
|
1451 q.applied_dirty = 1 |
|
1452 |
|
1453 util.rename(os.path.join(q.path, patch), absdest) |
|
1454 r = q.qrepo() |
|
1455 if r: |
|
1456 wlock = r.wlock() |
|
1457 if r.dirstate.state(name) == 'r': |
|
1458 r.undelete([name], wlock) |
|
1459 r.copy(patch, name, wlock) |
|
1460 r.remove([patch], False, wlock) |
|
1461 |
|
1462 q.save_dirty() |
1413 |
1463 |
1414 def restore(ui, repo, rev, **opts): |
1464 def restore(ui, repo, rev, **opts): |
1415 """restore the queue state saved by a rev""" |
1465 """restore the queue state saved by a rev""" |
1416 rev = repo.lookup(rev) |
1466 rev = repo.lookup(rev) |
1417 q = repo.mq |
1467 q = repo.mq |
1550 [('e', 'edit', None, _('edit commit message')), |
1600 [('e', 'edit', None, _('edit commit message')), |
1551 ('m', 'message', '', _('change commit message with <text>')), |
1601 ('m', 'message', '', _('change commit message with <text>')), |
1552 ('l', 'logfile', '', _('change commit message with <file> content')), |
1602 ('l', 'logfile', '', _('change commit message with <file> content')), |
1553 ('s', 'short', None, 'short refresh')], |
1603 ('s', 'short', None, 'short refresh')], |
1554 'hg qrefresh [-e] [-m TEXT] [-l FILE] [-s]'), |
1604 'hg qrefresh [-e] [-m TEXT] [-l FILE] [-s]'), |
|
1605 'qrename': |
|
1606 (rename, [], 'hg qrename PATCH1 [PATCH2]'), |
1555 "qrestore": |
1607 "qrestore": |
1556 (restore, |
1608 (restore, |
1557 [('d', 'delete', None, 'delete save entry'), |
1609 [('d', 'delete', None, 'delete save entry'), |
1558 ('u', 'update', None, 'update queue working dir')], |
1610 ('u', 'update', None, 'update queue working dir')], |
1559 'hg qrestore [-d] [-u] REV'), |
1611 'hg qrestore [-d] [-u] REV'), |