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. For the development version, install mercurial-hgAUR.

Graphical front-ends

See also Mercurial graphical user interfaces.

  • EasyMercurial Simple user interface for the Mercurial distributed version control system.
https://easyhg.org/ || easyhgAUR
  • hgk Tcl/Tk based tool to browse the history of a repository in a graphical way.
https://www.mercurial-scm.org/wiki/HgkExtension || mercurial + tk
  • hgview Qt5 and text based Mercurial log navigator.
https://www.logilab.org/project/hgview/[dead link 2022-09-22 ] || hgviewAUR
  • TortoiseHg Set of graphical tools and a Nautilus extension for the Mercurial distributed revision control system.
https://tortoisehg.bitbucket.io/ || tortoisehgAUR

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 ~/.hgrc and adding the following:

~/.hgrc
[ui]
username = John Smith <johnsmith@domain.tld>

To use the graphical browser hgk aka. hg view, add the following to ~/.hgrc (see forum thread):

~/.hgrc
[extensions]
hgk=

You will need to install tk before running hg view to avoid the rather cryptic error message:

/usr/bin/env: wish: No such file or directory

To remove Mercurial warnings of unverified certificate fingerprints, add the following to ~/.hgrc (see Mercurial wiki):

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:

This will show progress bars on longer operations after 3 seconds. If you would like the progress bar to show sooner, you can append the following to your configuration file:

Usage

All mercurial commands are initiated with the hg prefix. To see a list of some of the common commands, run

$ hg help

You 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 http://hg.serpentine.com/tutorial/dead+link+2020-03-30 ⓘ

To create you own, change to the directory you wish to share and initiate a mercurial project

$ cd myfiles
$ hg init myfiles

Dotfiles Repository

If you intend on creating a repository of all your files, you simply initiate the project in your home folder:

$ hg init

It is then just a case of adding the specific files you wish to track:

$ hg add |file1 file2 file3

You can then create a to ensure that only the files you wish to include in the repository are tracked by mercurial.

gollark: Apparently half aren't actually "styropyro fans", which is odd.
gollark: 8000 or so?
gollark: Why not just ping all of them every week?
gollark: @⁡everyone
gollark: > Too many roles to show.

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.