Difference between revisions of "Applications/Mercurial"
From HPC
(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
Contents
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'