Difference between revisions of "Applications/Mercurial"

From HPC
Jump to: navigation , search
m (Further Information)
m (Distributed architecture)
Line 10: Line 10:
 
===Distributed architecture===
 
===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.
+
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 independently 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.
+
===Interactive Session===
  
 
<pre style="background-color: black; color: white; border: 2px solid black; font-family: monospace, sans-serif;">
 
<pre style="background-color: black; color: white; border: 2px solid black; font-family: monospace, sans-serif;">
  
[username@gpu01 ~]$ module mercurial/3.9.1
+
[username@login01 ~]$ interactive -pgpu
 +
salloc: Granted job allocation 3619731
 +
Job ID 3619731 connecting to gpu01, please wait...
 +
c081.vc-main
 +
 
 +
[username@gpu01 ~]$ module add mercurial/3.9.1
  
 
</pre>
 
</pre>
 +
 +
===Batch Script===
 +
 +
* This does not apply here.
  
 
===Clone a project and push changes===
 
===Clone a project and push changes===

Revision as of 11:44, 17 November 2022

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 independently of network access or a central server. Committing, branching and merging are fast and cheap.

Interactive Session


[username@login01 ~]$ interactive -pgpu
salloc: Granted job allocation 3619731
Job ID 3619731 connecting to gpu01, please wait...
c081.vc-main

[username@gpu01 ~]$ module add mercurial/3.9.1

Batch Script

  • This does not apply here.

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





Modules | Main Page | Further Topics