Difference between revisions of "Applications/Mercurial"

From HPC
Jump to: navigation , search
(Created page with "==Application Details== * Description: Mercurial efficiently handles projects of any size and kind. Every clone contains the whole project history, so most actions are local,...")
 
m
Line 11: Line 11:
  
 
Traditional version control systems such as Subversion are typical client-server architectures with a central server to store the revisions of a project. In contrast, Mercurial is truly distributed, giving each developer a local copy of the entire development history. This way it works independent of network access or a central server. Committing, branching and merging are fast and cheap.
 
Traditional version control systems such as Subversion are typical client-server architectures with a central server to store the revisions of a project. In contrast, Mercurial is truly distributed, giving each developer a local copy of the entire development history. This way it works independent of network access or a central server. Committing, branching and merging are fast and cheap.
 +
 +
To access in an interactive or non-interactive (using SLURM), you will need to load the module.
 +
 +
<pre style="background-color: black; color: white; border: 2px solid black; font-family: monospace, sans-serif;">
 +
 +
[username@gpu01 ~]$ module mercurial/3.9.1
 +
 +
</pre>
  
 
===Clone a project and push changes===
 
===Clone a project and push changes===

Revision as of 13:58, 5 April 2017

Application Details

  • Description: Mercurial efficiently handles projects of any size and kind. Every clone contains the whole project history, so most actions are local, fast and convenient. Mercurial supports a multitude of workflows and you can easily enhance its functionality with extensions.
  • Version: 3.9.1
  • Modules: mercurial/3.9.1
  • Licence: licensed under GPLv2

Usage Examples

Distributed architecture

Traditional version control systems such as Subversion are typical client-server architectures with a central server to store the revisions of a project. In contrast, Mercurial is truly distributed, giving each developer a local copy of the entire development history. This way it works independent of network access or a central server. Committing, branching and merging are fast and cheap.

To access in an interactive or non-interactive (using SLURM), you will need to load the module.


[username@gpu01 ~]$ module mercurial/3.9.1

Clone a project and push changes


$ hg clone https://www.mercurial-scm.org/repo/hello
$ cd hello
$ (edit files)
$ hg add (new files)
$ hg commit -m 'My changes'
$ hg push

Create a project and commit


$ hg init (project-directory)
$ cd (project-directory)
$ (add some files)
$ hg add
$ hg commit -m 'Initial commit'


Further Information

Icon home.png