<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel rdf:about="http://blogmarks.net/api/marks/tag/gestion de version">
<title>Public marks with tag &quot;gestion de version&quot;</title>
<description>Public marks with tag &quot;gestion de version&quot;</description>
<link>http://blogmarks.net/marks/tag/gestion de version</link>
<items><rdf:Seq><rdf:li resource="http://blogmarks.net/api/user/CharlesNepote/mark/1058130959"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/1058128897"/>
<rdf:li resource="http://blogmarks.net/api/user/cbrocas/mark/1057540190"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/2495117"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/2403001"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/2024103"/>
<rdf:li resource="http://blogmarks.net/api/user/pvergain/mark/1741361"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/1438534"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/1415892"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/1307104"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/1286528"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/1225963"/>
<rdf:li resource="http://blogmarks.net/api/user/JMF/mark/1105972"/>
</rdf:Seq></items>
</channel>
<item rdf:about="http://blogmarks.net/api/user/CharlesNepote/mark/1058130959">
<title>Why Git is Better Than X</title>
<link>http://whygitisbetterthanx.com/#easy-to-learn</link>
<description></description>
<dc:date>2008-12-16T16:31:44Z</dc:date>
<dc:author>CharlesNepote</dc:author>
<dc:subject>git, cvs, svn, versionnement, versionning, gestion de version</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://whygitisbetterthanx.com/#easy-to-learn"><img border="0" src="http://blogmarks.net/screenshots/2008/12/16/9ac5e63eaea88bb7a039a0d9f495b4e0.jpg" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://whygitisbetterthanx.com/#easy-to-learn">Why Git is Better Than X</a></h4>
 
by <a href="http://blogmarks.net/user/CharlesNepote">CharlesNepote</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/3009809">1 other(s)</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/git">git</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/cvs">cvs</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/svn">svn</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/versionnement">versionnement</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/versionning">versionning</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1058130959">Copy</a> | 
<a href="http://blogmarks.net/link/3009809">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/1058128897">
<title>Why Git is Better Than X</title>
<link>http://whygitisbetterthanx.com/#</link>
<description></description>
<dc:date>2008-12-14T17:21:06Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>gestion de version, git, subversion</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://whygitisbetterthanx.com/#"><img border="0" src="http://blogmarks.net/screenshots/2008/12/14/ea93cec312eeee3f2950a5bbad628e5e.jpg" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://whygitisbetterthanx.com/#">Why Git is Better Than X</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/git">git</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/subversion">subversion</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1058128897">Copy</a> | 
<a href="http://blogmarks.net/link/3029580">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/cbrocas/mark/1057540190">
<title>Review Board</title>
<link>http://www.review-board.org/</link>
<description></description>
<dc:date>2007-11-12T13:37:32Z</dc:date>
<dc:author>cbrocas</dc:author>
<dc:subject>subversion, gestion de version, revue de code, code review</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://www.review-board.org/"><img border="0" src="http://blogmarks.net/screenshots/2008/01/03/f00da11227275f83c4659b8dd7994d0e.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://www.review-board.org/">Review Board</a></h4>
 
by <a href="http://blogmarks.net/user/cbrocas">cbrocas</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/2527640">1 other(s)</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/subversion">subversion</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/revue%2Bde%2Bcode">revue de code</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/code%2Breview">code review</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1057540190">Copy</a> | 
<a href="http://blogmarks.net/link/2527640">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/2495117">
<title>Remove .svn directories</title>
<link>http://ollehost.dk/blog/?p=289</link>
<description></description>
<dc:date>2007-04-09T09:43:12Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>gestion de version, subversion, outils, suppression, répertoire</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://ollehost.dk/blog/?p=289"><img border="0" src="http://blogmarks.net/screenshots/2007/04/10/ac9110519259d5c8c51009407aede79c.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://ollehost.dk/blog/?p=289">Remove .svn directories</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/2048390">1 other(s)</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/subversion">subversion</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/outils">outils</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/suppression">suppression</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/r%25C3%25A9pertoire">répertoire</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=2495117">Copy</a> | 
<a href="http://blogmarks.net/link/2048390">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/2403001">
<title>Subversion tips: working with branches</title>
<link>http://www.dehora.net/journal/2006/02/subversion_tips_dealing_with_branches.html</link>
<description></description>
<dc:date>2007-03-29T18:19:22Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>subversion, gestion de version, branches</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://www.dehora.net/journal/2006/02/subversion_tips_dealing_with_branches.html"><img border="0" src="http://blogmarks.net/screenshots/2007/04/02/d21ee2eb41e40d3d469554584179f77d.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://www.dehora.net/journal/2006/02/subversion_tips_dealing_with_branches.html">Subversion tips: working with branches</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/1978146">2 other(s)</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/subversion">subversion</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/branches">branches</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=2403001">Copy</a> | 
<a href="http://blogmarks.net/link/1978146">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/2024103">
<title>Mercurial</title>
<link>http://www.selenic.com/mercurial/wiki/</link>
<description></description>
<dc:date>2007-02-15T13:00:20Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>gestion de version</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://www.selenic.com/mercurial/wiki/"><img border="0" src="http://blogmarks.net/screenshots/2007/09/19/710ad23b57e040c44bd8b936d1138b69.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://www.selenic.com/mercurial/wiki/">Mercurial</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/902110">3 other(s)</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=2024103">Copy</a> | 
<a href="http://blogmarks.net/link/902110">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/pvergain/mark/1741361">
<title>programmation-python.org</title>
<link>http://programmation-python.org/sections/blog</link>
<description>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 &quot;hg help&quot; for the full list or option &quot;-v&quot; 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 &quot;push&quot; des modifications sur le serveur désigné comme &quot;central&quot;. 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 &quot;^summary:&quot; | 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</description>
<dc:date>2007-01-11T14:21:53Z</dc:date>
<dc:author>pvergain</dc:author>
<dc:subject>python, tools, gestion de version, mercurial</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://programmation-python.org/sections/blog"><img border="0" src="http://blogmarks.net/screenshots/2007/01/11/1d1bd3ec0cf3c7221b3a96198bff0806.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://programmation-python.org/sections/blog">programmation-python.org</a></h4>
 
by <a href="http://blogmarks.net/user/pvergain">pvergain</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/1180781">1 other(s)</a> 
<p class="description">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</p>
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/python">python</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/tools">tools</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/mercurial">mercurial</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1741361">Copy</a> | 
<a href="http://blogmarks.net/link/1180781">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/1438534">
<title>Bazaar Version Control</title>
<link>http://bazaar-vcs.org/</link>
<description></description>
<dc:date>2006-12-22T16:49:21Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>gestion de version</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://bazaar-vcs.org/"><img border="0" src="http://blogmarks.net/screenshots/2007/12/21/4bdd73bcdd788c7e9e0c73dd9dd709c4.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://bazaar-vcs.org/">Bazaar Version Control</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/609668">6 other(s)</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1438534">Copy</a> | 
<a href="http://blogmarks.net/link/609668">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/1415892">
<title>MPY SVN STATS</title>
<link>http://mpy-svn-stats.berlios.de/</link>
<description></description>
<dc:date>2006-12-20T18:17:37Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>subversion, gestion de version, statistiques</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://mpy-svn-stats.berlios.de/"><img border="0" src="http://blogmarks.net/screenshots/2008/12/10/2a0d4c9b21845df14c095f8e166d993e.jpg" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://mpy-svn-stats.berlios.de/">MPY SVN STATS</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/1388795">3 other(s)</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/subversion">subversion</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/statistiques">statistiques</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1415892">Copy</a> | 
<a href="http://blogmarks.net/link/1388795">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/1307104">
<title>Coding for source control</title>
<link>http://netevil.org/node.php?nid=945</link>
<description></description>
<dc:date>2006-12-04T09:01:53Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>subversion, gestion de version</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://netevil.org/node.php?nid=945"><img border="0" src="http://blogmarks.net/screenshots/2006/12/04/bd9f6ce8f6290dff2e299d1b30b4087d.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://netevil.org/node.php?nid=945">Coding for source control</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/subversion">subversion</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1307104">Copy</a> | 
<a href="http://blogmarks.net/link/1312552">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/1286528">
<title>Using source control tools on huge projects</title>
<link>http://www.joelonsoftware.com/items/2006/11/29.html</link>
<description></description>
<dc:date>2006-11-30T10:44:19Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>gestion de version, gestion de projet</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://www.joelonsoftware.com/items/2006/11/29.html"><img border="0" src="http://blogmarks.net/screenshots/2006/11/30/0c6ab8c0ae887d6b97992b70fb9fbd9c.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://www.joelonsoftware.com/items/2006/11/29.html">Using source control tools on huge projects</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bprojet">gestion de projet</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1286528">Copy</a> | 
<a href="http://blogmarks.net/link/1297625">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/1225963">
<title>OSCON: Subversion Best Practices</title>
<link>http://bradchoate.com/weblog/2006/07/27/oscon-subversion-best-practices</link>
<description></description>
<dc:date>2006-11-16T19:45:39Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>subversion, gestion de version</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://bradchoate.com/weblog/2006/07/27/oscon-subversion-best-practices"><img border="0" src="http://blogmarks.net/screenshots/2006/11/16/8bfc762cdc12f29748201c4fc1e34980.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://bradchoate.com/weblog/2006/07/27/oscon-subversion-best-practices">OSCON: Subversion Best Practices</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/1250873">1 other(s)</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/subversion">subversion</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1225963">Copy</a> | 
<a href="http://blogmarks.net/link/1250873">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> <item rdf:about="http://blogmarks.net/api/user/JMF/mark/1105972">
<title>RcsComparisons</title>
<link>http://bazaar-vcs.org/RcsComparisons</link>
<description></description>
<dc:date>2006-10-16T14:54:38Z</dc:date>
<dc:author>JMF</dc:author>
<dc:subject>subversion, gestion de version</dc:subject>
<content:encoded><![CDATA[<div class="mark">
<a href="http://bazaar-vcs.org/RcsComparisons"><img border="0" src="http://blogmarks.net/screenshots/2006/10/16/8c16db01fd1a5a6bc42782da726dafe9.png" alt="" /></a>
<div class="xfolkentry">
<h4><a class="taggedlink" href="http://bazaar-vcs.org/RcsComparisons">RcsComparisons</a></h4>
 
by <a href="http://blogmarks.net/user/JMF">JMF</a> 
 &amp; <a class="public" href="http://blogmarks.net/link/1182059">1 other(s)</a> 
<p class="tags">
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/subversion">subversion</a>
<a rel="tag" class="tag public_tag" href="http://blogmarks.net/marks/tag/gestion%2Bde%2Bversion">gestion de version</a>
</p>
<div class="action-bar">
<a href="http://blogmarks.net/my/marks,new?id=1105972">Copy</a> | 
<a href="http://blogmarks.net/link/1182059">React (0)</a></div>
</div>
</div>
]]></content:encoded>
</item> </rdf:RDF>