<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commentaires sur : De subversion à git</title>
	<atom:link href="http://blog.p.engu.in/2008/06/18/de-subversion-a-git/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.p.engu.in/2008/06/18/de-subversion-a-git/</link>
	<description>Toute une continuité d&#039;informations inutiles.</description>
	<lastBuildDate>Tue, 07 Sep 2010 17:16:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Par : Romain</title>
		<link>http://blog.p.engu.in/2008/06/18/de-subversion-a-git/comment-page-1/#comment-2304</link>
		<dc:creator>Romain</dc:creator>
		<pubDate>Wed, 20 Aug 2008 07:55:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.p.engu.in/?p=505#comment-2304</guid>
		<description>Je pense que tu as bien saisis l&#039;intérêt de gestionnaire de version même lorsqu&#039;on travaille seul, permettrant ainsi de garder un historique des versions, ce qui est *très* utile. 

J&#039;utilise d&#039;ailleurs également un dépôt subversion pour mes fichiers de configuration utilisateur (zsh, vim, screen, etc), ce qui me permet d&#039;une part de garder trace de mes modifications, et d&#039;autre part de permettre un déploiement aisé sur les différentes machines (desktop ou serveur) auxquelles j&#039;ai accès.

Pour l&#039;intégration à Eclipse, sache qu&#039;il existe un plugin Subversion (ou même peut-être est-ce de base ? Je ne sais pas, je n&#039;utilise pas Eclipse) qui permet d&#039;avoir une intégration complète. Par contre, un développeur de Peerfuse qui utilise également cet IDE s&#039;est offusqué de n&#039;avoir pu trouver d&#039;équivalent avec Git.

Git est très pratique pour les contributions spontanées et occasionnelles, car tu effectues tes commits en local, tu crées les patches avec une commande (&lt;i&gt;git format-patch origin&lt;/i&gt;), et enfin tu les envoies directement par mail avec la commande &lt;i&gt;git send-email&lt;/i&gt;.

J&#039;ai d&#039;ailleurs tenté d&#039;imaginer une distribution Linux orienté contributeurs, où pour chaque paquet tu peux choisir entre installation binaire ou depuis les sources (jusque là Debian le fait), mais l&#039;utilisation des sources seraient faites à partir d&#039;un outil tel que Git. Tu peux ainsi effectuer tes patches, une commande te permettrait d&#039;envoyer tes patches au mainteneur du paquet qui se chargerait de les remonter upstream.
Cet outil s&#039;occuperait également de gérer la bonne synchronisation entre la version packagée et ta version locale lors des mises à jour.

Je pense que ça inciterait grandement les gens à contribuer, moi le premier, car avec un OS tel que Debian, c&#039;est très contraignant de maintenir ses patches. J&#039;ai ainsi plusieurs logiciels que je dois mettre à jour moi même à la main pour ne pas perdre les quelques patches que j&#039;ai effectué dessus.</description>
		<content:encoded><![CDATA[<div class='microid-mailto+http:sha1:ba0f10d24387c8dc06a578490a9486d90fabb390'>Je pense que tu as bien saisis l&#8217;intérêt de gestionnaire de version même lorsqu&#8217;on travaille seul, permettrant ainsi de garder un historique des versions, ce qui est *très* utile. </p>
<p>J&#8217;utilise d&#8217;ailleurs également un dépôt subversion pour mes fichiers de configuration utilisateur (zsh, vim, screen, etc), ce qui me permet d&#8217;une part de garder trace de mes modifications, et d&#8217;autre part de permettre un déploiement aisé sur les différentes machines (desktop ou serveur) auxquelles j&#8217;ai accès.</p>
<p>Pour l&#8217;intégration à Eclipse, sache qu&#8217;il existe un plugin Subversion (ou même peut-être est-ce de base ? Je ne sais pas, je n&#8217;utilise pas Eclipse) qui permet d&#8217;avoir une intégration complète. Par contre, un développeur de Peerfuse qui utilise également cet IDE s&#8217;est offusqué de n&#8217;avoir pu trouver d&#8217;équivalent avec Git.</p>
<p>Git est très pratique pour les contributions spontanées et occasionnelles, car tu effectues tes commits en local, tu crées les patches avec une commande (<i>git format-patch origin</i>), et enfin tu les envoies directement par mail avec la commande <i>git send-email</i>.</p>
<p>J&#8217;ai d&#8217;ailleurs tenté d&#8217;imaginer une distribution Linux orienté contributeurs, où pour chaque paquet tu peux choisir entre installation binaire ou depuis les sources (jusque là Debian le fait), mais l&#8217;utilisation des sources seraient faites à partir d&#8217;un outil tel que Git. Tu peux ainsi effectuer tes patches, une commande te permettrait d&#8217;envoyer tes patches au mainteneur du paquet qui se chargerait de les remonter upstream.<br />
Cet outil s&#8217;occuperait également de gérer la bonne synchronisation entre la version packagée et ta version locale lors des mises à jour.</p>
<p>Je pense que ça inciterait grandement les gens à contribuer, moi le premier, car avec un OS tel que Debian, c&#8217;est très contraignant de maintenir ses patches. J&#8217;ai ainsi plusieurs logiciels que je dois mettre à jour moi même à la main pour ne pas perdre les quelques patches que j&#8217;ai effectué dessus.</p></div>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Martin</title>
		<link>http://blog.p.engu.in/2008/06/18/de-subversion-a-git/comment-page-1/#comment-2292</link>
		<dc:creator>Martin</dc:creator>
		<pubDate>Tue, 19 Aug 2008 22:38:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.p.engu.in/?p=505#comment-2292</guid>
		<description>Actuellement, je travaille essentiellement seul, sur la base de code open source dont je me garde bien de toucher (compte tenu de mes moyens de production limités et de mes ambitions autres), sauf pour y inclure des patches temporaires ou corriger des défauts, que j&#039;essaye de soumettre aux développeurs officiels lorsque j&#039;y pense.

Cependant, comme je travaille seul, je n&#039;utilise pas de système de contrôle de versions. Je comprends bien son utilité, même pour un unique développeur, mais je me suis rendu compte que les outils dont je disposais ne s&#039;emboîtaient pas bien entre eux. Ainsi, mon outil préféré étant &lt;em&gt;Perforce&lt;/em&gt; (gratuit pour les projets open source ou les projets jusqu&#039;à deux développeurs par base) s&#039;intègre mal avec mon environnement de développement, &lt;em&gt;Eclipse&lt;/em&gt; ou autre branche non officielle (&lt;em&gt;Aptana Studio&lt;/em&gt; en ce moment). En effet, j&#039;aime cet IDE pour une GUI équivalente entre l&#039;ensemble des systèmes d&#039;exploitation supportés, de sorte que je retrouve mes marques sous &lt;em&gt;Mac OS X&lt;/em&gt;, mon environnement de développement principal, et &lt;em&gt;Windows&lt;/em&gt; que j&#039;utilise encore pour réaliser des tests. Sait-on jamais, je me pencherai sur &lt;em&gt;Linux&lt;/em&gt; un jour prochain&#160;?

Toujours est-il que les outils annexes au gestionnaire de versions sont très utiles, et il est difficile d&#039;acquérir des réflexes lorsqu&#039;on doit en utiliser une pléthore, comme un outil pour la visualisation des branches, un autre outil pour le parcours des fichiers, un troisième pour les soumissions et récupérations, et encore un pour la gestion des soumissions par email.

Pour en revenir aux corrections de bugs que je fais, dont une voici quelque temps soumise à l&#039;équipe de &lt;em&gt;WordPress&lt;/em&gt;, je passe alors par l&#039;outil de rapport de bugs, ce qui a l&#039;avantage de ne pas avoir à installer un nouvel outil sur son poste de travail et d&#039;apprendre à l&#039;utiliser. Certes, ce mode de fonctionnement n&#039;est possible que si les corrections ou modifications sont minimes, et non des modifications effectuées sur un ensemble de fichiers.</description>
		<content:encoded><![CDATA[<div class='microid-mailto+http:sha1:33bcf7e1b61400709bae48fa1bed10956779d4c2'>Actuellement, je travaille essentiellement seul, sur la base de code open source dont je me garde bien de toucher (compte tenu de mes moyens de production limités et de mes ambitions autres), sauf pour y inclure des patches temporaires ou corriger des défauts, que j&#8217;essaye de soumettre aux développeurs officiels lorsque j&#8217;y pense.</p>
<p>Cependant, comme je travaille seul, je n&#8217;utilise pas de système de contrôle de versions. Je comprends bien son utilité, même pour un unique développeur, mais je me suis rendu compte que les outils dont je disposais ne s&#8217;emboîtaient pas bien entre eux. Ainsi, mon outil préféré étant <em>Perforce</em> (gratuit pour les projets open source ou les projets jusqu&#8217;à deux développeurs par base) s&#8217;intègre mal avec mon environnement de développement, <em>Eclipse</em> ou autre branche non officielle (<em>Aptana Studio</em> en ce moment). En effet, j&#8217;aime cet IDE pour une GUI équivalente entre l&#8217;ensemble des systèmes d&#8217;exploitation supportés, de sorte que je retrouve mes marques sous <em>Mac OS X</em>, mon environnement de développement principal, et <em>Windows</em> que j&#8217;utilise encore pour réaliser des tests. Sait-on jamais, je me pencherai sur <em>Linux</em> un jour prochain&nbsp;?</p>
<p>Toujours est-il que les outils annexes au gestionnaire de versions sont très utiles, et il est difficile d&#8217;acquérir des réflexes lorsqu&#8217;on doit en utiliser une pléthore, comme un outil pour la visualisation des branches, un autre outil pour le parcours des fichiers, un troisième pour les soumissions et récupérations, et encore un pour la gestion des soumissions par email.</p>
<p>Pour en revenir aux corrections de bugs que je fais, dont une voici quelque temps soumise à l&#8217;équipe de <em>WordPress</em>, je passe alors par l&#8217;outil de rapport de bugs, ce qui a l&#8217;avantage de ne pas avoir à installer un nouvel outil sur son poste de travail et d&#8217;apprendre à l&#8217;utiliser. Certes, ce mode de fonctionnement n&#8217;est possible que si les corrections ou modifications sont minimes, et non des modifications effectuées sur un ensemble de fichiers.</div>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Romain</title>
		<link>http://blog.p.engu.in/2008/06/18/de-subversion-a-git/comment-page-1/#comment-2117</link>
		<dc:creator>Romain</dc:creator>
		<pubDate>Thu, 07 Aug 2008 12:15:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.p.engu.in/?p=505#comment-2117</guid>
		<description>La synchronisation avec git peut se faire de façon très similaire à un système centralisé (tu fais un pull depuis le dépôt public qui va merger les changements distants avec les changements locaux, comme &lt;b&gt;svn update&lt;/b&gt;, avec détection des conflits).

En général, il vaut mieux avoir la branche master à laquelle tu ne touches pas et que tu synchronises fréquemment avec le dépôt public, et tu crées une branche pour faire un développement spécifique, à la fin tu fais un merge des deux branches, et tu résous les conflits.

Ensuite, l&#039;avantage de git je trouve est que tu as divers moyens d&#039;envoyer tes patches. Si tu as un accès en écriture sur le dépôt public, pas de problème, tu pousses (&lt;i&gt;push&lt;/i&gt;), sinon tu as un système qui permet d&#039;envoyer un mail à un dev qui y a accès, et lui, à partir du mail, extrait les commits, et peux les pousser.

Ça permet de simplifier les contributions des personnes n&#039;ayant pas [encore] d&#039;accès en écriture sur le dépôt public.

Par exemple, sur Peerfuse, un contributeur a fait divers patches envoyés par mails que j&#039;ai poussé très simplement (deux commandes suffisent) :

http://peerfuse.net/cgi-bin/gitweb.cgi?p=peerfuse.git;a=log</description>
		<content:encoded><![CDATA[<div class='microid-mailto+http:sha1:ba0f10d24387c8dc06a578490a9486d90fabb390'>La synchronisation avec git peut se faire de façon très similaire à un système centralisé (tu fais un pull depuis le dépôt public qui va merger les changements distants avec les changements locaux, comme <b>svn update</b>, avec détection des conflits).</p>
<p>En général, il vaut mieux avoir la branche master à laquelle tu ne touches pas et que tu synchronises fréquemment avec le dépôt public, et tu crées une branche pour faire un développement spécifique, à la fin tu fais un merge des deux branches, et tu résous les conflits.</p>
<p>Ensuite, l&#8217;avantage de git je trouve est que tu as divers moyens d&#8217;envoyer tes patches. Si tu as un accès en écriture sur le dépôt public, pas de problème, tu pousses (<i>push</i>), sinon tu as un système qui permet d&#8217;envoyer un mail à un dev qui y a accès, et lui, à partir du mail, extrait les commits, et peux les pousser.</p>
<p>Ça permet de simplifier les contributions des personnes n&#8217;ayant pas [encore] d&#8217;accès en écriture sur le dépôt public.</p>
<p>Par exemple, sur Peerfuse, un contributeur a fait divers patches envoyés par mails que j&#8217;ai poussé très simplement (deux commandes suffisent) :</p>
<p><a href="http://peerfuse.net/cgi-bin/gitweb.cgi?p=peerfuse.git;a=log" >http://peerfuse.net/cgi-bin/gitweb.cgi?p=peerfuse.git;a=log</a></div>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Martin</title>
		<link>http://blog.p.engu.in/2008/06/18/de-subversion-a-git/comment-page-1/#comment-2116</link>
		<dc:creator>Martin</dc:creator>
		<pubDate>Thu, 07 Aug 2008 12:08:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.p.engu.in/?p=505#comment-2116</guid>
		<description>Je ne connaissais pas &lt;em&gt;Git&lt;/em&gt;. Idée intéressante. Je me demande bien, cependant, comment peut se passer une resynchronisation après une coupure du réseau de la part de l&#039;un des membres, voire de l&#039;ensemble des membres d&#039;un projet, alors que ceux-ci continuent tous à faire des modification, à défaut d&#039;un serveur central. Je devine cependant que l&#039;un des administrateurs du projet doit alors décider quelles parties doivent être conservées, lesquelles remplacées, et lesquelles fusionnées ?</description>
		<content:encoded><![CDATA[<div class='microid-mailto+http:sha1:33bcf7e1b61400709bae48fa1bed10956779d4c2'>Je ne connaissais pas <em>Git</em>. Idée intéressante. Je me demande bien, cependant, comment peut se passer une resynchronisation après une coupure du réseau de la part de l&#8217;un des membres, voire de l&#8217;ensemble des membres d&#8217;un projet, alors que ceux-ci continuent tous à faire des modification, à défaut d&#8217;un serveur central. Je devine cependant que l&#8217;un des administrateurs du projet doit alors décider quelles parties doivent être conservées, lesquelles remplacées, et lesquelles fusionnées ?</div>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Peerfuse aux RMLL &#124; Romain's blog</title>
		<link>http://blog.p.engu.in/2008/06/18/de-subversion-a-git/comment-page-1/#comment-2021</link>
		<dc:creator>Peerfuse aux RMLL &#124; Romain's blog</dc:creator>
		<pubDate>Mon, 14 Jul 2008 14:25:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.p.engu.in/?p=505#comment-2021</guid>
		<description>[...] Romain             &#171; De subversion à git [...]</description>
		<content:encoded><![CDATA[<div class='microid-http+http:sha1:597058fc20e1c1c00c7d0626d8e9031539d6e041'>[...] Romain             &laquo; De subversion à git [...]</div>
]]></content:encoded>
	</item>
</channel>
</rss>
