HelpHgIntro » History » Version 3

« Previous - Version 3/4 (diff) - Next » - Current version
Luis Figueira, 2011-03-16 12:06 PM
some more text

An Introduction to Mercurial using EasyMercurial (easyHg)

Mercurial is a distributed revision control tool. It is written in Python.



  1. Python (version xxx.x)
  2. Mercurial ()


Just drag the easyHg icon to the Applications folder.



Running for the first time

When you run easyHg for the first time you'll be prompted for a username and email address. These are the details that will be used to identify all your changes pushed to the repositories. They can be changed later in the preferences menu.

The User Interface

EasyMercurial is an interface for Mercurial, simplifying its usage and making it usable by common users.

My Work Tab

History Tab

Graph of changes. The user can right click on any version and act on it (update to it, revert, )

Available Commands

These are the commands you'll find in the easyMercurial interface:

add add the specified files on the next commit
commit commit the specified files or all outstanding changes
diff diff repository (or selected files)
incoming show new changesets found in source (in the easyMercurial interface this command is called Preview)
merge merge working directory with another revision
pull pull changes from the specified source
push push changes to the specified destination
revert restore individual files or directories to an earlier state
update update working directory (or switch revisions)

Typical Workflow

Creating or Opening a Repository

Local Repository

Allows you to open a local repository.

File Folder

Allows you to initialize a local folder as a Mercurial repository.

External Repository

If you have a remote repository URL and want to clone (make a copy of an existing repository) it to your local filesystem.


Updating local repository from remote:

  1. pull
  2. update

Updating remote repository from local:

  1. commit
  2. push

A window will pop-up asking you to write a message to describe your changes. This message is very important because it will tell you and the other developers in the project the reason why you are pushing the changes to the repository.

External resources