====== Généralités ======
Subversion (en abrégé svn) est un système de gestion de versions, distribué sous licence Apache et BSD. Il a été conçu pour remplacer CVS. Ses auteurs s'appuient volontairement sur les mêmes concepts (notamment sur le principe du dépôt centralisé et unique).
Le 14 février 2010, SVN est devenu officiellement un projet de la Fondation Apache, prenant le nom d'Apache Subversion.
====== Obtenir de l'information ======
man svn
man svnadmin
svn help
====== Installation serveur Subversion ======
====== Configuration ======
===== Configuration générale =====
FIXME à compléter avec fichiers de configurations réels.
^ Emplacement ^ Fonction ^
| /etc/... | blabla |
===== Configuration spécifique =====
====== Utilisation habituelle ======
FIXME
ajouter svn mv, cp, status, revert, switch, mkdir, add, list
===== Recuperation d'une ancienne version d'un fichier =====
Avec ''svn log'', repérer le numéro de révision du fichier qu'on souhaite restaurer à une révision précédente.
cd
svn update -r
===== Récupération d'un dossier supprimé sous svn =====
Méthode pour récupérer un dossier malencontreusement supprimé dans une arborescence svn même après avoir réalisé un commit.
Commencer par déceler la révision à laquelle le dossier existait à l'aide de la commande svn log et des commentaires écrit lors des commits.
Récupération par copie direct sur le serveur du dossier "Plateforme" présent dans la révision 180 et le copier au même endroit, là ou il a été supprimé.
svn cp -m"recup dossier Plateforme" -r197 svn://localhost/project/Center/Plateforme/ svn://localhost/project/Center/Plateforme/
====== Résolution de conflit ======
Lors de conflit sur un fichier nommé desc.txt on dispose de 4 fichiers.
desc.txt
desc.txt.mine
desc.txt.r200
desc.txt.r250
Le fichier desc.txt est le fichier avec les modifications automatique de svn. Le merge automatique de svn sur les lignes qui sont en conflits.
Le .mine correspond au fichier qu'on avait en local.
Le .r200, le fichier correspondant à la révision 200.
Le .r250, le fichier correspondant à la révision 250.
Corriger le problème dans le fichier desc.txt à l'endroit du conflit positionné entre les chevrons (<<<< >>>>>).
Un checkin à ce stade ne fonctionne pas parce que le fichier est noté "C" car est marqué "en conflit".
Pour voir l'état "C".
svn status
Pour enlever ce marquage entrer la commande suivante.
svn resolved desc.txt
Les fichiers mentionnés plus haut (.mine, .r200 et .r250) sont automatiquement supprimés et le fichier passe à l'état modifié.
On peut checkiner à présent comme d'habitude.
svn ci -m"correction du conflit" desc.txt
===== Export =====
Export sans informations de gestion de version.
svn export svn://localhost
===== Import =====
Import de données non versionnées dans une base svn.
svn import -m"import initial" svn://localhost
Permet de repartir sur une base à révision 1 après un export.