Subversion local pour vos travaux

Tags:: svn :: linux :: développement

Travailler sur des développements, que ce soit professionnellement ou en tant qu'amateur, vous amène souvent à utiliser subversion. En effet, le travail en groupe est plus facile à maintenir, vous empêchant d'écraser le travail des autres. C'est ce que l'on appelle la "concurrence de version". Mais il arrive de travailler seul sur un projet. Cela ne doit pas vous empêcher d'utiliser un serveur de concurrence de version. En effet, il peut être très avantageux de pouvoir suivre ses propres développements ne serait-ce que pour "loguer" vos modidifications, revenir en arrière ou tenter plusieurs "branches" de développement.

Or Subversion est un outil généralement utilisé sur le réseau, je dirait même plus: sur internet. Mais il est tout à fait possible de travailler localement sur SVN. Voici comment s'y prendre.

En premier lieu, installez les outils subversion:


su -lc "yum install subversion"
 

Reste maintenant à créer un dépot. Par exemple dans votre répertoire utilisateur, on va créé un répertoire qui stoquera vos dépôts:


mkdir -p ~/subversion
 

Une fois ceci fait, vous pouvez créer un dépôt pour un projet. Par exemple le "project1"


svnadmin create ~/subversion/project1
 

Reste maintenant à récupéré le dépot localement afin de pouvoir créer et mettre à jour des données. En temps normal, subversion demande un adresse de dépot de la forme "http". Sauf que nous ne sommes pas sur le net, mais sur un dépôt local. L'idée est de remplacer "http" par la forme d'url de type "fichier", c'est à dire "file://"

Voyez plutôt:


mkdir -p ~/Projects
cd ~/Projects
svn co file:///home/VOTRE_USER/subversion/project1 project1
cd project1
echo "test de fichier" > test1.txt
svn add text1.txt
svn ci -m "ajoute un fichier dans le dépot, pour tester"
 

Et voilà !

Bon il y a un dernier point, en général on préfère utiliser "trunk", "tags" et "branches" pour séparer nos tags, nos branches et le tronc. Personnellement je fais ainsi (en partant de la base):


svnadmin create ~/subversion/project2
svn mkdir file:///home/MON_USER/subversion/project2/trunk -m "ajout du tronc"
svn mkdir file:///home/MON_USER/subversion/project2/tags -m "ajout des tags"
svn mkdir file:///home/MON_USER/subversion/project2/branches -m "ajout des branches"

mkdir -p ~/Projects
cd ~/Projects
svn co file:///home/MON_USER/subversion/project2/trunk project2
 

Comme ça je travaille dans le tronc...

Le but de la manoeuvre étant de travailler sans peur de perdre le différentiel durant un projet où je suis seul développeur. Sait-on jamais, un jour je risque de devoir revenir en arrière ou peut-être rendre public mes travaux. Dans ce cas, je pourrais léguer le dépôt avec les logs à une équipe, ou simplement déporter mon dépôt sur un serveur.

Voilà, c'est aussi simple que ça.

Utilisez le code barre pour ouvrir le ticket dans votre mobile:
This ticket on you mobile

Pas de commentaire pour le moment

Ajouter un commentaire
Veuillez répondre à la question suivante : Tapez en minuscule le nom de l'animal qui fait wouaf wouaf

Trackbacks

Pour ajouter un trackback (retrolien) sur ce ticket, utilisez cette adresse: http://metal3d.org/index.php/trackback/default/tb?id=blog%2F240

Tags

Blog Copix Communication PC Config Fedora Vidéo Humour Autre Web Materiel Informatique PHP Développement Mootools HTML Linux WEB IE CSS Vista Microsoft Sympa XHTML Quizz Widget Klik CWE Voeux Bonne année Musique CCRMA Son Audio MAO Reconnaissance vocale Windows Mac Compiz MacOS Mysql Sun Base de données BD Screenlets Screenlet RPM compiz Ubuntu Live FireFox Derambarsh Facebook media informations Sécurité javascript SSH Commande Marketing concours ipod wii QT Trooltech Nokia Libre Logiciels GPL Attali Gnome Dock Compiler Bench undelete reiserfs recovery recover Thread Serveur Optimisation Server Apache Album RSS Flash Air XML Firefox Blender Opensource Orange Internet LiveBox Animaux Droits Logiciels Libres Google Loi RBS netcat Bash Téléphone Spam 3D NIDIA Standards Widgets Merise UML Streaming Developpement Perl MySQL Firewall Parfeu Bayes Novell Réseau Python LVS Salon FTP Dedibox Chrome Administration IRC Gentoo troll video Nouveauté Finance Etudiant spéctacle OpenOffice Javascript Java Info Eclpise ATI design mootools KDE Bureau Design GNU C Pages Jaunes Fun Bijoux Art mail Admin vmware fedora linux VirtualBox VMWare Qemu KVM vim Grep Fglrx Webkit GTK google web JQuery Coup de gueule coup de gueule Lois SVG Raycaster Canvas Hadopi Desktop Jeux Les Sims développement astuces Screen firefox Mobile Safaru Wine bash commande astuce Wave ooc C++ C# Netbook Hercules Bureautique Twitter Safari W3C chrome kazehakaze midori navigateur gecko webkit Links Liens Pyhon Nouvelles Metal Perso Conférence JDLL PCC Roadsend OOC News Acteur Cinéma Chanteur Seven windows orthographe pcc php jdll Slide Application mysql Html twitter python screen curses SVN Android Gphone iPhone OpenGL MindMap Projet Javascrtip Ajax Guitare Tab Tablature JSON firebug Chromium Iphone Titanium music sound android ogg ogv streaming

  • twitter entries...
follow me on Twitter

Valid XHTML 1.0 Strict