<h3>But de ce Document</h3>
<p class="spip">Ce document me sert de mémo. Il relate mon expérience lors de l’installation de svn sur Ubuntu (Karmic). Je l’ai écrit pour me souvenir des différentes opérations que j’ai dû effectuer. Je le diffuse car cela pourra servir à d’autres personnes.</p>

<h3>Situation initiale</h3>
<p class="spip">Un PC avec Karmic installé.</p>

<h3>Installation</h3>
<p class="spip"><code class='spip_code' dir='ltr'>sudo apt-get install subversion subversion-tools libapache2-svn</code></p>

<p class="spip">Cette opération installe svn.</p>

<p class="spip">Les commandes suivantes vont :
<br /></p>
<li> créer un nouveau projet
<br /><li> donner les droits à l’utilisateur jeb
<br /><li> importer un projet dans le dossier
<br /><li> lister les dossiers
<br /><li> afficher les logs
<br /><li> afficher les infos
<div style='text-align: left;' class='spip_code' dir='ltr'><code>sudo svnadmin create /home/svn/trunk<br />
sudo chown -R jeb:www-data /home/svn/trunk/<br />
svn import HelloWord/ file:///home/svn/trunk/ -m "Initial import"<br />
Ajout          HelloWord/Hello word<br />
Ajout          HelloWord/Hello word/AssemblyInfo.cs<br />
Ajout          HelloWord/Hello word/MainWindow.cs<br />
Ajout          HelloWord/Hello word/gtk-gui<br />
Ajout          HelloWord/Hello word/gtk-gui/MainWindow.cs<br />
Ajout          HelloWord/Hello word/gtk-gui/generated.cs<br />
Ajout          HelloWord/Hello word/gtk-gui/gui.stetic<br />
Ajout          HelloWord/Hello word/Main.cs<br />
Ajout          HelloWord/Hello word/bin<br />
Ajout          HelloWord/Hello word/bin/Debug<br />
Ajout   (bin)  HelloWord/Hello word/bin/Debug/Hello word.exe<br />
Ajout   (bin)  HelloWord/Hello word/bin/Debug/Hello word.exe.mdb<br />
Ajout          HelloWord/Hello word/Hello word.csproj<br />
Ajout          HelloWord/HelloWord.sln<br />
Ajout          HelloWord/Hello wordTranslation<br />
Ajout          HelloWord/Hello wordTranslation/Hello wordTranslation.mdproj<br />
<br />
Révision 1 propagée.<br />
svn list file:///home/svn/trunk/<br />
Hello word/<br />
Hello wordTranslation/<br />
HelloWord.sln<br />
svn log file:///home/svn/trunk/<br />
------------------------------------------------------------------------<br />
r1 | jeb | 2009-12-31 20:34:42 +0100 (jeu. 31 déc. 2009) | 1 ligne<br />
<br />
Initial import<br />
------------------------------------------------------------------------<br />
<br />
svn info file:///home/svn/trunk/<br />
Chemin : trunk<br />
URL : file:///home/svn/trunk<br />
Racine du dépôt : file:///home/svn/trunk<br />
UUID du dépôt : 17b38be3-9fa4-4af0-80d3-b303fa531ffd<br />
Révision : 1<br />
Type de nœud : répertoire<br />
Auteur de la dernière modification : jeb<br />
Révision de la dernière modification : 1<br />
Date de la dernière modification: 2009-12-31 20:34:42 +0100 (jeu. 31 déc. 2009)<br />
<br />
</code></div>
<p class="spip">J’ai créé le projet HelloWord avec MonoDevelop 2.0 (la version disponible dans karmic).
Comme cette version de gère pas svn (il faut la version 2.2), je poursuis mes tests avec le logiciel Visual studio 2008 présent sur mon portable professionnel. Il faut installer un plugin pour gérer svn. On trouve celui-ci <a href="http://ankhsvn.net/downloads/2.1/" class="spip_out">ici.</a></p>

<p class="spip"><strong class="spip">Configuration de svn pour l’accès via apache</strong>
<br /></p>
<li> Ajouter  à <i class="spip">/etc/apache2/mods-available/dav_svn.conf</i>
<div style='text-align: left;' class='spip_code' dir='ltr'><code><Location /svn><br />
     DAV svn<br />
     SVNParentPath /home/svn<br />
     SVNListParentPath On<br />
     AuthType Basic<br />
     AuthName "Subversion Repository"<br />
     AuthUserFile /etc/subversion/passwd<br />
     Require valid-user<br />
</Location></code></div>
<li> créer l’utilisateur avec
<div style='text-align: left;' class='spip_code' dir='ltr'><code>sudo htpasswd -c /etc/subversion/passwd jeb<br />
New password: <br />
Re-type new password: <br />
Adding password for user jeb<br />
</code></div>
<p class="spip">NOTA : utiliser la même commande sans -c pour créer les utilisateurs supplémentaires.</p>

<li> donner le droit à apache d’écrire dans les dossiers avec
<code class='spip_code' dir='ltr'>sudo chmod -R g+w /home/svn/trunk/
</code>
<p class="spip">Dans Visual Studio, il faut :
<br /></p>
<li> ouvrir la solution avec Fichier / Subversion / Open from Subversion...
<br /><li> dans la boite de dialogue, pour voir apparaitre le fichier HelloWord.sln, il faut rentrer l’URL complète (http://192.168.169.1/svn/trunk
<br /><li> VS va convertir cette solution
<br /><li> Dans la fenêtre <i class="spip">Pending Changes</i>, un clic sur le bouton Commit va les répercuter sur le serveur svn en incrémentant le numéro de révision.
<div style='text-align: left;' class='spip_code' dir='ltr'><code>svn log file:///home/svn/trunk/<br />
------------------------------------------------------------------------<br />
r2 | jeb | 2010-01-01 10:22:03 +0100 (ven. 01 janv. 2010) | 2 lignes<br />
<br />
<br />
<br />
------------------------------------------------------------------------<br />
r1 | jeb | 2009-12-31 20:34:42 +0100 (jeu. 31 déc. 2009) | 1 ligne<br />
<br />
Initial import<br />
------------------------------------------------------------------------<br />
</code></div>
<h3>Conclusion</h3>
<p class="spip">Il me reste à approfondir mes connaissances sur subversion pour tirer tout le parti de cet outil fantastique.</p>

<h3>Références</h3>
<p class="spip">https://help.ubuntu.com/community/Subversion
http://www.beroot.org/Configurations/installation-subversion-trac-debian-ubuntu</p>

<h3>TODO</h3>
<p class="spip">Mettre à jour ce document, quand :
<br /></p>
<li> il sera possible de faire la même chose avec MonoDevelop
<br /><li> il y aura un équivalent à tortoiseSVN
<h3>Historique des modifications</h3>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>31/12/2009</td><td>Création par Jibux</td></tr>
<tr class="row_odd"><td>0.2</td><td>30/09/2010</td><td>Modifié par Jibux</td></tr>
</tbody>
</table>