--- a/mercurial/commands.py Sun May 27 14:40:14 2007 -0700
+++ b/mercurial/commands.py Sun May 27 14:43:29 2007 -0700
@@ -182,7 +182,7 @@
archival.archive(repo, dest, node, kind, not opts['no_decode'],
matchfn, prefix)
-def backout(ui, repo, rev, **opts):
+def backout(ui, repo, node=None, rev=None, **opts):
'''reverse effect of earlier changeset
Commit the backed out changes as a new changeset. The new
@@ -199,6 +199,11 @@
changeset afterwards. This saves you from doing the merge by
hand. The result of this merge is not committed, as for a normal
merge.'''
+ if rev and node:
+ raise util.Abort(_("please specify just one revision"))
+
+ if not rev:
+ rev = node
bail_if_changed(repo)
op1, op2 = repo.dirstate.parents()
@@ -1511,10 +1516,10 @@
if pf == '-':
ui.status(_("applying patch from stdin\n"))
- tmpname, message, user, date, nodeid, p1, p2 = patch.extract(ui, sys.stdin)
+ tmpname, message, user, date, branch, nodeid, p1, p2 = patch.extract(ui, sys.stdin)
else:
ui.status(_("applying %s\n") % p)
- tmpname, message, user, date, nodeid, p1, p2 = patch.extract(ui, file(pf))
+ tmpname, message, user, date, branch, nodeid, p1, p2 = patch.extract(ui, file(pf))
if tmpname is None:
raise util.Abort(_('no diffs found'))
@@ -1542,6 +1547,7 @@
if p1 != wp[0].node():
hg.clean(repo, p1, wlock=wlock)
repo.dirstate.setparents(p1, p2)
+ repo.dirstate.setbranch(branch or 'default')
elif p2:
try:
p1 = repo.lookup(p1)
@@ -1826,7 +1832,7 @@
ui.write("%3s " % (m.execf(f) and "755" or "644"))
ui.write("%s\n" % f)
-def merge(ui, repo, node=None, force=None):
+def merge(ui, repo, node=None, force=None, rev=None):
"""merge working directory with another revision
Merge the contents of the current working directory and the
@@ -1840,6 +1846,12 @@
revision to merge with must be provided.
"""
+ if rev and node:
+ raise util.Abort(_("please specify just one revision"))
+
+ if not node:
+ node = rev
+
if not node:
heads = repo.heads()
if len(heads) > 2:
@@ -2552,7 +2564,7 @@
modheads = repo.addchangegroup(gen, 'unbundle', 'bundle:' + fname)
return postincoming(ui, repo, modheads, opts['update'])
-def update(ui, repo, node=None, clean=False, date=None):
+def update(ui, repo, node=None, rev=None, clean=False, date=None):
"""update working directory
Update the working directory to the specified revision, or the
@@ -2568,15 +2580,21 @@
By default, update will refuse to run if doing so would require
discarding local changes.
"""
+ if rev and node:
+ raise util.Abort(_("please specify just one revision"))
+
+ if not rev:
+ rev = node
+
if date:
- if node:
+ if rev:
raise util.Abort(_("you can't specify a revision and a date"))
- node = cmdutil.finddate(ui, repo, date)
+ rev = cmdutil.finddate(ui, repo, date)
if clean:
- return hg.clean(repo, node)
+ return hg.clean(repo, rev)
else:
- return hg.update(repo, node)
+ return hg.update(repo, rev)
def verify(ui, repo):
"""verify the integrity of the repository
@@ -2676,8 +2694,9 @@
('d', 'date', '', _('record datecode as commit date')),
('', 'parent', '', _('parent to choose when backing out merge')),
('u', 'user', '', _('record user as committer')),
+ ('r', 'rev', '', _('revision to backout')),
] + walkopts + commitopts,
- _('hg backout [OPTION]... REV')),
+ _('hg backout [OPTION]... [-r] REV')),
"branch": (branch,
[('f', 'force', None,
_('set branch name even if it shadows an existing branch'))],
@@ -2852,8 +2871,10 @@
"manifest": (manifest, [], _('hg manifest [REV]')),
"^merge":
(merge,
- [('f', 'force', None, _('force a merge with outstanding changes'))],
- _('hg merge [-f] [REV]')),
+ [('f', 'force', None, _('force a merge with outstanding changes')),
+ ('r', 'rev', '', _('revision to merge')),
+ ],
+ _('hg merge [-f] [[-r] REV]')),
"outgoing|out": (outgoing,
[('M', 'no-merges', None, _('do not show merges')),
('f', 'force', None,
@@ -2984,8 +3005,9 @@
"^update|up|checkout|co":
(update,
[('C', 'clean', None, _('overwrite locally modified files')),
- ('d', 'date', '', _('tipmost revision matching date'))],
- _('hg update [-C] [-d DATE] [REV]')),
+ ('d', 'date', '', _('tipmost revision matching date')),
+ ('r', 'rev', '', _('revision'))],
+ _('hg update [-C] [-d DATE] [[-r] REV]')),
"verify": (verify, [], _('hg verify')),
"version": (version_, [], _('hg version')),
}