<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Luca Morettoni &#187; hg</title>
	<atom:link href="http://www.morettoni.net/tag/hg/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.morettoni.net</link>
	<description>software developing &#38; consulting</description>
	<lastBuildDate>Fri, 06 May 2011 07:14:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Migrazione da CVS a Mercurial</title>
		<link>http://www.morettoni.net/2009/08/migrazione-da-cvs-a-mercurial/</link>
		<comments>http://www.morettoni.net/2009/08/migrazione-da-cvs-a-mercurial/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 09:37:12 +0000</pubDate>
		<dc:creator>Luca Morettoni</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[hg]]></category>
		<category><![CDATA[mercurial]]></category>

		<guid isPermaLink="false">http://www.morettoni.net/?p=321</guid>
		<description><![CDATA[
			
				
			
		
<p>E&#8217; giunto il momento di cambiare, e vista la (relativa) calma di questi giorni estivi mi sono deciso e ho cominciato la migrazione del repository aziendale dal (vecchio) sistema CVS al nuovo Mercurial. Chiaramente i motivi che mi hanno spinto a fare questa migrazione sono tanti, CVS è un programma stabile che ha funzionato (e [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.morettoni.net%2F2009%2F08%2Fmigrazione-da-cvs-a-mercurial%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.morettoni.net%2F2009%2F08%2Fmigrazione-da-cvs-a-mercurial%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>E&#8217; giunto il momento di cambiare, e vista la (relativa) calma di questi giorni estivi mi sono deciso e ho cominciato la migrazione del repository aziendale dal (vecchio) sistema <a title="CVS" href="http://en.wikipedia.org/wiki/Concurrent_Versions_System" target="_blank">CVS</a> al nuovo <a title="Mercurial" href="http://mercurial.selenic.com" target="_blank">Mercurial</a>. Chiaramente i motivi che mi hanno spinto a fare questa migrazione sono tanti, CVS è un programma stabile che ha funzionato (e funzionerà) per anni, ma c&#8217;erano delle funzionalità di cui non potevo fare a meno, tra cui quella di poter lavorare su repository offline e una migliore gestione dei branch.</p>
<p>Se ancora non conoscete Mercurial vi consiglio di leggere questo ottimo <a title="Tutorial Mercurial" href="http://mercurial.selenic.com/wiki/Tutorial" target="_blank">tutorial</a> e vi consiglio di provarlo!</p>
<p>Se anche voi avete uno o più progetti sotto CVS potete fare una conversione automatica, grazie ad una &#8220;extension&#8221; di Mercurial verranno importati automaticamente tutti i commenti di commit e i vari branch con un solo comando!</p>
<p>Prima di vedere come effettuare l&#8217;import occorre abilitare l&#8217;apposita <a title="CVS converter" href="http://mercurial.selenic.com/wiki/ConvertExtension" target="_blank">estenzione</a> modificando il file <strong>.hgrc</strong> che troverete nella vostra home aggiungendo le righe:</p>
<pre>[extensions]
hgext.convert=</pre>
<p>a questo punto basterà digitare:</p>
<pre>$ hg convert --authors ./aut.txt &lt;repository cvs&gt;</pre>
<p>dove <strong>&lt;repository cvs&gt;</strong> è la directory che contiene il vostro progetto, sarà compito di Mercurial andare a pescare dal relativo server CVS tutti i dati che occorrono (log compresi) per la conversione. Sulla riga di comando ho anche aggiunto l&#8217;opzione per la conversione dei nomi degli autori, questi devono essere elencati in un file di testo nel seguente modo:</p>
<pre>luca=Luca Morettoni &lt;luca@morettoni.net&gt;</pre>
<p>Terminata la conversione troverete una nuova cartella denominata <strong>&lt;repository cvs&gt;-hg</strong> che contiene il nuovo repository in formato Mercurial pronto all&#8217;uso! Inoltre, se i vostri file &#8220;sotto CVS&#8221; dovessero essere modificati, vi basterà rilanciare il comando di conversione per &#8220;allineare&#8221; le modifiche!</p>
<p>Ovviamente, nella directory appena creata troverete il branch principale dei sorgenti, tuttavia come già detto Mercurial importa tutti i branch, quindi se vogliamo lavorare su un branch differente basterà clonare il nostro reporitory con:</p>
<pre>$ hg clone progetto-hg progetto-2.1</pre>
<p>e successivamente passare al branch che vogliamo (ad esempio quello denominato <strong>release_2_1</strong>):</p>
<pre>$ hg up -C release_2_1</pre>
<p>se vogliamo conoscere quali branch sono disponibili all&#8217;interno del repository basta digitare:</p>
<pre>$ hg branches</pre>
<p>mentre per conoscere quello &#8220;attivo&#8221; nel nostro repository di lavoro:</p>
<pre>$ hg branch</pre>
<p>Facile vero? Per convertire tutti i miei progetti ci sono voluti veramente pochi minuti&#8230;<br />
enjoy HG <img src='http://www.morettoni.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.morettoni.net/2009/08/migrazione-da-cvs-a-mercurial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

