Création d’un dépot SVN local
-
créer le dépôt :
$ svnadmin create ~/SvnRepos
-
éditer
~/SvnRepos/conf/svnserve.conf
et décommenter les lignes :
anon-access = read
auth-access = write
password-db = passwd
-
éditer
~/SvnRepos/conf/passwd
et ajouter les utilisateurs ; -
lancer le serveur :
$ svnserve --daemon --root ~/SvnRepos
-
créer un projet :
$ svn mkdir svn://localhost/MonProjet
-
faire un premier checkout :
$ svn co svn://localhost/MonProjet
-
et utiliser normalement…
Création d’un nouveau projet :
Créer un répertoire :
$ mkdir Projet
et y mettre au moins un ou deux fichiers :
$ touch Projet/MEMO
puis :
$ svn import Projet file:///var/svn/Projet -m "my now project"
On peut vérifier avec :
$ svnlook tree /var/svn | more
que ça a bien fait ce qu’on veut (avant de s'éverver sur la suite parce que ça ne fonctionne pas :-p )
Attention, après, Projet n’est pas devenu une copie de travail. Il faut faire :
$ rm -rf Projet
$ svn checkout file:///var/svn/Projet
A Projet/MEMO
Révision 195 extraite.
Faire du ménage
J’ai créé des faux projets dans mon SVN, mais on dirait qu’on ne peut pas
facilement les enlever (c’est fait exprès !).
on peut déjà faire les svn rm
des fichiers.
Pour faire mieux, il faut faire comme quand on déplace svn :
svn dump
+ filtrage (svndumpfilter
?) +svn load
.
Bon finalement, on dirait qu’on peut faire :
$ svn rm file:///var/svn/BadDir
et que ça marche… (ça ne les efface probablement pas de l’historique, mais c’est ok)
Résolution de conflits
Il arrive parfois que pour une raison plus ou moins connue, on obtienne des messages du style :
Résumé des conflits :
Arborescences en conflit : 2
svn: Échec de la propagation (commit), détails :
svn: Arrêt de la propagation : 'Includes' demeure en conflit
Si on veux passer outre (si on est sur de ce qu’on fait !), on peut utiliser :
$ svn resolved Includes
qui donne :
Conflit sur 'Includes' résolu
Voir aussi :
- Afficher un pourcentage dans une page HTML
- VNC : Virtual Network Computing
- Git : déménagement d'un dépôt
- Quelques liens au sujet de l'analyse statique
- Ocaml: mon principal langage de développement
- Disque dur externe
- Les profiles dans Firefox
- Cryptographie et mail sous Android
- Quelques liens au sujet du C
- Git rebase : pour diviser un commit