Clone
hg clone [OPTION]... SOURCE [DEST]
To clone a repository is to make a copy of it at a point in time. The new repository is self-contained.
A cloned repository is not a branch.
Clone checks out the tip of the default (aka unnamed) branch (see NamedBranches). Ergo, you probably want to keep your main branch unnamed.1
Help text: http://www.selenic.com/mercurial/hg.1.html#clone
See also: TutorialClone, CommunicatingChanges, Pull, WorkingPractices, RepoSamples
Notes
Progress feedback when cloning large repositories
There is currently no way to see progress during cloning of large repositories. As a workaround option --debug might be specified:
> hg clone --debug http://www.selenic.com/repo/hello my-hello using http://www.selenic.com/repo/hello sending heads command requesting all changes sending changegroup command adding changesets add changeset 0a04b987be5a add changeset 82e55d328c8c adding manifests adding file changes adding Makefile revisions adding hello.c revisions added 2 changesets with 2 changes to 2 files updating the branch cache updating working directory resolving manifests overwrite False partial False ancestor 000000000000 local 000000000000+ remote 82e55d328c8c Makefile: remote created -> g hello.c: remote created -> g getting Makefile getting hello.c 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
It might help to split the cloning in parts using hg clone --rev <revision>.
See also: http://selenic.com/pipermail/mercurial-devel/2008-April/006067.html
