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 """ |