# mkdir hg_repository # cd hg_repository # hg init
# hg serve ; start the small server # hostname YOUR_MACHINE_HOST_NAME # cd somewhere/your/project/to/checkout # hg clone http://${YOUR_MACHINE_HOST_NAME}:8000 clonetest
hg serve
is a
simple solution. In that case, you might see the following
error.
[19]bash % hg push pushing to http://myhost:8000 searching for changes ssl requiredYou neee to set up ssl enabled server. To do this, please see the more detailed hg documentation, here assumes just local use. To enable anyone local to push with 'hg serve':
[web] push_ssl=False allow_push=*
It seems hg serve doesn't have a path after the host (http://host:8000//path), so multiple repositories by hg serve is not simple. But hg serve is simple for one repository.
In many cases, you want to have multiple repositories. Since you may have several projects.
Mercurial (or git) uses project based repository (each project has own repository. Instead of host based repository. I came from CVS, subversion, so I didn't think about this until I started hg and git, but, a host machine is nothing about a project...)
It seems an easy way to create multiple repositories is by cloning via hg ssh protocol.
First on your server, hg init the directory.
# hg init /your/repository/project0
Then clone it.
# hg clone ssh://${YOUR_MACHINE_HOST_NAME}:22//your/repository/project0 project0
You can omit :22 if you use standard ssh port.
[ui] username = My Name <name@email.de>
[ui] ignore = ~/.hgignore
# # Mercurial ignore file # syntax: regexp /Ubuntu9.04.*/ ^TMakefile.priv$
+------------------------------+ |Google code repository | +------------------------------+ ^ hg push ^ | | | | | | v hg pull v +---------------------+ +---------------------+ |my local repository 0| |my local repository 1| ... +---------------------+ +---------------------+ ^ hg commit ^ | | | | | | v hg update v +-----------------+ +-----------------+ |my working copy 0| |my working copy 1| ... +-----------------+ +-----------------+I have a few machines, one is desktop and ther others are notebooks.
hg revert fname
.