robustcheckout: update command help; r?glob draft
authorGregory Szorc <gps@mozilla.com>
Thu, 17 Aug 2017 13:04:57 -0700
changeset 11564 16a09353029525b2777ab1118ed73ead2b65af59
parent 11563 e00f36144a6e08eb3fc9af8d3d39d4b1e6227ee1
child 11565 e2e36b6d8db75fa3e3c3efabab8ac0b3d47d556e
child 11566 41115f99fa2a01549fa38a578a841401f1e16361
push id1765
push usergszorc@mozilla.com
push dateWed, 23 Aug 2017 02:24:21 +0000
reviewersglob
robustcheckout: update command help; r?glob MozReview-Commit-ID: KBwsrOHjKSR
hgext/robustcheckout/__init__.py
--- a/hgext/robustcheckout/__init__.py
+++ b/hgext/robustcheckout/__init__.py
@@ -139,17 +139,36 @@ def purgewrapper(orig, ui, *args, **kwar
     ('', 'sharebase', '', 'Directory where shared repos should be placed'),
     ('', 'networkattempts', 3, 'Maximum number of attempts for network '
                                'operations'),
     ],
     '[OPTION]... URL DEST',
     norepo=True)
 def robustcheckout(ui, url, dest, upstream=None, revision=None, branch=None,
                    purge=False, sharebase=None, networkattempts=None):
-    """Ensure a working copy has the specified revision checked out."""
+    """Ensure a working copy has the specified revision checked out.
+
+    Repository data is automatically pooled into the common directory
+    specified by ``--sharebase``, which is a required argument. It is required
+    because pooling storage prevents excessive cloning, which makes operations
+    complete faster.
+
+    One of ``--revision`` or ``--branch`` must be specified. ``--revision``
+    is preferred, as it is deterministic and there is no ambiguity as to which
+    revision will actually be checked out.
+
+    If ``--upstream`` is used, the repo at that URL is used to perform the
+    initial clone instead of cloning from the repo where the desired revision
+    is located.
+
+    ``--purge`` controls whether to removed untracked and ignored files from
+    the working directory. If used, the end state of the working directory
+    should only contain files explicitly under version control for the requested
+    revision.
+    """
     if not revision and not branch:
         raise error.Abort('must specify one of --revision or --branch')
 
     if revision and branch:
         raise error.Abort('cannot specify both --revision and --branch')
 
     # Require revision to look like a SHA-1.
     if revision: