environnement_prog_svn
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
environnement_prog_svn [2007/05/23 09:45] – thierry | environnement_prog_svn [2008/12/10 13:17] – thierry | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Un concurrent de CVS | Un concurrent de CVS | ||
+ | Lien: | ||
+ | http:// | ||
Liens: | Liens: | ||
Ligne 45: | Ligne 47: | ||
# adduser svn --system --disabled-login --no-create-home --group | # adduser svn --system --disabled-login --no-create-home --group | ||
On l' | On l' | ||
+ | |||
==== Installer le daemon " | ==== Installer le daemon " | ||
+ | (C'est beaucoup plus cool avec '' | ||
+ | |||
D' | D' | ||
# mkdir / | # mkdir / | ||
Ligne 105: | Ligne 110: | ||
Faire en sorte que ça fonctionne au reboot. | Faire en sorte que ça fonctionne au reboot. | ||
# update-rc.d svnserve-daemon defaults | # update-rc.d svnserve-daemon defaults | ||
+ | |||
==== Creer un " | ==== Creer un " | ||
Ligne 111: | Ligne 117: | ||
# chown -R svn:svn / | # chown -R svn:svn / | ||
+ | A ce stade, si le daemon tourne, la terre entière qui passe par le port TCP (3690) peut modifier le projet!\\ | ||
+ | Mettre des restrictions: | ||
+ | # cd / | ||
+ | # vi passwd | ||
+ | ... | ||
+ | [users] | ||
+ | thierry = mot_de_passe | ||
+ | ... | ||
+ | Editer aussi ... | ||
+ | # vi svnserve.conf | ||
+ | ... | ||
+ | [general] | ||
+ | anon-access = none | ||
+ | auth-access = write | ||
+ | ... | ||
+ | password-db = passwd | ||
+ | Et voila un repository protégé... mais je crois que les mots de passe voyagent en clair (à vérifier) | ||
- | ==== Creer un repertoire-projet (ou un repertoire pour des projets ?) ==== | ||
- | Ici, le repertoire-projet est **test1**. (ces notions sont aussi flou qu'un répertoire...) | ||
- | $ svnadmin create / | ||
- | $ la / | ||
- | total 36 | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | ==== Importe un **project**existant dans le repertoire **test1**: ==== | ||
- | D' | ||
- | $ mkdir sertest | + | ==== Importe un " |
+ | |||
+ | (Ou simplement créer un " | ||
+ | D' | ||
+ | |||
+ | $ cd ~/tmp | ||
+ | $ mkdir myproject | ||
+ | $ cd myproject | ||
Créeons dans ce répertoire, | Créeons dans ce répertoire, | ||
- | $ cd sertest | ||
$ mkdir trunk | $ mkdir trunk | ||
$ mkdir branches | $ mkdir branches | ||
Ligne 146: | Ligne 159: | ||
Copier les fichiers du projet dans **trunk**: | Copier les fichiers du projet dans **trunk**: | ||
- | $ cp -R ~/ | + | $ cp -Rp ~/ |
- | Enfin, on importe tout cela dans **subversion** : | + | Et enfin, on importe tout cela dans **subversion** : |
$ cd ~/tmp | $ cd ~/tmp | ||
- | $ la sertest | + | $ la myproject |
total 20 | total 20 | ||
| | ||
Ligne 159: | Ligne 172: | ||
| | ||
- | On est bien là ou il faut... le repertoire | + | On est bien là où il faut... le répertoire |
- | $ svn import myproject | + | |
- | | + | |
- | ... snip ... | + | Mot de passe pour ' |
- | Ajout myproject/ | + | |
- | Ajout myproject/branches | + | ... |
- | | + | Révision 1 propagée. |
+ | Rappel: on passe par le daemon qui tourne en ' | ||
+ | $ svn import myproject file:/// | ||
+ | | ||
+ | ... | ||
| | ||
+ | |||
+ | ==== Où sont les mots de passe... ==== | ||
+ | Par la suite, les mots de passe ne seront plus demandé ! Ils sont stockés dans: | ||
+ | ~/ | ||
+ | |||
==== Recuperer des fichiers tout neuf du repository: ==== | ==== Recuperer des fichiers tout neuf du repository: ==== | ||
Ligne 174: | Ligne 196: | ||
Ce mettre dans le répertoire **parent** du projet: | Ce mettre dans le répertoire **parent** du projet: | ||
- | $ svn checkout | + | Via le daemon: |
+ | $ svn checkout | ||
+ | ou plus généralement: | ||
+ | | ||
+ | |||
+ | Sans le daemon: | ||
+ | $ svn checkout file:/// | ||
- | Un repertoire **sertest** est créé avec l' | + | Un repertoire **myproject** est créé avec tous les fichiers associés (de **trunk**). |
Modifions des choses... | Modifions des choses... | ||
Ligne 186: | Ligne 214: | ||
$ svn update | $ svn update | ||
$ svn commit -m " | $ svn commit -m " | ||
- | | + | |
| | ||
| | ||
Ligne 198: | Ligne 226: | ||
Tiens, des infos: | Tiens, des infos: | ||
- | $ svn info file:/// | + | $ svn info file:/// |
| | ||
- | URL : file:/// | + | URL : file:/// |
| | ||
Ligne 209: | Ligne 237: | ||
| | ||
Date de la dernière modification: | Date de la dernière modification: | ||
+ | |||
+ | Ou bien aussi: | ||
+ | $ svn info svn:// | ||
+ | ... | ||
Pour recuperer la revision 3 (par exemple), et dans le repertoire **r3**: | Pour recuperer la revision 3 (par exemple), et dans le repertoire **r3**: | ||
Ligne 255: | Ligne 287: | ||
$ svn switch --relocate FROM_URL TO_URL | $ svn switch --relocate FROM_URL TO_URL | ||
+ | |||
===== Installer en serveur avec SSH ===== | ===== Installer en serveur avec SSH ===== | ||
+ | |||
+ | ==== droits ==== | ||
+ | Il faut préalablement s' | ||
+ | # chmod -R g+ws / | ||
+ | Et | ||
+ | # adduser thierry svn | ||
==== Cas simple ==== | ==== Cas simple ==== | ||
Ligne 283: | Ligne 322: | ||
Et c'est relativement long, et ca demande 3 fois le mot de passe... | Et c'est relativement long, et ca demande 3 fois le mot de passe... | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== svnserve et inetd ===== | ||
+ | C'est finalement mieux et plus simple qu'un daemon.\\ | ||
+ | Editer le fichier ''/ | ||
+ | svn | ||
+ | Puis forcer le rechargement du fichier de conf en faisant: | ||
+ | # ps aux | grep inetd | ||
+ | root 3209 0.0 0.0 | ||
+ | Et enfin: | ||
+ | # kill -HUP 3209 | ||
+ | (ou '' | ||
+ | |||
+ | :!: Si vous ne trouvez pas " | ||
+ | # / | ||
+ | Restarting internet superserver: | ||
+ | |||
+ | Et voila. | ||
===== Sauver et restaurer ===== | ===== Sauver et restaurer ===== | ||
Ligne 299: | Ligne 358: | ||
$ cat app-dump.svn | svnadmin load / | $ cat app-dump.svn | svnadmin load / | ||
+ | |||
+ | |||
+ | ===== Deplacer ===== | ||
+ | Aprés un crash, la bouillie du répertoire **''/ | ||
+ | |||
+ | Mais voila que mes trunks, ne sont plus a jour et un **'' | ||
+ | $ svn update | ||
+ | svn: Impossible d' | ||
+ | svn: Le dépôt ' | ||
+ | Tu m' | ||
+ | svn:// | ||
+ | Alors je fais:\\ | ||
+ | (sous réserve:) | ||
+ | $ svn cleanup | ||
+ | et enfin: | ||
+ | $ svn switch --relocate file:/// | ||
+ | Et voila ! | ||
environnement_prog_svn.txt · Dernière modification : 2008/12/24 09:46 de thierry