<?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>SlashCode &#187; CVS</title>
	<atom:link href="http://davideaversa.it/slashcode/category/guide/cvs-guide/feed/" rel="self" type="application/rss+xml" />
	<link>http://davideaversa.it/slashcode</link>
	<description></description>
	<lastBuildDate>Thu, 03 May 2012 14:28:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Integrare Git con Eclipse</title>
		<link>http://davideaversa.it/slashcode/2011/07/integrare-git-con-eclipse/</link>
		<comments>http://davideaversa.it/slashcode/2011/07/integrare-git-con-eclipse/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 14:32:05 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=776</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2011/07/integrare-git-con-eclipse/"><img title="Integrare Git con Eclipse" src="http://davideaversa.it/slashcode/wp-content/uploads/2011/07/egit2-150x150.png" alt="Integrare Git con Eclipse"  width="200" height="200" /></a></div><br/>L&#8217;ultima release di Eclipse (la Indigo) è favolosa. A prima vista non sembra molto diversa dalle precedenti ma la reattività e la stabilità è notevolmente aumentata. Funziona così bene che ho ricominciato ad usarla dimenticandomi dei problemi che mi aveva dato Helios. La prima cosa che ho cercato era l&#8217;integrazione con Git (si, sono innamorato). <a href='http://davideaversa.it/slashcode/2011/07/integrare-git-con-eclipse/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2011%2F07%2Fintegrare-git-con-eclipse%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2011/07/integrare-git-con-eclipse/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Integrare Git con Eclipse" data-url="http://davideaversa.it/slashcode/2011/07/integrare-git-con-eclipse/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><a href="http://davideaversa.it/slashcode/wp-content/uploads/2011/07/egit2.png"><img src="http://davideaversa.it/slashcode/wp-content/uploads/2011/07/egit2-150x150.png" alt="" title="Egit2" width="150" height="150" class="alignleft size-thumbnail wp-image-777" /></a></p>
<p>L&#8217;ultima release di Eclipse (la Indigo) è favolosa. A prima vista non sembra molto diversa dalle precedenti ma la reattività e la stabilità è notevolmente aumentata. Funziona così bene che ho ricominciato ad usarla dimenticandomi dei problemi che mi aveva dato Helios.</p>
<p>La prima cosa che ho cercato era l&#8217;integrazione con Git (si, sono innamorato).</p>
<p>Bene, la ricerca è stata breve e il risultato è molto soddisfacente: <strong>EGit</strong>. L&#8217;ultima versione di Eclipse include questo plugin nella vasta gamma dei plugin scaricabili. </p>
<p><span id="more-776"></span></p>
<p>Quindi:</p>
<ul>
<li> Andate in <em>Help -> Install New Software..</em>.</li>
<li> Cercate egit e installatelo.</li>
<li> Riavviate Eclipse </li>
<li> A questo punto andate su un vostro progetto e cliccando con il destro andate su <em>Team -> Share&#8230;</em></li>
<li> Scegliete Git come sistema di CVS.</li>
<li> Il programma vi chiederà dove creare il repository. Per non confondervi scegliete di creare il repository in una sub-directory del progetto (.git) selezionando la relativa spunta. Questo vi eviterà problemi nell&#8217;uso di tools esterni.</li>
</ul>
<p>A questo punto tutto è pronto per il primo commit. Possiamo fare tutto da Eclipse.</p>
<ul>
<li>Andate in <em>Team -> Commit&#8230;</em> e selezionate tutti i file da aggiungere.</li>
<li>Effettuate il commit. </li>
</ul>
<p>Egit offre un ottima integrazione con Git con tanto di rappresentazione grafica della storia, dei rami, delle versioni e di tutte le altre funzioni di Git (compreso il rebase, il merge e il cherry-picking).</p>
<p>Insomma, se utilizzate Eclipse ve lo consiglio caldamente.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=776&amp;md5=20145cb67705e590c255cad5522bb5f9" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2011/07/integrare-git-con-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2011%2F07%2Fintegrare-git-con-eclipse%2F&amp;language=it_IT&amp;category=text&amp;title=Integrare+Git+con+Eclipse&amp;description=L%26%238217%3Bultima+release+di+Eclipse+%28la+Indigo%29+%C3%A8+favolosa.+A+prima+vista+non+sembra+molto+diversa+dalle+precedenti+ma+la+reattivit%C3%A0+e+la+stabilit%C3%A0+%C3%A8+notevolmente+aumentata.+Funziona+cos%C3%AC+bene+che...&amp;tags=eclipse%2Cgit%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Git &#8211; Corso Intensivo</title>
		<link>http://davideaversa.it/slashcode/2010/07/git-corso-intensivo/</link>
		<comments>http://davideaversa.it/slashcode/2010/07/git-corso-intensivo/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 17:33:36 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=633</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2010/07/git-corso-intensivo/"><img title="Git &#8211; Corso Intensivo" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/07/bible-150x150.png" alt="Git &#8211; Corso Intensivo"  width="200" height="200" /></a></div><br/>Oggi dovevo scrivere una guida che rendesse persone digiune di git capaci di gestire un progetto multi utente distribuito. Non so se sono riuscito nell&#8217;interno ma dato che ci ho messo due ore per scrivere queste 6-7 pagine di documentazione vorrei condividerla con tutti. L&#8217;ho scritta di fretta, alcune informazioni sono carenti e altre mancanti, <a href='http://davideaversa.it/slashcode/2010/07/git-corso-intensivo/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F07%2Fgit-corso-intensivo%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2010/07/git-corso-intensivo/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Git &#8211; Corso Intensivo" data-url="http://davideaversa.it/slashcode/2010/07/git-corso-intensivo/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><a href="http://davideaversa.it/slashcode/wp-content/uploads/2010/07/bible.png"><img class="alignleft size-thumbnail wp-image-634" title="bible" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/07/bible-150x150.png" alt="" width="150" height="150" /></a>Oggi dovevo scrivere una guida che rendesse persone digiune di git capaci di gestire un progetto multi utente distribuito. Non so se sono riuscito nell&#8217;interno ma dato che ci ho messo due ore per scrivere queste 6-7 pagine di documentazione vorrei condividerla con tutti.</p>
<p>L&#8217;ho scritta di fretta, alcune informazioni sono carenti e altre mancanti, ma credo che nel complesso sia uscita una cosa molto carina e istruttiva. Quantomeno, dopo aver letto questa guida, saprete dove mettere le mani per fare qualcosa. Penso che la aggiornerò ancora nei prossimi giorni quindi magari ripassateci. <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Eccola qui:</p>
<p><strong><a href="https://docs.google.com/document/edit?id=1kiLCEJqYmNTP0WIyHxKZBUefgVnf45L5fQyELX0XuBw&amp;hl=it">GUIDA MEGAGALATTICA EXPRESS PER GIT</a></strong></p>
<p><strong>EDIT 13-07-2011:</strong> Ieri sera ho riletto tutta la guida e ho corretto alcune imprecisioni, oltre ad aver sistemato qualche carenza stilistica e grafica. Vi ricordo che suggerimenti e commenti sono molto apprezzati! <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=633&amp;md5=7529b89ccd19b0bab9e9133550ce531c" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2010/07/git-corso-intensivo/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F07%2Fgit-corso-intensivo%2F&amp;language=it_IT&amp;category=text&amp;title=Git+%26%238211%3B+Corso+Intensivo&amp;description=Oggi+dovevo+scrivere+una+guida+che+rendesse+persone+digiune+di+git+capaci+di+gestire+un+progetto+multi+utente+distribuito.+Non+so+se+sono+riuscito+nell%26%238217%3Binterno+ma+dato+che+ci+ho...&amp;tags=git%2Cgithub%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Come integrare GIT e SVN</title>
		<link>http://davideaversa.it/slashcode/2010/06/come-integrare-git-e-svn/</link>
		<comments>http://davideaversa.it/slashcode/2010/06/come-integrare-git-e-svn/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 13:05:10 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=612</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2010/06/come-integrare-git-e-svn/"><img title="Come integrare GIT e SVN" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/github-logo-150x150.png" alt="Come integrare GIT e SVN"  width="200" height="200" /></a></div><br/>Git non è l&#8217;unico sistema di controllo di versione esistente (aimè! xD). Ad esempio SVN è il sistema utilizzato ufficialmente dal progetto KDE (anche se c&#8217;è l&#8217;intenzione di passare a Git nel prossimo futuro). A questo punto sorge spontaneo chiedersi come si possa fare per partecipare a questi progetti ma, allo stesso tempo, continuare ad <a href='http://davideaversa.it/slashcode/2010/06/come-integrare-git-e-svn/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fcome-integrare-git-e-svn%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2010/06/come-integrare-git-e-svn/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Come integrare GIT e SVN" data-url="http://davideaversa.it/slashcode/2010/06/come-integrare-git-e-svn/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft size-thumbnail wp-image-613" title="GitHub" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/github-logo-150x150.png" alt="" width="150" height="150" /></p>
<p>Git non è l&#8217;unico sistema di controllo di versione esistente (aimè! xD). Ad esempio SVN è il sistema utilizzato ufficialmente dal progetto KDE (anche se c&#8217;è l&#8217;intenzione di passare a Git nel prossimo futuro). A questo punto sorge spontaneo chiedersi come si possa fare per partecipare a questi progetti ma, allo stesso tempo, continuare ad utilizzare il nostro (mio) amato Git?</p>
<p>La soluzione, ovviamente, esiste. Basta installare il pacchetto <strong>git-svn</strong> che offre un comodo layer di interfaccia fra Git e Svn. Ma vediamo come usarlo:</p>
<p>La prima cosa da fare è di clonare il repository svn. Questo può essere fatto semplicemente con il comando:</p>
<pre>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git</span> <span style="color: #c20cb9; font-weight: bold;">svn</span> clone &nbsp;?optional-directory-name?</div></div>
</pre>
<p>Lo svantaggio di questa operazione è data però dalla lentezza. Questo perché la cronologia di git viene riempita scaricando dal repo svn ogni commit singolarmente. Quindi è meglio che eseguiate questo comando solamente quando avete un po&#8217; di tempo da perdere.</p>
<p>Il prossimo comando serve a tenere aggiornata la nostra copia locale rispetto al trunk remoto. Il corrispettivo, in pratica, del comando <code class="codecolorer text dawn"><span class="text">svn update</span></code>.</p>
<pre>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git</span> <span style="color: #c20cb9; font-weight: bold;">svn</span> rebase</div></div>
</pre>
<p>Per ultimo, vediamo invece come inviare il nostro ramo locale nel ramo remoto:</p>
<pre>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git</span> <span style="color: #c20cb9; font-weight: bold;">svn</span> dcommit</div></div>
</pre>
<p>Per tutto il resto del tempo potete continuare ad utilizzare i classici comandi git, potete creare rami locali, riunirli, fare tutto ciò che vi pare come se il progetto fosse nativamente gestito da git.</p>
<p>Un vantaggio niente male eh? <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=612&amp;md5=e85a4a25494d7d062529de4cfcc3f63c" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2010/06/come-integrare-git-e-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fcome-integrare-git-e-svn%2F&amp;language=it_IT&amp;category=text&amp;title=Come+integrare+GIT+e+SVN&amp;description=Git+non+%C3%A8+l%26%238217%3Bunico+sistema+di+controllo+di+versione+esistente+%28aim%C3%A8%21+xD%29.+Ad+esempio+SVN+%C3%A8+il+sistema+utilizzato+ufficialmente+dal+progetto+KDE+%28anche+se+c%26%238217%3B%C3%A8+l%26%238217%3Bintenzione+di+passare+a...&amp;tags=cvs%2Cgit%2Ckde%2Csvn%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Git: Configurazioni Utili</title>
		<link>http://davideaversa.it/slashcode/2010/06/git-configurazioni-utili/</link>
		<comments>http://davideaversa.it/slashcode/2010/06/git-configurazioni-utili/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 10:27:17 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[kdiff]]></category>
		<category><![CDATA[merge]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=610</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2010/06/git-configurazioni-utili/"><img title="Git: Configurazioni Utili" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/08/header.gif" alt="Git: Configurazioni Utili"  width="200" height="198" /></a></div><br/>Come spero sappiate amo Git con tutto il mio cuore. Volevo quindi appuntare una serie di configurazioni che trovo utilissime. Una piccola nota nel caso vi dimentichiate alcuni pezzi di sintassi (e io lo dimentico spesso).]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fgit-configurazioni-utili%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2010/06/git-configurazioni-utili/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Git: Configurazioni Utili" data-url="http://davideaversa.it/slashcode/2010/06/git-configurazioni-utili/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><a href="http://davideaversa.it/slashcode/wp-content/uploads/2009/08/header.gif"><img class="alignleft size-full wp-image-214" title="Git" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/08/header.gif" alt="" width="107" height="106" /></a> Come spero sappiate amo Git con tutto il mio cuore. Volevo quindi appuntare una serie di configurazioni che trovo utilissime. Una piccola nota nel caso vi dimentichiate alcuni pezzi di sintassi (e io lo dimentico spesso).</p>
<p><strong>1 &#8211; UTENTE</strong></p>
<p>Inserire l&#8217;utente è fondamentale per fare in modo che i commit non escano con nomi casuali e irriconoscibili.</p>
<pre>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> user.name <span style="color: #ff0000;">&quot;Il vostro nome&quot;</span><br />
<span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> user.email tuaemail<span style="color: #000000; font-weight: bold;">@</span>dominio.it</div></div>
</pre>
<p><strong>2 &#8211; COLORI</strong></p>
<p>Per migliorare la leggibilità è cosa buona e giusta abilitare i colori nell&#8217;output dei comandi di git.</p>
<pre>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> color.branch auto<br />
<span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> color.diff auto<br />
<span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> color.interactive auto<br />
<span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> color.status auto</div></div>
</pre>
<p><strong>3 &#8211; MERGE</strong></p>
<p>Prima cosa da fare è configurare lo strumento che useremo per risolvere i conflitti del merge. Io su KDE uso <strong>kdiff3</strong>  ma per GNOME esiste un alternativa altrettanto valida di nome <strong>meld</strong>.</p>
<p>Per Kdiff3 bisogna però aggiungere una configurazione ulteriore. Andate a Settings, Configure KDiff3, Integration. Nella casella &#8216;Command line options to ignore&#8217;, aggiungete il parametro &#8216;;&#8211;&#8217;. </p>
<p>A questo punto vi basta configurare git.</p>
<pre>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> merge.tool kdiff3</div></div>
</pre>
<p><strong>4 &#8211; EDITOR</strong></p>
<p>Potete anche configurare l&#8217;editor che git userà quando avrà bisogno di farvi editare del testo.</p>
<pre>
<div class="codecolorer-container bash dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> core.editor <span style="color: #c20cb9; font-weight: bold;">vim</span></div></div>
</pre>
<p>Potete sceglierne anche uno con interfaccia grafica.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=610&amp;md5=ec7f2b42552f96bef0e0bef98edf6dfb" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2010/06/git-configurazioni-utili/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fgit-configurazioni-utili%2F&amp;language=it_IT&amp;category=text&amp;title=Git%3A+Configurazioni+Utili&amp;description=Come+spero+sappiate+amo+Git+con+tutto+il+mio+cuore.+Volevo+quindi+appuntare+una+serie+di+configurazioni+che+trovo+utilissime.+Una+piccola+nota+nel+caso+vi+dimentichiate+alcuni+pezzi+di...&amp;tags=editor%2Cgit%2Ckdiff%2Cmerge%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Gitg &#8211; Un altra Gui per Git!</title>
		<link>http://davideaversa.it/slashcode/2010/05/gitg-un-altra-gui-per-git/</link>
		<comments>http://davideaversa.it/slashcode/2010/05/gitg-un-altra-gui-per-git/#comments</comments>
		<pubDate>Sat, 22 May 2010 13:13:24 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=582</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2010/05/gitg-un-altra-gui-per-git/"><img title="Gitg &#8211; Un altra Gui per Git!" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/05/gitglinux-150x150.png" alt="Gitg &#8211; Un altra Gui per Git!"  width="200" height="200" /></a></div><br/>So che lo state pensando. &#8220;Oh no! Un altra GUI per Git! Che dio ci scampi!&#8221;. Effettivamente di gui per git ce ne sono a valanghe. Ognuna con i suoi vantaggi e svantaggi. Però Gitg ha qualcosa che te la fa preferire. Innanzitutto è ben integrato con GNOME, secondo ha una velocità impressionante nel caricare <a href='http://davideaversa.it/slashcode/2010/05/gitg-un-altra-gui-per-git/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F05%2Fgitg-un-altra-gui-per-git%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2010/05/gitg-un-altra-gui-per-git/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Gitg &#8211; Un altra Gui per Git!" data-url="http://davideaversa.it/slashcode/2010/05/gitg-un-altra-gui-per-git/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><a href="http://davideaversa.it/slashcode/wp-content/uploads/2010/05/gitglinux.png"><img class="alignleft size-thumbnail wp-image-583" title="Gitg" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/05/gitglinux-150x150.png" alt="" width="150" height="150" /></a>So che lo state pensando. &#8220;Oh no! Un altra GUI per Git! Che dio ci scampi!&#8221;. Effettivamente di gui per git ce ne sono a valanghe. Ognuna con i suoi vantaggi e svantaggi. Però <strong>Gitg</strong> ha qualcosa che te la fa preferire. Innanzitutto è ben integrato con GNOME, secondo ha una velocità impressionante nel caricare repository di enormi dimensioni (dall&#8217;immagine potete vedere che carica più di 17.000 commit in meno di un secondo).</p>
<p>E poi è graficamente gradevole con i suoi colori e amenità varie. E questo non guasta mai. <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Il programma è disponibile nei repo ufficiali di Lucid ma vi consiglio di usare la versione 0.0.6 che invece trovate nei repo di Maverik. Potete prenderla direttamente da la, non ci sono problemi.</p>
<p>Unica pecca il supporto ai repository remoti non ancora completo.</p>
<p>Se vi capita provatelo. Buon sabato.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=582&amp;md5=3c0170007c82e6045d7271a77dd5909e" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2010/05/gitg-un-altra-gui-per-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F05%2Fgitg-un-altra-gui-per-git%2F&amp;language=it_IT&amp;category=text&amp;title=Gitg+%26%238211%3B+Un+altra+Gui+per+Git%21&amp;description=So+che+lo+state+pensando.+%26%238220%3BOh+no%21+Un+altra+GUI+per+Git%21+Che+dio+ci+scampi%21%26%238221%3B.+Effettivamente+di+gui+per+git+ce+ne+sono+a+valanghe.+Ognuna+con+i+suoi...&amp;tags=cvs%2Cgit%2Cgnome%2Cgtk%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Creare e gestire un progetto su Launchpad</title>
		<link>http://davideaversa.it/slashcode/2009/10/creare-e-gestire-un-progetto-su-launchpad/</link>
		<comments>http://davideaversa.it/slashcode/2009/10/creare-e-gestire-un-progetto-su-launchpad/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 08:24:14 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[launchpad]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=449</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2009/10/creare-e-gestire-un-progetto-su-launchpad/"><img title="Creare e gestire un progetto su Launchpad" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/10/launchpadp-diamond-150x150.png" alt="Creare e gestire un progetto su Launchpad"  width="200" height="200" /></a></div><br/>Abbiamo visto in qualche articolo precedente come utilizare Bazaar, il CVS di Launchpad, per gestire il nostro codice e upparlo sul server remoto. All&#8217;epoca però avevo volutamente tralasciato due punti per questioni di spazio: come creare un progetto su Launchpad e, soprattutto, come gestirlo fra più utenti. Due cose che, per chi usa Bazaar per <a href='http://davideaversa.it/slashcode/2009/10/creare-e-gestire-un-progetto-su-launchpad/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F10%2Fcreare-e-gestire-un-progetto-su-launchpad%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2009/10/creare-e-gestire-un-progetto-su-launchpad/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Creare e gestire un progetto su Launchpad" data-url="http://davideaversa.it/slashcode/2009/10/creare-e-gestire-un-progetto-su-launchpad/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft size-thumbnail wp-image-450" title="Launchpad" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/10/launchpadp-diamond-150x150.png" alt="Launchpad" width="150" height="150" />Abbiamo visto in qualche articolo precedente come utilizare <strong>Bazaar</strong>, il CVS di Launchpad, per gestire il nostro codice e upparlo sul server remoto. All&#8217;epoca però avevo volutamente tralasciato due punti per questioni di spazio: <strong>come creare un progetto su Launchpad</strong> e, soprattutto, <strong>come gestirlo fra più utenti</strong>. Due cose che, per chi usa Bazaar per piccoli progetti personali, non hanno molta importanza ma diventano indispensabili per chi vuole sviluppare un progetto in collaborazione con più persone.</p>
<p>La prima cosa da fare è sicuramente <strong>registrarsi su <a href="https://launchpad.net/">Launchpad</a>.</strong> La registrazione è molto semplice e non penso necessiti di ulteriori spiegazioni.</p>
<p>Una volta che abbiamo il nostro utente è necessario configurare una chiave <strong>RSA</strong> per il collegamento sicuro <strong>SSH</strong>. Per fare questo dobbiamo aprire il terminale e digitare:</p>
<p><code class="codecolorer bash dawn"><span class="bash"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span></span></code></p>
<p>E seguire le istruzioni. Una volta completato avremo il file <strong>id_rsa.pub </strong>con la nostra chiave pubblica nella cartella <strong>.ssh</strong> all&#8217;interno della nostra Home. Fatto questo andiamo sul nostro profilo in Launchpad, individuiamo la voce <strong>SSH Keys</strong> e clicchiamo sul bollino giallo a fianco. Noterete una casella di testo piuttosto grande: <strong>copiate lì il contenuto del file id_rsa.pub</strong> e data infine <em>Import Public Key</em>.</p>
<p>Ora siete pronti per creare il progetto. Anche qui la procedura è semplice: dalla Home Page di Launchpad, sotto <em>Get Started</em>, troverete il link per <em>Create new project</em>. Cliccateci sopra ed inserite le informazioniche vichiede, sono tutte molto ovvie, nome, descrizione del progetto, url e via dicendo.</p>
<p>Avrete a disposizione ora la nuova pagina per il vostro progetto.</p>
<p>La prima cosa da fare è creare una <em>series</em>. Una serie non è altro che una &#8220;corrente&#8221; di sviluppo. Progetti complessi hanno solitamente più series: la <strong>trunk</strong> che contiene gli ultimi sviluppi, una series per laversione 0.5, una series per la versione 0.6 e così via. All&#8217;inizio vi conviene partire con la serie base, la <strong>trunk</strong>. Createla.</p>
<p>Una volta creata la serie dovete creare un <strong>branches</strong> o <strong>ramo</strong>. I <strong>rami </strong>corrispondono a vari percorsi di sviluppo all&#8217;interno della stessa serie. Se le <em>series</em> indicano qual&#8217;è il fine di un percorso di sviluppo, i <em>branches</em> rappresentano le varie strade che conducono a tale fine. Infatti, solitamente , tutti i rami di una serie, alla fine del ciclo di sviluppo, o vengono eliminati o si riuniscono nella cosiddetta versione &#8220;stable&#8221;.</p>
<p>Creato il vostro ramo (che solitamente essendo il principale si chiama, con molta fantasia, <strong>main</strong>) potete uppare il vostro progetto con bazaar come spiegato nell&#8217;apposita guida. In generale basta il comando:</p>
<p><code class="codecolorer text dawn"><span class="text">$ bzr push lp:~userid/project-name/branch-name</span></code></p>
<p>Se non sapete come usare bazaar datevi una letta alla <a href="http://davideaversa.it/slashcode/2009/09/quick-start-bazaar/">pratica guida</a>.</p>
<p>Ora è il momento di scegliere come far collaborare il gruppo al progetto. Esistono infatti 3 approcci differenti:</p>
<ul>
<li><strong>Centralizzato: </strong>Tutti i membri del gruppo inviano i propri commit direttamente sul server remoto (meccanismo di Subversion).</li>
<li><strong>Centralizzato con commit locali</strong>: Ogni membro commissiona alcuni commit locali e, quando è pronto, invia sul server remoto tutti i commit in un solo colpo (meccanismo di Git).</li>
<li><strong>Decentralizzato con guida condivisa:</strong> Ogni utente ha il proprio ramo di sviluppo che all&#8217;occorrenza viene &#8220;fuso&#8221; con un ramo principale (<em>main</em>).</li>
</ul>
<p>In questa guida spiegherò il meccanismo più semplice e intuitivo. Il <strong>centralizzato. </strong></p>
<p>Il meccanismo centralizzato è il più semplice ma anche il più rigido dei meccanismi. Si adatta bene a gruppi non molto numerosi e che possono facilmente tenersi in contatto. In gruppi troppo numerosi infatti la possibilità di conflitti cresce esponenzialmente.</p>
<p>Per spiegare questo meccanismo supponiamo che ci sia un gruppo di sviluppo composto da tre utenti: <strong>L, Q e H. </strong>(messaggio subliminale).</p>
<ul>
<li>I tre membri creano un team, che si chiama casualmente proprio <strong>LQH</strong>, cliccando l&#8217;apposito link nell&#8217;home di Launchpad (non penso sia complicato ma se avete difficoltà ditemelo che aggiungerò questa parte).</li>
<li>Tutti e tre i membri devono effettuare il <strong>checkout</strong> del progetto. Per fare ciò si aprono il terminale nella cartella dei loro progetti e digitano:<br />
<code class="codecolorer bash dawn"><span class="bash">&nbsp;$ bzr checkout lp:team-name<span style="color: #000000; font-weight: bold;">/</span>project-name<span style="color: #000000; font-weight: bold;">/</span>branch-name</span></code></li>
<li><strong>L</strong> decide di effettuare alcune modifiche al codice. Le fa tranquillamente e alla fine commissiona con<br />
<code class="codecolorer bash dawn"><span class="bash"><span style="color: #666666;">$ </span>bzr commit <span style="color: #660033;">-m</span> <span style="color: #ff0000;">&quot;Messaggio&quot;</span></span></code></li>
<li><strong>Q </strong>e <strong>H </strong>a questo punto possono aggiornare la loro cartella con<br />
<code class="codecolorer bash dawn"><span class="bash"><span style="color: #666666;">$ </span>bzr update</span></code></li>
<li>Se <strong>Q </strong>o <strong>H</strong> avessero fatto modifiche al codice prima dell&#8217;update le due verisone verrebbero &#8220;fuse&#8221;. Nonostante  ciò è possibile che si verifichino dei conflitti. Questi vanno risolti (spesso a mano) prima di effettuare nuovamente l&#8217;update.</li>
</ul>
<p>Questo è il meccanismo base con il quale potete organizzare un progetto su Launchpad con Bazaar. Ovviamente ci sono piccoli trucchi che imparerete col tempo che miglioreranno la vostra produttività.</p>
<p>Qui mi sono già dilungato troppo. Se ci sono problemi tornerò volentieri sull&#8217;argomento.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=449&amp;md5=0ec74454acf4c7b8c3097221dea2a1e8" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2009/10/creare-e-gestire-un-progetto-su-launchpad/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F10%2Fcreare-e-gestire-un-progetto-su-launchpad%2F&amp;language=it_IT&amp;category=text&amp;title=Creare+e+gestire+un+progetto+su+Launchpad&amp;description=Abbiamo+visto+in+qualche+articolo+precedente+come+utilizare+Bazaar%2C+il+CVS+di+Launchpad%2C+per+gestire+il+nostro+codice+e+upparlo+sul+server+remoto.+All%26%238217%3Bepoca+per%C3%B2+avevo+volutamente+tralasciato+due+punti...&amp;tags=bazaar%2Ccvs%2Claunchpad%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Quick Start &#8211; Bazaar</title>
		<link>http://davideaversa.it/slashcode/2009/09/quick-start-bazaar/</link>
		<comments>http://davideaversa.it/slashcode/2009/09/quick-start-bazaar/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 13:38:05 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[bzr]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[launchpad]]></category>

		<guid isPermaLink="false">http://slashcode.wordpress.com/?p=299</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2009/09/quick-start-bazaar/"><img title="Quick Start &#8211; Bazaar" src="http://www.frostmage.org/blog/wp-content/uploads/2009/04/bazaar-version-control-system-in-launchpad.jpg" alt="Quick Start &#8211; Bazaar"  width="" /></a></div><br/>Dopo aver visto a grandi linee come funziona Git adesso ci occupiamo di quello che reputo il più agguerrito concorrente di Git: Bazaar. Bazaar ha un vantaggio fondamentale: è supportato da Launchpad, la migliore e la più completa piattaforma di project-hosting a mio avviso. Contro bazaar pendono soprattutto due critiche: bazaar è mediamente più lento <a href='http://davideaversa.it/slashcode/2009/09/quick-start-bazaar/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F09%2Fquick-start-bazaar%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2009/09/quick-start-bazaar/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Quick Start &#8211; Bazaar" data-url="http://davideaversa.it/slashcode/2009/09/quick-start-bazaar/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft" title="Bazaar Logo" src="http://www.frostmage.org/blog/wp-content/uploads/2009/04/bazaar-version-control-system-in-launchpad.jpg" alt="" width="183" height="185" />Dopo aver visto a grandi linee come funziona <strong>Git</strong> adesso ci occupiamo di quello che reputo il più agguerrito concorrente di Git: <strong>Bazaar</strong>. Bazaar ha un vantaggio fondamentale: è supportato da <a href="http://launchpad.net/">Launchpad</a>, la migliore e la più completa piattaforma di project-hosting a mio avviso. Contro bazaar pendono soprattutto due critiche: bazaar è mediamente <strong>più lento</strong> di Git e <strong>più insicuro</strong> in quanto l&#8217;algoritmo crittografico di Git è praticamente inviolabile mentre bazaar è leggermente meno sicuro.</p>
<p>Ciò non toglie che per quei progetti che non siano <strong>immensi</strong> le differenze sono trascurabili.</p>
<p>Vediamo come utilizzare bazaar:</p>
<p>Innanzitutto dobbiamo presentarci. Per fare questo utilizziamo i comandi:</p>
<pre>$ bzr whoami "Bill Gates &lt;ilovemac@gmail.com&gt;"
</pre>
<p>Una volta fatto ciò andiamo nella cartella del nostro progetto e diamo:</p>
<pre>$ bzr init
$ bzr add
</pre>
<p>In questo modo tutta la cartella verrà ricorsivamente aggiunta al sistema. Confermiamo con:</p>
<pre>$ bzr commit -m "First commit"
</pre>
<p>Adesso si può inviare il progetto su launchpad con:</p>
<pre>$ bzr push bzr+ssh://bill.gates@bazaar.launchpad.net/~bill.gates/+junk/myproject
</pre>
<p>Come avete visto bazaar è leggermente più intuitivo e permette un più facile management.</p>
<p>Con questi pochi semplici comandi potete già cominciare a lavorare. <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Quello che personalmente mi mancha è una gui potente come quella di Git. Ma vedrò di fare qualche ricerca.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=299&amp;md5=a2d02d9bc12363864071f79ee5150e49" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2009/09/quick-start-bazaar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F09%2Fquick-start-bazaar%2F&amp;language=it_IT&amp;category=text&amp;title=Quick+Start+%26%238211%3B+Bazaar&amp;description=Dopo+aver+visto+a+grandi+linee+come+funziona+Git+adesso+ci+occupiamo+di+quello+che+reputo+il+pi%C3%B9+agguerrito+concorrente+di+Git%3A+Bazaar.+Bazaar+ha+un+vantaggio+fondamentale%3A+%C3%A8+supportato...&amp;tags=bazaar%2Cbzr%2Ccvs%2Claunchpad%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Gitk &#8211; Una GUI per Git</title>
		<link>http://davideaversa.it/slashcode/2009/09/git-gitk/</link>
		<comments>http://davideaversa.it/slashcode/2009/09/git-gitk/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 10:29:22 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git-gui]]></category>
		<category><![CDATA[gitk]]></category>

		<guid isPermaLink="false">http://slashcode.wordpress.com/?p=255</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2009/09/git-gitk/"><img title="Gitk &#8211; Una GUI per Git" src="http://lwn.net/images/ns/kernel/gitk.png" alt="Gitk &#8211; Una GUI per Git"  width="183" height="200" /></a></div><br/>Gitk e Git-Tool sono due strumenti che permettono di interagire con git esclusivamente (o quasi) per via grafica. Grazie a questi tool si può, inoltre, visualizzare un grafico che riassume la storia del progetto. Possiamo creare branches, fare merge, commit, push, possiamo comprimere il database per aumentre le prestazioni, possiamo vedere quali file sono stati modificati ma non ancora commissionati e gestire i repository remoti (come Gitorious).]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F09%2Fgit-gitk%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2009/09/git-gitk/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Gitk &#8211; Una GUI per Git" data-url="http://davideaversa.it/slashcode/2009/09/git-gitk/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p>Dopo aver visto un po di comandi base di Git è giunto il momento di vedere un tool molto semplice per avere tutta la storia del progetto a portata di click.</p>
<p><strong>Gitk</strong> è un tool grafico scritto con le librerie Tk per interagire con Git. Permette di navigare con facilità attraverso i vari commit e i vari rami del progetto. Possiamo installarlo facilmente con:</p>
<pre># apt-get install gitk
# apt-get install git-gui</pre>
<p>Una volta installato basta spostarci nella cartella del programma e dare:</p>
<pre>$ gitk</pre>
<p>A questo punto ci apparirà una finestra simile a quella mostrata nello screenshot.</p>
<p style="text-align:center;"><a href="http://lwn.net/images/ns/kernel/gitk.png"><img class="aligncenter" title="Screenshot" src="http://lwn.net/images/ns/kernel/gitk.png" alt="" width="335" height="364" /></a></p>
<p style="text-align:left;">Nella finestra possiamo identificare subito 3 zone:</p>
<ul>
<li><strong>La finestra del grafo.</strong> In alto. Qui sono mostrati i vari commit con la loro descrizione. A sinistra di c&#8217;è la rappresentazione grafica dei vari rami. Delle linee che mostrano la storia del progetto, le divisioni e le riunificazioni dei vari rami. Così che si possa facilmente capire come si distribuiscono le varie linee di progetto.</li>
<li><strong>La finestra dei diff.</strong> A sinistra. Qui, per ogni commit, vengono mostrate in dettaglio le differenza fra la versione attuale e quella precedente.</li>
<li><strong>La finestra dei file.</strong> Dove vengono mostrati, per ogni commit, i file interessati da modifiche.</li>
</ul>
<p>Ma la caratteristica principale è nascosta nel menù <strong>file. </strong>Da qui infatti possiamo avviare <strong>git-gui</strong> (tramite <em>Start git gui</em>).</p>
<p><strong>Git-Gui </strong>è il tool per eccellenza. Ci permetti di fare per via grafica gran parte delle operazioni di Git. Possiamo creare branches, fare merge, commit, push, possiamo comprimere il database per aumentre le prestazioni, possiamo vedere quali file sono stati modificati ma non ancora commissionati e gestire i repository remoti (come Gitorious).</p>
<p>Insomma, abbiamo a disposizione un tool molto potente, leggero e versatile per poter dimenticare il terminale in quasi tutti i casi di utilità. Resta il fatto che i comandi da terminale è sempre meglio saperli.</p>
<p>Vi consiglio vivamente di provarlo.</p>
<p>Alla prossima.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=255&amp;md5=a6c08ad1fbd6ec4b52109320e54f26f4" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2009/09/git-gitk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F09%2Fgit-gitk%2F&amp;language=it_IT&amp;category=text&amp;title=Gitk+%26%238211%3B+Una+GUI+per+Git&amp;description=Dopo+aver+visto+un+po+di+comandi+base+di+Git+%C3%A8+giunto+il+momento+di+vedere+un+tool+molto+semplice+per+avere+tutta+la+storia+del+progetto+a+portata+di...&amp;tags=cvs%2Cgit%2Cgit-gui%2Cgitk%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Git &#8211; Log e Branches</title>
		<link>http://davideaversa.it/slashcode/2009/09/git-log-e-branches/</link>
		<comments>http://davideaversa.it/slashcode/2009/09/git-log-e-branches/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 15:25:08 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://slashcode.wordpress.com/?p=247</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2009/09/git-log-e-branches/"><img title="Git &#8211; Log e Branches" src="http://www.freefoto.com/images/15/19/15_19_65---Tree-Branches_web.jpg" alt="Git &#8211; Log e Branches"  width="134" height="200" /></a></div><br/>Continuiamo a parlare di Git. Dopo aver visto come inizializzare un progetto e gestire le varie modifiche semplicemente con git-add e git-commit, vediamo come ottenere la lista delle varie modifiche e come gestire i vari rami di sviluppo. Innanzitutto affrontiamo la questione dei log. I log sono dei riassunti in cui sono elencati via via <a href='http://davideaversa.it/slashcode/2009/09/git-log-e-branches/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F09%2Fgit-log-e-branches%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2009/09/git-log-e-branches/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Git &#8211; Log e Branches" data-url="http://davideaversa.it/slashcode/2009/09/git-log-e-branches/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft" title="Branches" src="http://www.freefoto.com/images/15/19/15_19_65---Tree-Branches_web.jpg" alt="" width="169" height="252" />Continuiamo a parlare di Git. Dopo aver visto come inizializzare un progetto e gestire le varie modifiche semplicemente con <em>git-add </em>e <em>git-commit</em>, vediamo come ottenere la lista delle varie modifiche e come gestire i vari <em>rami</em> di sviluppo.</p>
<p>Innanzitutto affrontiamo la questione dei log. I <em>log</em> sono dei riassunti in cui sono elencati via via tutti i vari <em>commit</em> che sono stati inviati.<strong> </strong><em>Git</em> permette di creare un gran numero di log con un enorme lista di opzioni. Io presenterò solo le tre forme più diffuse lasciandovi, per il momento, il divertimento di legger <em>man git-log</em> per vedere in dettaglio tutte le varie opzioni.</p>
<p>Il log più semplice è sicuramente</p>
<pre>$ git log</pre>
<p>Con questo comando otterrete semplicemente la lista di tutti i commit con data e autore.</p>
<p>Se invece volete sapere, per ogni commit, anche quali modifiche siano state effettuate vi basta digitare:</p>
<pre>$ git log -p</pre>
<p>In questo modo alla lista precedente verrà aggiunto anche il<em> diff</em> corrispondente ovvero una lista dettagliata della modifica effettuata.</p>
<p>Spesso però la lista dettagliata non interessa, ma interessa soltanto un riassunto che ci dica l&#8217;entità delle modifiche effettuate su ogni file.</p>
<pre>$ git log --stat --summary</pre>
<p>Questo comando mostra, per ogni commit, quante righe sono state modificate/aggiunte/rimosse per ogni file.</p>
<p><strong>Ora vediamo invece come gestire i vari rami di sviluppo.</strong></p>
<p>Supponiamo di voler creare un ramo sperimentale per la nostra applicazione. Per creare questo ramo ci basta digitare:</p>
<pre>$ git branch experimental</pre>
<p>Ora il nostro ramo è stato creato e per apportargli modifiche ci basta dare</p>
<pre>$ git checkout experimental</pre>
<p>Ora siamo nel ramo experimental. Possiamo modificare liberamente i nostri file e, dopo aver modificato a piacere, tornare di nuovo al ramo principale con</p>
<pre>$ git checkout master</pre>
<p>Noterete che le modifiche appena fatte non sono più visibili. Esse infatti sono state fatte nel ramo experimental. Ora potete fare delle modifiche diverse nel ramo &#8220;master&#8221; causando così la separazione dei due rami.</p>
<p>A questo punto potreste voler riunire di nuovo i due rami perché avete visto che la modifica in experimental funziona meglio della versione originale. Per fare ciò basta un semplicissimo</p>
<pre>$ git merge experimental</pre>
<p>E, se non ci sono conflitti, avete concluso. In caso di conflitti invece le righe conflittuali verranno marcate così da semplificare la loro adeguazione.</p>
<p>Ora non vi resta che cancellare il ramo experimental, se non vi serve più, con</p>
<pre>$ git branch -d experimental</pre>
<p>Come vedete la gestione dei rami è decisamente semplice e vi permette in modo rapido e sicuro di <em>azzardare</em> modifiche al codice mantenendo sempre una versione <em>stabile</em> su cui appoggiarvi.</p>
<p>Ovviamente potete mantenere contemporaneamente qualunque numero di branches vogliate.</p>
<p>Hai richieste al riguardo? Commenta o visita il forum!<br />
<a href="http://www.linuxqualityhelp.it/supporto" target="_blank"><img src="http://www.linuxqualityhelp.it/lqh_help.png" alt="Serve aiuto? LQH!"></a></p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=247&amp;md5=c71bd5c6a22d9fd830a96a08dcddb967" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2009/09/git-log-e-branches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F09%2Fgit-log-e-branches%2F&amp;language=it_IT&amp;category=text&amp;title=Git+%26%238211%3B+Log+e+Branches&amp;description=Continuiamo+a+parlare+di+Git.+Dopo+aver+visto+come+inizializzare+un+progetto+e+gestire+le+varie+modifiche+semplicemente+con+git-add+e+git-commit%2C+vediamo+come+ottenere+la+lista+delle+varie+modifiche...&amp;tags=branch%2Ccvs%2Cgit%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Git &#8211; Hostare un progetto su Gitorious</title>
		<link>http://davideaversa.it/slashcode/2009/08/git-hostare-un-progetto-su-gitorious/</link>
		<comments>http://davideaversa.it/slashcode/2009/08/git-hostare-un-progetto-su-gitorious/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 08:33:54 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[gitorious]]></category>
		<category><![CDATA[version control system]]></category>

		<guid isPermaLink="false">http://slashcode.wordpress.com/?p=217</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2009/08/git-hostare-un-progetto-su-gitorious/"><img title="Git &#8211; Hostare un progetto su Gitorious" src="http://slashcode.files.wordpress.com/2009/08/logo-cube-text.png" alt="Git &#8211; Hostare un progetto su Gitorious"  width="" /></a></div><br/>Precedentemente abbiamo visto come muovere i primi passi con Git. Ovviamente usare un CVS in locale non sfrutta le sue massime potenzialità. Dobbiamo quindi trovare un host remoto sul quale condividere il progetto. Quello che uso io è Gitorious. Gitorious offre hosting gratuito per tutti quei progetti con licenze riconosciute dalla Free Software Foundation. Se <a href='http://davideaversa.it/slashcode/2009/08/git-hostare-un-progetto-su-gitorious/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F08%2Fgit-hostare-un-progetto-su-gitorious%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2009/08/git-hostare-un-progetto-su-gitorious/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Git &#8211; Hostare un progetto su Gitorious" data-url="http://davideaversa.it/slashcode/2009/08/git-hostare-un-progetto-su-gitorious/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft size-full wp-image-218" title="Gitorious" src="http://slashcode.files.wordpress.com/2009/08/logo-cube-text.png" alt="Gitorious" width="95" height="95" />Precedentemente abbiamo visto come muovere i primi passi con <strong>Git</strong>. Ovviamente usare un CVS in locale non sfrutta le sue massime potenzialità.</p>
<p>Dobbiamo quindi trovare un host remoto sul quale condividere il progetto. Quello che uso io è <a href="http://gitorious.org/"><strong>Gitorious</strong></a>. Gitorious offre hosting gratuito per tutti quei progetti con licenze riconosciute dalla Free Software Foundation. Se avete bisogno di hosting per software closed, oltre a non avere la mia stima, dovrete ricorrere a hosting a pagamento (basta una rapida ricerca su Google).</p>
<p>Per prima cosa dobbiamo registrarci. La procedura è semplice e non richiede nessuna conoscenza particolare. Dopodiché creiamo un nuovo progetto cliccando sul bottone in fondo a destra.</p>
<p>Dopo aver inserito i dati del progetto vi verrà chiesto di inserire la vostra <strong>chiave SSH pubblica</strong> per garantire la massima sicurezza. Se non avete una chiave ssh è il momento di crearne una con il comando:</p>
<pre>$ ssh-keygen</pre>
<p>Vi verrà chiesto di inserire la password. Inseritela e al termine della procedura avrete la vostra chiave nel file <em>.ssh/id_rsa.pub</em> nella vostra home.</p>
<p>Ora potete aprire questo file e copiarne il contenuto per inserirlo in Gitorious e fargli accettare questa chiave.</p>
<p>Subito dopo dovrete creare il primo <em>repository</em> del vostro progetto. Un repository non è altro che uno <em>scaffale</em> che contiente il vostro codice. In progetti complessi potreste aver bisogno di mantenere contemporaneamente più versioni del vostro programma (ad esempio risolvendo bug della versione stable e intanto preparare la nuova versione). In questo caso vi basterà creare due repository, uno per la versione stable (es: <em>pippo2.0</em>) e un altro per la versione di sviluppo (es:<em> trunk</em>).</p>
<p>A voi però per il momento ne basta uno. Createlo seguendo le indicazioni e avrete finito.</p>
<p>Ora dovete configurare git affinché riconosca il repository remoto appena creato.</p>
<p>Aprite il file <em>.git/config</em> nella cartella del vostro progetto e inserite come segue:</p>
<pre>[remote "origin"]
       url = git@gitorious.org:<em>project</em>/<em>repository.git</em>
       fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
       remote = origin
       merge = refs/heads/master</pre>
<p>Sostituendo a <em>project</em> il nome del progetto su Gitorious, e a <em>repository</em> il nome del repository. Questa configurazione istruisce git dicendogli che il <em>branch</em> locale <em>master</em> ha il suo corrispettivo remoto <em>origin. </em></p>
<p>A questo punto per spedire il vostro progetto nella rete non basta che dare:</p>
<pre>$ git push</pre>
<p>E godersi l&#8217;idea che il proprio progetto fa ora parte del fantastico mondo del Free Software.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=217&amp;md5=f42b406bb60d9e824cedc020e6b8a920" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2009/08/git-hostare-un-progetto-su-gitorious/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F08%2Fgit-hostare-un-progetto-su-gitorious%2F&amp;language=it_IT&amp;category=text&amp;title=Git+%26%238211%3B+Hostare+un+progetto+su+Gitorious&amp;description=Precedentemente+abbiamo+visto+come+muovere+i+primi+passi+con+Git.+Ovviamente+usare+un+CVS+in+locale+non+sfrutta+le+sue+massime+potenzialit%C3%A0.+Dobbiamo+quindi+trovare+un+host+remoto+sul+quale...&amp;tags=cvs%2Cgit%2Cgitorious%2Cversion+control+system%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>

