#language fr (Traduction du texte original en anglais : [[hgserve]]) Mercurial possède un serveur web léger embarqué qui peut être utilisé pour parcourir un dépôt avec un navigateur web ou pour autoriser une machine distante à rapatrier depuis votre machine. Pour l'utiliser, il suffit de faire : {{{ $ hg serve }}} Et de faire pointer votre navigateur sur http://localhost:8000/. Le serveur web embarqué ne contient pas toutes les fonctionnalités des autres serveurs web comme le contrôle d'accès, l'identification, SSL, etc. Ces dernières sont particulièrement utiles si vous voulez envoyer de manière sécuriser vers un dépôt sur le web. Donc, si vous souhaitez mettre en place un serveur permanent, vous devrez probablement utiliser un [[CGIinstall|serveur en CGI]]. Ce qui suit détaille les options pour utiliser le serveur HTTP de mercurial : {{{ bash-2.05$ hg --version Mercurial Distributed SCM (version 1.2.1) Copyright (C) 2005-2009 Matt Mackall and others This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. bash-2.05$ hg help serve hg serve [OPTION]... export the repository via HTTP Start a local HTTP repository browser and pull server. By default, the server logs accesses to stdout and errors to stderr. Use the "-A" and "-E" options to log to files. options: -A --accesslog name of access log file to write to -d --daemon run server in background --daemon-pipefds used internally by daemon mode -E --errorlog name of error log file to write to -p --port port to listen on (default: 8000) -a --address address to listen on (default: all interfaces) --prefix prefix path to serve from (default: server root) -n --name name to show in web pages (default: working dir) --webdir-conf name of the webdir config file (serve more than one repo) --pid-file name of file to write process ID to --stdio for remote clients -t --templates web templates to use --style template style to use -6 --ipv6 use IPv6 in addition to IPv4 --certificate SSL certificate file use "hg -v help serve" to show global options bash-2.05$ }}} Voici un script pour démarrer et arrêter le serveur HTTP embarqué dans Mercurial. {{{ bash-2.05$ cat hg.init #!/sbin/sh # # Script de démarrage pour le serveur Mercurial. # # Changez les lignes suivantes selon votre environnement APP_BIN=/usr/bin/hg SRC=/export/src SRCNAME=" package source" # Chemin vers le fichier PID du processus hg. PID_FILE=/var/adm/hg.pid state=$1 case "$state" in 'start') echo "Démarrage du serveur Mercurial." (cd ${SRC} ;${APP_BIN} serve --name "${SRCNAME}" -d -p 8001 --pid-file ${PID_FILE}) ;; 'stop') if [ -f "${PID_FILE}" ]; then PID=`cat "${PID_FILE}"` if [ "${PID}" -gt 1 ]; then kill -TERM ${PID} echo "Arrêt du service Mercurial PID=${PID}." else echo Mauvais PID pour Mercurial -- \"${PID}\" fi else echo Pas de fichier PID sauvé pour mercurial fi ;; *) echo "$0 {start|stop}" exit 1 ;; esac bash-2.05$ }}} ---- FrenchCommand