mercurial

“Mercurial est un système de gestion de versions permettant en particulier la gestion de version décentralisée. Il est disponible sur plusieurs plate-formes : systèmes Unix, Windows, Mac OS X.

Le créateur et principal développeur de Mercurial est Matt Mackall. L'ensemble des sources du logiciel est sous la GNU GPL version 2. C'est un logiciel libre.”

source: http://fr.wikipedia.org/wiki/Mercurial

nb: le petit nom est hg (formule chimique du mercure)

test mercurial

appellé à remplacer svn

http://mercurial.selenic.com/ http://mercurial.selenic.com/guide/

http://wiki.netbeans.org/HgHowTos#Configuring_Mercurial

Create a project and commit

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

cd [pathDeVotreProjet]

hg diff
hg log -p -r 1
hg status
hg commit -m "changes"
hg update tip

créer un fichier .hgignore à la racine de votre repository

ex. avec cake:

tmp/*

et c'est tout!

cd YourProjectLocal

hg pull https://login:password@machine/path

cd .hg/

To update your sources, you can use:

cd main
hg pull -u

Installer un serveur mercurial

Le top: mercurial sur un serveur. C'est assez facile, si l'on ne SUIT PAS la documentation.

Il faut installer mercurial bien sûr, puis le client server:

sudo apt-get install mercurial mercurial-common mercurial-server

Ensuite modifier les config apache:

vi /etc/apache2/sites-enabled/000-default

Alias /code /var/www/hg/tools
<Directory /var/www/hg/tools>
   DirectoryIndex index.cgi
   AddHandler cgi-script .cgi
   Options ExecCGI
   Order allow,deny
   Allow from all
</Directory>

restarter apache:

sudo /etc/init.d/apache2 reload

Si ça coince vérifier les modules perl et python pour apache

Faudrait encore faire la partie https / sécurisation… pour une autre fois! Pour le moment j'ai simplement mis un htaccess et ça joue nickel

pour mettre des commentaires, cd .hg à la racine, touch hgrc vi hgrc

[web]
contact = 'fradeff@akademia.ch'
description = Module commandes "Jardins de Cocagne"
#name = Jardins de Cocagne

exclure des fichiers

créer un .hgignore à la racine

y mettre ce qu'on veut exclure, ex. avec cake:

tmp/*

peut être utile aussi pour éviter de stocker des fichiers de config avec des infos sensibles (logins, mots de passes etc.): dans ce cas, créer un fichier bidon à modifier par l'utilisateur qui télécharge l'application par hg

ex.

config.php → ignore

, et

hg add config.php.demo

todo: faire une doc pour cake

Modifier le template hgweb

cd /usr/share/mercurial/templates/
cp -pR paper /home/radeff/hg/gitweb
cd /home/radeff/hg/gitweb
replace "http://mercurial.selenic.com/" "http://localhost/hg/" -- *

et dans .hgwebconfig:

[web]
allow_archive = gz, zip, bz2
#style = gitweb
style = /home/radeff/hg/gitweb
allow_push = *
push_ssl = false
  • info/mercurial.txt
  • Dernière modification: 2018/07/18 09:46
  • par radeff