ArchWiki / Mercurial
ArchWiki / Mercurial
ja:Mercurial Mercurial (commonly referred to as hg) is a distributed version control system written in Python and is similar in many ways to Git, Bazaar and Darcs.
Installation
Install the mercurial package.
Graphical front-ends
See also Mercurial graphical user interfaces.
Configuration
At the minimum you should configure your username or mercurial will most likely give you an error when trying to commit. Do this by editing ~/.config/hg/hgrc or ~/.hgrc and adding the following:
[ui]
username = John Smith <johnsmith@domain.tld>~/.hgrcTo use the graphical browser hgk aka. hg view, add the following to ~/.hgrc (see forum thread):
[extensions]
hgk=~/.hgrcYou will need to install tk before running hg view to avoid the rather cryptic error message:
/usr/bin/env: wish: No such file or directoryUsage
All mercurial commands are initiated with the hg prefix. To see a list of some of the common commands, run
$ hg helpEach command has a help page that can be read using
$ hg help subcommandYou can either work with a pre-existing repository (collection of code or files), or create your own to share.
To work with a pre-existing repository, you must clone it to a directory of your choice:
$ mkdir mercurial
$ cd mercurial
$ hg clone https://repo.mercurial-scm.org/helloTo create you own, change to the directory you wish to share and initiate a mercurial project
$ cd myfiles
$ hg init myfilesDotfiles Repository
If you intend on creating a repository of all your ~/. files, you simply initiate the project in your home folder:
$ hg initIt is then just a case of adding the specific files you wish to track:
$ hg add |file1 file2 file3If you include: syntax: glob at the top of the .hgignore file, you can easily exclude groups of files from your repository.
You can then create a ~/.hgignore to ensure that only the files you wish to include in the repository are tracked by mercurial.
Tips and tricks
Progress bar
If you are going to be working with large repositories, you may want to enable the progress extension by adding it to your ~/.hgrc file:
[extensions]
progress =~/.hgrcThis will show progress bars on operations longer than 3 seconds. If you would like the progress bar to show sooner, you can append the following to your configuration file:
[progress]
delay = 1.5~/.hgrcSee also
Mercurial Kick-Start one more tutorial by Aragost.
Mercurial Hosting - List of services that offer Mercurial hosting, from the official Mercurial wiki