public marks

PUBLIC MARKS with tags mercurial & python

2011

2009

Bugs Everywhere

by Spone & 1 other
Bugs Everywhere is a “distributed bugtracker”, designed to complement distributed revision control systems. By using distributed revision control as a backend for bug state, we gain several convenient features: * Bugs and code that live on branches are tracked together—when a branch is merged, both the code changes and bug changes that the branch contains are merged alongside each other. We no longer have to be confused about whether a fix that is applied to the development branch but not yet present in the production branch means that our bug is “fixed”. * Users can fully modify bug state while offline, unlike with many centralized bugtrackers. * When a user checks out your source code, she gets the current bug state for free. * We can still provide access to a friendly web interface for users—in this model, a web interface becomes just another client that merges with the main repository.

2008

TortoiseHg - Mercurial

by parmentierf (via)
TortoiseHg is an all-inclusive Mercurial binary installer package for Windows, which provides a windows explorer extension (shell extension), so that Mercurial commands can be executed from the context menu of the explorer. Command line "hg" is included as well. No other packages are needed (for example, Python is already included as a dll). Includes several dialogs, for example for committing and history viewing/diffing. Also includes a MergeProgram and software for ssh server access.

Tailor - DarcsWiki

by Xavier Lacot (via)
Tailor is a tool to migrate or replicate changesets between ArX, Bazaar, Bazaar-NG, CVS, Codeville, Darcs, Git, Mercurial, Monotone, Subversion and Tla repositories.

2007

programmation-python.org

by pvergain & 1 other
Mercurial est un système distribué de gestion de sources écrit en Python. Il permet à des développeurs de travailler avec leur code et de le versionner comme avec Subversion, mais sans avoir à dépendre d'un serveur centralisé: chaque modification est conservée localement, et le développeur peut à tout moment se synchroniser avec un autre repository, qu'il soit sur un serveur ou sur un autre poste de développement. Un repository Mercurial est accessible entres autres en SSH, et peut être recopié localement pour être modifié (commande clone), puis mis à jour avec la commande push. L'utilisation de Mercurial est très similaire à celle de Subversion: dabox:~ tarek$ hg Mercurial Distributed SCM basic commands (use "hg help" for the full list or option "-v" for details): add add the specified files on the next commit annotate show changeset information per file line clone make a copy of an existing repository commit commit the specified files or all outstanding changes diff diff repository (or selected files) export dump the header and diffs for one or more changesets init create a new repository in the given directory log show revision history of entire repository or files parents show the parents of the working dir or revision pull pull changes from the specified source push push changes to the specified destination remove remove the specified files on the next commit revert revert files or dirs to their states as of some revision serve export the repository via HTTP status show changed files in the working directory update update or merge working directory Mettre en place un projet basé sur Mercurial consiste donc à mettre à disposition des développeurs un repository via un utilisateur SSH. Cette mise en place est expliquée sur cette page : http://www.selenic.com/mercurial/wiki/index.cgi/MultipleCommitters. Mercurial propose, comme Subversion un système de hook pour effectuer des opérations lorsqu'un développeur "push" des modifications sur le serveur désigné comme "central". Un script pour envoyer des mails à chaque push est fourni sur le site, mais n'est pas très souple (script shell basic). Voici un script Python qui offre un peu plus de souplesse: #!/usr/bin/python import sys import os import smtplib from email.MIMEText import MIMEText from ConfigParser import ConfigParser from email.Utils import formatdate conffile = os.path.join(os.path.dirname(__file__), 'commithook.conf') config = ConfigParser() config.read(conffile) def command(cmd): return os.popen(cmd, 'r').read() def send_mail(log, email, subject): msg = MIMEText(log, 'plain', 'UTF-8') sender = config.get('configuration', 'sender') prefix = config.get('configuration', 'prefix') msg['From'] = sender msg['To'] = email msg['Date'] = formatdate(localtime=True) msg['Subject'] = '%s %s' % (prefix, subject) server = smtplib.SMTP('localhost') try: server.sendmail(sender, [email], msg.as_string()) finally: server.quit() if __name__ == '__main__': hg_node = os.getenv('HG_NODE') subject = command('hg log -r %s | grep "^summary:" | cut -b 14-' % hg_node) emails = config.get('configuration', 'emails').split(',') for email in emails: log = command('hg log -vpr %s' % hg_node) send_mail(log, email, subject) Il est associé à un fichier de configuration qui permet d'indiquer: * le nom de l'expéditeur * le préfix des mails * la liste des emails

PUBLIC TAGS related to tag mercurial

git +   hg +   w3c +  

Active users

marco
last mark : 07/06/2011 23:50

Spone
last mark : 07/07/2009 13:47

François Hodierne
last mark : 31/01/2009 13:48

parmentierf
last mark : 29/10/2008 16:57

Xavier Lacot
last mark : 25/06/2008 08:39

pvergain
last mark : 11/01/2007 14:21