<?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>Caio&#039;s Blog &#187; SVN</title>
	<atom:link href="http://www.dreamtec.it/caioblog/index.php/tag/svn/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dreamtec.it/caioblog</link>
	<description>A life in technique</description>
	<lastBuildDate>Mon, 06 Feb 2012 12:20:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SVN &amp; Visual Studio: take it easy!rpdzkay7f4pmebb7jj8qzzwcvv8ce3ucSVN &amp; Visual Studio: take it easy!</title>
		<link>http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/</link>
		<comments>http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 20:41:44 +0000</pubDate>
		<dc:creator>Caio</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PiCi]]></category>
		<category><![CDATA[Ankh]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://www.dreamtec.cc/caioblog/?p=363</guid>
		<description><![CDATA[(Italiano &#8594; English) View originalTranslators: Da qualche tempo meditavo sull’utilità di iniziare ad usare SVN, perchè la condivisione di progetti software tra più persone può diventare un problema soprattutto quando gli IDE (leggi VS) non ti aiutano, dimenticandosi di uploadare o scaricare parti di progetto dall’FTP condiviso dal Team.5gqo16ne0t8tqzyfn6hsjto0zahow9ca Perciò, armato del necessario (pc, web, [...]]]></description>
			<content:encoded><![CDATA[<span id="wwl-content-363"><blockquote class="wwl-decorations">(Italiano &rarr; English) <a href"#" onclick="wwl.swap('363_tr', '363'); return false;">View original</a><div>Translators: <span id="wwl-translators-363"></span></div></blockquote><span dir="ltr" lang="en"><p><span class="wwl-translated-fragment">Da qualche tempo meditavo sull’utilità di iniziare ad usare <strong>SVN</strong>, perchè la condivisione di progetti software tra più persone può diventare un problema soprattutto quando gli IDE (leggi VS) non ti aiutano, dimenticandosi di uploadare o scaricare parti di progetto dall’FTP condiviso dal Team.</span><span class="wwl-original-fragment wwl-hide">xniwzrfpvj1bx4u0ii7tidajld2za1lz</span></p>
<p><span class="wwl-translated-fragment">Perciò, armato del necessario (pc, web, pazienza e un po di tempo) mi sono studiato le diverse soluzioni disponibili per capire quale potesse essere la migliore per un gruppo di sviluppatori che utilizzassero prevalentemente <a href="http://it.wikipedia.org/wiki/Visual_Studio_.NET" target="_blank" rel="nofollow" class="liwikipedia">Visual Studio</a>.</span><span class="wwl-original-fragment wwl-hide">xpr3iogcbsigboedfqp3x6gdaihbn78t</span></p>
<p><span class="wwl-translated-fragment">Ovviamente esistono una marea di articoli che spiegano più o meno bene come utilizzare il tutto, ma li ho trovati in buona parte troppo lunghi o incompleti per la mia soluzione in particolare: per questo ho deciso di scrivermi queste poche righe<sup><a href="http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/#footnote_0_363" id="identifier_0_363" class="footnote-link footnote-identifier-link" title="<span class="wwl-translated-fragment">not true, the reason is not only to</span><span class="wwl-original-fragment wwl-hide">6uhc11pf771ve9mc8ylls6b38q7f9cu7</span>">1</a></sup> sicuro del fatto che torneranno buone anche ad altri<sup><a href="http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/#footnote_1_363" id="identifier_1_363" class="footnote-link footnote-identifier-link" title="   ">2</a></sup> e mi aiuteranno a superare le mie simpatiche amnesie..</span><span class="wwl-original-fragment wwl-hide">yp9owa1fswymqa1xacioftchnotnv3ei</span></p>
<p><span class="wwl-translated-fragment">Ma..<sup><a href="http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/#footnote_2_363" id="identifier_2_363" class="footnote-link footnote-identifier-link" title=" Come dice il mio caro collega&#8230; ">3</a></sup> torniamo a noi: il metodo più veloce e utile che ho trovato consiste in pochi semplici passaggi. Eccoli:</span><span class="wwl-original-fragment wwl-hide">yr52djctrkfs4dmwo854v1vyou7h54a9</span></p>
<ol>
<li><span class="wwl-translated-fragment">Installazione del <strong>server SVN</strong> sul pc condiviso per i progetti. Ho utilizzato <a href="http://www.visualsvn.com/server/" target="_blank" class="liexternal">VisualSVN server</a> e mi è sembrato semplice, comodo e veloce. Una volta installato è un gioco da ragazzi creare un repository in una directory dedicata, creare gli utenti per l’accesso al repository ed assegnarli allo stesso. Include già apache con webdav per la consultazione via web e si autoconfigura su https.</span><span class="wwl-original-fragment wwl-hide">zrnnr6xw8ovykz8giuzpdos210jud0gy</span></li>
<li><span class="wwl-translated-fragment">Installazione del <strong>plugin <a href="http://ankhsvn.open.collab.net/" target="_blank" class="liexternal">Ankh </a>per Visual Studio</strong>, pienamente compatibile anche con VS2008 e – diversamente da quanto ho letto su svariati blog che lo davano come poco stabile o funzionale<sup><a href="http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/#footnote_3_363" id="identifier_3_363" class="footnote-link footnote-identifier-link" title=" <span class="wwl-translated-fragment">Commenti risalenti a svariati mesi fa per cui probabilmente relativi a versioni vecchie</span><span class="wwl-original-fragment wwl-hide">7mfzqqnsmv06gx2kauig9b5j6ofkp1z7</span> ">4</a></sup> – molto stabile e completo.</span><span class="wwl-original-fragment wwl-hide">zrfn2i3hqna41mx6at4ly5fh37s7en6i</span></li>
</ol>
<p><span class="wwl-translated-fragment">Una volta installati i due componenti fondamentali ecco cosa bisogna fare per iniziare ad usarlo.</span><span class="wwl-original-fragment wwl-hide">zt1nm1tdogsadogzrcgpcj7ngc90uyje</span></p>
<p><span class="wwl-translated-fragment">Avete creato il vostro progetto in Visual Studio? Bene. E’ necessario aggiungerlo all’SVN server. Tasto destro sulla soluzione del progetto, “Add Solution to subversion..”. Si apre una finestrella che chiede il nome del progetto, l’url del repository SVN, e la cartella locale con cui sincronizzare il progetto.</span><span class="wwl-original-fragment wwl-hide">0k3vvggd4faf28b8fcp4cgjnd53b0msn</span></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/creafold.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-367" title="Crea cartella" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/creafold-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p><span class="wwl-translated-fragment">Qui dentro si può creare una cartella relativa al nuovo progetto che si sta creando, in modo da avere N progetti all’interno di un’unico repository.</span><span class="wwl-original-fragment wwl-hide">0ymetr0g1msk1ahy9rwt0weetm94voy9</span></p>
<p><span class="wwl-translated-fragment">Fatto questo sarà possibile aggiungere un commento al file di log relativo all’inserimento, che verrà poi visualizzato in futuro quando si andrà a consultare la history. A questo punto i file nel Solution Explorer appariranno con una piccola croce blu accanto ad agnuno, il che significa che è stato creato un nuovo elemento per l’SVN non ancora replicato (committato fa davvero schifo!) sul server.</span><span class="wwl-original-fragment wwl-hide">1pon26nghlaqpuc8xq581spdqe3g0c7i</span></p>
<p><span class="wwl-translated-fragment">Per replicare le modifiche sul server infatti in ogni momento è sufficiente scegliere l’apposito pulsante “Commit solution changes” (o Commit.. e basta sul singolo file) sempre disponibile tra le opzioni sul progetto (tasto dx…).</span><span class="wwl-original-fragment wwl-hide">1fqwcmagxlrvee7hlpfm2p1cn7xr61hq</span></p>
<p><span class="wwl-translated-fragment"><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitcreation.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignleft size-thumbnail wp-image-368" style="border: 5px solid white;" title="commitcreation" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitcreation-150x150.jpg" alt="" width="150" height="150" /></a> Da qui in avanti il progetto è caricato sul server ed è possibile lavorarci da postazioni diverse con la sicurezza che tutte le modifiche verranno tracciate e sarà sempre possibile tornare alla versione precedente. Per verificare l’avvenuto caricamento dei files senza doversi loggare sulla macchina è sufficiente controllare con il browser allo stesso indirizzo inserito per l’SNV repository.</span><span class="wwl-original-fragment wwl-hide">1g8hq8vjep81t0t1ga87kcxg0d93dxnf</span></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/verifyviabrowser1.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-371" title="verifyviabrowser1" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/verifyviabrowser1-300x64.jpg" alt="" width="300" height="64" /></a></p>
<p><span class="wwl-translated-fragment">A questo punto ci aspettiamo che gli altri sviluppatori che accedano al progetto siano costantemente aggiornati sulle modifiche riportate al progetto; per farlo dovranno aprirlo direttamente dall’SVN in modo da ottenere sempre l’ultima versione disponibile.</span><span class="wwl-original-fragment wwl-hide">2iho94v6uxp76kdfdjphy53apjpfr399</span></p>
<p><span class="wwl-translated-fragment">Una volta aperto Visual Studio si può accedere al nuovo sottomenu, presente sotto il menu File, e selezionare la voce “Subversion->Open from subversion”</span><span class="wwl-original-fragment wwl-hide">28jxiji6ax7cu48o1izwz2eambjqwrji</span></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/open_from_svn.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-372" title="open_from_svn" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/open_from_svn-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p><span class="wwl-translated-fragment">Da qui si deve aggiungere l’SVN repository (lo stesso utilizzato precedentemente per il salvataggio del progetto) cliccando sull’apposito palloncino blu in alto nella finestrella, che come atteso chiederà l’autenticazione</span><span class="wwl-original-fragment wwl-hide">3y8dpcgw8coik74i56eg1e3wv5bkzb2o</span></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/loginsvn.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-374" title="loginsvn" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/loginsvn-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p><span class="wwl-translated-fragment">Fatto questo saremo pronti a lavorare sul progetto effettuando tutte le modifiche desiderate. Per ogni modifica effettuata al progetto infatti i file coivolti saranno marcati in modo diverso (con una croce blu per i nuovi elementi, e con un quadrato rosso per i file modificati), segnalando la discrepanza con il repository fino al momento del commit in cui i cambiamenti saranno replicati sul server.</span><span class="wwl-original-fragment wwl-hide">3dd3lz9qoy5nkrbug9rar9caomgvq8i8</span></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/element_added_from_user2.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-375" title="element_added_from_user2" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/element_added_from_user2-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p><span class="wwl-translated-fragment">E cosa succede se un file viene modificato contemporaneamente da due sviluppatori?</span><span class="wwl-original-fragment wwl-hide">43fcufwp4xnt8b63480ps6n9lea7wwrh</span></p>
<p><span class="wwl-translated-fragment">In questo caso se non ci sono conflitti tra le modifiche, i file vengono mergiati senza problemi; viceversa se le modifiche riguardano parti di codice in comune si viene avvertiti con quello che apparentemente può sembrare un errore</span><span class="wwl-original-fragment wwl-hide">4uil3ujpjx5yxv1ds8a4s3z9i74i2k0p</span></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitwithoutcheck1.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-376" title="commitwithoutcheck1" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitwithoutcheck1-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p><span class="wwl-translated-fragment">e le modifiche riportate da entrambe le parti vengono segnalate con opportuni simboli e con il numero di revisione che ha causato il conflitto.</span><span class="wwl-original-fragment wwl-hide">4803153sh3n3wx73mnhshiu0zoabwm6b</span></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitwithoutcheck2.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-377" title="commitwithoutcheck2" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitwithoutcheck2-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p><span class="wwl-translated-fragment"><strong>Altre cose utili che si possono fare:</strong></span><span class="wwl-original-fragment wwl-hide">5njlzfmve959wzdth1oh5yprf4h4rocx</span></p>
<p><span class="wwl-translated-fragment">Visualizzare l’<strong>history </strong>del progetto, in cui vengono segnalati i file modificati nelle diverse revision, e per ogni file è possibile visualizzare cosa è stato modificato (“view solution history”)</span><span class="wwl-original-fragment wwl-hide">51bjtgrfdbmey2mq8u7hw8btlmkyfg2d</span></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/project_history.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-378" title="project_history" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/project_history-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p><span class="wwl-translated-fragment">e trovare chi è la <strong>causa </strong>delle modifiche che hanno fatto esplodere il server su cui era in esecuzione il progetto dopo l’ultima modifica <img src='http://www.dreamtec.it/caioblog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  (Sul file, Subversion-> Blame)</span><span class="wwl-original-fragment wwl-hide">63kpbdr2tk3kbm6462prb1gnarzatmo7</span></p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/returntoprevious.jpg" class="liimagelink" rel="lightbox[363]"><img class="size-medium wp-image-379 alignnone" style="border: 10px solid white;" title="blame" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/returntoprevious-202x300.jpg" alt="" width="202" height="300" /></a><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/blamed.jpg" class="liimagelink" rel="lightbox[363]"><img class="size-medium wp-image-380 alignnone" title="blamed" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/blamed-300x218.jpg" alt="" width="300" height="218" /></a></p>
<p><span class="wwl-translated-fragment">Questo è quanto, l’SVN è <strong>pronto </strong>e non rimane che provare a distruggere tutto! <img src='http://www.dreamtec.it/caioblog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></span><span class="wwl-original-fragment wwl-hide">655pwwizrclqoopwnl0wof8umwh3ax13</span> </p>
<ol class="footnotes"><li id="footnote_0_363" class="footnote"><span class="wwl-translated-fragment">not true, the reason is not only to</span><span class="wwl-original-fragment wwl-hide">6uhc11pf771ve9mc8ylls6b38q7f9cu7</span></li><li id="footnote_1_363" class="footnote"> <img src='http://www.dreamtec.it/caioblog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </li><li id="footnote_2_363" class="footnote"> <span class="wwl-translated-fragment">Come dice il mio caro collega…</span><span class="wwl-original-fragment wwl-hide">7ljlagcfn7j12thlvxv0s3m24i1qf03g</span> </li><li id="footnote_3_363" class="footnote"> <span class="wwl-translated-fragment">Commenti risalenti a svariati mesi fa per cui probabilmente relativi a versioni vecchie</span><span class="wwl-original-fragment wwl-hide">7mfzqqnsmv06gx2kauig9b5j6ofkp1z7</span> </li></ol></span></span><span id="wwl-content-363_tr" class="wwl-decorations wwl-hide"><blockquote>(original) <a href"#" onclick="wwl.swap('363', '363_tr'); return false;">Visualizza English translation</a></blockquote><p>Da qualche tempo meditavo sull’utilità di iniziare ad usare <strong>SVN</strong>, perchè la condivisione di progetti software tra più persone può diventare un problema soprattutto quando gli IDE (leggi VS) non ti aiutano, dimenticandosi di uploadare o scaricare parti di progetto dall’FTP condiviso dal Team.</p>
<p>Perciò, armato del necessario (pc, web, pazienza e un po di tempo) mi sono studiato le diverse soluzioni disponibili per capire quale potesse essere la migliore per un gruppo di sviluppatori che utilizzassero prevalentemente <a href="http://it.wikipedia.org/wiki/Visual_Studio_.NET" target="_blank" rel="nofollow" class="liwikipedia">Visual Studio</a>.</p>
<p>Ovviamente esistono una marea di articoli che spiegano più o meno bene come utilizzare il tutto, ma li ho trovati in buona parte troppo lunghi o incompleti per la mia soluzione in particolare: per questo ho deciso di scrivermi queste poche righe<sup><a href="http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/#footnote_0_363" id="identifier_0_363" class="footnote-link footnote-identifier-link" title="non è vero, il motivo non è solo quello">1</a></sup> sicuro del fatto che torneranno buone anche ad altri<sup><a href="http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/#footnote_1_363" id="identifier_1_363" class="footnote-link footnote-identifier-link" title="   ">2</a></sup> e mi aiuteranno a superare le mie simpatiche amnesie..</p>
<p>Ma..<sup><a href="http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/#footnote_2_363" id="identifier_2_363" class="footnote-link footnote-identifier-link" title=" Come dice il mio caro collega&#8230; ">3</a></sup> torniamo a noi: il metodo più veloce e utile che ho trovato consiste in pochi semplici passaggi. Eccoli:</p>
<ol>
<li>Installazione del <strong>server SVN</strong> sul pc condiviso per i progetti. Ho utilizzato <a href="http://www.visualsvn.com/server/" target="_blank" class="liexternal">VisualSVN server</a> e mi è sembrato semplice, comodo e veloce. Una volta installato è un gioco da ragazzi creare un repository in una directory dedicata, creare gli utenti per l’accesso al repository ed assegnarli allo stesso. Include già apache con webdav per la consultazione via web e si autoconfigura su https.</li>
<li>Installazione del <strong>plugin <a href="http://ankhsvn.open.collab.net/" target="_blank" class="liexternal">Ankh </a>per Visual Studio</strong>, pienamente compatibile anche con VS2008 e – diversamente da quanto ho letto su svariati blog che lo davano come poco stabile o funzionale<sup><a href="http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/#footnote_3_363" id="identifier_3_363" class="footnote-link footnote-identifier-link" title=" Commenti risalenti a svariati mesi fa per cui probabilmente relativi a versioni vecchie ">4</a></sup> – molto stabile e completo.</li>
</ol>
<p>Una volta installati i due componenti fondamentali ecco cosa bisogna fare per iniziare ad usarlo.</p>
<p>Avete creato il vostro progetto in Visual Studio? Bene. E’ necessario aggiungerlo all’SVN server. Tasto destro sulla soluzione del progetto, “Add Solution to subversion..”. Si apre una finestrella che chiede il nome del progetto, l’url del repository SVN, e la cartella locale con cui sincronizzare il progetto.</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/creafold.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-367" title="Crea cartella" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/creafold-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p>Qui dentro si può creare una cartella relativa al nuovo progetto che si sta creando, in modo da avere N progetti all’interno di un’unico repository.</p>
<p>Fatto questo sarà possibile aggiungere un commento al file di log relativo all’inserimento, che verrà poi visualizzato in futuro quando si andrà a consultare la history. A questo punto i file nel Solution Explorer appariranno con una piccola croce blu accanto ad agnuno, il che significa che è stato creato un nuovo elemento per l’SVN non ancora replicato (committato fa davvero schifo!) sul server.</p>
<p>Per replicare le modifiche sul server infatti in ogni momento è sufficiente scegliere l’apposito pulsante “Commit solution changes” (o Commit.. e basta sul singolo file) sempre disponibile tra le opzioni sul progetto (tasto dx…).</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitcreation.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignleft size-thumbnail wp-image-368" style="border: 5px solid white;" title="commitcreation" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitcreation-150x150.jpg" alt="" width="150" height="150" /></a> Da qui in avanti il progetto è caricato sul server ed è possibile lavorarci da postazioni diverse con la sicurezza che tutte le modifiche verranno tracciate e sarà sempre possibile tornare alla versione precedente. Per verificare l’avvenuto caricamento dei files senza doversi loggare sulla macchina è sufficiente controllare con il browser allo stesso indirizzo inserito per l’SNV repository.</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/verifyviabrowser1.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-371" title="verifyviabrowser1" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/verifyviabrowser1-300x64.jpg" alt="" width="300" height="64" /></a></p>
<p>A questo punto ci aspettiamo che gli altri sviluppatori che accedano al progetto siano costantemente aggiornati sulle modifiche riportate al progetto; per farlo dovranno aprirlo direttamente dall’SVN in modo da ottenere sempre l’ultima versione disponibile.</p>
<p>Una volta aperto Visual Studio si può accedere al nuovo sottomenu, presente sotto il menu File, e selezionare la voce “Subversion->Open from subversion”</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/open_from_svn.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-372" title="open_from_svn" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/open_from_svn-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p>Da qui si deve aggiungere l’SVN repository (lo stesso utilizzato precedentemente per il salvataggio del progetto) cliccando sull’apposito palloncino blu in alto nella finestrella, che come atteso chiederà l’autenticazione</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/loginsvn.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-374" title="loginsvn" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/loginsvn-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p>Fatto questo saremo pronti a lavorare sul progetto effettuando tutte le modifiche desiderate. Per ogni modifica effettuata al progetto infatti i file coivolti saranno marcati in modo diverso (con una croce blu per i nuovi elementi, e con un quadrato rosso per i file modificati), segnalando la discrepanza con il repository fino al momento del commit in cui i cambiamenti saranno replicati sul server.</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/element_added_from_user2.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-375" title="element_added_from_user2" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/element_added_from_user2-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p>E cosa succede se un file viene modificato contemporaneamente da due sviluppatori?</p>
<p>In questo caso se non ci sono conflitti tra le modifiche, i file vengono mergiati senza problemi; viceversa se le modifiche riguardano parti di codice in comune si viene avvertiti con quello che apparentemente può sembrare un errore</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitwithoutcheck1.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-376" title="commitwithoutcheck1" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitwithoutcheck1-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p>e le modifiche riportate da entrambe le parti vengono segnalate con opportuni simboli e con il numero di revisione che ha causato il conflitto.</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitwithoutcheck2.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-377" title="commitwithoutcheck2" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/commitwithoutcheck2-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p><strong>Altre cose utili che si possono fare:</strong></p>
<p>Visualizzare l’<strong>history </strong>del progetto, in cui vengono segnalati i file modificati nelle diverse revision, e per ogni file è possibile visualizzare cosa è stato modificato (“view solution history”)</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/project_history.jpg" class="liimagelink" rel="lightbox[363]"><img class="alignnone size-medium wp-image-378" title="project_history" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/project_history-300x187.jpg" alt="" width="300" height="187" /></a></p>
<p>e trovare chi è la <strong>causa </strong>delle modifiche che hanno fatto esplodere il server su cui era in esecuzione il progetto dopo l’ultima modifica <img src='http://www.dreamtec.it/caioblog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  (Sul file, Subversion-> Blame)</p>
<p><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/returntoprevious.jpg" class="liimagelink" rel="lightbox[363]"><img class="size-medium wp-image-379 alignnone" style="border: 10px solid white;" title="blame" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/returntoprevious-202x300.jpg" alt="" width="202" height="300" /></a><a href="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/blamed.jpg" class="liimagelink" rel="lightbox[363]"><img class="size-medium wp-image-380 alignnone" title="blamed" src="http://www.dreamtec.cc/caioblog/wp-content/uploads/2008/11/blamed-300x218.jpg" alt="" width="300" height="218" /></a></p>
<p>Questo è quanto, l’SVN è <strong>pronto </strong>e non rimane che provare a distruggere tutto! <img src='http://www.dreamtec.it/caioblog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ol class="footnotes"><li id="footnote_0_363" class="footnote">non è vero, il motivo non è solo quello</li><li id="footnote_1_363" class="footnote"> <img src='http://www.dreamtec.it/caioblog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </li><li id="footnote_2_363" class="footnote"> Come dice il mio caro collega… </li><li id="footnote_3_363" class="footnote"> Commenti risalenti a svariati mesi fa per cui probabilmente relativi a versioni vecchie </li></ol></span>]]></content:encoded>
			<wfw:commentRss>http://www.dreamtec.it/caioblog/index.php/2008/11/svn-visual-studio-take-it-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

