Dépôts Mercurial sur tux

Accéder aux dépôts

Le serveur du LUG héberge quelques dépôts Mercurial accessibles sur http://strasbourg.linuxfr.org/hg/. Pour récupérer une copie de l'un de ces dépôts, utilisez la commande clone de Mercurial, par exemple :

hg clone http://strasbourg.linuxfr.org/hg/test/

Vous pouvez aussi récupérer un fichier tar contenant une archive des sources d'un dépôt par :

wget http://strasbourg.linuxfr.org/hg/test/archive/tip.tar.gz

:!: Le dépôt test est un dépôt « bac à sable », n'hésitez pas à vous en servir pour vos essais.

Contribuer aux dépôts

Pour contribuer à un dépôt, il vous faut un compte dans le wiki du LUG. La mise en place a été faite de telle sorte à ce que les comptes utilisés pour DokuWiki le soient aussi pour pousser des modifications dans les dépôts Mercurial du site (via HTTP PUSH).

Si vous disposez d'un compte, récupérez une copie du dépôt qui vous intéresse, faites vos modifications et lorsque vous souhaitez les partager, envoyez vos modifications dans le dépôt concerné. Exemple :

~$ hg clone http://strasbourg.linuxfr.org/hg/test test
~$ cd test
~test$ vim file
(modify... test... etc)
~test$ hg add file 
~test$ hg ci -m "Adding test file"
~test$ hg out
searching for changes
changeset:   4:fce15899f74c
tag:         tip
user:        Guy Brand
date:        Mon Mar 12 14:03:19 2007 +0100
summary:     Adding test file
 
~test$ hg push
pushing to https://strasbourg.linuxfr.org/hg/test
searching for changes
http authorization required
realm: Users
user: xxxxxxxx
password: xxxxxxxx
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files

Héberger un dépôt

Pour héberger un nouveau dépôt sur le serveur, il doit être cloné une première fois depuis votre machine. Mettez nous votre dépôt initial à disposition (par exemple via la commande hg serve de Mercurial) en nous indiquant son URL, il sera alors cloné sur le serveur du LUG et ajouté au pool de dépôts qui sont disponibles depuis notre site.

Si vous ne pouvez ou ne souhaitez pas mettre à disposition votre dépôt, vous pouvez aussi nous le mettre à disposition sous forme d'une archive (tar.gz) complète contenant l'ensemble des fichiers de votre dépôt. Ou encore faites un hg bundle –base null project.hg dans votre dépôt local et transmettez nous le fichier project.hg pour permettre la création du dépôt sur le serveur.

Dépôt en accès restreint

Certains dépôts hébergés sur le serveur du LUG peuvent être restreints en écriture à un groupe limité d'utilisateurs. Si vous souhaitez mettre en place un dépôt avec un accès limité en écriture (push) à certains utilisateurs, merci de le préciser lors de la mise en place initiale de votre dépôt.

Problèmes et solutions

ValueError: AbstractDigestAuthHandler doesn't know about Basic

Assurez vous d'avoir employé le bon mot de passe (celui de votre compte pour le Wiki). Si tel est le cas, votre mot de passe n'est peut-être pas chiffré de la bonne façon : connectez vous au wiki et mettez à jour votre profil (partie mot de passe) pour forcer le bon chiffrement du mot de passe.

ssl required

Vous pouvez cloner un dépôt par HTTP

hg clone http://strasbourg.linuxfr.org/hg/test

mais pour envoyer vos modifications (push) dans un dépôt, vous devez utiliser HTTPS. Spécifiez https lors de la commande push :

hg push https://strasbourg.linuxfr.org/hg/test

Pour ne pas avoir à spécifier cela à chaque appel de la commande push, vous pouvez éditer le fichier .hg/hgrc de votre copie locale du dépôt et vérifier que la section paths est proprement renseignée :

[paths]
default = https://strasbourg.linuxfr.org/hg/test