Difference between revisions of "Applications/Mercurial"
From HPC
m (→Distributed architecture) |
m (→Clone a project and push changes) |
||
Line 29: | Line 29: | ||
* This does not apply here. | * This does not apply here. | ||
− | + | ==Clone a project and push changes== | |
<pre style="background-color: #f5f5dc; color: black; font-family: monospace, sans-serif;"> | <pre style="background-color: #f5f5dc; color: black; font-family: monospace, sans-serif;"> |
Latest revision as of 11:51, 17 November 2022
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 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'