mercurial/commands.py
changeset 15177 1c57d8b38d5a
parent 15175 282db9102c43
child 15178 04e5449e25dc
equal deleted inserted replaced
15176:774f74f93823 15177:1c57d8b38d5a
  1038     basename of the source.
  1038     basename of the source.
  1039 
  1039 
  1040     The location of the source is added to the new repository's
  1040     The location of the source is added to the new repository's
  1041     ``.hg/hgrc`` file, as the default to be used for future pulls.
  1041     ``.hg/hgrc`` file, as the default to be used for future pulls.
  1042 
  1042 
  1043     It is possible to specify an ``ssh://`` URL as the destination, but no
  1043     Only local paths and ``ssh://`` URLs are supported as
  1044     ``.hg/hgrc`` and working directory will be created on the remote side.
  1044     destinations. For ``ssh://`` destinations, no working directory or
       
  1045     ``.hg/hgrc`` will be created on the remote side.
  1045 
  1046 
  1046     To pull only a subset of changesets, specify one or more revisions
  1047     To pull only a subset of changesets, specify one or more revisions
  1047     identifiers with -r/--rev or branches with -b/--branch. The
  1048     identifiers with -r/--rev or branches with -b/--branch. The
  1048     resulting clone will contain only the specified changesets and
  1049     resulting clone will contain only the specified changesets and
  1049     their ancestors. These options (or 'clone src#rev dest') imply
  1050     their ancestors. These options (or 'clone src#rev dest') imply
  1050     --pull, even for local source repositories. Note that specifying a
  1051     --pull, even for local source repositories. Note that specifying a
  1051     tag will include the tagged changeset but not the changeset
  1052     tag will include the tagged changeset but not the changeset
  1052     containing the tag.
  1053     containing the tag.
  1053 
  1054 
  1054     For efficiency, hardlinks are used for cloning whenever the source
  1055     .. container:: verbose
  1055     and destination are on the same filesystem (note this applies only
  1056 
  1056     to the repository data, not to the working directory). Some
  1057       For efficiency, hardlinks are used for cloning whenever the
  1057     filesystems, such as AFS, implement hardlinking incorrectly, but
  1058       source and destination are on the same filesystem (note this
  1058     do not report errors. In these cases, use the --pull option to
  1059       applies only to the repository data, not to the working
  1059     avoid hardlinking.
  1060       directory). Some filesystems, such as AFS, implement hardlinking
  1060 
  1061       incorrectly, but do not report errors. In these cases, use the
  1061     In some cases, you can clone repositories and the working directory
  1062       --pull option to avoid hardlinking.
  1062     using full hardlinks with ::
  1063 
  1063 
  1064       In some cases, you can clone repositories and the working
  1064       $ cp -al REPO REPOCLONE
  1065       directory using full hardlinks with ::
  1065 
  1066 
  1066     This is the fastest way to clone, but it is not always safe. The
  1067         $ cp -al REPO REPOCLONE
  1067     operation is not atomic (making sure REPO is not modified during
  1068 
  1068     the operation is up to you) and you have to make sure your editor
  1069       This is the fastest way to clone, but it is not always safe. The
  1069     breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,
  1070       operation is not atomic (making sure REPO is not modified during
  1070     this is not compatible with certain extensions that place their
  1071       the operation is up to you) and you have to make sure your
  1071     metadata under the .hg directory, such as mq.
  1072       editor breaks hardlinks (Emacs and most Linux Kernel tools do
  1072 
  1073       so). Also, this is not compatible with certain extensions that
  1073     Mercurial will update the working directory to the first applicable
  1074       place their metadata under the .hg directory, such as mq.
  1074     revision from this list:
  1075 
  1075 
  1076       Mercurial will update the working directory to the first applicable
  1076     a) null if -U or the source repository has no changesets
  1077       revision from this list:
  1077     b) if -u . and the source repository is local, the first parent of
  1078 
  1078        the source repository's working directory
  1079       a) null if -U or the source repository has no changesets
  1079     c) the changeset specified with -u (if a branch name, this means the
  1080       b) if -u . and the source repository is local, the first parent of
  1080        latest head of that branch)
  1081          the source repository's working directory
  1081     d) the changeset specified with -r
  1082       c) the changeset specified with -u (if a branch name, this means the
  1082     e) the tipmost head specified with -b
  1083          latest head of that branch)
  1083     f) the tipmost head specified with the url#branch source syntax
  1084       d) the changeset specified with -r
  1084     g) the tipmost head of the default branch
  1085       e) the tipmost head specified with -b
  1085     h) tip
  1086       f) the tipmost head specified with the url#branch source syntax
       
  1087       g) the tipmost head of the default branch
       
  1088       h) tip
  1086 
  1089 
  1087     See :hg:`help urls` for details on specifying URLs.
  1090     See :hg:`help urls` for details on specifying URLs.
  1088 
  1091 
  1089     Returns 0 on success.
  1092     Returns 0 on success.
  1090     """
  1093     """