debugrebuildstate: clarify that rev can't be specified without -r
authorMads Kiilerich <madski@unity3d.com>
Mon, 15 Apr 2013 01:39:02 +0200
changeset 18961 cd1ac2e54847
parent 18960 170fc0949fb6
child 18962 c0b2cb62067f
debugrebuildstate: clarify that rev can't be specified without -r -r has a default value of '' in the command line. The function default value of 'tip' is thus never used and any attempt at specifying revisions without -r will fail. It seems like then intended behavior was that 'hg debugrebuildstate' without any parameters should set the parents to tip. That would be very confusing now when the command primarily is used to recover from incorrect stat info. It is apparently undocumented that '' is the same as '.' ... unless it is passed in a place where revsets are used.
mercurial/commands.py
--- a/mercurial/commands.py	Mon Apr 15 01:37:23 2013 +0200
+++ b/mercurial/commands.py	Mon Apr 15 01:39:02 2013 +0200
@@ -2248,9 +2248,19 @@
 
 @command('debugrebuildstate',
     [('r', 'rev', '', _('revision to rebuild to'), _('REV'))],
-    _('[-r REV] [REV]'))
-def debugrebuildstate(ui, repo, rev="tip"):
-    """rebuild the dirstate as it would look like for the given revision"""
+    _('[-r REV]'))
+def debugrebuildstate(ui, repo, rev):
+    """rebuild the dirstate as it would look like for the given revision
+
+    If no revision is specified the first current parent will be used.
+
+    The dirstate will be set to the files of the given revision.
+    The actual working directory content or existing dirstate
+    information such as adds or removes is not considered.
+
+    One use of this command is to make the next :hg:`status` invocation
+    check the actual file content.
+    """
     ctx = scmutil.revsingle(repo, rev)
     wlock = repo.wlock()
     try: