Show More
@@ -1411,6 +1411,56 b' def pop(ui, repo, patch=None, **opts):' | |||||
1411 | q.save_dirty() |
|
1411 | q.save_dirty() | |
1412 | return 0 |
|
1412 | return 0 | |
1413 |
|
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() | |||
|
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) | |
@@ -1552,6 +1602,8 b' cmdtable = {' | |||||
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'), |
@@ -39,6 +39,7 b' list of commands (use "hg help -v mq" to' | |||||
39 | qprev print the name of the previous patch |
|
39 | qprev print the name of the previous patch | |
40 | qpush push the next patch onto the stack |
|
40 | qpush push the next patch onto the stack | |
41 | qrefresh update the current patch |
|
41 | qrefresh update the current patch | |
|
42 | qrename rename a patch | |||
42 | qrestore restore the queue state saved by a rev |
|
43 | qrestore restore the queue state saved by a rev | |
43 | qsave save current queue state |
|
44 | qsave save current queue state | |
44 | qseries print the entire series file |
|
45 | qseries print the entire series file |
General Comments 0
You need to be logged in to leave comments.
Login now