Mercurial

From Frack - Hackerspace Friesland
Jump to navigationJump to search
Onderwerp: Mercurial
Deskundigen
Afbeelding Anoniem.png Failbaitr
Failbaitr Rol: deelnemer Deskundig met: Arduino, CNC, CNC-Frezen, Canvas, Digitale Fabricatie, ENC28J60, Glasvezel lassen, HTML, Hydroponics, Javascript, LPD8806, Linux, Mercurial, Programmeren, Python, Robotica, Software, Stappenmotor Beginnend met: Elektronica Werkt aan: Geen projecten :(
,
Gebruiker Elmer.jpg Elmer
Gebruiker Elmer.jpgElmer de Looff (Elmer) Rol: niet-deelnemer Deskundig met: Arduino, ENC28J60, Elektronica, GnuCash, HTML, LPD8806, Linux, MediaWiki, Mercurial, Netwerken, OpenVPN, Programmeren, Python, SSH, Software, Solderen Beginnend met: Dm-crypt, Javascript Werkt aan: Geen projecten :(
Onderdeel van Software

Mercurial is een vrij multiplatform gedistribueerd versiebeheersysteem. Mercurial is vrijgegeven onder versie 2 van de GNU General Public License (GPL). Mercurial wordt gebruikt via de command-line; het programmabestand zelf heet hg, een verwijzing naar het scheikundige element kwik.

Installatie

Linux (Debian)

Een van de simpelste manieren om mercurial te installeren op een Debian-like systeem is met de "Advanced Packaging Tool". Dit doe je door de volgende command te typen:

apt-get install mercurial

Voor andere distributies is hetzelfde pakket veelal met een andere package-manager op eenzeflde eenvoudige manier te installeren.

Mac OS X

Overig

Andere installers zijn te vinden op de downloadsectie van de Mercurial site.

Gebruikersnaam instellen

Mercurial werkt met gebruikersnamen. Deze moet je zelf handmatig in de .hgrc file instellen. De .hgrc file staat in de home folder van de gebruiker (linux). Indien deze file er niet is kan je hem aanmaken.

Voeg de volgende regels toe aan je .hgrc file

[ui]
# Change The following to your proper email address
username = Anonymous coward <anon@example.com>
verbose = True

Kleurcodering instellen

Commands als hg st en hg diff kunnen voor veel text output zorgen in de terminal. Om dit overzichtelijk te houden kan je color coding toepassen. Voeg de onderstaande regels aan de .hgrc file toe (dit kan onder de user name) om kleurcodering aan te zetten.

[extensions]
color = 
 
[color]
status.modified = magenta bold
status.added = green bold
status.removed = red bold
status.deleted = cyan bold
status.unknown = blue bold
status.ignored = black bold

Frack repository

Frack heeft een eigen Mercurial repository, gehost door Underdark. Wanneer je toegang wilt tot deze repository, stuur dan je SSH publieke sleutel naar

Gebruiker Elmer.jpg Elmer
Gebruiker Elmer.jpgElmer de Looff (Elmer) Rol: niet-deelnemer Deskundig met: Arduino, ENC28J60, Elektronica, GnuCash, HTML, LPD8806, Linux, MediaWiki, Mercurial, Netwerken, OpenVPN, Programmeren, Python, SSH, Software, Solderen Beginnend met: Dm-crypt, Javascript Werkt aan: Geen projecten :(

.

Hierin staan alle bestanden & projecten gerelateerd aan Frack. Wanneer je mee wil werken aan een project is het handig om dat via deze repository te doen.

Repository klonen

Navigeer met de terminal naar de directory waar je de de repository lokaal wil plaatsen. Het volgende commando maakt in die directory een subdirectory frack waarin de repository wordt gekloond:

hg clone ssh://hg@shell.underdark.nl:45022/frack

Handige Mercurial commando's

  • hg in -- checks the remote repository for changesets that you lack. If the server has newer changes, it's recommended you apply these before committing your own work; this avoids manual merges;
  • hg pull --update -- This downloads the latest changes from the remote repository and updates your working directory;
  • hg add -- Adds a file to the repository (starts tracking/versioning it);
  • hg diff -- Shows the difference between the current tip revision and your working directory;
  • hg commit -m "$message" -- the most basic way of committing files. You can optionally specify the files/directories to commit by specifying them after the message;
  • hg push -- Push your changes out to the server. This will fail if you write in places that you lack permission to, or when you commit files with syntax errors.