Retour : Page Principale > sommaire aide > sommaire aide logiciels > Aide SVN

Administration SVN

Pour les commandes SVN utiles, voir CommandesSVN

Pour créer un nouveau projet dans le dépôt SVN
svnadmin create /home/svn/depot/[type]/[mon_application] ou [mon_domaine.mon_extenssion]
chown -R svn:nogroup /home/svn/depot/; chmod -R 775 /home/svn/depot/

Le type peut prendre les valeurs : applications, eflore, divers ou sites.

Pour supprimer un projet du dépôt SVN
cd /home/svn/depot/[type]/
rm -fR mon_projet


Pour archiver un projet dans le dépôt SVN
cd /home/svn/depot/[type]/
mv projet_a_archiver /home/svn/depot/[type]/archives/

Si le dossier archives n'existe pas, commencer par le créer avec :
mkdir archives
chown -R svn:nogroup /home/svn/depot/; chmod -R 775 /home/svn/depot/

Puis mettez à jour le fichier de config de websvn présent dans /home/svn/www/websvn/include/config.php en ajoutant l'entrée ci-dessous vers la ligne 100 :
$config->parentPath('/home/svn/depot/[type]/archives', '[type]/Archives');
et le fichier httpd.conf en rajoutant une entrée pour ce dossier et en redémarrant le serveur Apache.

Erreur : répertoire "lock" après "Erreur : svn: XML malformé" lors d'un checkout
Supprimer le projet complet dans Eclipse, puis conformĂ©ment Ă  la remarque ci-dessous basculer de  JavaHL (JNI) Ă  SVNKit (Pure Java).

Erreur : svn: XML malformé: not well-formed (invalid token) à la ligne 16
Solution pour contourner le problème en téléchargement :
Si vous obtenez ce message dans Eclipse le problème peut venir de l'interface SVN utilisée.
Dans ce cas lĂ , dans les prĂ©fĂ©rences d'Eclipse, pour la gestion de SVN basculer de l'utilisation de  JavaHL (JNI) Ă  SVNKit (Pure Java).
(Sur HELIOS : Window > Preferences puis dérouler Team > SVN et trouver la liste déroulante SVN Interface)
Solution pour réparer le problème sur le dépôt SVN :
Cette erreur peut être causé par le contenu de la propriété svn:author dans le fichier de log. Si ce contenu contient un accent, cette erreur peut survenir.
Ainsi, si Eclipse demande un nom d'auteur pour remplacer le login lors des commit sur le dépôt, ne pas mettre d'accents au prénom et au nom !
Pour résoudre le problème faite un checkout en local, dans une console tapez :
svn checkout mon_url
Vous obtiendrez donc l'erreur :
svn: XML malformé: not well-formed (invalid token) à la ligne 16 (le numéro de ligne peut varier)
Juste au dessus de l'erreur, vous devriez avoir une ligne comme celle ci :
A papyrus-v2/branches/v5.0-ouadji/papyrus/applettes/menu/menu.php
Visualiser alors le fichier de log présent dans le dossier caché .svn situé dans le dossier de ce dernier fichier papyrus-v2/branches/v5.0-ouadji/papyrus/applettes/menu/ :
vi papyrus-v2/branches/v5.0-ouadji/papyrus/applettes/menu/.svn/log
Et regardez la ligne : 15 (le numéro de ligne indiqué par l'erreur moins 1).
Vous devriez trouver un caractère accentué.

<modify-entry
  • committed-rev="1998"
  • committed-date="2007-02-09T16:36:17.937500Z"
  • name="menu.php"
  • last-author="AurĂ©lien Peronnet"
  • uuid="466bc291-b22d-3743-ba76-018ba5011628"/>

Si comme ici c'est dans l'attribut last-author, il vous faudra corriger le problème avec la commande :
svn propset --revprop -r 1998 svn:author "Aurelien Peronnet" svn+ssh://jp_milcent@svn.adullact.net/svnroot/papyrus-v2/branches/v5.0-ouadji/papyrus/applettes/menu/menu.php
Mais pour utiliser cette commande il faut modifier le dépôt svn.
Dans le dossier hooks :
  • modifier le fichier pre-revprop-change.tmpl en y plaçant ceci :

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
# Autorise la modification de la propriété log
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then
  • exit 0;
fi
# Autorise la modification de la propriété auteur
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then
  • exit 0;
fi

echo "Modification des propriétés de révision autre que svn:log & svn:author interdite" >&2
exit 1

  • copier le fichier pre-revprop-change.tmpl en pre-revprop-change
  • donner les droits d'exĂ©cution au fichier pre-revprop-change
Maintenant la commande svn propset devrait fonctionner.

Utiliser le numéro de révision global de SVN
Dans un script de compilation ou réalisant la mise en ligne de l'application ajouter :
export SVN_NUMERO_REVISION_GLOBAL=`svnversion -n`; perl -e 'print "Révision:".$ENV{SVN_NUMERO_REVISION_GLOBAL},"\n"' perl -pi -e 's/"\$RevisionGlobale:? ?[^\$]* ?\$"/"\$RevisionGlobale: $ENV{SVN_NUMERO_REVISION_GLOBAL} \$"/g' $APPDIR/src/org/tela_botanica/client/Mediateur.java
Il faut bien entendu, indiquer le fichier du projet où se trouve le mot-clé : "$RevisionGlobale$" qui sera remplacé par "$RevisionGlobale: le_numéro $".

Pour créer un nouvel utilisateur :
Actuellement SVN est sur Sycomore (dans le doute, pinger svn.tela-botanica.net)
Ajouter un login et mot de passe pour l'utilisateur : /home/svn/conf/htpasswd en utilisant http://www.htaccesstools.com/htpasswd-generator/ par exemple
Ajouter l'utilisateur au groupe @svn dans : vi /home/svn/conf/access

Importer des sources dans le Référentiel SVN
À l'aide d'Eclipse, créer 3 dossier à la racine de l'url http://svn.tela-botanica.net/svn/type/nom_du_depot :
  • trunk
  • branches
  • tags
Ensuite, toujours dans Eclipse, clic-droit sur le dossier "trunk" puis import.
Sélectionner le dossier où se trouve les sources du projet à importer dans le référentiel.
Mettre le commentaire "Import initial".
Une fois importé, actualiser le dossier "trunk" puis faire un checkout pour récupérer les sources dans son espace de travail Eclipse.

Comment ajouter à SVN la gestion des propriétés (keywords ou tags)
Se placer sur le dossier principale d'un dossier dans Eclipse. Clic droit : Team > set Properties. Dans la fenĂŞtre :
  • mettre svn:keywords dans le champ "Property name",
  • dans "Enter a text property" mettre : Id Author Date Revision HeadURL
  • cocher "Set property recursively"
  • commiter les fichiers
Dans les fichiers vous pourrez alors mettre : $Id$, $Author$ ... Ils seront alors remplacés par SVN automatiquement à chaque commit.

Comment mettre à jour un dépôt SVN (exemple de 1.7 à 1.8) ?
La démarche ci-dessous décrit la manip à effectuer, mais deux scripts automatises ces modifications. Ils sont disponibles dans le dossier : /home/svn/dump . Il s'agit de :
  • migrationSvnDump.sh : pour crĂ©er les dumps de chaque dĂ©pĂ´t
  • migrationSvnLoad.sh : pour recrĂ©er les dĂ©pĂ´ts et charger les dumps

Il est nécessaire de réaliser le dump de chaque dépôt à l'aide du binaire svnadmin 1.7 :
svnadmin dump /home/svn/depot/applications/annuaire > /home/svn/dump/2013-08-19/annuaire.dump
Puis il est possible de compiler la nouvelle version de SVN. Une fois compiler, effecteur les manipulations suivantes:
  • dĂ©placer l'ancien dĂ©pot : mv /home/svn/depot/applications/annuaire /home/svn/depot/applications/annuaire-old
  • recrĂ©er le dĂ©pĂ´t avec la nouvelle version : svnadmin create /home/svn/depot/applications/annuaire
  • recharger les donnĂ©es : svnadmin load /home/svn/depot/applications/annuaire < /home/svn/dump/2013-08-19/annuaire.dump

Comment restaurer le trunk d'un projet SVN après une erreur de suppression ?
Pour garder l'historique du trunk, il suffit depuis un client de lancer la commande suivante (le dossier trunk doit bien sûr être absent du dépôt) :
svn copy http://svn.tela-botanica.net/svn/applications/coel/trunk@1391 http://svn.tela-botanica.net/svn/applications/coel/ -m "Résurection du trunk avec l'historique depuis la révision 1391"
Il vous faut bien entendu remplacer le numéro de révision (ici 1391) par celle que vous désirez et indiquer les urls correctes de votre projet.
Note via le websvn en se plaçant sur le dossier root du projet, il est possible d'accéder à l'ensemble de l'historique du projet via le lien : "Afficher le journal"

Comment déplacer un dossier d'un dépot dans un autre sans perdre l'historique
Dumper le dépot tout entier avec
/svnadmin dump /home/svn/depot/[type]/[mon_application_ou_site]/ > /home/svn/www/dump/[mon_application_ou_site].dump

Fabriquer un dump filtré avec svndumpfilter en incluant ou excluant les dossier désirés avec include ou exclude
svndumpfilter include [mon_dossier_a_deplacer] < [mon_application_ou_site].dump > [mon_application_ou_site].filtre.dump

Importer le dump dans le dépot de destination avec load
svnadmin load /home/svn/depot/[type]/[mon_application_ou_site_de_destination]/ < /home/svn/www/dump/[mon_application_ou_site].filtre.dump

Si le dossier n'est pas au bon endroit dans le dépot, on peut le déplacer à l'aide des commandes de déplacement svn habituelles.

Synchronisation de 2 dépôts svn
Ressources :
Nous allons utiliser la commadne svnsync.
Pour cela sur le dépôt miroir, ajouter un utilisateur de nom svnsync dans SVN :
Modifier les fichiers access et htpasswd présent dans /home/svn/conf/ .
Pour access pour le dépôt SVN papyrus :

[papyrus:/]
syncuser = rw
* = r

Pour htpasswd utiliser la commande d'ajout (voir ci-dessus).
Toujours sur le dépôt miroir créer le dépôt qui servira de copie : voir les instructions ci-dessus.
Ajouter un hook du nom de pre-revprop-change en copiant le template pre-revprop-change.tmpl dans /home/svn/depot/applications/papyrus/hooks/ avec les bons droits (755) contenant :

#!/bin/sh
USER="$3"

if [ "$USER" = "syncuser" ]; then exit 0; fi

echo "Seul l'utilisateur syncuser peut changer les revprops" >&2
exit 1

Ajouter un hook du nom de start-commit en copiant le template start-commit.tmpl dans /home/svn/depot/applications/papyrus/hooks/ avec les bons droits (755) contenant :

if [ "$USER" = "syncuser" ]; then exit 0; fi

echo "Seul l'utilisateur syncuser peut commiter de nouvelles révisions" >&2
exit 1

Initialiser la synchronisation avec la commande :
svnsync init --sync-username syncuser file:///home/svn/depot/applications/papyrus svn://svn.adullact.net/svnroot/papyrus-v2
Lancer la synchronisation avec la commande :
svnsync sync --sync-username syncuser file:///home/svn/depot/applications/papyrus
En cas de plantage, il est possible de réinitialiser la synchronisation avec la commande :
svn propdel svn:sync-lock --revprop -r 0 http://svn.tela-botanica.net/svn/applications/papyrus
Sur le dépôt source rajouter les hooks suivant pour assurer la synchronisation après chaque changement :
Cette dernière solution ne semble pas marche. Pour résoudre le problème, on peut utiliser un crontab sur le serveur contenant le miroir. Il sera activé toutes les 15 mn de 8h à 20h :
0,15 08-20 * * * /usr/local/bin/svnsync sync --sync-username syncuser --non-interactive file:///home/svn/depot/applications/papyrus

Erreur : "Échec a l'obtention du verrou du dépôt destination, tenu par 'sequoia:*'"
Lancer la commande suivante sur Sequoia (dans le cas d'eFlore ici) :
svn propdel svn:sync-lock --revprop -r 0 file:///home/svn/depot/applications/eflore
puis relancer la synchonisation avec la commande svnsync (voir ci-dessus et crontab -e).

Installation de SVN sur un serveur

Webographie :

Pour compiler Subversion modifier la version du script puis le lancer sur le serveur :
/home/admin/subversion_1.x.x_version_x.sh
Il faut aussi compiler la librairie neon pour pouvoir utiliser les urls svn de type http. Voir : http://www.webdav.org/neon/

Installer le dépôt SVN :
Pour installer le dépôt svn dans un dossier /home/svn, il est nécessaire de créer un domaine web comme d'habitude (avec OVHM). Puis ajouter les dossiers :
  • conf : pour les fichiers de droits d'accès Ă  svn
  • depot : pour les dĂ©pots svn
  • www : contiendra le websvn
Il est donc nécessaire de modifier le fichier httpd.conf comme suit :
""
# SVN.TELA-BOTANICA.NET
<VirtualHost 193.54.123.216:80>
        ServerAdmin webmestre@tela-botanica.org
        DocumentRoot /home/svn/www
        SuexecUserGroup svn users
        ServerName svn.tela-botanica.net
        ServerAlias www.svn.tela-botanica.net
        CustomLog logs/svn-access_log combined
        ScriptAlias /cgi-bin/ /home/svn/cgi-bin/
        AddHandler x-httpd-php5 .php
        <Location /svn>
                DAV svn
                Require valid-user
                SVNParentPath /home/svn/depot/
                # Indique comment authentifier les utilisateurs
                AuthType Basic
                AuthName "Tela Botanica - Dépôt SVN"
                AuthUserFile /home/svn/conf/htpasswd
                AuthzSVNAccessFile /home/svn/conf/access
        </Location>
</VirtualHost>
""


Il semblerait que pour que cela fonctionne et éviter une erreur de type "txn-current-lock: Permission denied", il soit nécessaire de passer le dépot (/home/svn/depot/) avec comme groupe celui d'apache soit dans notre cas : nogroup. Sinon, il est possible de lire les dépôt mais impossible de faire des commit ou delete...

Installation de Websvn
Pour exporter la dernière version de Websvn regarder sur le dépôt le dernier tag stable : http://websvn.tigris.org/svn/websvn/tags/
Puis se mettre dans /home/svn/www et lancer la commande : svn export --force --username guest http://websvn.tigris.org/svn/websvn/tags/x.x ./websvn

Pour la configuration de Websvn voir : http://forums.asmallorange.com/index.php?showtopic=6243
En gros, il faut copier le fichier include/distconfig.php en include/config.php et modifier son contenu en fonction de l'installation.

Il est nécessaire de désactiver le safe_mode pour permettre l'affichage du contenu des fichiers...

Installer enscript avec apt-get install enscript pour pouvoir visualiser le contenu des fichiers sans extension
Corrections Ă  apporter dans include/config.php : ajouter les chemins vers les binaires enscript, tar, gzip, zip, sed
Pour trouver les chemins des binaires, utiliser la commande which enscript etc.
Note: le chemin n'inclut pas la commande. Ex: /usr/bin et non /usr/bin/enscript

Pour les versions de websvn 2.3.3.* , corriger le fichier include/svnlook.php : remplacer la ligne 643 par
} else if ($ext && array_key_exists($ext, $extEnscript)) {


Migration d'un dépôt SVN à un autre dépôt SVN
Quelques commandes trouver sur le blog Mirmo Dynamics :

svnadmin dump /var/lib/subversion/myproject > ~/myproject.svndump
old-server# scp ~/myproject.svndump new-server:
new-server# svnadmin create /home/svn/depot/mon_projet
new-server# chown -R svn:users /home/svn/depot/
new-server# chmod -R 705 /home/svn/depot/
new-server# svnadmin load /home/svn/depot/mon_projet < ~/mon_projet.svndump


Migration d'un dépôt CVS à un dépôt SVN
Commencer par télécharger Cvs2Svn. Vous trouverez de la documentation sur cet utilitaire sur son site web.
Télécharger sur votre ordinateur les fichiers du dépôt CVS.
Vous allez créer un fichier de dump SVN qu'il suffira ensuite de charger dans votre dépôt SVN via la commande :
./cvs2svn --dumpfile=~/tmp/svndump/papyrus.svndump --fallback-encoding=ISO-8859-15 ~/tmp/mes_sources_cvs/mon_projet/
Pour Papyrus :

./cvs2svn --dumpfile=/home/jpm/Stockage/svn/papyrus.svndump --encoding=iso-8859-15 --force-branch=livraison_aha --force-tag=Racine_livraison_aha --exclude=Multilinguisme --exclude=VERSION_0_20 --exclude=INITIAL_IMPORT_TB --exclude=IMPORTATION_INITIALE_BAZAR --exclude=Root_Multilinguisme --exclude=MORE_VERSION_0_1 --exclude=INITIAL_IMPORT_RELEASE_1 --exclude=IMPORT_INITIAL_BAZAR --exclude=TEXT_WIKI_PAPYRUS_V_1_0 --exclude=TEXT_WIKI_WIKINI_V_1_0 --exclude=VERSION_0_10_XHTML_STRICT --exclude=VERSION_0_20_XHTML_STRICT --exclude=VERSION_0_21 --exclude=Racine_aha /home/jpm/Stockage/svn/cvs/papyrus

Pour Bazar :

./cvs2svn --dumpfile=/home/jpm/Stockage/svn/bazar.svndump --encoding=iso-8859-15 --force-branch=livraison_aha --force-tag=Racine_livraison_aha --exclude=Multilinguisme --exclude=VERSION_0_20 --exclude=INITIAL_IMPORT_TB --exclude=IMPORTATION_INITIALE_BAZAR --exclude=Root_Multilinguisme --exclude=MORE_VERSION_0_1 --exclude=INITIAL_IMPORT_RELEASE_1 --exclude=IMPORT_INITIAL_BAZAR --exclude=TEXT_WIKI_PAPYRUS_V_1_0 --exclude=TEXT_WIKI_WIKINI_V_1_0 --exclude=VERSION_0_10_XHTML_STRICT --exclude=VERSION_0_20_XHTML_STRICT --exclude=VERSION_0_21 --exclude=Racine_aha /home/jpm/Stockage/svn/cvs/papyrus/client/bazar

Pour Galerie :

./cvs2svn --dumpfile=/home/jpm/Stockage/svn/galerie.svndump --encoding=iso-8859-15 --force-branch=livraison_aha --force-tag=Racine_livraison_aha --exclude=Multilinguisme --exclude=VERSION_0_20 --exclude=INITIAL_IMPORT_TB --exclude=IMPORTATION_INITIALE_BAZAR --exclude=Root_Multilinguisme --exclude=MORE_VERSION_0_1 --exclude=INITIAL_IMPORT_RELEASE_1 --exclude=IMPORT_INITIAL_BAZAR --exclude=TEXT_WIKI_PAPYRUS_V_1_0 --exclude=TEXT_WIKI_WIKINI_V_1_0 --exclude=VERSION_0_10_XHTML_STRICT --exclude=VERSION_0_20_XHTML_STRICT --exclude=VERSION_0_21 --exclude=Racine_aha /home/jpm/Stockage/svn/cvs/papyrus/client/gallerie

Pour Intégrateur Wikini :

./cvs2svn --dumpfile=/home/jpm/Stockage/svn/integrateur_wikini.svndump --encoding=iso-8859-15 --force-branch=livraison_aha --force-tag=Racine_livraison_aha --exclude=Multilinguisme --exclude=VERSION_0_20 --exclude=INITIAL_IMPORT_TB --exclude=IMPORTATION_INITIALE_BAZAR --exclude=Root_Multilinguisme --exclude=MORE_VERSION_0_1 --exclude=INITIAL_IMPORT_RELEASE_1 --exclude=IMPORT_INITIAL_BAZAR --exclude=TEXT_WIKI_PAPYRUS_V_1_0 --exclude=TEXT_WIKI_WIKINI_V_1_0 --exclude=VERSION_0_10_XHTML_STRICT --exclude=VERSION_0_20_XHTML_STRICT --exclude=VERSION_0_21 --exclude=Racine_aha /home/jpm/Stockage/svn/cvs/papyrus/client/integrateur_wikini

Pour Projet :

./cvs2svn --dumpfile=/home/jpm/Stockage/svn/projet.svndump --encoding=iso-8859-15 --force-branch=livraison_aha --force-tag=Racine_livraison_aha --exclude=Multilinguisme --exclude=VERSION_0_20 --exclude=INITIAL_IMPORT_TB --exclude=IMPORTATION_INITIALE_BAZAR --exclude=Root_Multilinguisme --exclude=MORE_VERSION_0_1 --exclude=INITIAL_IMPORT_RELEASE_1 --exclude=IMPORT_INITIAL_BAZAR --exclude=TEXT_WIKI_PAPYRUS_V_1_0 --exclude=TEXT_WIKI_WIKINI_V_1_0 --exclude=VERSION_0_10_XHTML_STRICT --exclude=VERSION_0_20_XHTML_STRICT --exclude=VERSION_0_21 --exclude=Racine_aha /home/jpm/Stockage/svn/cvs/papyrus/client/projet

Envoyer le fichier de dump SVN sur le serveur où se trouve votre dépôt SVN :
scp ~/tmp/svndump/papyrus.svndump root@193.54.123.216:/home/admin/svn_dump/
Loguez vous sur votre serveur :
ssh root@193.54.123.216
Créer le projet SVN puis charger le dump :

svnadmin create /home/svn/depot/applications/papyrus
chown -R svn:nogroup /home/svn/depot/
chmod -R 775 /home/svn/depot/
svnadmin load /home/svn/depot/applications/papyrus < /home/admin/svn_dump/papyrus.svndump


Pour le dépôt eFlore

./cvs2svn --dumpfile=/home/jpm/Stockage/svn/bibliobota.svndump --encoding=iso-8859-15 /home/jpm/Stockage/svn/cvs_eflore/bibliobota
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/chorologie.svndump --encoding=iso-8859-15 --exclude=livraison_bdnff_v3_v4 /home/jpm/Stockage/svn/cvs_eflore/chorologie
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/herbiers.svndump --encoding=iso-8859-15 /home/jpm/Stockage/svn/cvs_eflore/herbiers
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/cel-v1.svndump --encoding=utf-8 /home/jpm/Stockage/svn/cvs_eflore/eflore/administration_v1/Cel
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/cel-v2.svndump --encoding=utf-8 /home/jpm/Stockage/svn/cvs_eflore/eflore/administration_v1/Cel_v2
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/cel-v2-gwt1.5.svndump --encoding=utf-8 /home/jpm/Stockage/svn/cvs_eflore/eflore/administration_v1/Cel_v2_gwt1.5/
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/jrest.svndump --encoding=utf-8 /home/jpm/Stockage/svn/cvs_eflore/eflore/administration_v1/jrest/
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/eflore-xul.svndump --encoding=ISO-8859-15 /home/jpm/Stockage/svn/cvs_eflore/eflore/xul
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/eflore-integration-v1.svndump --encoding=ISO-8859-15 --exclude=livraison_bdnff_v3_v4 /home/jpm/Stockage/svn/cvs_eflore/eflore/integration_v1
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/eflore-consultation-v1.svndump --encoding=ISO-8859-15 --exclude=livraison_bdnff_v3_v4 /home/jpm/Stockage/svn/cvs_eflore/eflore/consultation_v1
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/eflore-consultation-v2.svndump --encoding=ISO-8859-15 --exclude=IMPORTATION_INITIALE_TB --exclude=livraison_bdnff_v3_v4 --exclude=IMPORT_INITIAL /home/jpm/Stockage/svn/cvs_eflore/eflore/consultation_v2
./cvs2svn --dumpfile=/home/jpm/Stockage/svn/eflore.svndump --encoding=ISO-8859-15 --exclude=IMPORTATION_INITIALE_TB --exclude=livraison_bdnff_v3_v4 --exclude=IMPORT_INITIAL --exclude=eflore_bdd_multiprojet_historique --exclude=eflore_v1-1 --exclude=eflore_v1_1_2 --exclude=Module_ZG_1_2 --exclude=Racine_Bdnff_v3_v4 --exclude=Racine_eflore_v1_1_1 --exclude=Racine_eflore_v1_2 --exclude=Racine_livraison_bdnbe_v1 --exclude=Racine_livraison_bdnff_v3_v4 --exclude=VERSION_07-X-2004 --exclude=VERSION_31-VIII-2004 --exclude=Bdnff_v3_v4 --exclude=eflore_v1_1_1 --exclude=eflore_v1_2 --exclude=livraison_bdnbe_v1 /home/jpm/Stockage/svn/cvs_eflore_test/eflore/


Nettoyage des problèmes d'encodage du dépôt CVS
Lancer l'utilitaire suivant pour vérifier que la chaine recherchée est présente :
/opt/lampp/bin/php analyseur.php -t v -e /home/jpm/Stockage/svn/cvs/papyrus
Puis effectuer le remplacement des mots à problèmes à l'aide du fichier de correspondance :
/opt/lampp/bin/php analyseur.php -t rr -c /home/jpm/web/tela_conception/analyste_txt/correspondance.csv -e /home/jpm/Stockage/svn/cvs/papyrus